From 55f90f5602f5c5665ce931bee776f89f6848dcc9 Mon Sep 17 00:00:00 2001 From: David Rebbe Date: Wed, 4 Dec 2024 00:08:22 -0500 Subject: [PATCH] updated bus message classes for getBusType() --- include/icsneo/communication/message/a2bmessage.h | 2 ++ include/icsneo/communication/message/canmessage.h | 2 ++ include/icsneo/communication/message/ethernetmessage.h | 2 ++ include/icsneo/communication/message/extendeddatamessage.h | 2 +- include/icsneo/communication/message/flexray/flexraymessage.h | 1 + include/icsneo/communication/message/i2cmessage.h | 2 ++ include/icsneo/communication/message/iso9141message.h | 1 + include/icsneo/communication/message/linmessage.h | 2 ++ include/icsneo/communication/message/mdiomessage.h | 2 ++ include/icsneo/communication/message/message.h | 2 +- 10 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/icsneo/communication/message/a2bmessage.h b/include/icsneo/communication/message/a2bmessage.h index 92cd805..6fa04a5 100644 --- a/include/icsneo/communication/message/a2bmessage.h +++ b/include/icsneo/communication/message/a2bmessage.h @@ -22,6 +22,8 @@ using ChannelMap = std::unordered_map; class A2BMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_a2b; } + static constexpr size_t maxAudioBufferSize = 2048; enum class TDMMode : uint8_t { diff --git a/include/icsneo/communication/message/canmessage.h b/include/icsneo/communication/message/canmessage.h index 47337fa..e6dcbe7 100644 --- a/include/icsneo/communication/message/canmessage.h +++ b/include/icsneo/communication/message/canmessage.h @@ -9,6 +9,8 @@ namespace icsneo { class CANMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_can; } + uint32_t arbid; uint8_t dlcOnWire; bool isRemote = false; // Not allowed if CAN FD diff --git a/include/icsneo/communication/message/ethernetmessage.h b/include/icsneo/communication/message/ethernetmessage.h index d4cfdac..6426177 100644 --- a/include/icsneo/communication/message/ethernetmessage.h +++ b/include/icsneo/communication/message/ethernetmessage.h @@ -33,6 +33,8 @@ struct MACAddress { class EthernetMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_ethernet; } + bool preemptionEnabled = false; uint8_t preemptionFlags = 0; bool fcsAvailable = false; diff --git a/include/icsneo/communication/message/extendeddatamessage.h b/include/icsneo/communication/message/extendeddatamessage.h index ee9c6fb..7fdee1e 100644 --- a/include/icsneo/communication/message/extendeddatamessage.h +++ b/include/icsneo/communication/message/extendeddatamessage.h @@ -9,7 +9,7 @@ namespace icsneo { -class ExtendedDataMessage : public BusMessage { +class ExtendedDataMessage : public InternalMessage { public: #pragma pack(push, 2) struct ExtendedDataHeader { diff --git a/include/icsneo/communication/message/flexray/flexraymessage.h b/include/icsneo/communication/message/flexray/flexraymessage.h index f662569..8cf7aaa 100644 --- a/include/icsneo/communication/message/flexray/flexraymessage.h +++ b/include/icsneo/communication/message/flexray/flexraymessage.h @@ -12,6 +12,7 @@ namespace icsneo { class FlexRayMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_flexray; } uint16_t slotid = 0; double tsslen = 0; double framelen = 0; diff --git a/include/icsneo/communication/message/i2cmessage.h b/include/icsneo/communication/message/i2cmessage.h index e600ebd..e6a998c 100644 --- a/include/icsneo/communication/message/i2cmessage.h +++ b/include/icsneo/communication/message/i2cmessage.h @@ -10,6 +10,8 @@ namespace icsneo { class I2CMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_i2c; } + enum class DeviceMode : uint8_t { Target = 0, Controller = 1 diff --git a/include/icsneo/communication/message/iso9141message.h b/include/icsneo/communication/message/iso9141message.h index be7c4fb..1c7092b 100644 --- a/include/icsneo/communication/message/iso9141message.h +++ b/include/icsneo/communication/message/iso9141message.h @@ -10,6 +10,7 @@ namespace icsneo { class ISO9141Message : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_iso9141; } std::array header; bool isInit = false; bool isBreak = false; diff --git a/include/icsneo/communication/message/linmessage.h b/include/icsneo/communication/message/linmessage.h index 55dd27a..3d8319e 100644 --- a/include/icsneo/communication/message/linmessage.h +++ b/include/icsneo/communication/message/linmessage.h @@ -36,6 +36,8 @@ struct LINStatusFlags { class LINMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_lin; } + enum class Type : uint8_t { NOT_SET = 0, LIN_COMMANDER_MSG, diff --git a/include/icsneo/communication/message/mdiomessage.h b/include/icsneo/communication/message/mdiomessage.h index 688f509..b501f80 100644 --- a/include/icsneo/communication/message/mdiomessage.h +++ b/include/icsneo/communication/message/mdiomessage.h @@ -9,6 +9,8 @@ namespace icsneo { class MDIOMessage : public BusMessage { public: + const icsneo_msg_bus_type_t getBusType() const final { return icsneo_msg_bus_type_mdio; } + enum class Clause : uint8_t { Clause45 = 0, Clause22 = 1 diff --git a/include/icsneo/communication/message/message.h b/include/icsneo/communication/message/message.h index 29e00f6..2123a42 100644 --- a/include/icsneo/communication/message/message.h +++ b/include/icsneo/communication/message/message.h @@ -76,7 +76,7 @@ public: const icsneo_msg_type_t getMsgType() const final { return icsneo_msg_type_bus; } - //virtual const icsneo_msg_bus_type_t getBusType() const = 0; + virtual const icsneo_msg_bus_type_t getBusType() const = 0; uint16_t description = 0; bool transmitted = false;