FIRE3: Fix termination groups

This commit is contained in:
David Rebbe
2026-06-25 16:59:09 -04:00
committed by Kyle Schwarz
parent 4b9cf1a37f
commit 3d99898598
4 changed files with 47 additions and 24 deletions
@@ -262,18 +262,29 @@ public:
} }
virtual std::vector<TerminationGroup> getTerminationGroups() const override { virtual std::vector<TerminationGroup> getTerminationGroups() const override {
// FIRE3 has two physical termination banks: DW CAN 01-08 and DW CAN 09-16.
// Termination within a bank is actually independent (any number may be
// enabled at once).
return { return {
{ {
Network(Network::NetID::DWCAN_01), Network(Network::NetID::DWCAN_01),
Network(Network::NetID::DWCAN_02),
Network(Network::NetID::DWCAN_03), Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_04),
Network(Network::NetID::DWCAN_05), Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_07) Network(Network::NetID::DWCAN_06),
Network(Network::NetID::DWCAN_07),
Network(Network::NetID::DWCAN_08)
}, },
{ {
Network(Network::NetID::DWCAN_08), Network(Network::NetID::DWCAN_09),
Network(Network::NetID::DWCAN_02), Network(Network::NetID::DWCAN_10),
Network(Network::NetID::DWCAN_04), Network(Network::NetID::DWCAN_11),
Network(Network::NetID::DWCAN_06) Network(Network::NetID::DWCAN_12),
Network(Network::NetID::DWCAN_13),
Network(Network::NetID::DWCAN_14),
Network(Network::NetID::DWCAN_15),
Network(Network::NetID::DWCAN_16)
} }
}; };
} }
@@ -213,18 +213,28 @@ public:
} }
virtual std::vector<TerminationGroup> getTerminationGroups() const override { virtual std::vector<TerminationGroup> getTerminationGroups() const override {
// FIRE3 FlexRay has two physical termination banks: DW CAN 01-08 and
// DW CAN 09-15 (DW CAN 16 is used by FlexRay). Termination within a bank is
// actually independent (any number may be enabled at once).
return { return {
{ {
Network(Network::NetID::DWCAN_01), Network(Network::NetID::DWCAN_01),
Network(Network::NetID::DWCAN_02),
Network(Network::NetID::DWCAN_03), Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_04),
Network(Network::NetID::DWCAN_05), Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_07) Network(Network::NetID::DWCAN_06),
Network(Network::NetID::DWCAN_07),
Network(Network::NetID::DWCAN_08)
}, },
{ {
Network(Network::NetID::DWCAN_08), Network(Network::NetID::DWCAN_09),
Network(Network::NetID::DWCAN_02), Network(Network::NetID::DWCAN_10),
Network(Network::NetID::DWCAN_04), Network(Network::NetID::DWCAN_11),
Network(Network::NetID::DWCAN_06) Network(Network::NetID::DWCAN_12),
Network(Network::NetID::DWCAN_13),
Network(Network::NetID::DWCAN_14),
Network(Network::NetID::DWCAN_15)
} }
}; };
} }
@@ -222,18 +222,19 @@ public:
} }
virtual std::vector<TerminationGroup> getTerminationGroups() const override { virtual std::vector<TerminationGroup> getTerminationGroups() const override {
// FIRE3 T1S-LIN has a single physical termination bank: DW CAN 01-08.
// Termination within the bank is actually independent (any number may be
// enabled at once).
return { return {
{ {
Network(Network::NetID::DWCAN_01), Network(Network::NetID::DWCAN_01),
Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_07)
},
{
Network(Network::NetID::DWCAN_08),
Network(Network::NetID::DWCAN_02), Network(Network::NetID::DWCAN_02),
Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_04), Network(Network::NetID::DWCAN_04),
Network(Network::NetID::DWCAN_06) Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_06),
Network(Network::NetID::DWCAN_07),
Network(Network::NetID::DWCAN_08)
} }
}; };
} }
@@ -175,18 +175,19 @@ public:
} }
virtual std::vector<TerminationGroup> getTerminationGroups() const override { virtual std::vector<TerminationGroup> getTerminationGroups() const override {
// RED2 has a single physical termination bank: DW CAN 01-08. Termination
// within the bank is actually independent (any number may be enabled at
// once).
return { return {
{ {
Network(Network::NetID::DWCAN_01), Network(Network::NetID::DWCAN_01),
Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_07)
},
{
Network(Network::NetID::DWCAN_08),
Network(Network::NetID::DWCAN_02), Network(Network::NetID::DWCAN_02),
Network(Network::NetID::DWCAN_03),
Network(Network::NetID::DWCAN_04), Network(Network::NetID::DWCAN_04),
Network(Network::NetID::DWCAN_06) Network(Network::NetID::DWCAN_05),
Network(Network::NetID::DWCAN_06),
Network(Network::NetID::DWCAN_07),
Network(Network::NetID::DWCAN_08)
} }
}; };
} }