42 UNS8 data [SDO_MAX_LENGTH_TRANSFERT];
94 UNS8 subIndex,
UNS32 count,
UNS8 dataType,
void *data, SDOCallback_t Callback);
96 UNS8 subIndex,
UNS32 count,
UNS8 dataType,
void *data, SDOCallback_t Callback,
UNS8 endianize);
#define UNS8
Unsigned int8 representation in CANFest.
#define UNS16
Unsigned int16 representation in CANFest.
#define UNS32
Unsigned int32 representation in CANFest.
UNS32 objdictToSDOBlockline(CO_Data *d, UNS8 line, UNS8 numberOfIndexes)
Copy the data from the object dictionary to the SDO line for a network transfert.
UNS8 readNetworkDict(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType)
Used to send a SDO request frame to read.
void resetSDO(CO_Data *d)
Reset all SDO buffers.
UNS8 failedSDO(CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode)
Called when an internal SDO abort occurs. Release the line * Only if server * If client,...
UNS32 objdictToSDOline(CO_Data *d, UNS8 line)
Copy the data from the object dictionary to the SDO line for a network transfert.
UNS8 lineToSDO(CO_Data *d, UNS8 line, UNS32 nbBytes, UNS8 *data)
Copy data from an existant line in the argument "* data".
UNS32 SDOlineToObjdict(CO_Data *d, UNS8 line)
Copy the data received from the SDO line transfert to the object dictionary.
UNS8 writeNetworkDictCallBackAI(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS32 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize)
Used to send a SDO request frame to write in a distant node dictionnary.
UNS8 writeNetworkDictCallBack(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS32 count, UNS8 dataType, void *data, SDOCallback_t Callback)
Used to send a SDO request frame to write in a distant node dictionnary.
void resetSDOline(CO_Data *d, UNS8 line)
Reset an unused line.
UNS8 readNetworkDictCallback(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback)
Used to send a SDO request frame to read in a distant node dictionnary.
UNS8 getSDOfreeLine(CO_Data *d, UNS8 whoami, UNS8 *line)
Search for an unused line in the transfers array to store a new SDO. ie a line which value of the fie...
UNS8 writeNetworkDict(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS32 count, UNS8 dataType, void *data)
Used to send a SDO request frame to write the data at the index and subIndex indicated.
UNS8 SDOtoLine(CO_Data *d, UNS8 line, UNS32 nbBytes, UNS8 *data)
Add data to an existant line.
UNS8 readNetworkDictCallbackAI(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback)
Used to send a SDO request frame to read in a distant node dictionnary.
UNS8 readBlockNetworkDict(CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 size, UNS8 dataType)
Used to send a SDO request frame to read in a distant node dictionnary.
UNS8 getSDOlineRestBytes(CO_Data *d, UNS8 line, UNS32 *nbBytes)
Bytes in the line structure which must be transmited (or received)
UNS8 setSDOlineRestBytes(CO_Data *d, UNS8 line, UNS32 nbBytes)
Store in the line structure the nb of bytes which must be transmited (or received)
UNS8 getWriteResultNetworkDict(CO_Data *d, UNS8 nodeId, UNS32 *abortCode)
Use this function after calling writeNetworkDict function to get the result of the write.
void SDOTimeoutAlarm(CO_Data *d, UNS32 id)
Reset of a SDO exchange on timeout. Send a SDO abort.
UNS8 getReadResultNetworkDict(CO_Data *d, UNS8 nodeId, void *data, UNS32 *size, UNS32 *abortCode)
Use this function after calling readNetworkDict to get the result.
UNS8 initSDOline(CO_Data *d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state)
Initialize some fields of the structure.
UNS8 getSDOlineOnUse(CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS8 *line)
Search for the line, in the transfers array, which contains the beginning of the reception of a fragm...
UNS8 sendSDOabort(CO_Data *d, UNS8 whoami, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS32 abortCode)
Transmit a SDO error to the client. The reasons may be : Read/Write to a undefined object Read/Write ...
UNS8 sendSDO(CO_Data *d, UNS8 whoami, s_SDO sdo)
Transmit a SDO frame on the bus bus_id.
UNS8 processSDO(CO_Data *d, Message *m)
Treat a SDO frame reception call the function sendSDO.
This structure contains all necessary informations to define a CANOpen node.