32 #ifndef __CCAND_11XX_H_ 33 #define __CCAND_11XX_H_ 47 #define CAN_ERROR_NONE 0x00000000UL 48 #define CAN_ERROR_PASS 0x00000001UL 49 #define CAN_ERROR_WARN 0x00000002UL 50 #define CAN_ERROR_BOFF 0x00000004UL 51 #define CAN_ERROR_STUF 0x00000008UL 52 #define CAN_ERROR_FORM 0x00000010UL 53 #define CAN_ERROR_ACK 0x00000020UL 54 #define CAN_ERROR_BIT1 0x00000040UL 55 #define CAN_ERROR_BIT0 0x00000080UL 56 #define CAN_ERROR_CRC 0x00000100UL 61 #define CAN_MSGOBJ_STD 0x00000000UL 62 #define CAN_MSGOBJ_EXT 0x20000000UL 63 #define CAN_MSGOBJ_DAT 0x00000000UL 64 #define CAN_MSGOBJ_RTR 0x40000000UL 77 #define SDO_ABORT_TOGGLE 0x05030000UL // Toggle bit not alternated 78 #define SDO_ABORT_SDOTIMEOUT 0x05040000UL // SDO protocol timed out 79 #define SDO_ABORT_UNKNOWN_COMMAND 0x05040001UL // Client/server command specifier not valid or unknown 80 #define SDO_ABORT_UNSUPPORTED 0x06010000UL // Unsupported access to an object 81 #define SDO_ABORT_WRITEONLY 0x06010001UL // Attempt to read a write only object 82 #define SDO_ABORT_READONLY 0x06010002UL // Attempt to write a read only object 83 #define SDO_ABORT_NOT_EXISTS 0x06020000UL // Object does not exist in the object dictionary 84 #define SDO_ABORT_PARAINCOMP 0x06040043UL // General parameter incompatibility reason 85 #define SDO_ABORT_ACCINCOMP 0x06040047UL // General internal incompatibility in the device 86 #define SDO_ABORT_TYPEMISMATCH 0x06070010UL // Data type does not match, length of service parameter does not match 87 #define SDO_ABORT_UNKNOWNSUB 0x06090011UL // Sub-index does not exist 88 #define SDO_ABORT_VALUE_RANGE 0x06090030UL // Value range of parameter exceeded (only for write access) 89 #define SDO_ABORT_TRANSFER 0x08000020UL // Data cannot be transferred or stored to the application 90 #define SDO_ABORT_LOCAL 0x08000021UL // Data cannot be transferred or stored to the application because of local control 91 #define SDO_ABORT_DEVSTAT 0x08000022UL // Data cannot be transferred or stored to the application because of the present device state 101 #define OD_NONE 0x00 // Object Dictionary entry doesn't exist 102 #define OD_EXP_RO 0x10 // Object Dictionary entry expedited, read-only 103 #define OD_EXP_WO 0x20 // Object Dictionary entry expedited, write-only 104 #define OD_EXP_RW 0x30 // Object Dictionary entry expedited, read-write 105 #define OD_SEG_RO 0x40 // Object Dictionary entry segmented, read-only 106 #define OD_SEG_WO 0x50 // Object Dictionary entry segmented, write-only 107 #define OD_SEG_RW 0x60 // Object Dictionary entry segmented, read-write 128 #define CAN_SDOREQ_NOTHANDLED 0 // process regularly, no impact 129 #define CAN_SDOREQ_HANDLED_SEND 1 // processed in callback, auto-send returned msg 130 #define CAN_SDOREQ_HANDLED_NOSEND 2 // processed in callback, don't send response 133 #define CAN_SDOSEG_SEGMENT 0 // segment read/write 134 #define CAN_SDOSEG_OPEN 1 // channel is opened 135 #define CAN_SDOSEG_CLOSE 2 // channel is closed 157 void (*canopen_handler)(void);
161 #define LPC_CCAN_API ((CCAN_API_T *) (LPC_ROM_API->candApiBase)) CCAN_ODENTRY_T * od_table
struct CCAN_CALLBACKS CCAN_CALLBACKS_T
CCAN_ODCONSTENTRY_T * od_const_table
struct CCAN_ODCONSTENTRY CCAN_ODCONSTENTRY_T
struct CCAN_MSG_OBJ CCAN_MSG_OBJ_T
struct CCAN_API CCAN_API_T
struct CCAN_ODENTRY CCAN_ODENTRY_T
struct CCAN_CANOPENCFG CCAN_CANOPENCFG_T