1#ifndef IV_COMMS_CAN_UTILS_HPP
2#define IV_COMMS_CAN_UTILS_HPP
12#include "model/enums.hpp"
83 switch (heartbeatState)
105 uint16_t indexChannel;
106 uint16_t broadcastArea;
114inline bool isWatchCall(uint16_t indexChannel, uint16_t *areaRepeater)
130 uint16_t *typeZoneRepeaters)
132 bool isBroadCast {
false};
146 uint16_t idBroadCast;
176 uint32_t &milliseconds)
187 uint16_t idFirstUnitSubnetwork;
190 idGlobal = idFirstUnitSubnetwork + idUnitLocal;
194 idGlobal = idUnitLocal;
197 return static_cast<uint16_t
>(idGlobal);
317 constexpr uint16_t PRV_INDEX_AREA_ECR = 0;
318 constexpr uint16_t PRV_INDEX_AREA_BRIDGE = 7;
319 unsigned char idTypeRepeater {PRV_INDEX_AREA_ECR};
324 idTypeRepeater = PRV_INDEX_AREA_ECR;
328 idTypeRepeater = PRV_INDEX_AREA_BRIDGE;
337 return idTypeRepeater;
#define IV_ASSERT_MSG(msg,...)
Definition assert.hpp:152
#define IV_ASSERT_NULL_POINTER(ptr)
Definition assert.hpp:128
#define IV_MISSING_CASE_CHECK(msg,...)
Definition assert.hpp:166
Definition Timestamp.hpp:17
void getLomsTime(uint16_t &numDaysSince1984, uint32_t &milliseconds) const
Definition Timestamp.cpp:22
Definition AbstractMessageProcessor.hpp:12
constexpr uint16_t kPrvBroadcastACK
Definition utils.hpp:49
constexpr uint8_t kPrvTypeRealValue
Definition utils.hpp:32
uint16_t indexChannelBroadcastSoundOff(iv::model::eShipArea stationArea)
Definition utils.hpp:164
constexpr uint16_t kPrvBroadcastSoundOff
Definition utils.hpp:48
constexpr uint8_t kPrvCommandACK
Definition utils.hpp:30
constexpr uint16_t kPrvMaxModulesForSubnetwork
Definition utils.hpp:22
eBroadcastType
Definition enums.hpp:33
constexpr uint8_t kPrvFirstStation
Definition utils.hpp:21
constexpr uint8_t kPrvTypeTextFinish
Definition utils.hpp:38
unsigned char idTypeRepeaterByArea(iv::model::eShipArea eAreaShip)
Definition utils.hpp:315
constexpr uint16_t kPrvAllSubnetwork
Definition utils.hpp:20
constexpr uint8_t kPrvTypeTextStateMask
Definition utils.hpp:35
constexpr uint8_t kPrvTypeTextPositionMask
Definition utils.hpp:34
constexpr uint16_t MAX_ANALOG_INPUT_INDEX
Definition utils.hpp:56
constexpr uint8_t kPrvCommandCallAllWatchCallBridge
Definition utils.hpp:43
void getNumDaysAndMillisecondsSinceLOMBaseDate(iv::types::timestamp now, uint16_t &daysSince1984, uint32_t &milliseconds)
Definition utils.hpp:175
uint8_t prvIdUnitStation(iv::types::unitId idStation)
Definition utils.hpp:98
constexpr uint32_t kPrvLengthMessageBroadCastSoundOff
Definition utils.hpp:54
bool isHeartbeatOk(const iv::comms::eHeartbeatState heartbeatState)
Definition utils.hpp:81
constexpr uint16_t kPrvBroadcastNewAlarm
Definition utils.hpp:47
uint16_t indexChannelBroadcastNewAlarm(iv::model::eShipArea stationArea)
Definition utils.hpp:159
constexpr uint16_t kPrvOffsetCmd
Definition utils.hpp:52
constexpr uint16_t kPrvIndexWatchCall
Definition utils.hpp:44
bool isBroadCastCommand(uint16_t indexChannel, iv::comms::can::eBroadcastType *typeBroadCast, uint16_t *typeZoneRepeaters)
Definition utils.hpp:129
bool isInSdoResponseCanIdRange(const uint32_t canId)
Definition utils.hpp:70
constexpr std::string_view kPrvStrSend
Definition utils.hpp:58
uint16_t getIdUnitGlobal(uint16_t idUnitLocal, uint16_t idSubnetwork)
Definition utils.hpp:181
constexpr uint8_t kPrvAllNode
Definition utils.hpp:25
constexpr uint8_t kPrvCommandResetNode
Definition utils.hpp:29
constexpr uint16_t kPrvIndexCommandChannelOffset
Definition utils.hpp:51
constexpr uint32_t kPrvLengthMessageWatchCall
Definition utils.hpp:45
iv::comms::can::eMessageType getMessageType(const uint64_t msgId)
Definition utils.hpp:216
constexpr uint8_t kPrvCommandCtrl
Definition utils.hpp:31
void prvGetIdLocalUnitAndSubnetwork(iv::types::unitId idUnit, iv::types::unitId *idLocalUnit, iv::types::subnetwork *idSubnetwork)
Definition utils.hpp:60
bool isInHeartbeatCanIdRange(const uint32_t canId)
Definition utils.hpp:75
uint16_t idUnitStation(uint16_t idStation)
Definition utils.hpp:200
constexpr uint8_t kPrvCommandStopNode
Definition utils.hpp:27
constexpr uint32_t kPrvUnitIdMask
Definition utils.hpp:18
constexpr uint8_t kPrvTypeTextConcat
Definition utils.hpp:36
eMessageType
Definition enums.hpp:8
bool isEqualMessageCAN(const iv::comms::can::CanDataMessage *message1, const iv::comms::can::CanDataMessage *message2)
Definition utils.hpp:205
constexpr uint16_t kPrvBroadcastStartArea
Definition utils.hpp:50
void getIdUnitLocalAndSubnetwork(iv::types::unitId idUnit, iv::types::unitId *idUnitLocal, iv::types::subnetwork *idSubnetwork)
Definition utils.hpp:169
constexpr uint8_t kPrvCommandOnDutyWatchCall
Definition utils.hpp:40
uint16_t prvIndexChannelBroadCast(iv::model::eShipArea areaStation, uint16_t typeBroadcast)
Definition utils.hpp:103
constexpr uint16_t kPrvOffsetInternMemory
Definition utils.hpp:53
constexpr uint16_t kPrvMaxNumberModulesInSubnetwork
Definition utils.hpp:23
constexpr uint8_t kPrvCommandCallAllWatchCallEcr
Definition utils.hpp:41
bool isWatchCall(uint16_t indexChannel, uint16_t *areaRepeater)
Definition utils.hpp:114
constexpr uint8_t kPrvCommandCallAllOff
Definition utils.hpp:42
constexpr uint8_t kPrvTypeTextInit
Definition utils.hpp:37
constexpr uint8_t kPrvCommandPreOperationalNode
Definition utils.hpp:28
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
int32_t compareSubstring(const CharT1 *str1, const CharT2 *str2, std::size_t length)
Simple comparator of x chars where x is the length provided.
Definition stringUtils.hpp:56
Definition structs.hpp:14
uint32_t m_msgId
Definition structs.hpp:45
uint8_t m_bytes[8]
Definition structs.hpp:46
uint32_t m_lengthData
Definition structs.hpp:48
static constexpr uint32_t updateHistorySync
Definition defines.hpp:29
static constexpr uint32_t ackHistorySync
Definition defines.hpp:11
static constexpr uint32_t lssSlave
Definition defines.hpp:23
static constexpr uint32_t digitalInput0_63
Definition defines.hpp:17
static constexpr uint32_t sdoServer
Definition defines.hpp:26
static constexpr uint32_t analogInput
Definition defines.hpp:15
static constexpr uint32_t digitalInput128_191
Definition defines.hpp:19
static constexpr uint32_t alarmTimestamp
Definition defines.hpp:14
static constexpr uint32_t digitalInput64_127
Definition defines.hpp:18
static constexpr uint32_t alarm
Definition defines.hpp:12
static constexpr uint32_t sdoClient
Definition defines.hpp:25
static constexpr uint32_t lssMaster
Definition defines.hpp:22
static constexpr uint32_t gmtSync
Definition defines.hpp:20
static constexpr uint32_t command
Definition defines.hpp:16
static constexpr uint32_t heartbeat
Definition defines.hpp:21
static constexpr uint32_t text
Definition defines.hpp:28
static constexpr uint32_t timestampSync
Definition defines.hpp:27
static constexpr uint32_t alarmGroups
Definition defines.hpp:13
static constexpr uint32_t nmtService
Definition defines.hpp:24