From 3b47eb92a55492374885920a553383cea1910cf9 Mon Sep 17 00:00:00 2001 From: malilaroussi Date: Wed, 18 Feb 2026 08:47:21 +0100 Subject: [PATCH 1/3] parse NmStationAddress --- src/canmatrix/formats/fibex.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/canmatrix/formats/fibex.py b/src/canmatrix/formats/fibex.py index 27adc670..839ffac7 100644 --- a/src/canmatrix/formats/fibex.py +++ b/src/canmatrix/formats/fibex.py @@ -664,6 +664,10 @@ def dump(db, f, **options): for bu in db.ecus: ecu = create_sub_element_fx(ecus, "ECU") ecu.set("ID", bu.name) + nm_address = bu.attribute("NmStationAddress") + if nm_address: + manufac_extansion = create_sub_element_fx(ecu, "MANUFACTURER-EXTENSION") + create_sub_element_te(manufac_extansion, "ECU-ADDRESS",nm_address) create_short_name_desc(ecu, bu.name, bu.comment) function_refs = create_sub_element_fx(ecu, "FUNCTION-REFS") func_ref = create_sub_element_fx(function_refs, "FUNCTION-REF") From f905b5602fd0e34f56340d75f7dec15d31d80830 Mon Sep 17 00:00:00 2001 From: malilaroussi Date: Thu, 19 Feb 2026 09:29:51 +0100 Subject: [PATCH 2/3] update ECU-ADDRESS element name --- src/canmatrix/formats/fibex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/canmatrix/formats/fibex.py b/src/canmatrix/formats/fibex.py index 839ffac7..566c75cc 100644 --- a/src/canmatrix/formats/fibex.py +++ b/src/canmatrix/formats/fibex.py @@ -667,7 +667,7 @@ def dump(db, f, **options): nm_address = bu.attribute("NmStationAddress") if nm_address: manufac_extansion = create_sub_element_fx(ecu, "MANUFACTURER-EXTENSION") - create_sub_element_te(manufac_extansion, "ECU-ADDRESS",nm_address) + create_sub_element_te(manufac_extansion, "NM-ECU-ADDRESS",nm_address) create_short_name_desc(ecu, bu.name, bu.comment) function_refs = create_sub_element_fx(ecu, "FUNCTION-REFS") func_ref = create_sub_element_fx(function_refs, "FUNCTION-REF") From 9f481ba8e2b9b69fa622d0c6ce53c739d324258a Mon Sep 17 00:00:00 2001 From: malilaroussi Date: Wed, 25 Feb 2026 14:47:43 +0100 Subject: [PATCH 3/3] add protocol type --- src/canmatrix/formats/fibex.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/canmatrix/formats/fibex.py b/src/canmatrix/formats/fibex.py index 566c75cc..86cd9af6 100644 --- a/src/canmatrix/formats/fibex.py +++ b/src/canmatrix/formats/fibex.py @@ -623,6 +623,11 @@ def dump(db, f, **options): create_sub_element_fx(cluster, "SPEED", "500") protocol.attrib['{{{pre}}}type'.format(pre=xsi)] = "can:PROTOCOL-TYPE" create_sub_element_fx(cluster, "PROTOCOL-VERSION", "20") + protocol_type = db.attribute("ProtocolType") + if protocol_type: + manufac_extension = create_sub_element_fx(cluster, "MANUFACTURER-EXTENSION") + create_sub_element_te(manufac_extension,"PROTOCOL-FORMAT",protocol_type) + channel_refs = create_sub_element_fx(cluster, "CHANNEL-REFS") # for each channel channel_ref = create_sub_element_fx(channel_refs, "CHANNEL-REF")