nico@207: nico@207:
nico@207:#include "objacces.h"
#include "sdo.h"
#include "canfestival.h"
nico@207: Go to the source code of this file.
Defines | |
#define | NO_INLINE |
#define | INLINE |
#define | getSDOcs(byte) (byte >> 5) |
#define | getSDOn2(byte) ((byte >> 2) & 3) |
#define | getSDOn3(byte) ((byte >> 1) & 7) |
#define | getSDOe(byte) ((byte >> 1) & 1) |
#define | getSDOs(byte) (byte & 1) |
#define | getSDOc(byte) (byte & 1) |
#define | getSDOt(byte) ((byte >> 4) & 1) |
#define | getSDOindex(byte1, byte2) ((byte2 << 8) | (byte1)) |
#define | getSDOsubIndex(byte3) (byte3) |
#define | StopSDO_TIMER(id) |
#define | StartSDO_TIMER(id) |
#define | RestartSDO_TIMER(id) |
Functions | |
INLINE UNS8 | _writeNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback, UNS8 endianize) |
INLINE UNS8 | _readNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) |
void | SDOTimeoutAlarm (CO_Data *d, UNS32 id) |
void | resetSDO (CO_Data *d) |
UNS32 | SDOlineToObjdict (CO_Data *d, UNS8 line) |
UNS32 | objdictToSDOline (CO_Data *d, UNS8 line) |
UNS8 | lineToSDO (CO_Data *d, UNS8 line, UNS8 nbBytes, UNS8 *data) |
UNS8 | SDOtoLine (CO_Data *d, UNS8 line, UNS8 nbBytes, UNS8 *data) |
UNS8 | failedSDO (CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode) |
void | resetSDOline (CO_Data *d, UNS8 line) |
UNS8 | initSDOline (CO_Data *d, UNS8 line, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 state) |
UNS8 | getSDOfreeLine (CO_Data *d, UNS8 whoami, UNS8 *line) |
UNS8 | getSDOlineOnUse (CO_Data *d, UNS8 nodeId, UNS8 whoami, UNS8 *line) |
UNS8 | closeSDOtransfer (CO_Data *d, UNS8 nodeId, UNS8 whoami) |
UNS8 | getSDOlineRestBytes (CO_Data *d, UNS8 line, UNS8 *nbBytes) |
UNS8 | setSDOlineRestBytes (CO_Data *d, UNS8 line, UNS8 nbBytes) |
UNS8 | sendSDO (CO_Data *d, UNS8 whoami, s_SDO sdo) |
UNS8 | sendSDOabort (CO_Data *d, UNS8 whoami, UNS16 index, UNS8 subIndex, UNS32 abortCode) |
UNS8 | proceedSDO (CO_Data *d, Message *m) |
UNS8 | writeNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 count, UNS8 dataType, void *data) |
UNS8 | writeNetworkDictCallBack (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 count, UNS8 dataType, void *data, SDOCallback_t Callback) |
UNS8 | readNetworkDict (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType) |
UNS8 | readNetworkDictCallback (CO_Data *d, UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, SDOCallback_t Callback) |
UNS8 | getReadResultNetworkDict (CO_Data *d, UNS8 nodeId, void *data, UNS8 *size, UNS32 *abortCode) |
UNS8 | getWriteResultNetworkDict (CO_Data *d, UNS8 nodeId, UNS32 *abortCode) |
#define getSDOc | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:(byte & 1) | nico@207:
#define getSDOcs | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:(byte >> 5) | nico@207:
#define getSDOe | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:((byte >> 1) & 1) | nico@207:
#define getSDOindex | nico@207:( | nico@207:byte1, | |||
nico@207: | nico@207: | byte2 | nico@207:nico@207: | ) | nico@207:((byte2 << 8) | (byte1)) | nico@207:
#define getSDOn2 | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:((byte >> 2) & 3) | nico@207:
#define getSDOn3 | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:((byte >> 1) & 7) | nico@207:
#define getSDOs | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:(byte & 1) | nico@207:
#define getSDOsubIndex | nico@207:( | nico@207:byte3 | nico@207:nico@207: | ) | nico@207:(byte3) | nico@207:
#define getSDOt | nico@207:( | nico@207:byte | nico@207:nico@207: | ) | nico@207:((byte >> 4) & 1) | nico@207:
#define INLINE | nico@207:
#define NO_INLINE | nico@207:
#define RestartSDO_TIMER | nico@207:( | nico@207:id | nico@207:nico@207: | ) | nico@207:nico@207: |
nico@207: Value:
MSG_WAR(0x3A07, "restartSDO_TIMER for line : ", line);\ nico@207: if(d->transfers[id].timer != TIMER_NONE) { StopSDO_TIMER(id) StartSDO_TIMER(id) } nico@207:
#define StartSDO_TIMER | nico@207:( | nico@207:id | nico@207:nico@207: | ) | nico@207:nico@207: |
nico@207: Value:
MSG_WAR(0x3A06, "StartSDO_TIMER for line : ", line);\ nico@207: d->transfers[id].timer = SetAlarm(d,id,&SDOTimeoutAlarm,MS_TO_TIMEVAL(SDO_TIMEOUT_MS),0); nico@207:
#define StopSDO_TIMER | nico@207:( | nico@207:id | nico@207:nico@207: | ) | nico@207:nico@207: |
nico@207:
INLINE UNS8 _readNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType, | nico@207:|
nico@207: | nico@207: | SDOCallback_t | nico@207:Callback | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: Called by readNetworkDict nico@207:
nico@207: Definition at line 1198 of file sdo.c. nico@207:
nico@207: References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO(). nico@207:
INLINE UNS8 _writeNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:count, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType, | nico@207:|
nico@207: | nico@207: | void * | nico@207:data, | nico@207:|
nico@207: | nico@207: | SDOCallback_t | nico@207:Callback, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:endianize | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: Called by writeNetworkDict nico@207:
UNS8 closeSDOtransfer | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 318 of file sdo.c. nico@207:
nico@207: References getSDOlineOnUse(), and resetSDOline(). nico@207:
UNS8 failedSDO | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS32 | nico@207:abortCode | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 227 of file sdo.c. nico@207:
nico@207: References getSDOlineOnUse(), resetSDOline(), sendSDOabort(), and StopSDO_TIMER. nico@207:
UNS8 getReadResultNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | void * | nico@207:data, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:size, | nico@207:|
nico@207: | nico@207: | UNS32 * | nico@207:abortCode | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1295 of file sdo.c. nico@207:
nico@207: References getSDOlineOnUse(). nico@207:
UNS8 getSDOfreeLine | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:line | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 getSDOlineOnUse | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:line | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 getSDOlineRestBytes | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:nbBytes | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 getWriteResultNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS32 * | nico@207:abortCode | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1329 of file sdo.c. nico@207:
nico@207: References getSDOlineOnUse(). nico@207:
UNS8 initSDOline | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:state | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 263 of file sdo.c. nico@207:
nico@207: References StartSDO_TIMER, and StopSDO_TIMER. nico@207:
UNS8 lineToSDO | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nbBytes, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:data | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS32 objdictToSDOline | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 157 of file sdo.c. nico@207:
nico@207: References getODentry(). nico@207:
UNS8 proceedSDO | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | Message * | nico@207:m | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 447 of file sdo.c. nico@207:
nico@207: References failedSDO(), getSDOc, getSDOcs, getSDOe, getSDOfreeLine(), getSDOindex, getSDOlineOnUse(), getSDOlineRestBytes(), getSDOn2, getSDOn3, getSDOs, getSDOsubIndex, getSDOt, initSDOline(), lineToSDO(), objdictToSDOline(), resetSDOline(), RestartSDO_TIMER, SDOlineToObjdict(), SDOtoLine(), sendSDO(), setSDOlineRestBytes(), and StopSDO_TIMER. nico@207:
UNS8 readNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1282 of file sdo.c. nico@207:
nico@207: References _readNetworkDict(). nico@207:
UNS8 readNetworkDictCallback | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType, | nico@207:|
nico@207: | nico@207: | SDOCallback_t | nico@207:Callback | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1288 of file sdo.c. nico@207:
nico@207: References _readNetworkDict(). nico@207:
void resetSDO | nico@207:( | nico@207:CO_Data * | nico@207:d | nico@207:) | nico@207:nico@207: |
nico@207: Reset all sdo buffers nico@207:
nico@207: Definition at line 131 of file sdo.c. nico@207:
nico@207: References resetSDOline(). nico@207:
void resetSDOline | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 253 of file sdo.c. nico@207:
nico@207: References initSDOline(). nico@207:
UNS32 SDOlineToObjdict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 141 of file sdo.c. nico@207:
nico@207: References setODentry(). nico@207:
void SDOTimeoutAlarm | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS32 | nico@207:id | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 93 of file sdo.c. nico@207:
nico@207: References resetSDOline(), and sendSDOabort(). nico@207:
UNS8 SDOtoLine | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nbBytes, | nico@207:|
nico@207: | nico@207: | UNS8 * | nico@207:data | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 sendSDO | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami, | nico@207:|
nico@207: | nico@207: | s_SDO | nico@207:sdo | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 sendSDOabort | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:whoami, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS32 | nico@207:abortCode | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 setSDOlineRestBytes | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:line, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nbBytes | nico@207: |
nico@207: | ) | nico@207:nico@207: |
UNS8 writeNetworkDict | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:count, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType, | nico@207:|
nico@207: | nico@207: | void * | nico@207:data | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1182 of file sdo.c. nico@207:
nico@207: References _writeNetworkDict(). nico@207:
UNS8 writeNetworkDictCallBack | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId, | nico@207:|
nico@207: | nico@207: | UNS16 | nico@207:index, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:subIndex, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:count, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:dataType, | nico@207:|
nico@207: | nico@207: | void * | nico@207:data, | nico@207:|
nico@207: | nico@207: | SDOCallback_t | nico@207:Callback | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: nico@207:
nico@207: Definition at line 1190 of file sdo.c. nico@207:
nico@207: References _writeNetworkDict(). nico@207:
nico@207: