/home/epimerde/documents/tc11/CanFestival-3/src/sdo.c File Reference

#include "objacces.h"
#include "sdo.h"
#include "canfestival.h"

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 Documentation

#define getSDOc ( byte   )     (byte & 1)

Returns the indicator of end transmission from the first byte of the SDO

Definition at line 75 of file sdo.c.

#define getSDOcs ( byte   )     (byte >> 5)

Returns the command specifier (cs, ccs, scs) from the first byte of the SDO

Definition at line 55 of file sdo.c.

#define getSDOe ( byte   )     ((byte >> 1) & 1)

Returns the transfer type from the first byte of the SDO

Definition at line 67 of file sdo.c.

#define getSDOindex ( byte1,
byte2   )     ((byte2 << 8) | (byte1))

Returns the index from the bytes 1 and 2 of the SDO

Definition at line 83 of file sdo.c.

#define getSDOn2 ( byte   )     ((byte >> 2) & 3)

Returns the number of bytes without data from the first byte of the SDO. Coded in 2 bits

Definition at line 59 of file sdo.c.

#define getSDOn3 ( byte   )     ((byte >> 1) & 7)

Returns the number of bytes without data from the first byte of the SDO. Coded in 3 bits

Definition at line 63 of file sdo.c.

#define getSDOs ( byte   )     (byte & 1)

Returns the size indicator from the first byte of the SDO

Definition at line 71 of file sdo.c.

#define getSDOsubIndex ( byte3   )     (byte3)

Returns the subIndex from the byte 3 of the SDO

Definition at line 88 of file sdo.c.

#define getSDOt ( byte   )     ((byte >> 4) & 1)

Returns the toggle from the first byte of the SDO

Definition at line 79 of file sdo.c.

#define INLINE

Definition at line 34 of file sdo.c.

#define NO_INLINE

Definition at line 31 of file sdo.c.

#define RestartSDO_TIMER ( id   ) 

Value:

MSG_WAR(0x3A07, "restartSDO_TIMER for line : ", line);\
if(d->transfers[id].timer != TIMER_NONE) { StopSDO_TIMER(id) StartSDO_TIMER(id) }

Definition at line 124 of file sdo.c.

#define StartSDO_TIMER ( id   ) 

Value:

MSG_WAR(0x3A06, "StartSDO_TIMER for line : ", line);\
d->transfers[id].timer = SetAlarm(d,id,&SDOTimeoutAlarm,MS_TO_TIMEVAL(SDO_TIMEOUT_MS),0);

Definition at line 120 of file sdo.c.

#define StopSDO_TIMER ( id   ) 

Value:

MSG_WAR(0x3A05, "StopSDO_TIMER for line : ", line);\
d->transfers[id].timer = DelAlarm(d->transfers[id].timer);

Definition at line 116 of file sdo.c.


Function Documentation

INLINE UNS8 _readNetworkDict ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  dataType,
SDOCallback_t  Callback 
)

Called by readNetworkDict

Definition at line 1198 of file sdo.c.

References getSDOfreeLine(), getSDOlineOnUse(), initSDOline(), resetSDOline(), and sendSDO().

INLINE UNS8 _writeNetworkDict ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  count,
UNS8  dataType,
void *  data,
SDOCallback_t  Callback,
UNS8  endianize 
)

Called by writeNetworkDict

UNS8 closeSDOtransfer ( CO_Data *  d,
UNS8  nodeId,
UNS8  whoami 
)

Definition at line 318 of file sdo.c.

References getSDOlineOnUse(), and resetSDOline().

UNS8 failedSDO ( CO_Data *  d,
UNS8  nodeId,
UNS8  whoami,
UNS16  index,
UNS8  subIndex,
UNS32  abortCode 
)

Definition at line 227 of file sdo.c.

References getSDOlineOnUse(), resetSDOline(), sendSDOabort(), and StopSDO_TIMER.

UNS8 getReadResultNetworkDict ( CO_Data *  d,
UNS8  nodeId,
void *  data,
UNS8 *  size,
UNS32 *  abortCode 
)

Definition at line 1295 of file sdo.c.

References getSDOlineOnUse().

UNS8 getSDOfreeLine ( CO_Data *  d,
UNS8  whoami,
UNS8 *  line 
)

Definition at line 284 of file sdo.c.

UNS8 getSDOlineOnUse ( CO_Data *  d,
UNS8  nodeId,
UNS8  whoami,
UNS8 *  line 
)

Definition at line 301 of file sdo.c.

UNS8 getSDOlineRestBytes ( CO_Data *  d,
UNS8  line,
UNS8 *  nbBytes 
)

Definition at line 332 of file sdo.c.

UNS8 getWriteResultNetworkDict ( CO_Data *  d,
UNS8  nodeId,
UNS32 *  abortCode 
)

Definition at line 1329 of file sdo.c.

References getSDOlineOnUse().

UNS8 initSDOline ( CO_Data *  d,
UNS8  line,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  state 
)

Definition at line 263 of file sdo.c.

References StartSDO_TIMER, and StopSDO_TIMER.

UNS8 lineToSDO ( CO_Data *  d,
UNS8  line,
UNS8  nbBytes,
UNS8 *  data 
)

Definition at line 189 of file sdo.c.

UNS32 objdictToSDOline ( CO_Data *  d,
UNS8  line 
)

Definition at line 157 of file sdo.c.

References getODentry().

UNS8 proceedSDO ( CO_Data *  d,
Message *  m 
)

Definition at line 447 of file sdo.c.

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.

UNS8 readNetworkDict ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  dataType 
)

Definition at line 1282 of file sdo.c.

References _readNetworkDict().

UNS8 readNetworkDictCallback ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  dataType,
SDOCallback_t  Callback 
)

Definition at line 1288 of file sdo.c.

References _readNetworkDict().

void resetSDO ( CO_Data *  d  ) 

Reset all sdo buffers

Definition at line 131 of file sdo.c.

References resetSDOline().

void resetSDOline ( CO_Data *  d,
UNS8  line 
)

Definition at line 253 of file sdo.c.

References initSDOline().

UNS32 SDOlineToObjdict ( CO_Data *  d,
UNS8  line 
)

Definition at line 141 of file sdo.c.

References setODentry().

void SDOTimeoutAlarm ( CO_Data *  d,
UNS32  id 
)

Definition at line 93 of file sdo.c.

References resetSDOline(), and sendSDOabort().

UNS8 SDOtoLine ( CO_Data *  d,
UNS8  line,
UNS8  nbBytes,
UNS8 *  data 
)

Definition at line 210 of file sdo.c.

UNS8 sendSDO ( CO_Data *  d,
UNS8  whoami,
s_SDO  sdo 
)

Definition at line 354 of file sdo.c.

UNS8 sendSDOabort ( CO_Data *  d,
UNS8  whoami,
UNS16  index,
UNS8  subIndex,
UNS32  abortCode 
)

Definition at line 424 of file sdo.c.

References sendSDO().

UNS8 setSDOlineRestBytes ( CO_Data *  d,
UNS8  line,
UNS8  nbBytes 
)

Definition at line 342 of file sdo.c.

UNS8 writeNetworkDict ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  count,
UNS8  dataType,
void *  data 
)

Definition at line 1182 of file sdo.c.

References _writeNetworkDict().

UNS8 writeNetworkDictCallBack ( CO_Data *  d,
UNS8  nodeId,
UNS16  index,
UNS8  subIndex,
UNS8  count,
UNS8  dataType,
void *  data,
SDOCallback_t  Callback 
)

Definition at line 1190 of file sdo.c.

References _writeNetworkDict().


Generated on Mon Jun 4 17:09:27 2007 for CanFestival by  doxygen 1.5.1