52 using tChannelID = uint8_t;
53 using tSignalID = uint32_t;
54 using tMessageID = uint32_t;
55 using tNetworkNodeID = uint32_t;
57 static constexpr
const uint8_t CANFD_CHANNEL_MIN = 1;
58 static constexpr
const uint8_t CANFD_CHANNEL_MAX = 16;
60 static constexpr
const uint32_t CANFD_MSGID_STANDARD_MAX = 0x7FF;
62 static constexpr
const uint32_t CANFD_MSGID_EXTENDED_MAX = 0x1FFFFFFF;
64 static constexpr
const uint8_t INVALID_CHANNEL_ID = 0xFF;
65 static constexpr
const uint32_t INVALID_SIGNAL_ID = 0xFFFFFFFF;
66 static constexpr
const uint32_t INVALID_MESSAGE_ID = 0xFFFFFFFF;
68 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_TAG = 0x10000000;
69 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_CHANNEL = 0x10000001;
70 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_HWTIME = 0x10000002;
75 CANFD_SIGNAL_TYPE_INVALID = 0,
76 CANFD_SIGNAL_TYPE_NORMAL = 1,
77 CANFD_SIGNAL_TYPE_MULTIPLEXOR = 2,
78 CANFD_SIGNAL_TYPE_MULTIPLEXED = 3
90 DT_CANFD_UNSIGNED = 1,
92 DT_CANFD_IEEE_FLOAT = 3,
93 DT_CANFD_IEEE_DOUBLE = 4
133 uint16_t ui16Reserved2;
134 uint32_t ui32Reserved3;
151 uint8_t nTypeTag = TAG_INVALID;
152 uint8_t nReserved[7] = {};
162 uint64_t n64RawValue = 0;
165 const char* strValue =
nullptr;
166 uint8_t nReserved2[8] = {};
300 #pragma pack(push, 1)
303 using tChannelID = uint8_t;
305 using tSignalID = uint32_t;
307 using tMessageID = uint32_t;
309 using tPDUID = uint32_t;
311 using tFrameID = uint32_t;
313 static constexpr
const uint8_t CANFD_CHANNEL_MIN = 1;
314 static constexpr
const uint8_t CANFD_CHANNEL_MAX = 16;
316 static constexpr
const uint32_t CANFD_MSGID_STANDARD_MAX = 0x7FF;
318 static constexpr
const uint32_t CANFD_MSGID_EXTENDED_MAX = 0x1FFFFFFF;
320 static constexpr
const uint8_t INVALID_CHANNEL_ID = 0xFF;
321 static constexpr
const uint32_t INVALID_SIGNAL_ID = 0xFFFFFFFF;
322 static constexpr
const uint32_t INVALID_MESSAGE_ID = 0xFFFFFFFF;
324 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_TAG = 0x10000000;
325 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_CHANNEL = 0x10000001;
326 static constexpr
const uint32_t CANFD_SIGNALID_HEADER_HWTIME = 0x10000002;
333 CANFD_SIGNAL_TYPE_INVALID = 0,
334 CANFD_SIGNAL_TYPE_NORMAL = 1,
342 DT_CANFD_UNKNOWN = 0,
344 DT_CANFD_UNSIGNED = 1,
348 DT_CANFD_IEEE_754 = 3
363 bool bByteOrderMotorola;
386 const char* pstrName =
nullptr;
389 const char* pstrPath =
nullptr;
423 uint8_t nReserved[16];
426 enum eCompuScaleType : uint8_t
442 const char* pstrName =
nullptr;
445 const char* pstrPath =
nullptr;
448 const char* pstrUnit =
nullptr;
451 const char* pstrDescription =
nullptr;
454 eSignalType nType = eSignalType::CANFD_SIGNAL_TYPE_INVALID;
463 bool bByteOrderMotorola =
false;
466 uint32_t nCompuScalesCount = 0;
470 uint64_t nDefaultRawValue = 0;
473 uint8_t nReserved[16];
482 enum eTypeTag : uint8_t
495 eTypeTag nTypeTag = TAG_INVALID;
506 uint64_t n64RawValue;
510 uint8_t nReserved[8];
519 uint16_t nBitOffset = 0;
525 uint8_t nReserved[8];
533 enum eTransformationType : uint8_t
539 TT_CONTAINER_WITH_OFFSET,
540 TT_CONTAINER_WITH_HEADER
542 eTransformationType nTransformationType = TT_NONE;
545 uint16_t nHeaderBits;
547 uint16_t nTrailingBits;
550 uint32_t nChildPduId;
564 uint64_t nSelectorFieldCode;
569 uint64_t nMultiplexedFragments;
583 uint16_t nUpdateIndicationBitPosition;
589 enum eHeaderType : uint8_t
594 eHeaderType nHeaderType;
595 bool bByteOrderMotorola;
596 uint8_t nUnusedBitPattern;
608 uint8_t nReserved[64];
621 const char* pstrName =
nullptr;
624 const char* pstrPath =
nullptr;
627 uint16_t nDataLength = 0;
630 uint32_t nTransformationCount = 0;
636 uint32_t nPduSignalCount = 0;
651 tMessageID nMessageId = 0;
654 bool bCANFDExtended =
false;
657 const char* pstrName =
nullptr;
660 const char* pstrPath =
nullptr;
663 uint8_t nDataLength = 0;
666 bool bExtendedDataLength =
false;
669 bool bBaudRateSwitch =
false;
672 uint32_t nCycleTime = 0;
687 #pragma pack(push, 1)
689 static constexpr
const uint8_t CANFD_CHANNEL_MIN = 0;
696 ignition::tCanFdTransformation::tContainerWithHeader::eHeaderType nHeaderType;
707 enum eContainedPduCollectionSemantics : uint8_t
713 eContainedPduCollectionSemantics nContainedPduCollectionSemantics = LAST_IS_BEST;
717 uint8_t nReserved[64];
723 using jack::CANFD_CHANNEL_MIN;
724 using ignition::CANFD_CHANNEL_MAX;
eSignalType
Signal type which identifies whether the signal is something specific.
tSignalRawDataType
Signal raw data type which is transfered over the wire.
ignition::tChannelID tChannelID
ignition::tFrameInfo tFrameInfo
Frame structure which encapsulates one or more PDUs including its specific information.
ignition::tSignalValue tSignalValue
Signal value structure which keeps one signal specific value.
ignition::tEcuInfo tEcuInfo
Structure which contain ECU information.
ignition::tSignalInfo tSignalInfo
Signal info structure which contains all signal information.
ignition::uValueType uValueType
General purpose union to keep a different value type.
ignition::tPduSignalInfo tPduSignalInfo
PDU Signal structure.
ignition::tCompuScale tCompuScale
This struct represents one of a set of computation rules which map a raw value onto a physical value ...
jack::tContainedPduInfo tContainedPduInfo
Contains infos about the containedPdu like PduCollectionSemantics and the header.
ignition::tCanFdTransformation tCanFdTransformation
Special transformations which must be applied to reconstruct nested payloads.
axle::tCANFDData tCANFDData
The CAN FD data structure is used by CAN FD MediaSamples.
ignition::tDataBuffer tDataBuffer
General purpose data buffer information.
ignition::tMessageID tMessageID
ignition::tFrameID tFrameID
ignition::tSignalID tSignalID
jack::tContainedPduHeader tContainedPduHeader
Header struct for tContainedPduInfo, which contains the Container HeaderType and the headerID.
ignition::tPduInfo tPduInfo
Message/PDU structure which contain all information about one specific message.
CAN FD message data structure.
uint32_t ui32Reserved
reserved, should be zero
uint16_t ui16Reserved
reserved, should be zero
uint8_t ui8Length
length of data [0..8,12,16,20,24,32,48,64]
uint8_t aui8Data[64]
data field
uint8_t ui8Reserved
reserved, should be zero
uint32_t ui32Id
id of canfd message. For extended CAN FD messages bit 31 is set. Use the members of the enum eMsgId t...
CAN FD bus status structure.
uint32_t ui32RxBitCount
Count of received bits.
uint32_t ui32BitRate
Arbitration or nominal CAN FD bus bitrate.
uint8_t aui8Reserved[56]
reserved, should be Zero
uint8_t ui8Reserved
reserved, should be zero
uint32_t ui32DataBitRate
alternate Bitrate used for Data inCAN FD messages with BRS flag set.
uint8_t ui8BusStatus
Flags.
uint32_t ui32TxBitCount
Count of transmitted bits.
uint16_t ui16RxErrorCounter
Error counter for the receive section of the CAN FD controller.
uint16_t ui16TxErrorCounter
Error counter for the transmit section of the CAN FD controller.
The CAN FD data structure is used by CAN FD MediaSamples.
tData sData
used when ui8Tag == MT_Data
eMessageTag
This enum specifies the different kinds of messages that may be contained in the union.
eDataFlags
CAN FD message flags.
@ DF_TX_COMPLETED
Notification for successful message transmission.
@ DF_REMOTE_FRAME
Indicates a remote frame.
@ DF_SET_CAN_FD_AND_BRS
Helper to Set Extended Data Length and Baud Rate Switch at once.
@ DF_ERROR_FRAME
Indicates an error frame.
@ DF_ERROR_STATE_INDICATOR
EDI Bit Indicates an Error-active state at the CAN FD Node
@ DF_CAN_FD_FORMAT_IDENTIFIER
same as Extended Data Length
@ DF_EXTENDED_DATA_LENGTH
Indicates FlexibleData-Rate (FDF Flexible Datarate Format Indicator)
@ DF_BAUD_RATE_SWITCH
Indicates that the Message uses Flexible Datarate.
eMsgId
CAN FD message id masks.
@ MSG_IDMASK_EXTENDED
Message IDs for extended frame format use 29 bit identifiers.
@ MSG_EXTENDED_FLAG
Extended CAN FD messages are marked by bit 31.
@ MSG_IDMASK_BASE
Message IDs for base frame format use 11 bit identifiers.
tMessageHeader sHeader
CAN FD message header structure.
eBusStatus
CAN FD bus state flags.
@ BS_OFFLINE
Bus is offline.
@ BS_ERROR_ACTIVE
Bus is online.
@ BS_ERROR_WARNING
One of the error counters has reached the warning level.
@ BS_ERROR_PASSIVE
One of the error counters has reached the error level.
tStatus sStatus
used when ui8Tag == MT_Status
bool bExtendedDataLength
CANFD Message is a CANFD FD (Extended Data Length)
uint32_t nSignalCount
Number of signals of this message.
const tSignalInfo * psSignalInfo
Pointer to array of signal infos.
const char * strDescription
Description of CANFD message.
bool bCANFDExtended
CANFD extended id.
const char * strMessageName
Name of CANFD message.
tNetworkNodeID nNetworkNodeID
Network node id.
uint32_t nCycleTime
Cycle time of message in milliseconds (0 if undefined)
bool bBaudRateSwitch
CANFD message uses higher Baud Rate in Data Phase.
uint8_t nReserved[2]
reserved
tMessageID nMessageID
CANFD message id.
uint8_t nDataLength
Length of message [bytes].
The tSignalInfo structure Stores the signal information within an CANFD-Message.
int32_t nRequiredMultiplexorValue
Required multiplexor value for this signal to be valid.
tSignalID nSignalID
Signal ID.
uint64_t nStartRawValue
Represents the GenSigStartValue.
uint8_t nBitlen
Bit length of CANFD signal.
const char * strDescription
Description of CANFD signal.
bool bCANFDExtended
CANFD extended id.
tMessageID nMessageId
CANFD message id.
uint64_t nDefaultRawValue
Represents the GenSigInactiveValue.
double f64Factor
Scale factor of CANFD signal.
uint16_t nStartbit
CANFD Startbit could be up to bit 512 (nStartbit < 512);.
double f64Offset
Offset value of CANFD signal.
uint32_t nValueTableSize
Size of value table array (0 if no table is defined)
const char * strSignalName
Name of CANFD signal.
tValueInfo * pValueTable
Pointer to sorted value table array.
tSignalID nMultiplexorSignalID
Signal ID of multiplexor.
uint8_t nType
is type IEEE Float or IEEE Double (see tSignalRawDataType)
const char * strUnit
Unit of CANFD signal.
uint8_t nSignalType
see eSignalType
double f64Min
Minimum value of range of CANFD signal.
double f64Max
Maximum value of range of CANFD signal.
bool bByteOrderMotorola
Byte order of signal is motorola.
bool bSigned
Indicates if signal is signed value or not.
const char * strDescription
Description.
This struct represents one of a set of computation rules which map a raw value onto a physical value ...
General purpose data buffer information.
Structure which contain ECU information.
Frame structure which encapsulates one or more PDUs including its specific information.
Message/PDU structure which contain all information about one specific message.
Signal info structure which contains all signal information.
Signal value structure which keeps one signal specific value.
Contains infos about the containedPdu like PduCollectionSemantics and the header.
General purpose union to keep a different value type.