PER Firmware
Loading...
Searching...
No Matches
parser Namespace Reference

Classes

class  Bus
 
class  BusView
 
class  Fault
 
class  FaultModule
 
class  Message
 
class  Node
 
class  RxMessage
 
class  Signal
 
class  SystemContext
 

Functions

SystemContext create_system_context (nodes, mappings, bus_configs, custom_types)
 
Dict load_custom_types ()
 
Dict load_bus_configs ()
 
List[Nodeparse_all ()
 
 validate_node (Node node, Dict custom_types)
 
Signal parse_signal (Dict data)
 
Message parse_message (Dict data, Dict bus_config)
 
RxMessage parse_rx_message (Dict data)
 
'Faultparse_fault (Dict data)
 
Dict _require_bus_in_system (str bus_name, Dict bus_configs, str where)
 
None _rx_msg_names_unique (str bus_name, List[Dict] rx_items)
 
Bus parse_bus (str name, Dict data, Dict bus_configs, str where)
 
Node parse_internal_node (Path filepath, Dict bus_configs)
 
Node parse_external_node (Path filepath, Dict bus_configs)
 

Detailed Description

parser.py

Author: Irving Wang (irvingw@purdue.edu)

Function Documentation

◆ _require_bus_in_system()

Dict parser._require_bus_in_system ( str bus_name,
Dict bus_configs,
str where )
protected
Ensure bus_name exists in bus_configs.json so ID mode / baud / schema stay consistent.

◆ _rx_msg_names_unique()

None parser._rx_msg_names_unique ( str bus_name,
List[Dict] rx_items )
protected
Reject duplicate msg_name in rx on the same bus (would break generated switch/cases).

◆ create_system_context()

SystemContext parser.create_system_context ( nodes,
mappings,
bus_configs,
custom_types )
Aggregates all system data into a single context object and performs final validation.

◆ load_bus_configs()

Dict parser.load_bus_configs ( )
Load bus configurations from bus_configs.json

◆ load_custom_types()

Dict parser.load_custom_types ( )
Load custom types from common_types.json

◆ parse_all()

List[Node] parser.parse_all ( )
Parse all configuration files into Node objects.
Performs semantic validation during parsing.

◆ validate_node()

parser.validate_node ( Node node,
Dict custom_types )
Run semantic validation and resolve bit layouts for a node