From e0117f554209c2120d09fc4284618292ad36ff69 Mon Sep 17 00:00:00 2001 From: Francesco Valla Date: Thu, 22 Jun 2023 11:38:28 +0200 Subject: [PATCH] Device: add LIN settings getter for devices with LIN --- .../tree/etherbadge/etherbadgesettings.h | 11 ++++++++ .../device/tree/neovifire/neovifiresettings.h | 17 ++++++++++++ .../tree/neovifire2/neovifire2settings.h | 22 ++++++++++++++++ .../tree/neovifire3/neovifire3settings.h | 26 +++++++++++++++++++ .../neovifire3flexraysettings.h | 18 +++++++++++++ .../device/tree/neovired2/neovired2settings.h | 14 ++++++++++ .../device/tree/rada2b/rada2bsettings.h | 12 +++++++++ .../device/tree/radgalaxy/radgalaxysettings.h | 12 +++++++++ .../tree/radgigastar/radgigastarsettings.h | 12 +++++++++ .../tree/radjupiter/radjupitersettings.h | 11 ++++++++ .../device/tree/radmars/radmarssettings.h | 12 +++++++++ .../device/tree/radpluto/radplutosettings.h | 12 +++++++++ .../device/tree/radstar2/radstar2settings.h | 12 +++++++++ .../settings/valuecan4-2elsettings.h | 12 +++++++++ .../settings/valuecan4-4-2elsettings.h | 12 +++++++++ .../valuecan4/settings/valuecan4-4settings.h | 12 +++++++++ 16 files changed, 227 insertions(+) diff --git a/include/icsneo/device/tree/etherbadge/etherbadgesettings.h b/include/icsneo/device/tree/etherbadge/etherbadgesettings.h index c270ec2..1a85ab0 100644 --- a/include/icsneo/device/tree/etherbadge/etherbadgesettings.h +++ b/include/icsneo/device/tree/etherbadge/etherbadgesettings.h @@ -88,6 +88,17 @@ public: return nullptr; } } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/neovifire/neovifiresettings.h b/include/icsneo/device/tree/neovifire/neovifiresettings.h index 71658fe..a7892f5 100644 --- a/include/icsneo/device/tree/neovifire/neovifiresettings.h +++ b/include/icsneo/device/tree/neovifire/neovifiresettings.h @@ -131,6 +131,23 @@ public: return nullptr; } } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + case Network::NetID::LIN2: + return &(cfg->lin2); + case Network::NetID::LIN3: + return &(cfg->lin3); + case Network::NetID::LIN4: + return &(cfg->lin4); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/neovifire2/neovifire2settings.h b/include/icsneo/device/tree/neovifire2/neovifire2settings.h index cffa9a0..c1c0222 100644 --- a/include/icsneo/device/tree/neovifire2/neovifire2settings.h +++ b/include/icsneo/device/tree/neovifire2/neovifire2settings.h @@ -209,6 +209,28 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + case Network::NetID::LIN2: + return &(cfg->lin2); + case Network::NetID::LIN3: + return &(cfg->lin3); + case Network::NetID::LIN4: + return &(cfg->lin4); + case Network::NetID::LIN5: + return &(cfg->lin5); + case Network::NetID::LIN6: + return &(cfg->lin6); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/neovifire3/neovifire3settings.h b/include/icsneo/device/tree/neovifire3/neovifire3settings.h index 576419f..5dcbbb4 100644 --- a/include/icsneo/device/tree/neovifire3/neovifire3settings.h +++ b/include/icsneo/device/tree/neovifire3/neovifire3settings.h @@ -229,6 +229,32 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + case Network::NetID::LIN2: + return &(cfg->lin2); + case Network::NetID::LIN3: + return &(cfg->lin3); + case Network::NetID::LIN4: + return &(cfg->lin4); + case Network::NetID::LIN5: + return &(cfg->lin5); + case Network::NetID::LIN6: + return &(cfg->lin6); + case Network::NetID::LIN7: + return &(cfg->lin7); + case Network::NetID::LIN8: + return &(cfg->lin8); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/neovifire3flexray/neovifire3flexraysettings.h b/include/icsneo/device/tree/neovifire3flexray/neovifire3flexraysettings.h index 8be3878..26c7934 100644 --- a/include/icsneo/device/tree/neovifire3flexray/neovifire3flexraysettings.h +++ b/include/icsneo/device/tree/neovifire3flexray/neovifire3flexraysettings.h @@ -212,6 +212,24 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + case Network::NetID::LIN2: + return &(cfg->lin2); + case Network::NetID::LIN3: + return &(cfg->lin3); + case Network::NetID::LIN4: + return &(cfg->lin4); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/neovired2/neovired2settings.h b/include/icsneo/device/tree/neovired2/neovired2settings.h index 0bb0213..aa5180d 100644 --- a/include/icsneo/device/tree/neovired2/neovired2settings.h +++ b/include/icsneo/device/tree/neovired2/neovired2settings.h @@ -170,6 +170,20 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + case Network::NetID::LIN2: + return &(cfg->lin2); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/rada2b/rada2bsettings.h b/include/icsneo/device/tree/rada2b/rada2bsettings.h index 10db525..22b747c 100644 --- a/include/icsneo/device/tree/rada2b/rada2bsettings.h +++ b/include/icsneo/device/tree/rada2b/rada2bsettings.h @@ -121,6 +121,18 @@ public: } } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } + TDMMode getTDMMode(RADA2BDevice device) const { auto cfg = getStructurePointer(); auto &deviceSettings = device == RADA2BDevice::Monitor ? cfg->a2b_monitor : cfg->a2b_node; diff --git a/include/icsneo/device/tree/radgalaxy/radgalaxysettings.h b/include/icsneo/device/tree/radgalaxy/radgalaxysettings.h index f91a15c..317f388 100644 --- a/include/icsneo/device/tree/radgalaxy/radgalaxysettings.h +++ b/include/icsneo/device/tree/radgalaxy/radgalaxysettings.h @@ -170,6 +170,18 @@ public: return nullptr; } } + + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/radgigastar/radgigastarsettings.h b/include/icsneo/device/tree/radgigastar/radgigastarsettings.h index 4389098..72edec2 100644 --- a/include/icsneo/device/tree/radgigastar/radgigastarsettings.h +++ b/include/icsneo/device/tree/radgigastar/radgigastarsettings.h @@ -149,6 +149,18 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/radjupiter/radjupitersettings.h b/include/icsneo/device/tree/radjupiter/radjupitersettings.h index c531304..6bea9c0 100644 --- a/include/icsneo/device/tree/radjupiter/radjupitersettings.h +++ b/include/icsneo/device/tree/radjupiter/radjupitersettings.h @@ -118,6 +118,17 @@ public: return nullptr; } } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/radmars/radmarssettings.h b/include/icsneo/device/tree/radmars/radmarssettings.h index c4f8d90..1d4a836 100644 --- a/include/icsneo/device/tree/radmars/radmarssettings.h +++ b/include/icsneo/device/tree/radmars/radmarssettings.h @@ -170,6 +170,18 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/radpluto/radplutosettings.h b/include/icsneo/device/tree/radpluto/radplutosettings.h index 0cf2e7b..1a81ab2 100644 --- a/include/icsneo/device/tree/radpluto/radplutosettings.h +++ b/include/icsneo/device/tree/radpluto/radplutosettings.h @@ -104,6 +104,18 @@ public: return nullptr; } } + + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/radstar2/radstar2settings.h b/include/icsneo/device/tree/radstar2/radstar2settings.h index bc3379a..5c77be4 100644 --- a/include/icsneo/device/tree/radstar2/radstar2settings.h +++ b/include/icsneo/device/tree/radstar2/radstar2settings.h @@ -99,6 +99,18 @@ public: return nullptr; } } + + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/valuecan4/settings/valuecan4-2elsettings.h b/include/icsneo/device/tree/valuecan4/settings/valuecan4-2elsettings.h index e31ffde..a06b08c 100644 --- a/include/icsneo/device/tree/valuecan4/settings/valuecan4-2elsettings.h +++ b/include/icsneo/device/tree/valuecan4/settings/valuecan4-2elsettings.h @@ -45,6 +45,18 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer(); diff --git a/include/icsneo/device/tree/valuecan4/settings/valuecan4-4-2elsettings.h b/include/icsneo/device/tree/valuecan4/settings/valuecan4-4-2elsettings.h index deeb0a1..2a8ed79 100644 --- a/include/icsneo/device/tree/valuecan4/settings/valuecan4-4-2elsettings.h +++ b/include/icsneo/device/tree/valuecan4/settings/valuecan4-4-2elsettings.h @@ -37,6 +37,18 @@ public: return nullptr; } } + + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } }; } diff --git a/include/icsneo/device/tree/valuecan4/settings/valuecan4-4settings.h b/include/icsneo/device/tree/valuecan4/settings/valuecan4-4settings.h index f7e667f..dabf533 100644 --- a/include/icsneo/device/tree/valuecan4/settings/valuecan4-4settings.h +++ b/include/icsneo/device/tree/valuecan4/settings/valuecan4-4settings.h @@ -59,6 +59,18 @@ public: }; } + const LIN_SETTINGS* getLINSettingsFor(Network net) const override { + auto cfg = getStructurePointer(); + if(cfg == nullptr) + return nullptr; + switch(net.getNetID()) { + case Network::NetID::LIN: + return &(cfg->lin1); + default: + return nullptr; + } + } + protected: ICSNEO_UNALIGNED(const uint64_t*) getTerminationEnables() const override { auto cfg = getStructurePointer();