ADTF_DEVICE_TOOLBOX  3.12.1 (ADTF 3.18.3)
flexray_coder_intf.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include "flexray_database_intf.h"
11 
15 namespace adtf
16 {
17 
21 namespace devicetb
22 {
23 
27 namespace sdk
28 {
29 
33 namespace flexray
34 {
35 
39 namespace axle
40 {
41 
42 #define IID_DEVTB_FLEXRAYCODER "flexray_coder.axle.flexray.sdk.devicetb.adtf.iid"
43 
51 class IFlexRayCoder : public adtf::ucom::ant::IObject
52 {
53 public:
54  ADTF_IID(IFlexRayCoder, IID_DEVTB_FLEXRAYCODER);
55 
56 public:
57  enum tEnumPDU
58  {
59  ENUM_PDU_START = 0xffffffff
60  };
61 
67  virtual tResult GetDatabase(adtf::ucom::ant::iobject_ptr<IFlexRayDatabase>& pDataBase) const = 0;
68 
74  virtual tResult ResetData() = 0;
75 
81  virtual tResult ResetModifiedFlag() = 0;
82 
91  virtual tResult ReceiveData(const void* pData, int nDataSize, tTimeStamp nTimeStamp) = 0;
92 
101  virtual tResult TransmitData(void* pData, int* pnDataSize, tTimeStamp tmHWTime = 0) = 0;
102 
115  virtual tResult EnumPDUs(tPDUID* pPDUID,
116  tChannelID* pnChannel,
117  tECUID* pnECUID,
118  tTimeStamp* ptmTimeStamp,
119  bool bSkipUnmodified = false) const = 0;
120 
130  virtual tResult GetPDUStatus(tPDUID nPDUID,
131  tChannelID* pnChannel,
132  tTimeStamp* ptmTimeStamp,
133  bool* pbModified) const = 0;
134 
142  virtual tResult GetSignalValue(tSignalID nSignalID, tSignalValue* pValue) const = 0;
143 
153  virtual tResult SetSignalValue(tSignalID nSignalID, const tSignalValue* pValue) = 0;
154 };
155 
156 } //namespace axle
158 } //namespace flexray
159 } //namespace sdk
160 } // namespace devicetb
161 } // namespace adtf
Interface of FlexRay coder Objects of this type stores an internal buffer of FlexRay frames.
virtual tResult ResetData()=0
Clears internal PDU buffer.
virtual tResult EnumPDUs(tPDUID *pPDUID, tChannelID *pnChannel, tECUID *pnECUID, tTimeStamp *ptmTimeStamp, bool bSkipUnmodified=false) const =0
Enumerates PDUs in internal buffer.
@ ENUM_PDU_START
Used in the EnumPDUs() method as start value.
virtual tResult GetDatabase(adtf::ucom::ant::iobject_ptr< IFlexRayDatabase > &pDataBase) const =0
Returns a reference to the FIBEX database.
virtual tResult TransmitData(void *pData, int *pnDataSize, tTimeStamp tmHWTime=0)=0
Transmit all modified PDUs from the internal PDU buffer to the data block.
virtual tResult ReceiveData(const void *pData, int nDataSize, tTimeStamp nTimeStamp)=0
Transfers data to the internal PDU buffer.
virtual tResult ResetModifiedFlag()=0
Resets the modified flag for all PDUs in the internal PDU buffer.
virtual tResult GetPDUStatus(tPDUID nPDUID, tChannelID *pnChannel, tTimeStamp *ptmTimeStamp, bool *pbModified) const =0
Retrieves the status of a PDU.
virtual tResult GetSignalValue(tSignalID nSignalID, tSignalValue *pValue) const =0
Retrieves the value of a signal.
virtual tResult SetSignalValue(tSignalID nSignalID, const tSignalValue *pValue)=0
Sets the value of a signal.
Copyright © CARIAD SE.
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 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
axle::IFlexRayCoder IFlexRayCoder
Interface of FlexRay coder Objects of this type stores an internal buffer of FlexRay frames.
ADTF - Namespace.