![]() |
CANopenNode
CANopen protocol stack
|
SDO server object. More...
#include <CO_SDOserver.h>
Collaboration diagram for CO_SDOserver_t:Data Fields | |
| CO_CANmodule_t * | CANdevTx |
| From CO_SDOserver_init() | |
| CO_CANtx_t * | CANtxBuff |
| CAN transmit buffer inside CANdevTx for CAN tx message. | |
| OD_t * | OD |
| From CO_SDOserver_init() | |
| uint8_t | nodeId |
| From CO_SDOserver_init() | |
| bool_t | valid |
| If true, SDO channel is valid. | |
| volatile CO_SDO_state_t | state |
| Internal state of the SDO server. | |
| OD_IO_t | OD_IO |
| Object dictionary interface for current object. | |
| uint16_t | index |
| Index of the current object in Object Dictionary. | |
| uint8_t | subIndex |
| Subindex of the current object in Object Dictionary. | |
| volatile void * | CANrxNew |
| Indicates, if new SDO message received from CAN bus. | |
| uint8_t | CANrxData [8] |
| 8 data bytes of the received message | |
| CO_CANmodule_t * | CANdevRx |
| From CO_SDOserver_init() | |
| uint16_t | CANdevRxIdx |
| From CO_SDOserver_init() | |
| uint16_t | CANdevTxIdx |
| From CO_SDOserver_init() | |
| uint32_t | COB_IDClientToServer |
| Copy of CANopen COB_ID Client -> Server, meaning of the specific bits: | |
| uint32_t | COB_IDServerToClient |
| Copy of CANopen COB_ID Server -> Client, similar as above. | |
| OD_extension_t | OD_1200_extension |
| Extension for OD object. | |
| OD_size_t | sizeInd |
| Size of data, which will be transferred. | |
| OD_size_t | sizeTran |
| Size of data which is actually transferred. | |
| uint8_t | toggle |
| Toggle bit toggled in each segment in segmented transfer. | |
| bool_t | finished |
| If true, then: data transfer is finished (by download) or read from OD variable is finished (by upload) | |
| uint32_t | SDOtimeoutTime_us |
| Maximum timeout time between request and response in microseconds. | |
| uint32_t | timeoutTimer |
| Timeout timer for SDO communication. | |
| uint8_t | buf [CO_CONFIG_SDO_SRV_BUFFER_SIZE+1U] |
| Interim data buffer for segmented or block transfer + byte for '\0'. | |
| OD_size_t | bufOffsetWr |
| Offset of next free data byte available for write in the buffer. | |
| OD_size_t | bufOffsetRd |
| Offset of first data available for read in the buffer. | |
| uint32_t | block_SDOtimeoutTime_us |
| Timeout time for SDO sub-block download, half of SDOtimeoutTime_us. | |
| uint32_t | block_timeoutTimer |
| Timeout timer for SDO sub-block download. | |
| uint8_t | block_seqno |
| Sequence number of segment in block, 1..127. | |
| uint8_t | block_blksize |
| Number of segments per block, 1..127. | |
| uint8_t | block_noData |
| Number of bytes in last segment that do not contain data. | |
| bool_t | block_crcEnabled |
| Client CRC support in block transfer. | |
| uint16_t | block_crc |
| Calculated CRC checksum. | |
| void(* | pFunctSignalPre )(void *object) |
| From CO_SDOserver_initCallbackPre() or NULL. | |
| void * | functSignalObjectPre |
| From CO_SDOserver_initCallbackPre() or NULL. | |
SDO server object.
| volatile void* CO_SDOserver_t::CANrxNew |
Indicates, if new SDO message received from CAN bus.
It is not cleared, until received message is completely processed.
| uint32_t CO_SDOserver_t::COB_IDClientToServer |
Copy of CANopen COB_ID Client -> Server, meaning of the specific bits:
| OD_size_t CO_SDOserver_t::sizeInd |
Size of data, which will be transferred.
It is optionally indicated by client in case of download or by server in case of upload.