1#ifndef IV_COMMS_CAN_CANMESSAGEFACTORY_HPP
2#define IV_COMMS_CAN_CANMESSAGEFACTORY_HPP
13 const std::string &sourceId =
"FILE");
14 static void readMessageCAN(
const std::shared_ptr<iv::streams::IInputStream> &inputMessage,
17 uint32_t *lengthMessageExtra, uint8_t **bytesExtra,
bool *isExtended);
18 static void writeMessageCAN(
const std::shared_ptr<iv::streams::IOutputStream> &output, uint32_t timestamp,
19 uint32_t msgId,
const uint8_t bytes[8], uint32_t lengthMessage,
bool isRTR,
21 const uint8_t *bytesExtra);
24 uint64_t timeStamp, uint64_t lengthData,
bool isRTR, uint16_t idSubnetwork,
25 uint64_t lengthDataExtra, uint8_t **bytesDataExtra,
bool isExtended);
43 uint64_t watchCallState);
46 uint16_t indexChannel, uint8_t typeAlarmAndStatus, uint64_t time,
49 uint16_t indexChannel, uint8_t typeAlarmAndStatus, uint64_t time,
57 uint64_t sizeValue, uint8_t segmentPosition,
bool isLastSegment);
59 static std::shared_ptr<CMessageCan>
createAck(uint16_t idUnit, uint16_t indexChannel);
61 uint8_t command, uint64_t value);
76 uint64_t milliseconds);
89 uint16_t indexChannel, uint8_t idGroupForLoms, uint8_t typeAlarm,
92 uint16_t indexChannel, uint16_t numDaysSince1984,
93 uint32_t milliseconds);
95 uint16_t numDaysSince1984, uint32_t numMilliseconds1984);
100 uint8_t idUnit, uint16_t indexChannel,
const char *value, uint64_t sizeValue,
103 uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command,
106 uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command,
109 uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command,
125 uint8_t command, uint64_t value);
128 uint8_t typeAlarmAndStatus, uint64_t time,
float valueAlarm);
133 const std::shared_ptr<iv::streams::OutputStreamMemory> &output,
140 uint8_t commandSpec);
Definition CMessageCan.hpp:13
Definition CanMessageFactory.hpp:10
static CMessageCan * createCallAll(iv::types::unitId idStation, uint16_t zoneRepeaters, bool isCalling)
Definition CanMessageFactory.cpp:227
static void writeValuesDataMessageTimestamp(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint16_t numDaysSince1984, uint32_t numMilliseconds1984)
Definition CanMessageFactory.cpp:526
static CMessageCan * createMessageQuerySdoClient(iv::types::unitId idUnit, const uint8_t bytes[8], uint64_t lengthData)
Definition CanMessageFactory.cpp:130
static CMessageCan * createNmtStopAllUnit()
Definition CanMessageFactory.cpp:212
static CMessageCan * createNmtSetPreOperationalUnit(iv::types::unitId idUnit)
Definition CanMessageFactory.cpp:187
static CMessageCan * createAlarm(iv::types::unitId idUnit, uint16_t idChannelIndex, const iv::types::groupId &idGroup, uint8_t typeAlarm, float valueEventAlarm)
Definition CanMessageFactory.cpp:397
static CMessageCan * prvCreateMessageDefault(std::string_view source, uint32_t msgId, iv::types::unitId idUnitLocal, const uint8_t bytes[8], iv::types::timestamp timeStamp, uint32_t lengthData, bool isRTR, iv::types::subnetwork idSubnetwork)
Definition CanMessageFactory.cpp:697
static CMessageCan * prvCreateMessageWithBytesExtra(std::string_view source, uint64_t msgId, iv::types::unitId idUnitLocal, const uint8_t *bytes, iv::types::timestamp timeStamp, uint64_t lengthData, iv::types::subnetwork idSubnetwork)
Definition CanMessageFactory.cpp:731
static CMessageCan * readMessageCAN(const std::shared_ptr< iv::streams::IInputStream > &inputStream, const std::string &sourceId="FILE")
Definition CanMessageFactory.cpp:40
static CMessageCan * createUpdateGroupsInAlarm(iv::types::unitId idStation, const void *buffer, uint64_t numBytes)
Definition CanMessageFactory.cpp:368
static CMessageCan * createBroadcastAck(iv::model::eShipArea areaStation)
Definition CanMessageFactory.cpp:381
static CMessageCan * createNmtStartAllUnit()
Definition CanMessageFactory.cpp:207
static void writeValuesDataMessageCommandBool(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command, bool value)
Definition CanMessageFactory.cpp:577
static CMessageCan * createOnDuty(iv::types::unitId idStation, uint16_t idRepeater, bool isOnDuty)
Definition CanMessageFactory.cpp:257
static CMessageCan * createHistorySynchronize(iv::types::unitId idUnit, iv::types::stationId idStation, uint16_t indexChannel, uint8_t typeAlarmAndStatus, uint64_t time, float valueAlarm)
Definition CanMessageFactory.cpp:291
static CMessageCan * createBroadcastNewAlarm(iv::model::eShipArea areaStation)
Definition CanMessageFactory.cpp:386
static CMessageCan * createHistoryAckSynchronize(iv::types::unitId idUnit, iv::types::stationId idStation, uint16_t indexChannel, uint8_t typeAlarmAndStatus, uint64_t time, float valueAlarm)
Definition CanMessageFactory.cpp:299
static CMessageCan * createCommand(uint16_t idUnitSource, uint16_t idUnitDest, uint16_t indexChannel, uint8_t command, uint64_t value)
Definition CanMessageFactory.cpp:340
static void writeValuesDataMessageHistorySync(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, const iv::types::stationId &idStation, uint16_t indexChannel, uint8_t typeAlarmAndStatus, iv::types::timestamp time, float valueAlarm)
Definition CanMessageFactory.cpp:622
static void writeValuesDataMessageGmtSync(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint8_t idUnitStation, int8_t offsetGMT, uint32_t timeUTC)
Definition CanMessageFactory.cpp:603
static CMessageCan * createUpdateGroupAlarmStates(iv::types::unitId stationUnitId, uint64_t groupAlarmStates)
Definition CanMessageFactory.cpp:781
static CMessageCan * createSegmentString(uint16_t idUnit, uint16_t indexChannel, const char *value, uint64_t sizeValue, uint8_t segmentPosition, bool isLastSegment)
Creates a string msg segment to be sent.
Definition CanMessageFactory.cpp:489
static CMessageCan * createUpdateStationDigitalSignal(uint16_t idUnit)
Definition CanMessageFactory.cpp:471
static void writeValuesDataMessageHeartbeat(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, iv::comms::eHeartbeatState heartbeatState, uint8_t heartbeatType)
Definition CanMessageFactory.cpp:612
static CMessageCan * createTimestampAlarm(iv::types::unitId idUnit, uint16_t indexChannel, const iv::types::groupId &idGroup, uint16_t numDaysSince1984, uint64_t milliseconds)
Definition CanMessageFactory.cpp:417
static CMessageCan * createMessageSynchronizeTimeUtc(const iv::types::unitId &idStation, int16_t offsetGMT, uint64_t timeUTC)
Definition CanMessageFactory.cpp:434
static CMessageCan * createTimeStamp(uint16_t numDaysSince1984, uint32_t numMilliseconds1984)
Definition CanMessageFactory.cpp:358
static CMessageCan * createCommandWatchCall(iv::types::unitId stationUnitId, uint16_t idRepeater, uint8_t command, uint8_t value)
Definition CanMessageFactory.cpp:242
static void writeValuesDataMessageCommandChar(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command, uint8_t value)
Definition CanMessageFactory.cpp:590
static std::shared_ptr< CMessageCan > createAck(uint16_t idUnit, uint16_t indexChannel)
Definition CanMessageFactory.cpp:334
static CMessageCan * prvCreateCommand(iv::types::unitId idUnit, iv::types::unitId idUnitDest, uint16_t indexChannel, uint8_t command, uint64_t value)
Definition CanMessageFactory.cpp:647
static CMessageCan * createMasterCommandLssData(uint8_t cmdLSS, uint8_t data)
Definition CanMessageFactory.cpp:152
static void writeValuesDataMessageAlarm(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint16_t indexChannel, uint8_t idGroupForLoms, uint8_t typeAlarm, float valueAlarm)
WRITE DATAS.
Definition CanMessageFactory.cpp:507
static CMessageCan * prvCreateHistorySynchronize(uint64_t msgId, iv::types::unitId idUnit, const iv::types::stationId &idStation, uint16_t indexChannel, uint8_t typeAlarmAndStatus, uint64_t time, float valueAlarm)
Definition CanMessageFactory.cpp:670
static CMessageCan * prvCreateValueAnalogULong(uint32_t idUnit, uint16_t indexChannel, uint32_t value)
Definition CanMessageFactory.cpp:766
static CMessageCan * createCommandCtrl(uint32_t idUnit, uint16_t indexChannel, uint64_t value)
Definition CanMessageFactory.cpp:346
static CMessageCan * createValueAnalogULong(uint16_t idUnit, uint16_t indexChannel, uint32_t value)
Definition CanMessageFactory.cpp:318
static CMessageCan * createCommandSetAnalogOutput(uint16_t idUnit, uint16_t indexChannel, uint64_t value)
Definition CanMessageFactory.cpp:352
static void writeValuesDataMessageText(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint8_t idUnit, uint16_t indexChannel, const char *value, uint64_t sizeValue, uint8_t segmentPosition, bool isLastSegment)
Definition CanMessageFactory.cpp:544
static void writeValuesDataMessageAnalogInput(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, iv::types::unitId idUnit, uint16_t indexChannel, uint8_t typeData, uint32_t value)
Definition CanMessageFactory.cpp:534
static void writeMessageCAN(const std::shared_ptr< iv::streams::IOutputStream > &output, uint32_t timestamp, uint32_t msgId, const uint8_t bytes[8], uint32_t lengthMessage, bool isRTR, iv::types::subnetwork idSubnetwork, uint32_t lengthMessageExtra, const uint8_t *bytesExtra)
Definition CanMessageFactory.cpp:90
static std::shared_ptr< CMessageCan > createSoundOff(iv::model::eShipArea areaStation)
Definition CanMessageFactory.cpp:391
static CMessageCan * createUpdateAnalogSignal(uint16_t idUnit)
Definition CanMessageFactory.cpp:460
static CMessageCan * createNmtStopUnit(uint16_t idUnit)
Definition CanMessageFactory.cpp:217
static CMessageCan * createMessage(const std::string &source, uint64_t msgIdAndUnitLocal, const uint8_t bytes[8], uint64_t timeStamp, uint64_t lengthData, bool isRTR, uint16_t idSubnetwork, uint64_t lengthDataExtra, uint8_t **bytesDataExtra, bool isExtended)
Definition CanMessageFactory.cpp:115
static CMessageCan * prvCreateBroadcast(iv::model::eShipArea areaStation, uint16_t typeBroadcast)
Definition CanMessageFactory.cpp:634
static CMessageCan * prvCreateMessageDefault2(uint64_t cobId, iv::types::unitId idUnitLocal, const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint64_t sizeMessage, iv::types::subnetwork idSubnetwork)
Definition CanMessageFactory.cpp:708
static void writeValuesDataMessageCommand(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint8_t idUnitLocalDest, uint16_t indexChannel, uint8_t command, uint32_t value)
Definition CanMessageFactory.cpp:567
static CMessageCan * createUpdateAlarmSignal(uint16_t idUnit)
Definition CanMessageFactory.cpp:449
static CMessageCan * createStationHeartbeat(types::unitId stationUnitId)
Definition CanMessageFactory.cpp:163
static CMessageCan * createValueAnalogFloat(uint16_t idUnit, uint16_t indexChannel, float value)
Definition CanMessageFactory.cpp:308
static CMessageCan * createMasterCommandLss(uint8_t cmdLSS)
Definition CanMessageFactory.cpp:142
static void writeValuesDataMessageAlarmTimestamp(const std::shared_ptr< iv::streams::OutputStreamMemory > &output, uint16_t indexChannel, uint16_t numDaysSince1984, uint32_t milliseconds)
Definition CanMessageFactory.cpp:517
static CMessageCan * prvCreateMsgNmt(iv::types::unitId idUnitInSubnetwork, iv::types::subnetwork idSubnetwork, uint8_t commandSpec)
Definition CanMessageFactory.cpp:751
static CMessageCan * createNmtStartUnit(uint32_t idUnit)
Definition CanMessageFactory.cpp:197
static CMessageCan * createValueAnalogULongReversed(uint16_t idUnit, uint16_t indexChannel, uint32_t value)
Definition CanMessageFactory.cpp:324
static CMessageCan * createUpdateWatchCall(iv::types::unitId idStation, uint16_t zoneRepeaters, uint64_t watchCallState)
Definition CanMessageFactory.cpp:273
Definition AbstractMessageProcessor.hpp:12
uint16_t idUnitStation(uint16_t idStation)
Definition utils.hpp:200
bool isLastSegment(const uint8_t command)
Definition ParametersDownloadManager.cpp:2481
eHeartbeatState
Definition enums.hpp:297
eShipArea
Definition enums.hpp:11
uint64_t timestamp
Definition types.hpp:21
uint16_t subnetwork
Definition types.hpp:76
uint16_t unitId
Definition types.hpp:77
std::string stationId
Definition types.hpp:75
std::string groupId
Definition types.hpp:70