Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ldfparser/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ def export_ldf(ldf: LDF, output: str = None):
json.dump(ldf._source, file, indent=4)

def print_ldf_info(ldf: LDF, extended: bool = False):
print(f"Protocol Version: {ldf.protocol_version:.01f}")
print(f"Language Version: {ldf.language_version:.01f}")
print(f"Protocol Version: {ldf.get_protocol_version()}")
print(f"Language Version: {ldf.get_language_version()}")
print(f"Speed: {ldf.baudrate}")
print(f"Channel: {ldf.channel if ldf.channel else '-'}")

Expand Down
3 changes: 3 additions & 0 deletions ldfparser/grammar.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,9 @@

def node_definition_poweron_time(self, tree):
return ("poweron_time", tree[0] * 0.001)

Check warning on line 212 in ldfparser/grammar.py

View workflow job for this annotation

GitHub Actions / flake8

W293 blank line contains whitespace
def node_definition_reset_indication(self, tree):
return ("reset_indication", tree[0])

def schedule_tables(self, tree):
return ("schedule_tables", tree)
Expand Down
7 changes: 4 additions & 3 deletions ldfparser/grammars/ldf.lark
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ header_sig_byte_order_little_endian: "LIN_sig_byte_order_little_endian" ";"
// LIN 2.1 Specification, section 9.2.2
// SAE J2602-3_201001, SECTION 7.2
nodes: "Nodes" "{" nodes_master? nodes_slaves? "}"
nodes_master: "Master" ":" ldf_identifier "," ldf_float "ms" "," ldf_float "ms" ("," ldf_integer "bits" "," ldf_float "%")? ";"
nodes_slaves: "Slaves" ":" ldf_identifier ("," ldf_identifier)* ";"
nodes_master: ("Master" | "Commander") ":" ldf_identifier "," ldf_float "ms" "," ldf_float "ms" ("," ldf_integer ("bits" | "bit") "," ldf_float "%")? ";"
nodes_slaves: ("Slaves" | "Responders") ":" ldf_identifier ("," ldf_identifier)* ";"

// LIN 2.1 Specification, section 9.2.2.3
node_compositions: "composite" "{" (node_compositions_configuration+) "}"
Expand Down Expand Up @@ -69,7 +69,7 @@ diagnostic_address: ldf_identifier ":" ldf_integer ";"
// LIN 2.1 Specification, section 9.2.2.2
// response_tolerance: SAE J2602_1_201001, section 7.2.1
node_attributes: "Node_attributes" "{" (node_definition*) "}"
node_definition: ldf_identifier "{" (node_definition_protocol | node_definition_configured_nad | node_definition_initial_nad | node_definition_product_id | node_definition_response_error | node_definition_fault_state_signals | node_definition_p2_min | node_definition_st_min | node_definition_n_as_timeout | node_definition_n_cr_timeout | node_definition_configurable_frames | node_definition_response_tolerance | node_definition_wakeup_time | node_definition_poweron_time)* "}"
node_definition: ldf_identifier "{" (node_definition_protocol | node_definition_configured_nad | node_definition_initial_nad | node_definition_product_id | node_definition_response_error | node_definition_fault_state_signals | node_definition_p2_min | node_definition_st_min | node_definition_n_as_timeout | node_definition_n_cr_timeout | node_definition_configurable_frames | node_definition_response_tolerance | node_definition_wakeup_time | node_definition_poweron_time | node_definition_reset_indication)* "}"
node_definition_protocol: "LIN_protocol" "=" (["\"" ldf_version "\""] | ldf_version) ";"
node_definition_configured_nad: "configured_NAD" "=" ldf_integer ";"
node_definition_initial_nad: "initial_NAD" "=" ldf_integer ";"
Expand All @@ -86,6 +86,7 @@ node_definition_configurable_frames_21: "configurable_frames" "{" (ldf_identifie
node_definition_response_tolerance: "response_tolerance" "=" ldf_float "%" ";"
node_definition_wakeup_time: "wakeup_time" "=" ldf_float "ms" ";"
node_definition_poweron_time: "poweron_time" "=" ldf_float "ms" ";"
node_definition_reset_indication: "reset_indication" "=" ldf_identifier ";"

// LIN 2.1 Specification, section 9.2.5
schedule_tables: "Schedule_tables" "{" (schedule_table_definition+) "}"
Expand Down
2 changes: 1 addition & 1 deletion ldfparser/lin.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ def from_string(version: str) -> 'J2602Version':
version = version.replace("J2602_", '')
(part, versions) = version.split('_')
major, minor = [int(value) for value in versions.split('.')]
if major == 1:
if major == 1 or major == 2:
return J2602Version(major=major, minor=minor, part=int(part))

raise ValueError(f'{version} is not supported yet.')
Expand Down
Loading