1#ifndef LIBS_CAN_CMESSAGECAN_HPP_
2#define LIBS_CAN_CMESSAGECAN_HPP_
16 uint8_t *typeAlarmOpt,
float *valueAlarmOpt)
const;
18 uint32_t *millisecondsOpt)
const;
21 uint8_t *typeDataOpt, uint32_t *valueOpt)
const;
23 std::string *valueStringOpt, uint8_t *segmentPositionOpt,
bool *isFirstSegmentOpt,
24 bool *isLastSegmentOpt)
const;
26 uint8_t *commandOpt, uint32_t *valueOpt)
const;
29 bool *valueOpt)
const;
32 uint8_t *valueOpt)
const;
34 uint32_t *timeUTCOpt)
const;
42 CMessageCan(std::string_view source, uint32_t msgId,
const uint8_t bytes_[8], uint32_t timeStamp,
44 uint8_t **bytesDataExtra,
bool isExtended);
58 void getData(uint8_t *bytes_, uint32_t *lengthData)
const;
59 const uint8_t *
getDataExtra(uint32_t *lengthDataExtra)
const;
60 [[nodiscard]] uint32_t
getId()
const;
64 [[nodiscard]] std::shared_ptr<iv::streams::IInputStream>
getInputData()
const;
65 [[nodiscard]] std::shared_ptr<iv::streams::IInputStream>
getInputStream()
const;
67 [[nodiscard]]
bool getRtr()
const;
70 bool getTextInfo(
bool &isInit,
bool &isFinish, uint8_t &position)
const;
72 [[nodiscard]]
bool isCan()
const;
79 bool deserialize(
const std::vector<std::byte> &buffer)
override;
80 [[nodiscard]] std::vector<std::byte>
serialize()
const override
85 [[nodiscard]] std::string
toString()
const;
87 void getDigitalInputs(std::vector<bool> &inputs, uint32_t numBytes = 8)
const;
Definition CMessageCan.hpp:13
uint32_t getId() const
Definition CMessageCan.cpp:418
uint16_t getIdUnitLocal() const
Definition CMessageCan.cpp:430
bool getIsExtended() const
Definition CMessageCan.cpp:466
bool isCommand() const
Definition CMessageCan.cpp:481
bool isCommandAck() const
Definition CMessageCan.cpp:487
bool isOkMessage() const
Definition CMessageCan.cpp:504
uint32_t getTimeStamp() const
Definition CMessageCan.cpp:471
uint64_t lengthMessage() const
Definition CMessageCan.cpp:356
void getValuesDataMessageText(iv::types::unitId *idUnitOpt, iv::types::indexChannel *indexChannelOpt, std::string *valueStringOpt, uint8_t *segmentPositionOpt, bool *isFirstSegmentOpt, bool *isLastSegmentOpt) const
Definition CMessageCan.cpp:128
uint16_t getIdSubnetwork() const
Definition CMessageCan.cpp:437
void getValuesDataMessageCommand(iv::types::unitId *idUnitLocalDestOpt, iv::types::indexChannel *indexChannelOpt, uint8_t *commandOpt, uint32_t *valueOpt) const
Definition CMessageCan.cpp:172
void getDigitalInputs(std::vector< bool > &inputs, uint32_t numBytes=8) const
Definition CMessageCan.cpp:388
std::vector< std::byte > serialize() const override
Definition CMessageCan.hpp:80
const std::string & getMessageSource() const
Definition CMessageCan.cpp:393
CMessageCan & operator=(const CMessageCan &other)=delete
bool isEqual(const iv::comms::IMessageComm *message) const
Definition CMessageCan.cpp:496
bool deserialize(const std::vector< std::byte > &buffer) override
Definition CMessageCan.cpp:623
const uint8_t * getDataExtra(uint32_t *lengthDataExtra) const
Definition CMessageCan.cpp:411
iv::comms::can::CanDataMessage * m_messageDataCan
Definition CMessageCan.hpp:90
void getValuesDataMessageCommandBool(iv::types::unitId *idUnitLocalDestOpt, iv::types::indexChannel *indexChannelOpt, uint8_t *commandOpt, bool *valueOpt) const
Definition CMessageCan.cpp:205
CMessageCan & operator=(CMessageCan &&other)=delete
void getValuesDataMessageAlarmTimestamp(iv::types::indexChannel *indexChannelOpt, uint16_t *numDaysSince1984Opt, uint32_t *millisecondsOpt) const
Definition CMessageCan.cpp:47
void getValuesDataMessageAnalogInput(iv::types::unitId *idUnitOpt, iv::types::indexChannel *indexChannelOpt, uint8_t *typeDataOpt, uint32_t *valueOpt) const
Definition CMessageCan.cpp:92
void getValuesDataMessageAlarm(iv::types::indexChannel *indexChannelOpt, uint8_t *idGroupForLomsOpt, uint8_t *typeAlarmOpt, float *valueAlarmOpt) const
Definition CMessageCan.cpp:15
~CMessageCan() override
Definition CMessageCan.cpp:350
iv::comms::can::eMessageType getMessageType() const
Definition CMessageCan.cpp:398
uint32_t getIdUnit() const
Definition CMessageCan.cpp:423
std::string toString() const
Definition CMessageCan.cpp:377
void getData(uint8_t *bytes_, uint32_t *lengthData) const
Definition CMessageCan.cpp:403
std::shared_ptr< iv::streams::IInputStream > getInputStream() const
Definition CMessageCan.cpp:448
void getValuesDataMessageHeartbeat(iv::comms::eHeartbeatState *heartbeatStateOpt, uint8_t *heartbeatTypeOpt) const
Definition CMessageCan.cpp:297
bool isCan() const
Definition CMessageCan.cpp:476
bool getTextInfo(bool &isInit, bool &isFinish, uint8_t &position) const
gets text segment msg info
Definition CMessageCan.cpp:585
void getValuesDataMessageTimestamp(uint16_t *numDaysSince1984Opt, uint32_t *numMilliseconds1984Opt) const
Definition CMessageCan.cpp:73
void getValuesDataMessageHistorySync(uint32_t *idStationOpt, iv::types::indexChannel *indexChannelOpt, uint8_t *typeAlarmAndStatusOpt, iv::types::timestamp *timeOpt) const
Definition CMessageCan.cpp:318
bool getRtr() const
Definition CMessageCan.cpp:461
CMessageCan(CMessageCan &&other)=default
std::shared_ptr< iv::streams::IInputStream > getInputData() const
Definition CMessageCan.cpp:442
iv::comms::IMessageComm * clone() const
Definition CMessageCan.cpp:361
bool fromCanFrame(can_frame canFrame)
Definition CMessageCan.cpp:676
void getValuesDataMessageGmtSync(iv::types::unitId *idUnitStationOpt, int8_t *offsetGMTOpt, uint32_t *timeUTCOpt) const
Definition CMessageCan.cpp:271
uint32_t getLengthData() const
Definition CMessageCan.cpp:456
void getValuesDataMessageCommandChar(iv::types::unitId *idUnitLocalDestOpt, iv::types::indexChannel *indexChannelOpt, uint8_t *commandOpt, uint8_t *valueOpt) const
Definition CMessageCan.cpp:238
CMessageCan(const CMessageCan &other)=default
std::vector< std::byte > toPcanGatewayPacket() const
Definition CMessageCan.cpp:638
std::string m_sourceRef
Definition CMessageCan.hpp:89
Definition IMessageComm.hpp:11
eMessageType
Definition enums.hpp:8
eHeartbeatState
Definition enums.hpp:297
uint64_t timestamp
Definition types.hpp:21
uint32_t indexChannel
Definition types.hpp:87
uint16_t subnetwork
Definition types.hpp:76
uint16_t unitId
Definition types.hpp:77
Definition structs.hpp:14