diff --git a/CMakeLists.txt b/CMakeLists.txt index 35ec376..6a4742d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,7 @@ endif() set(COMMON_SRC communication/message/neomessage.cpp - communication/messagedecoder.cpp + communication/decoder.cpp communication/packetizer.cpp communication/multichannelcommunication.cpp communication/communication.cpp diff --git a/communication/communication.cpp b/communication/communication.cpp index 22d6e0a..f7d24cc 100644 --- a/communication/communication.cpp +++ b/communication/communication.cpp @@ -7,7 +7,7 @@ #include #include #include "communication/include/command.h" -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" #include "communication/include/packetizer.h" #include "communication/message/include/serialnumbermessage.h" #include "communication/message/filter/include/main51messagefilter.h" diff --git a/communication/messagedecoder.cpp b/communication/decoder.cpp similarity index 93% rename from communication/messagedecoder.cpp rename to communication/decoder.cpp index 1dbad89..57aeb4f 100644 --- a/communication/messagedecoder.cpp +++ b/communication/decoder.cpp @@ -1,4 +1,4 @@ -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" #include "communication/include/communication.h" #include "communication/message/include/serialnumbermessage.h" #include "communication/include/command.h" @@ -7,14 +7,14 @@ using namespace icsneo; -uint64_t MessageDecoder::GetUInt64FromLEBytes(uint8_t* bytes) { +uint64_t Decoder::GetUInt64FromLEBytes(uint8_t* bytes) { uint64_t ret = 0; for(int i = 0; i < 8; i++) ret |= (bytes[i] << (i * 8)); return ret; } -std::shared_ptr MessageDecoder::decodePacket(const std::shared_ptr& packet) { +std::shared_ptr Decoder::decodePacket(const std::shared_ptr& packet) { switch(packet->network.getType()) { case Network::Type::CAN: { if(packet->data.size() < 24) diff --git a/communication/include/communication.h b/communication/include/communication.h index 796bf0a..d945a33 100644 --- a/communication/include/communication.h +++ b/communication/include/communication.h @@ -8,7 +8,7 @@ #include "communication/message/callback/include/messagecallback.h" #include "communication/message/include/serialnumbermessage.h" #include "communication/include/packetizer.h" -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" #include #include #include @@ -20,7 +20,7 @@ namespace icsneo { class Communication { public: - Communication(std::shared_ptr com, std::shared_ptr p, std::shared_ptr md) : impl(com), packetizer(p), decoder(md) {} + Communication(std::shared_ptr com, std::shared_ptr p, std::shared_ptr md) : impl(com), packetizer(p), decoder(md) {} virtual ~Communication() { close(); } bool open(); @@ -43,7 +43,7 @@ public: std::shared_ptr waitForMessageSync(std::shared_ptr f, std::chrono::milliseconds timeout = std::chrono::milliseconds(50)); std::shared_ptr packetizer; - std::shared_ptr decoder; + std::shared_ptr decoder; protected: std::shared_ptr impl; diff --git a/communication/include/messagedecoder.h b/communication/include/decoder.h similarity index 95% rename from communication/include/messagedecoder.h rename to communication/include/decoder.h index 80d5a8f..d6c4ae4 100644 --- a/communication/include/messagedecoder.h +++ b/communication/include/decoder.h @@ -1,278 +1,278 @@ -#ifndef __MESSAGEDECODER_H_ -#define __MESSAGEDECODER_H_ - -#include "communication/message/include/message.h" -#include "communication/message/include/canmessage.h" -#include "communication/include/packet.h" -#include "communication/include/network.h" -#include -#include -#include - -#pragma pack(push) -#pragma pack(1) - -namespace icsneo { - -class MessageDecoder { -public: - static uint64_t GetUInt64FromLEBytes(uint8_t* bytes); - std::shared_ptr decodePacket(const std::shared_ptr& message); - -private: - typedef uint16_t icscm_bitfield; - struct HardwareCANPacket { - struct { - icscm_bitfield IDE : 1; - icscm_bitfield SRR : 1; - icscm_bitfield SID : 11; - icscm_bitfield EDL : 1; - icscm_bitfield BRS : 1; - icscm_bitfield ESI : 1; - } header; - struct { - icscm_bitfield EID : 12; - icscm_bitfield TXMSG : 1; - icscm_bitfield TXAborted : 1; - icscm_bitfield TXLostArb : 1; - icscm_bitfield TXError : 1; - } eid; - struct { - icscm_bitfield DLC : 4; - icscm_bitfield RB0 : 1; - icscm_bitfield IVRIF : 1; - icscm_bitfield HVEnable : 1;// must be cleared before passing into CAN driver - icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS - icscm_bitfield RB1 : 1; - icscm_bitfield RTR : 1; - icscm_bitfield EID : 6; - } dlc; - unsigned char data[8]; - struct { - uint64_t TS : 60; - uint64_t : 3; - uint64_t IsExtended : 1; - } timestamp; - }; - - // struct CoreMiniMsg { - // CANMessage toCANMessage(Network netid); - // union { - // uint16_t CxTRB0SID16; - // struct - // { - // icscm_bitfield IDE : 1; - // icscm_bitfield SRR : 1; - // icscm_bitfield SID : 11; - // icscm_bitfield NETWORKINDEX : 3;//DO NOT CLOBBER THIS - // } CxTRB0SID; - // struct - // { - // icscm_bitfield : 13; - // icscm_bitfield EDL : 1; - // icscm_bitfield BRS : 1; - // icscm_bitfield ESI : 1; - // } CxTRB0FD; - // struct - // { - // icscm_bitfield ErrRxOnlyBreak : 1; - // icscm_bitfield ErrRxOnlyBreakSync : 1; - // icscm_bitfield ID : 11; - // icscm_bitfield NETWORKINDEX : 3;//DO NOT CLOBBER THIS - // } CxLIN3; - // struct - // { - // uint8_t D8; - // uint8_t options : 4; - // uint8_t TXMSG : 1; - // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS - // } C1xJ1850; - // struct - // { - // uint8_t D8; - // uint8_t options : 4; - // uint8_t TXMSG : 1; - // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS - // } C1xISO; - // struct - // { - // uint8_t D8; - // uint8_t options : 4; - // uint8_t TXMSG : 1; - // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS - // } C1xJ1708; - // struct - // { - // icscm_bitfield FCS_AVAIL : 1; - // icscm_bitfield RUNT_FRAME : 1; - // icscm_bitfield DISABLE_PADDING : 1; - // icscm_bitfield PREEMPTION_ENABLED : 1; - // icscm_bitfield MPACKET_TYPE : 4; - // icscm_bitfield MPACKET_FRAG_CNT : 2; - // icscm_bitfield : 6; - // } C1xETH; - // struct - // { - // uint16_t ID : 11; - // uint16_t STARTUP : 1; - // uint16_t SYNC : 1; - // uint16_t NULL_FRAME : 1; - // uint16_t PAYLOAD_PREAMBLE : 1; - // uint16_t RESERVED_0 : 1; - // } C1xFlex; - // struct - // { - // uint8_t daqType; - // uint8_t ethDaqRes1; - // } C1xETHDAQ; - // }; - // union { - // uint16_t CxTRB0EID16; - // struct - // { - // icscm_bitfield EID : 12; - // icscm_bitfield TXMSG : 1; - // icscm_bitfield TXAborted : 1; - // icscm_bitfield TXLostArb : 1; - // icscm_bitfield TXError : 1; - // } CxTRB0EID; - // struct - // { - // uint8_t LINByte9; - // uint8_t ErrTxRxMismatch : 1; - // uint8_t TxChkSumEnhanced : 1; - // uint8_t TXMaster : 1; - // uint8_t TXSlave : 1; - // uint8_t ErrRxBreakNot0 : 1; - // uint8_t ErrRxBreakTooShort : 1; - // uint8_t ErrRxSyncNot55 : 1; - // uint8_t ErrRxDataGreater8 : 1; - // } CxLIN; - // struct - // { - // uint8_t D9; - // uint8_t D10; - // } C2xJ1850; - // struct - // { - // uint8_t D9; - // uint8_t D10; - // } C2xISO; - // struct - // { - // uint8_t D9; - // uint8_t D10; - // } C2xJ1708; - // struct - // { - // uint16_t txlen : 12; - // uint16_t TXMSG : 1; - // uint16_t : 3; - // } C2xETH; - // struct - // { - // uint16_t HDR_CRC_10 : 1; - // uint16_t PAYLOAD_LEN : 7; - // uint16_t RESERVED_1 : 4; - // uint16_t TXMSG : 1; - // uint16_t RESERVED_2 : 3; - // } C2xFlex; - // }; - // union { - // // For use by CAN - // uint16_t CxTRB0DLC16; - // struct - // { - // icscm_bitfield DLC : 4; - // icscm_bitfield RB0 : 1; - // icscm_bitfield IVRIF : 1; - // icscm_bitfield HVEnable : 1;// must be cleared before passing into CAN driver - // icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS - // icscm_bitfield RB1 : 1; - // icscm_bitfield RTR : 1; - // icscm_bitfield EID : 6; - // } CxTRB0DLC; - // struct - // { - // icscm_bitfield len : 4; - // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS - // icscm_bitfield UpdateSlaveOnce : 1; - // icscm_bitfield HasUpdatedSlaveOnce : 1; - // icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS - // icscm_bitfield BusRecovered : 1; - // icscm_bitfield SyncFerr : 1;//!< We got framing error in our sync byte. - // icscm_bitfield MidFerr : 1;//!< We got framing error in our message id. - // icscm_bitfield SlaveByteFerr : 1;//!< We got framing error in one of our slave bytes. - // icscm_bitfield TxAborted : 1;//!< This transmit was aborted. - // icscm_bitfield breakOnly : 1; - // icscm_bitfield : 2; - // } CxLIN2; - // // For use by JVPW - // struct - // { - // icscm_bitfield len : 4; - // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS - // icscm_bitfield just_tx_timestamp : 1; - // icscm_bitfield first_seg : 1; - // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit - // icscm_bitfield D11 : 8; - // } C3xJ1850; - // // For use by the ISO/KEYWORD - // struct - // { - // icscm_bitfield len : 4; - // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS - // icscm_bitfield FRM : 1; - // icscm_bitfield INIT : 1; - // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit - // icscm_bitfield D11 : 8; - // } C3xISO; - // struct - // { - // icscm_bitfield len : 4; - // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS - // icscm_bitfield FRM : 1; - // icscm_bitfield : 1; - // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit - // icscm_bitfield pri : 8; - // } C3xJ1708; - // struct - // { - // uint16_t rsvd; - // } C3xETH; - // struct - // { - // uint16_t CYCLE : 6; - // uint16_t HDR_CRC_9_0 : 10; - // } C3xFlex; - // }; - // unsigned char CxTRB0Dall[8]; - // union { - // uint16_t CxTRB0STAT; - // uint16_t J1850_TX_ID; - // }; - // union { - // struct - // { - // uint32_t uiTimeStamp10uS; - // union { - // uint32_t uiTimeStamp10uSMSB; - // struct - // { - // unsigned : 28; - // unsigned res_0s : 3;// must be 0!!! - // unsigned bIsExtended : 1;// always 1 for CoreMiniMsgExtended. - // }; - // }; - // }; - // int64_t uiTimeStampLarge; - // uint8_t uiTimeStampBytes[8]; - // }; - // }; -}; - -} - -#pragma pack(pop) - +#ifndef __DECODER_H_ +#define __DECODER_H_ + +#include "communication/message/include/message.h" +#include "communication/message/include/canmessage.h" +#include "communication/include/packet.h" +#include "communication/include/network.h" +#include +#include +#include + +#pragma pack(push) +#pragma pack(1) + +namespace icsneo { + +class Decoder { +public: + static uint64_t GetUInt64FromLEBytes(uint8_t* bytes); + std::shared_ptr decodePacket(const std::shared_ptr& message); + +private: + typedef uint16_t icscm_bitfield; + struct HardwareCANPacket { + struct { + icscm_bitfield IDE : 1; + icscm_bitfield SRR : 1; + icscm_bitfield SID : 11; + icscm_bitfield EDL : 1; + icscm_bitfield BRS : 1; + icscm_bitfield ESI : 1; + } header; + struct { + icscm_bitfield EID : 12; + icscm_bitfield TXMSG : 1; + icscm_bitfield TXAborted : 1; + icscm_bitfield TXLostArb : 1; + icscm_bitfield TXError : 1; + } eid; + struct { + icscm_bitfield DLC : 4; + icscm_bitfield RB0 : 1; + icscm_bitfield IVRIF : 1; + icscm_bitfield HVEnable : 1;// must be cleared before passing into CAN driver + icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS + icscm_bitfield RB1 : 1; + icscm_bitfield RTR : 1; + icscm_bitfield EID : 6; + } dlc; + unsigned char data[8]; + struct { + uint64_t TS : 60; + uint64_t : 3; + uint64_t IsExtended : 1; + } timestamp; + }; + + // struct CoreMiniMsg { + // CANMessage toCANMessage(Network netid); + // union { + // uint16_t CxTRB0SID16; + // struct + // { + // icscm_bitfield IDE : 1; + // icscm_bitfield SRR : 1; + // icscm_bitfield SID : 11; + // icscm_bitfield NETWORKINDEX : 3;//DO NOT CLOBBER THIS + // } CxTRB0SID; + // struct + // { + // icscm_bitfield : 13; + // icscm_bitfield EDL : 1; + // icscm_bitfield BRS : 1; + // icscm_bitfield ESI : 1; + // } CxTRB0FD; + // struct + // { + // icscm_bitfield ErrRxOnlyBreak : 1; + // icscm_bitfield ErrRxOnlyBreakSync : 1; + // icscm_bitfield ID : 11; + // icscm_bitfield NETWORKINDEX : 3;//DO NOT CLOBBER THIS + // } CxLIN3; + // struct + // { + // uint8_t D8; + // uint8_t options : 4; + // uint8_t TXMSG : 1; + // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS + // } C1xJ1850; + // struct + // { + // uint8_t D8; + // uint8_t options : 4; + // uint8_t TXMSG : 1; + // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS + // } C1xISO; + // struct + // { + // uint8_t D8; + // uint8_t options : 4; + // uint8_t TXMSG : 1; + // uint8_t NETWORKINDEX : 3;//DO NOT CLOBBER THIS + // } C1xJ1708; + // struct + // { + // icscm_bitfield FCS_AVAIL : 1; + // icscm_bitfield RUNT_FRAME : 1; + // icscm_bitfield DISABLE_PADDING : 1; + // icscm_bitfield PREEMPTION_ENABLED : 1; + // icscm_bitfield MPACKET_TYPE : 4; + // icscm_bitfield MPACKET_FRAG_CNT : 2; + // icscm_bitfield : 6; + // } C1xETH; + // struct + // { + // uint16_t ID : 11; + // uint16_t STARTUP : 1; + // uint16_t SYNC : 1; + // uint16_t NULL_FRAME : 1; + // uint16_t PAYLOAD_PREAMBLE : 1; + // uint16_t RESERVED_0 : 1; + // } C1xFlex; + // struct + // { + // uint8_t daqType; + // uint8_t ethDaqRes1; + // } C1xETHDAQ; + // }; + // union { + // uint16_t CxTRB0EID16; + // struct + // { + // icscm_bitfield EID : 12; + // icscm_bitfield TXMSG : 1; + // icscm_bitfield TXAborted : 1; + // icscm_bitfield TXLostArb : 1; + // icscm_bitfield TXError : 1; + // } CxTRB0EID; + // struct + // { + // uint8_t LINByte9; + // uint8_t ErrTxRxMismatch : 1; + // uint8_t TxChkSumEnhanced : 1; + // uint8_t TXMaster : 1; + // uint8_t TXSlave : 1; + // uint8_t ErrRxBreakNot0 : 1; + // uint8_t ErrRxBreakTooShort : 1; + // uint8_t ErrRxSyncNot55 : 1; + // uint8_t ErrRxDataGreater8 : 1; + // } CxLIN; + // struct + // { + // uint8_t D9; + // uint8_t D10; + // } C2xJ1850; + // struct + // { + // uint8_t D9; + // uint8_t D10; + // } C2xISO; + // struct + // { + // uint8_t D9; + // uint8_t D10; + // } C2xJ1708; + // struct + // { + // uint16_t txlen : 12; + // uint16_t TXMSG : 1; + // uint16_t : 3; + // } C2xETH; + // struct + // { + // uint16_t HDR_CRC_10 : 1; + // uint16_t PAYLOAD_LEN : 7; + // uint16_t RESERVED_1 : 4; + // uint16_t TXMSG : 1; + // uint16_t RESERVED_2 : 3; + // } C2xFlex; + // }; + // union { + // // For use by CAN + // uint16_t CxTRB0DLC16; + // struct + // { + // icscm_bitfield DLC : 4; + // icscm_bitfield RB0 : 1; + // icscm_bitfield IVRIF : 1; + // icscm_bitfield HVEnable : 1;// must be cleared before passing into CAN driver + // icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS + // icscm_bitfield RB1 : 1; + // icscm_bitfield RTR : 1; + // icscm_bitfield EID : 6; + // } CxTRB0DLC; + // struct + // { + // icscm_bitfield len : 4; + // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS + // icscm_bitfield UpdateSlaveOnce : 1; + // icscm_bitfield HasUpdatedSlaveOnce : 1; + // icscm_bitfield ExtendedNetworkIndexBit : 1;//DO NOT CLOBBER THIS + // icscm_bitfield BusRecovered : 1; + // icscm_bitfield SyncFerr : 1;//!< We got framing error in our sync byte. + // icscm_bitfield MidFerr : 1;//!< We got framing error in our message id. + // icscm_bitfield SlaveByteFerr : 1;//!< We got framing error in one of our slave bytes. + // icscm_bitfield TxAborted : 1;//!< This transmit was aborted. + // icscm_bitfield breakOnly : 1; + // icscm_bitfield : 2; + // } CxLIN2; + // // For use by JVPW + // struct + // { + // icscm_bitfield len : 4; + // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS + // icscm_bitfield just_tx_timestamp : 1; + // icscm_bitfield first_seg : 1; + // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit + // icscm_bitfield D11 : 8; + // } C3xJ1850; + // // For use by the ISO/KEYWORD + // struct + // { + // icscm_bitfield len : 4; + // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS + // icscm_bitfield FRM : 1; + // icscm_bitfield INIT : 1; + // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit + // icscm_bitfield D11 : 8; + // } C3xISO; + // struct + // { + // icscm_bitfield len : 4; + // icscm_bitfield ExtendedNetworkIndexBit2 : 1;//DO NOT CLOBBER THIS + // icscm_bitfield FRM : 1; + // icscm_bitfield : 1; + // icscm_bitfield ExtendedNetworkIndexBit : 1;// do not clobber ExtendedNetworkIndexBit + // icscm_bitfield pri : 8; + // } C3xJ1708; + // struct + // { + // uint16_t rsvd; + // } C3xETH; + // struct + // { + // uint16_t CYCLE : 6; + // uint16_t HDR_CRC_9_0 : 10; + // } C3xFlex; + // }; + // unsigned char CxTRB0Dall[8]; + // union { + // uint16_t CxTRB0STAT; + // uint16_t J1850_TX_ID; + // }; + // union { + // struct + // { + // uint32_t uiTimeStamp10uS; + // union { + // uint32_t uiTimeStamp10uSMSB; + // struct + // { + // unsigned : 28; + // unsigned res_0s : 3;// must be 0!!! + // unsigned bIsExtended : 1;// always 1 for CoreMiniMsgExtended. + // }; + // }; + // }; + // int64_t uiTimeStampLarge; + // uint8_t uiTimeStampBytes[8]; + // }; + // }; +}; + +} + +#pragma pack(pop) + #endif \ No newline at end of file diff --git a/communication/include/multichannelcommunication.h b/communication/include/multichannelcommunication.h index 9a7a9c9..c3aab8d 100644 --- a/communication/include/multichannelcommunication.h +++ b/communication/include/multichannelcommunication.h @@ -9,7 +9,7 @@ namespace icsneo { class MultiChannelCommunication : public Communication { public: - MultiChannelCommunication(std::shared_ptr com, std::shared_ptr p, std::shared_ptr md) : Communication(com, p, md) {} + MultiChannelCommunication(std::shared_ptr com, std::shared_ptr p, std::shared_ptr md) : Communication(com, p, md) {} void spawnThreads(); void joinThreads(); bool sendCommand(Command cmd, std::vector arguments); diff --git a/communication/multichannelcommunication.cpp b/communication/multichannelcommunication.cpp index 537167a..910ab47 100644 --- a/communication/multichannelcommunication.cpp +++ b/communication/multichannelcommunication.cpp @@ -1,6 +1,6 @@ #include "communication/include/multichannelcommunication.h" #include "communication/include/command.h" -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" #include "communication/include/packetizer.h" #include #include diff --git a/device/include/device.h b/device/include/device.h index f2238ef..76d2cf5 100644 --- a/device/include/device.h +++ b/device/include/device.h @@ -8,7 +8,7 @@ #include "device/include/idevicesettings.h" #include "communication/include/communication.h" #include "communication/include/packetizer.h" -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" #include "third-party/concurrentqueue/concurrentqueue.h" namespace icsneo { diff --git a/device/neoobd2pro/include/neoobd2pro.h b/device/neoobd2pro/include/neoobd2pro.h index f88d824..08a067a 100644 --- a/device/neoobd2pro/include/neoobd2pro.h +++ b/device/neoobd2pro/include/neoobd2pro.h @@ -14,7 +14,7 @@ public: NeoOBD2PRO(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/neoobd2sim/include/neoobd2sim.h b/device/neoobd2sim/include/neoobd2sim.h index 22d171c..766ca48 100644 --- a/device/neoobd2sim/include/neoobd2sim.h +++ b/device/neoobd2sim/include/neoobd2sim.h @@ -14,7 +14,7 @@ public: NeoOBD2SIM(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/neovifire/include/neovifire.h b/device/neovifire/include/neovifire.h index e6e3d3a..89dd842 100644 --- a/device/neovifire/include/neovifire.h +++ b/device/neovifire/include/neovifire.h @@ -13,7 +13,7 @@ public: NeoVIFIRE(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/neovifire2/include/neovifire2eth.h b/device/neovifire2/include/neovifire2eth.h index 9636c34..7f37dfd 100644 --- a/device/neovifire2/include/neovifire2eth.h +++ b/device/neovifire2/include/neovifire2eth.h @@ -13,7 +13,7 @@ public: NeoVIFIRE2ETH(neodevice_t neodevice) : NeoVIFIRE2(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); productId = PRODUCT_ID; } diff --git a/device/neovifire2/include/neovifire2usb.h b/device/neovifire2/include/neovifire2usb.h index e622d0a..daa589b 100644 --- a/device/neovifire2/include/neovifire2usb.h +++ b/device/neovifire2/include/neovifire2usb.h @@ -12,7 +12,7 @@ public: NeoVIFIRE2USB(neodevice_t neodevice) : NeoVIFIRE2(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); productId = PRODUCT_ID; } diff --git a/device/plasion/include/plasion.h b/device/plasion/include/plasion.h index 7cb09c4..6001b4a 100644 --- a/device/plasion/include/plasion.h +++ b/device/plasion/include/plasion.h @@ -12,7 +12,7 @@ public: Plasion(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); } }; diff --git a/device/radgalaxy/include/radgalaxy.h b/device/radgalaxy/include/radgalaxy.h index 44bc510..b23713f 100644 --- a/device/radgalaxy/include/radgalaxy.h +++ b/device/radgalaxy/include/radgalaxy.h @@ -4,7 +4,7 @@ #include "device/include/device.h" #include "platform/include/pcap.h" #include "communication/include/packetizer.h" -#include "communication/include/messagedecoder.h" +#include "communication/include/decoder.h" namespace icsneo { @@ -18,7 +18,7 @@ public: auto packetizer = std::make_shared(); packetizer->disableChecksum = true; packetizer->align16bit = false; - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/radstar2/include/radstar2.h b/device/radstar2/include/radstar2.h index 0a5efd1..fffb4d3 100644 --- a/device/radstar2/include/radstar2.h +++ b/device/radstar2/include/radstar2.h @@ -14,7 +14,7 @@ public: RADStar2(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/radsupermoon/include/radsupermoon.h b/device/radsupermoon/include/radsupermoon.h index 9ca97f9..e53518d 100644 --- a/device/radsupermoon/include/radsupermoon.h +++ b/device/radsupermoon/include/radsupermoon.h @@ -16,7 +16,7 @@ public: auto packetizer = std::make_shared(); packetizer->disableChecksum = true; packetizer->align16bit = false; - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/valuecan3/include/valuecan3.h b/device/valuecan3/include/valuecan3.h index 9108f86..6b3135a 100644 --- a/device/valuecan3/include/valuecan3.h +++ b/device/valuecan3/include/valuecan3.h @@ -13,7 +13,7 @@ public: ValueCAN3(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/valuecan4/include/valuecan4.h b/device/valuecan4/include/valuecan4.h index 3638a3e..091dd3e 100644 --- a/device/valuecan4/include/valuecan4.h +++ b/device/valuecan4/include/valuecan4.h @@ -14,7 +14,7 @@ public: ValueCAN4(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID; diff --git a/device/vividcan/include/vividcan.h b/device/vividcan/include/vividcan.h index ae00100..73870db 100644 --- a/device/vividcan/include/vividcan.h +++ b/device/vividcan/include/vividcan.h @@ -14,7 +14,7 @@ public: VividCAN(neodevice_t neodevice) : Device(neodevice) { auto transport = std::make_shared(getWritableNeoDevice()); auto packetizer = std::make_shared(); - auto decoder = std::make_shared(); + auto decoder = std::make_shared(); com = std::make_shared(transport, packetizer, decoder); setProductName(PRODUCT_NAME); productId = PRODUCT_ID;