The SDO mask provides access to general SDO settings that are valid for the whole device. Each attribute belows to a special define in the file cal_conf.h.
- Enable SDO Block Transfer - CONFIG_SDO_BLOCKTRANSFER - |
This define enables the SDO Block Transfer code in the CANopen Library.
The following 4 defines configure the SDO Block Transfer. Please note, that SDO Block Transfer does not belong to the standard scope of delivery of the CANopen Library. |
- Min.Data Size for Block Transfer (Byte) - CONFIG_BLOCK_MIN_DATASIZE - |
SDO block transfer is automatically used if the data length for transmit is greater than this define. All other SDO transfers will be transmitted as expedited or segmented transfer. |
- Number of segments per Block - CONFIG_BLOCK_MAX_CNT - |
Set the number of segments for one SDO block transfer. |
- Use CRC Check for Block Transfer - CONFIG_BLOCK_CRC - |
This define enables the usage of CRC checks for SDO block transfers. |
- Use fast CRC Check with Table - CONFIG_BLOCK_CRC_TABLE - |
There are two variants to calculate the checksum
|
- Check Object Limits with SDO Transfer - CONFIG_LIMITS_CHECK - |
The CANopen object dictionary of an SDO Server contains entries for minimum, maximum and default values in the RAM area. Normally these entries are used to check SDO write access to objects against their min/max values. You can disable this feature and the checks are not performed and no space for object attributes is allocated (saves memory in embedded applications). |
- Use User Value Check at Write SDO - CONFIG_VALUE_CHECK_FUNCTION - |
Set the compiler define CONFIG_VALUE_CHECK_FUNCTION. If this compiler switch is set, a call to a user function is compiled into CANopen. This function is called every time a SDO write access to the object dictionary is performed. So the application can check the write value and accept or reject the object before it is written to the object dictionary. |
- Initiate SDO Response by Application - CONFIG_SPLIT_INDICATION - |
The transmission of a SDO response can be delayed by the application for longer actions initiated by the SDO request. This setting is only relevant on SDO servers. The SDO server has to return the SDO indication function sdoRdInd(..) or sdoWrInd(..) with the return value CO_SDO_IND_BUSY. The application has to initiate the SDO response by calling of the function finishSdoRdInd(..) or finishSdoWrInd(..). The SDO timeout on the SDO client has to be sufficient. |
- Enable domain transfer (SDO Client) - CONFIG_DOMAIN_CONFIRMATION - |
Set the compiler define CONFIG_DOMAIN_CONFIRMATION, to enable domain transfer on SDO clients. |
- Enable domain transfer split indication (SDO Server) - CONFIG_SDO_BLOCK_INDICATION - |
Set the compiler define CONFIG_SDO_BLOCK_INDICATION. If this compiler switch is set, a call to an indication function is compiled into the CANopen Stack. It is called after every block when using SDO block transfer. |
- Number of bytes between indications - CONFIG_DOMAIN_INDICATION_SIZE - |
Set the compiler define CONFIG_DOMAIN_INDICATION_SIZE to enable an indication function every CONFIG_DOMAIN_INDICATION_SIZE bytes. |
Do not create object 1200, if it's not required. |
A simple device with only the default SDO server, does not need
the object 1200 in the object dictionary. In this case you can save RAM by enabling this
checkbutton. If the device uses more than one SDO server or SDO clients, the object 1200 must exist and will be created by the Design Tool. |