ADTF_DEVICE_TOOLBOX  3.12.1 (ADTF 3.18.3)
flexray_database_intf.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include "flexray_types.h"
11 #include <a_utils.h>
12 #include <adtf_ucom3.h>
13 
14 
18 #define CID_DEVTB_FLEXRAYDB_PARSER "flexray_database_parser.service.devicetb.cid"
19 
23 namespace adtf
24 {
25 
29 namespace devicetb
30 {
31 
35 namespace sdk
36 {
37 
41 namespace flexray
42 {
43 
47 namespace axle
48 {
49 using tDeviceChannel = uint8_t;
50 #define FLEXRAY_DEVICECHANNEL_MIN 1
51 #define FLEXRAY_DEVICECHANNEL_MAX 9
52 
57 {
61  int32_t nBaudrate;
73  int32_t nListenNoise;
76  int32_t nMacroPerCycle;
103  int32_t nSyncNodeMax;
111  int32_t gdMacrotick;
113  int32_t nMinislot;
119  int32_t nNIT;
122  int32_t nStaticSlot;
124  int32_t nSymbolWindow;
131  int32_t nCASRxLowMax;
150  int32_t nCycleDuration;
153 };
154 
156 {
157  // Global cluster configuration info
158  struct tClusterConfig *pClusterConfig;
165  int32_t nReserved1;
167  int32_t nReserved2;
168 };
169 
173 struct tECUInfo
174 {
175  const char* strID;
176  const char* strName;
177 
178  uint32_t nPDUIDTXCount;
180 };
181 
186 {
199  int32_t nChannels;
227  int32_t nLatestTx;
248  int32_t nMicroPerCycle;
269  int32_t nWakeupChannel;
272  int32_t nWakeupPattern;
279  int32_t nListenTimeout;
283  int32_t nMaxDrift;
285  float fMicrotick;
300  int32_t nChannelsMTS;
301 };
302 
309 struct tCompInfo
310 {
313  double fRawLowerLimit;
314  double fRawUpperLimit;
315  const char* strValue;
316  double fFactor;
317  double fOffset;
318 };
319 
324 {
328  typedef enum
329  {
330  dtInvalid = 0,
331  dtInt8 = 1,
332  dtInt16 = 2,
333  dtInt32 = 3,
334  dtInt64 = 4,
335  dtUInt8 = 5,
336  dtUInt16 = 6,
337  dtUInt32 = 7,
338  dtUInt64 = 8,
339  dtBool = 9,
340  dtFloat32 = 10,
341  dtFloat64 = 11,
344  dtByteField = 14,
345  dtBitField = 15
347 
348  const char* strID;
349  const char* strShortName;
350  const char* strDescription;
351  const char* strUnit;
352 
353  uint16_t nDataType;
354  uint16_t nBitlen;
355  bool bSigned;
356  double fDefault;
357 
358  uint32_t nCompInfoCount;
360 
363  uint16_t nBitPos;
365 };
366 
371 {
372  tTimeStamp nTimeStamp = 0;
373  uint64_t nRawValue = 0;
374  double nf64Value = std::numeric_limits<double>::quiet_NaN();
375  const char* strTextValue = nullptr;
376 };
377 
382 {
383  uint16_t nBitPos;
387 };
388 
393 {
394  const char* strSignalGroupID;
395  uint16_t nBitPos;
396  uint16_t nBitLength;
399 };
400 
404 struct tPDUInfo
405 {
406  enum tPDUType
407  {
408  OTHER = 0,
409  APPLICATION,
410  BAP,
411  DIAG_REQUEST,
412  DIAG_RESPONSE,
413  DIAG_STATE,
414  NM,
415  SERVICE,
416  TPL,
417  XCP_PRE_CONFIGURED,
418  XCP_RUNTIME_CONFIGURED
419  };
420 
422  const char* strID;
423  const char* strShortName;
424 
425  uint8_t nPayloadLength;
426 
428 
429  uint32_t nSignalGroupCount;
431 
432  uint32_t nSignalCount;
434 
435  uint8_t nType;
436 };
437 
442 {
444  uint8_t nBytePosition;
445  uint8_t nPayloadLength;
447 };
448 
453 {
454  enum tFrameType
455  {
456  OTHER = 0,
457  APPLICATION,
458  BAP,
459  DIAG_REQUEST,
460  DIAG_RESPONSE,
461  DIAG_STATE,
462  NM,
463  SERVICE,
464  TPL,
465  XCP_PRE_CONFIGURED,
466  XCP_RUNTIME_CONFIGURED
467  };
468 
470  uint8_t nSize;
474  uint32_t nFramePDUCount;
476 
477  uint8_t nType;
478 };
479 
484 {
485  uint32_t nFrameCount;
487 };
488 
493 {
494  std::vector<adtf::util::cString> strClusterNames;
495  uint8_t nClusterCount;
496 };
497 
502 {
503  std::vector<adtf::util::cString> strECUNames;
504  uint8_t nECUCount;
505 };
506 
507 
511 class IFlexRayDatabase : public adtf::ucom::ant::IObject
512 {
513 public:
515  ADTF_IID(IFlexRayDatabase, "flexray_database.axle.flexray.sdk.devicetb.adtf.iid");
516 public:
522  virtual const char* GetName() const = 0;
523 
530  virtual tResult GetClusterConfig(tClusterConfig* pCluster) = 0;
531 
539  virtual tResult GetChannelName(tChannelID nChannel, const char** pChannelName) const = 0;
540 
547  virtual tResult GetECUCount(uint32_t* pnECUCount) const = 0;
548 
556  virtual tResult GetECUName(tECUID nECUID, const char** pECUName) const = 0;
557 
565  virtual tResult GetECUID(const char* strECUName, tECUID* pnECUID) const = 0;
566 
574  virtual tResult GetECUInfo(tECUID nECUID, const tECUInfo** pECUInfo) const = 0;
575 
583  virtual tResult GetECUConfig(const char* strECU, tECUConfig* pECUConfig) = 0;
584 
591  virtual tResult GetSignalCount(uint32_t* pnSignalCount) const = 0;
592 
600  virtual tResult GetSignalName(tSignalID nSignalID, const char** pSignalName) const = 0;
601 
609  virtual tResult GetSignalUnit(tSignalID nSignalID, const char** pSignalUnit) const = 0;
610 
618  virtual tResult GetSignalDescription(tSignalID nSignalID, const char** pSignalDescription) const = 0;
619 
627  virtual tResult GetSignalInfo(tSignalID nSignalID, const tSignalInfo** pSignalInfo) const = 0;
628 
635  virtual tResult GetPDUCount(uint32_t* pnPDUCount) const = 0;
636 
644  virtual tResult GetPDUID(const char* strPDUName, tPDUID* pnPDUID) const = 0;
645 
653  virtual tResult GetPDUName(tPDUID nPDUID, const char** pPDUName) const = 0;
654 
662  virtual tResult GetPDUInfo(tPDUID nPDUID, const tPDUInfo** pPDUInfo) const = 0;
663 
673  virtual tResult GetPDUSignalMap(tPDUID nPDUID, uint32_t* nSignalCount, const tSignalID** pSignalMap) const = 0;
674 
684  virtual tResult GetSignalID(const char* strSignalName, tSignalID* pnSignalID) const = 0;
685 
695  virtual tResult GetFrameInfo(tChannelID nChannel, tCycleID nCycle, tSlotID nSlot,
696  const tFrameInfo** pFrameInfo) const = 0;
697 
706  virtual tResult GetCycleInfo(tChannelID nChannel, tCycleID nCycle,
707  const tCycleInfo** pCycleInfo) const = 0;
708 
716  virtual tResult GetChannelsForECU(tECUID nECUID, tChannelID** pChannelIDs, uint8_t* pChannelCount) const = 0;
717 
725  virtual tResult GetClusterConfig(tChannelID nChannelID, tClusterConfig* pConfig) = 0;
726 
734  virtual tResult GetSignalPDUMappingConfig(tChannelID nChannelID, tSignalPDUMappingConfig* pConfig) = 0;
735 
743  virtual tResult GetClusterName(tChannelID nChannelID, const char** strClusterName) = 0;
744 
752  virtual tResult GetNetworkID(const char* strClusterName, tNetworkID* nNetworkID) = 0;
753 
761  virtual tResult SetChannelID(tNetworkID nNetworkID, tChannelABID nChannelABID, tChannelID* pChannelID) const = 0;
762 
769  virtual tResult GetNetworkID(tChannelID nChannelID, tNetworkID* pNetworkID) const = 0;
770 
777  virtual tResult GetChannelABID(tChannelID nChannelID, tChannelABID* pChannelABID) const = 0;
778 
784  virtual tResult GetAllClusterNames(tClusterNameLst* pClusterNames) = 0;
785 
791  virtual tResult GetAllECUNames(const char *strProjectID, tECUNameLst* pECUNames) = 0;
792 
799  virtual tResult GetProjectID(const char* strFileName, const char** strProjectID) = 0;
800 };
801 
802 } //namespace axle
803 
804 namespace hood
805 {
806 
811 {
813  uint64_t nSwitchValue;
814 };
815 
820 {
821  int16_t nSwitchPosition;
822  uint8_t nSwitchSize;
824  uint16_t nDynamicOffset;
825  uint64_t nSwitchedPDUCount;
827 };
828 
832 struct tPDUInfo: public axle::tPDUInfo
833 {
836 };
837 
842 {
843 public:
845  ADTF_IID(IFlexRayDatabase, "flexray_database.hood.flexray.sdk.devicetb.adtf.iid");
846 public:
848 
850  virtual tResult GetPDUInfo(tPDUID nPDUID, const tPDUInfo** pPDUInfo) const = 0;
851 };
852 
853 }
854 
855 using tDeviceChannel = axle::tDeviceChannel;
872 } //namespace flexray
873 } //namespace sdk
874 } // namespace devicetb
875 } // namespace adtf
virtual tResult GetPDUSignalMap(tPDUID nPDUID, uint32_t *nSignalCount, const tSignalID **pSignalMap) const =0
Returns the map of signals for a PDU.
ADTF_IID(IFlexRayDatabase, "flexray_database.axle.flexray.sdk.devicetb.adtf.iid")
Interface ID for the fibex database service interface.
virtual tResult GetSignalUnit(tSignalID nSignalID, const char **pSignalUnit) const =0
Returns the unito of a signal.
virtual tResult GetECUConfig(const char *strECU, tECUConfig *pECUConfig)=0
Returns the configuration information of a ECU.
virtual tResult GetSignalPDUMappingConfig(tChannelID nChannelID, tSignalPDUMappingConfig *pConfig)=0
Gets the Signal / PDUMapping configuration.
virtual tResult GetNetworkID(const char *strClusterName, tNetworkID *nNetworkID)=0
Gets the tNetwork ID of the cluster/network with short-name strClusterName.
virtual tResult GetProjectID(const char *strFileName, const char **strProjectID)=0
Returns the Project ID of a FIBEX-File.
virtual tResult GetPDUInfo(tPDUID nPDUID, const tPDUInfo **pPDUInfo) const =0
Retrieves the count of PDU of a frame.
virtual tResult GetClusterConfig(tClusterConfig *pCluster)=0
Returns information about the cluster.
virtual tResult GetNetworkID(tChannelID nChannelID, tNetworkID *pNetworkID) const =0
Returns the tNetworkID which is contained in a tChannelID.
virtual tResult SetChannelID(tNetworkID nNetworkID, tChannelABID nChannelABID, tChannelID *pChannelID) const =0
Creates the ChannelID (see tChannelID) from a tNetworkID and tChannelABID.
virtual tResult GetAllClusterNames(tClusterNameLst *pClusterNames)=0
Returns the Short-Names of all Clusters.
virtual tResult GetSignalName(tSignalID nSignalID, const char **pSignalName) const =0
Returns the name of a signal.
virtual tResult GetClusterName(tChannelID nChannelID, const char **strClusterName)=0
Gets the name of the cluster with ID nChannelID.
virtual tResult GetSignalInfo(tSignalID nSignalID, const tSignalInfo **pSignalInfo) const =0
Returns information about a signal.
virtual tResult GetPDUID(const char *strPDUName, tPDUID *pnPDUID) const =0
Retrieves the ID of a PDU.
virtual tResult GetSignalDescription(tSignalID nSignalID, const char **pSignalDescription) const =0
Returns the description of a signal.
virtual tResult GetECUID(const char *strECUName, tECUID *pnECUID) const =0
Retrieves the ID of an ECU.
virtual tResult GetECUCount(uint32_t *pnECUCount) const =0
Returns the count of ECUs.
virtual tResult GetPDUCount(uint32_t *pnPDUCount) const =0
Returns the count of PDUs described in this FIBEX database.
virtual tResult GetFrameInfo(tChannelID nChannel, tCycleID nCycle, tSlotID nSlot, const tFrameInfo **pFrameInfo) const =0
Returns information about a frame.
virtual tResult GetClusterConfig(tChannelID nChannelID, tClusterConfig *pConfig)=0
Gets the cluster configuration.
virtual tResult GetSignalCount(uint32_t *pnSignalCount) const =0
Returns the count of signals described in this FIBEX database.
virtual tResult GetECUInfo(tECUID nECUID, const tECUInfo **pECUInfo) const =0
Retrieves the ID of an ECU.
virtual tResult GetChannelsForECU(tECUID nECUID, tChannelID **pChannelIDs, uint8_t *pChannelCount) const =0
Get the Channel ID's of all Channels this ECU is connected to.
virtual tResult GetCycleInfo(tChannelID nChannel, tCycleID nCycle, const tCycleInfo **pCycleInfo) const =0
Returns information about a cycle.
virtual tResult GetPDUName(tPDUID nPDUID, const char **pPDUName) const =0
Retrieves the name of a PDU.
virtual tResult GetECUName(tECUID nECUID, const char **pECUName) const =0
Retrieves the name of an ECU.
virtual tResult GetAllECUNames(const char *strProjectID, tECUNameLst *pECUNames)=0
Returns the Short-Names of all ECU.
virtual tResult GetChannelABID(tChannelID nChannelID, tChannelABID *pChannelABID) const =0
Returns the tChannelABID which is contained in a tChannelID.
virtual tResult GetSignalID(const char *strSignalName, tSignalID *pnSignalID) const =0
Retrieves the ID of a signal.
virtual tResult GetChannelName(tChannelID nChannel, const char **pChannelName) const =0
Returns the name of a channel.
virtual const char * GetName() const =0
Returns the name of the database.
virtual tResult GetPDUInfo(tPDUID nPDUID, const tPDUInfo **pPDUInfo) const =0
Retrieves the count of PDU of a frame.
ADTF_IID(IFlexRayDatabase, "flexray_database.hood.flexray.sdk.devicetb.adtf.iid")
Interface ID for the fibex database service interface.
Copyright 2024 CARIAD SE.
uint16_t tSlotID
FlexRay slot ID (1..2047)
Definition: flexray_types.h:96
uint32_t tSignalID
FlexRay signal ID.
Definition: flexray_types.h:97
uint32_t tPDUID
FlexRay PDU (Protocol Data Unit) ID.
Definition: flexray_types.h:98
uint8_t tCycleID
FlexRay cycle ID (0..63)
Definition: flexray_types.h:95
uint8_t tChannelID
FlexRay Cluster and Channel ID (FLEXRAY_CHANNEL_A, FLEXRAY_CHANNEL_B, FLEXRAY_CHANNEL_AB).
Definition: flexray_types.h:94
uint32_t tECUID
FlexRay ECU (Electronic Communication Unit) ID.
Definition: flexray_types.h:99
uint8_t tChannelABID
FlexRay Channel A = 0 or B = 1.
Definition: flexray_types.h:89
uint8_t tNetworkID
FlexRay Network/Cluster ID.
Definition: flexray_types.h:88
axle::tECUNameLst tECUNameLst
Structure with a list of all ECU Short-Names.
axle::tSignalGroupInfo tSignalGroupInfo
Signal Group information structure.
axle::tCycleInfo tCycleInfo
Structure with information about one cycle.
axle::tPDUID tPDUID
FlexRay PDU (Protocol Data Unit) ID.
axle::tSignalPDUMappingConfig tSignalPDUMappingConfig
axle::tFrameInfo tFrameInfo
Structure with information about one frame (cell in the cycle/slot matrix)
axle::tOrderedSignalInfo tOrderedSignalInfo
Signal order information sturture.
axle::tSignalValue tSignalValue
Signal value structure.
axle::IFlexRayDatabase IFlexRayDatabase
Interface of FIBEX database.
axle::tClusterConfig tClusterConfig
Cluster configuration from FIBEX.
axle::tSignalInfo tSignalInfo
Signal information structure.
axle::tClusterNameLst tClusterNameLst
Structure with a list of all Cluster Short-Names.
axle::tECUConfig tECUConfig
ECU FlexRay communication controller configuration from FIBEX.
axle::tCompInfo tCompInfo
Information about computation.
axle::tFramePDUInfo tFramePDUInfo
Structure with information about position of one PDU in a frame.
axle::tECUInfo tECUInfo
Structure with information about one ECU.
axle::tPDUInfo tPDUInfo
Structure with information about one PDU (may be a complete frame or part of a frame)
ADTF - Namespace.
int32_t nWakeupSymbolRxIdle
Configures the number of bit times used by the node to test the duration of the idle phase of the rec...
int32_t nSyncNodeMax
Configures the maximum number of frames within a cluster with sync frame indicator bit set to 1.
int32_t nStaticSlot
Configures the duration of a static slot in macroticks.
int32_t nMaxWithoutClockCorrectionPassive
Defines the number of consecutive even / odd cycle pairs with missing clock correction terms that wil...
int32_t nCASRxLowMax
Configures the upper limit of the acceptance window for a collision avoidance symbol (CAS).
int32_t nBaudrate
The FlexRay bus baud rate. (e.g. 1000000)
int32_t nActionPointOffset
Configures the action point offset in macroticks within static slots and symbol window.
int32_t nDynamicSlotIdlePhase
Configures the duration of the dynamic slot idle phase.
int32_t nMinislot
Configures the duration of a minislot in macroticks. Valid values are 2 to 63 MT.
int32_t nOffsetCorrectionStart
Determines the start of the offset correction within the NIT phase, calculated from start of cycle.
int32_t nPayloadLengthStatic
Configures the cluster-wide payload length for all frames sent in the static segment in double bytes.
int32_t nWakeupSymbolRxLow
Configures the number of bit times used by the node to test the duration of the low phase of the rece...
int32_t nMiniSlotActionPointOffset
Configures the action point offset in macroticks within the minislots of the dynamic segment.
int32_t nNumberOfStaticSlots
Configures the number of static slots in a FlexRay cycle.
int32_t nTSSTransmitter
Configures the duration of the Transmission Start Sequence (TSS) in terms of bit times (1 bit time = ...
int32_t nColdStartAttempts
Configures the maximum number of attempts that a cold starting node is permitted to try to start up t...
int32_t nMacroPerCycle
Configures the duration of one FlexRay communication cycle in macroticks.
int32_t nNetworkManagementVectorLength
Configures the length of the network management vector.
int32_t nNumberOfMinislots
Configures the number of minislots within the dynamic segment of a FlexRay cycle.
int32_t nWakeupSymbolTxIdle
Configures the number of bit times used by the node to transmit the idle phase of the wakeup symbol.
int32_t nListenNoise
Configures the upper limit for startup and wakeup listen timeout in the presence of noise expressed a...
int32_t nMaxWithoutClockCorrectionFatal
Defines the number of consecutive even / odd cycle pairs with missing clock correction terms that wil...
int32_t nNIT
Configures the duration of the Network Idle Time NIT at the end of the FlexRay communication cycle ex...
int32_t nWakeupSymbolTxLow
Configures the number of bit times used by the node to transmit the low phase of the wakeup symbol.
int32_t nWakeupSymbolRxWindow
Configures the number of bit times used by the node to test the duration of the received wakeup patte...
Structure with a list of all Cluster Short-Names.
double fPhysLowerLimit
Physical value lower limit.
double fPhysUpperLimit
Physical value upper limit.
const char * strValue
Textual representation.
Structure with information about one cycle.
ECU FlexRay communication controller configuration from FIBEX.
int32_t nOffsetCorrectionOut
Defines the maximum permitted offset correction value to be applied by the internal clock synchroniza...
int32_t nWakeupPattern
Configures the number of repetitions (sequences) of the Tx wakeup symbol.
int32_t nMicroInitialOffsetB
Configures the number of microticks between the actual time reference point on channel B and the subs...
int32_t nWakeupChannel
Selects the channel on which the CC sends the Wakeup pattern.
int32_t nSingleSlotEnabled
Selects the initial transmission slot mode.
int32_t nMacroInitialOffsetB
Configures the number of macroticks between the static slot boundary and the subsequent macrotick bou...
int32_t nMicroPerCycle
Configures the duration of the FlexRay communication cycle in microticks.
int32_t nKeySlotUsedForStartup
Defines whether the key slot is used to transmit startup frames.
int32_t nExternOffsetCorrection
Configures the external offset correction value in microticks to be applied by the internal clock syn...
int32_t nExternRateControl
Configures the external rate correction.
int32_t nExternOffsetControl
Configures the external offset correction.
int32_t nKeySlotUsedForSync
Defines whether the key slot is used to transmit sync frames.
int32_t nAllowPassiveToActive
Defines the number of consecutive even / odd cycle pairs that must have valid clock correction terms ...
int32_t nListenTimeout
Configures wakeup / startup listen timeout in uT.
int32_t nExternRateCorrection
Configures the external rate correction value in microticks to be applied by the internal clock synch...
int32_t nLatestTx
Configures the maximum minislot value allowed before inhibiting frame transmission in the dynamic seg...
int32_t nMacroInitialOffsetA
Configures the number of macroticks between the static slot boundary and the subsequent macrotick bou...
int32_t nDecodingCorrection
Configures the decoding correction value used to determine the primary time reference point.
int32_t nChannels
Selects the channel on which the CC is connected.
int32_t nMaxDrift
Configures the maximum drift offset between two nodes that operate with unsynchronized clocks over on...
int32_t nAcceptedStartupRange
Configures the number of microticks constituting the expanded range of measured deviation for startup...
int32_t nMicroInitialOffsetA
Configures the number of microticks between the actual time reference point on channel A and the subs...
int32_t nChannelsMTS
Selects the channel on which the CC sends a media test symbol.
int32_t nAllowHaltDueToClock
Controls the transition to HALT state due to a clock synchronization error.
int32_t nDelayCompensationB
Configuration to compensate the reception delays on channel B in microticks.
int32_t nDelayCompensationA
Configuration to compensate the reception delays on channel A in microticks.
int32_t nRateCorrectionOut
Defines the maximum permitted rate correction value to be applied by the internal clock synchronizati...
int32_t nClusterDriftDamping
Configures the cluster drift damping value used in clock synchronization to minimize accumulation of ...
Structure with information about one ECU.
uint32_t nPDUIDTXCount
Count of PDUIDs in array.
tPDUID * aPDUIDTX
Array of PDUIDs which are transmitted by this ECU.
Structure with a list of all ECU Short-Names.
Structure with information about one frame (cell in the cycle/slot matrix)
int8_t nCycleRepetition
Cycle repetition (1,2,4,8,16,32,64)
uint8_t nType
Type of the Frame, see tFrameType.
uint32_t nFramePDUCount
Count of PDUs in array aPDUs.
uint8_t nSize
Total size of payload in bytes.
tFramePDUInfo * aFramePDU
List of PDUs (sorted ascending)
Structure with information about position of one PDU in a frame.
int16_t nUpdateBitPosition
Bit-Index of update bit (-1 == not available)
int16_t nUpdateBitPosition
SIGNAL-UPDATE-BIT-POSITION of this signal withing the PDU.
bool bByteOrderMotorola
Byte order of signal is motorola.
uint16_t nBitPos
BIT-POSITION of this signal within the PDU.
Structure with information about one PDU (may be a complete frame or part of a frame)
uint32_t nSignalCount
Count of signals in PDU.
const char * strShortName
Short name of the frame.
uint32_t nSignalGroupCount
Count of signal groups in PDU.
uint8_t nType
Type of the PDU, see tPDUType.
tSignalGroupInfo * aSignalGroup
Array of signal groups in PDU (ascending BitPos order for legacy update bits)
const char * strID
FIBEX ID of the frame.
tSignalID * aSignalID
Array of signal IDs in PDU.
uint8_t nPayloadLength
Size of payload in bytes.
uint16_t nBitLength
Length of signal group in bits.
tOrderedSignalInfo * aOrderedSignal
Array of ordered signal info structures.
uint32_t nOrderedSignalCount
Count of elements in array aOrderedSignal.
uint16_t nBitPos
Start bit position of signal group.
const char * strShortName
Short name of the signal.
const char * strDescription
Description of signal.
uint32_t nCompInfoCount
Count of elements in CompInfo Array.
uint16_t nDataType
See definition of tDataType.
bool bByteOrderMotorola
byte order of signal is motorola
uint16_t nBitPos
BIT-POSITION of this signal within the PDU.
bool bSigned
Indicates if signal is signed value or not.
int32_t nIsHighLowBitOrder
Configures the bit order is DECREASING (true) or INCREASING (false)
int32_t nBitCountingPolicy
Configures the bit counting policy of the whole cluster.
const char * strTextValue
TEXTTABLE value or NULL.
tTimeStamp nTimeStamp
Timestamp of signal value.
Extends axle::tPDUInfo with multiplexed pdu information.
tPDUID nParentPDUID
If != -1 the id of parent PDU.
tSwitchedPDUs * pSwitchedPDUs
If set the PDU is mutliplexed.
A reference to a pdu that is multiplexed within another one.
uint64_t nSwitchValue
The switch value that identifies this pdu within the multiplex.
This struct stores infomration for multiplexed pdus.
int16_t nSwitchPosition
The position of the switch value in bits.
uint8_t nSwitchSize
The size of the switch value in bits,.
uint16_t nDynamicOffset
The offset in bits where the child pdus are stored.
tSwitchedPDU * aSwitchedPDUs
The array containing the child pdu references.
bool bByteOrderMotorola
The byte order of the switch value.