12 #include <adtf_streaming3.h>
13 #include <adtfmediadescription/type_reflection.h>
48 ADTF_IID(
ICANFDCoder,
"canfd_coder.axle.canfd.sdk.devicetb.adtf.iid");
50 virtual tResult Begin(
const adtf::streaming::ISampleBuffer *pData) = 0;
60 virtual tResult
Begin(
const void *pData, int64_t nSize) = 0;
61 virtual tResult End() = 0;
77 virtual tResult
SetMessageInfo(tChannelID nChannel, tMessageID nMsgID,
bool bExtended, uint16_t nFlags = 0) = 0;
91 virtual tResult
GetMessageInfo(tChannelID* pnChannel, tMessageID* pnMsgID,
bool* pbExtended, uint16_t* pnFlags) = 0;
108 virtual tResult
Set(
const char* strValueID,
const void* pValue) = 0;
125 virtual tResult
Get(
const char* strValueID,
void* pValue) = 0;
172 virtual tResult
SetRawData(
const uint8_t* pData, uint8_t nLength) = 0;
182 virtual tResult
GetRawData(
const uint8_t** pData, uint8_t* nLength)
const = 0;
197 virtual tResult
GetSignalID(tChannelID nChannel,
const char* strValueID, tSignalID* pSignalID)
const = 0;
209 adtf::ucom::ant::iobject_ptr<ICANFDDatabase>& pCANFDDatabase)
const = 0;
221 virtual tResult
SetDatabase(tChannelID nChannel,
const char* strFileName) = 0;
234 ADTF_IID(
ICANFDCoder,
"canfd_coder.ignition.canfd.sdk.devicetb.adtf.iid");
262 virtual tResult
CreateMessage(
const tMessageID nMsgId,
const tChannelID nChannelId) = 0;
313 virtual tResult
SetRawSignalValue(tSignalID nSignalId,
const void* pRawValue, uint64_t nSize) = 0;
353 virtual tResult
GetSignalValue(tSignalID nSignalId,
void* pRawValue, uint64_t nSize)
const = 0;
365 virtual tResult
SetRawData(
const void* pData, uint8_t nLength) = 0;
376 adtf::ucom::ant::iobject_ptr<ICANFDDatabase>& pCANFDDatabase)
const = 0;
418 using tPduIndex = uint32_t;
420 ADTF_IID(
ICANFDCoder,
"canfd_coder.jack.canfd.sdk.devicetb.adtf.iid");
429 virtual tResult
GetContainedPdus(
const ucom::nitro::ifunction<
void(
const tPduInfo* pPduInfo, tPduIndex nPduIndex)>& fnCallback)
const = 0;
445 virtual tResult
AddContainedPdu(tPduIndex& nPduIndexContained,
tPDUID nPduId, tPduIndex nPduIndexContainer = 0) = 0;
Copyright 2024 CARIAD SE.
virtual tResult GetSignalID(tChannelID nChannel, const char *strValueID, tSignalID *pSignalID) const =0
Returns the value ID of a given CAN FD signal name for the specified channel.
virtual tResult SetRawData(const uint8_t *pData, uint8_t nLength)=0
Copies the given raw data to the raw data of the message given by Begin().
virtual tResult GetMessageInfo(tChannelID *pnChannel, tMessageID *pnMsgID, bool *pbExtended, uint16_t *pnFlags)=0
Returns information about the CAN FD message.
virtual tResult SetDatabase(tChannelID nChannel, const char *strFileName)=0
Loads the CAN FD database file and uses it for (de-)coding of signal values for the specified channel...
virtual tResult Set(const char *strValueID, const void *pValue)=0
Sets the value, which is defined with strValueID.
virtual tResult GetSignalValue(tSignalID nSignalID, tSignalValue *pSignalValue) const =0
Returns the decoded value of one CAN FD signal from the data area given by Begin() On return the fiel...
virtual tResult SetSignalValue(tSignalID nSignalID, const tSignalValue *pSignalValue)=0
Sets the value of one CAN FD signal in the data area given by ICANFDCoder::Begin To set the raw value...
virtual tResult SetMessageInfo(tChannelID nChannel, tMessageID nMsgID, bool bExtended, uint16_t nFlags=0)=0
Inits a new CAN FD message.
virtual tResult Begin(const void *pData, int64_t nSize)=0
Creates read and write acces for writing the desired information.
virtual tResult Get(const char *strValueID, void *pValue)=0
Gets the value, which is defined with strValueID.
virtual tResult GetDatabase(tChannelID nChannel, adtf::ucom::ant::iobject_ptr< ICANFDDatabase > &pCANFDDatabase) const =0
Returns the CAN Database for the channel.
virtual tResult GetRawData(const uint8_t **pData, uint8_t *nLength) const =0
Returns the the raw data and the length of the message given by Begin()
virtual tResult GetMessageData(adtf::devicetb::sdk::can::tCANData *pMsgData)=0
Return information about the CAN message.
virtual tResult GetSignalValue(tSignalID nSignalId, void *pRawValue, uint64_t nSize) const =0
Return the decoded value of one CAN FD signal from the data area given by SetData or CreateMessage.
virtual tResult SetRawData(const void *pData, uint8_t nLength)=0
Copy the given CAN FD raw message payload to the payload of the message.
virtual tResult SetData(const tCANFDData *pData)=0
Set a message from an input CAN FD sample.
virtual tResult CreateMessage(const tMessageID nMsgId, const tChannelID nChannelId)=0
Create a new message.
virtual tResult GetAllSignalValues(const ucom::nitro::ifunction< void(tSignalID nSignalId, tSignalValue oRawValue, double nPhysValue)> &fnCallback) const =0
Return all signal values from the current data buffer.
virtual tResult GetMessageData(tCANFDData *pMsgData)=0
Return information about the CAN FD message.
virtual tResult SetMultiplexSelectorFieldCode(uint32_t nSelectorFieldCode)=0
Set the selector field code for the current data buffer.
virtual tResult SetData(const adtf::devicetb::sdk::can::tCANData *pData)=0
Set a message from an input CAN sample or raw data.
virtual tResult GetSignalValue(tSignalID nSignalId, tSignalValue &oRawValue, double &nPhysValue) const =0
Return the decoded value of one CAN FD signal from the data area given by SetData or CreateMessage.
virtual tResult GetMessageId(tMessageID &nMessageId) const =0
Return the CAN FD message identifier without any flags.
virtual tResult GetDatabase(tChannelID nChannelId, adtf::ucom::ant::iobject_ptr< ICANFDDatabase > &pCANFDDatabase) const =0
Return the CAN FD Database for the channel.
virtual tResult SetRawSignalValue(tSignalID nSignalId, const void *pRawValue, uint64_t nSize)=0
Set a raw signal value byte array given by the signal id.
virtual tResult SetPhysicalSignalValue(tSignalID nSignalId, double nPhysValue)=0
Set a physical value given by the signal id.
virtual tResult SetRawSignalValue(tSignalID nSignalId, const tSignalValue &oRawValue)=0
Set a raw signal value given by the signal id.
virtual tResult GetMultiplexSelectorFieldCode(uint32_t &nSelectorFieldCode)=0
Return the selector field code from the current data buffer.
virtual tResult GetContainedPdus(const ucom::nitro::ifunction< void(const tPduInfo *pPduInfo, tPduIndex nPduIndex)> &fnCallback) const =0
Return the contained PduInfos and the corresponding index located in a container PDU from the current...
virtual tResult SelectContainedPdu(tPduIndex nPduIndex=0)=0
Set the current index of a contained PDU within a container PDU.
virtual tResult AddContainedPdu(tPduIndex &nPduIndexContained, tPDUID nPduId, tPduIndex nPduIndexContainer=0)=0
Add a PDU to the container PDU and returns the index at which the new PDU was set.
jack::ICANFDCoder ICANFDCoder
The CAN data structure is used by CAN MediaSamples use following code within your filter:
The CAN FD data structure is used by CAN FD MediaSamples.
Message/PDU structure which contain all information about one specific message.
Signal value structure which keeps one signal specific value.