CANopenNode
SDO server/client

Macros

#define CO_CONFIG_SDO_SRV   (CO_CONFIG_SDO_SRV_SEGMENTED)
 Configuration of SDO server. More...
 
#define CO_CONFIG_SDO_SRV_BUFFER_SIZE   32
 Size of the internal data buffer for the SDO server. More...
 
#define CO_CONFIG_SDO_CLI   (0)
 Configuration of SDO client. More...
 
#define CO_CONFIG_SDO_CLI_BUFFER_SIZE   32
 Size of the internal data buffer for the SDO client. More...
 

Detailed Description

Macro Definition Documentation

◆ CO_CONFIG_SDO_SRV

#define CO_CONFIG_SDO_SRV   (CO_CONFIG_SDO_SRV_SEGMENTED)

Configuration of SDO server.

Possible flags, can be ORed:

◆ CO_CONFIG_SDO_SRV_BUFFER_SIZE

#define CO_CONFIG_SDO_SRV_BUFFER_SIZE   32

Size of the internal data buffer for the SDO server.

If size is less than size of some variables in Object Dictionary, then data will be transferred to internal buffer in several segments. Minimum size is 8 or 899 (127*7) for block transfer.

◆ CO_CONFIG_SDO_CLI

#define CO_CONFIG_SDO_CLI   (0)

Configuration of SDO client.

Possible flags, can be ORed:

◆ CO_CONFIG_SDO_CLI_BUFFER_SIZE

#define CO_CONFIG_SDO_CLI_BUFFER_SIZE   32

Size of the internal data buffer for the SDO client.

Circular buffer is used for SDO communication. It can be read or written between successive SDO calls. So size of the buffer can be lower than size of the actual size of data transferred. If only segmented transfer is used, then buffer size can be as low as 7 bytes, if data are read/written each cycle. If block transfer is used, buffer size should be set to at least 1000 bytes, so maximum blksize can be used (blksize is calculated from free buffer space). Default value for block transfer is 1000, otherwise 32.