Go to the documentation of this file.
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
161 #define LPC_CCAN_API ((CCAN_API_T *) (LPC_ROM_API->candApiBase))
uint32_t(* CANOPEN_sdo_write)(uint16_t index, uint8_t subindex, uint8_t *dat_ptr)
uint8_t(* can_receive)(CCAN_MSG_OBJ_T *msg_obj)
void(* canopen_handler)(void)
void(* CAN_rx)(uint8_t msg_obj_num)
struct CCAN_API CCAN_API_T
void(* config_canopen)(CCAN_CANOPENCFG_T *canopen_cfg)
uint32_t(* CANOPEN_sdo_seg_read)(uint16_t index, uint8_t subindex, uint8_t openclose, uint8_t *length, uint8_t *data, uint8_t *last)
uint32_t(* CANOPEN_sdo_read)(uint16_t index, uint8_t subindex)
struct CCAN_MSG_OBJ CCAN_MSG_OBJ_T
void(* CAN_tx)(uint8_t msg_obj_num)
void(* init_can)(uint32_t *can_cfg, uint8_t isr_ena)
CCAN_ODCONSTENTRY_T * od_const_table
struct CCAN_CALLBACKS CCAN_CALLBACKS_T
void(* can_transmit)(CCAN_MSG_OBJ_T *msg_obj)
uint32_t(* CANOPEN_sdo_seg_write)(uint16_t index, uint8_t subindex, uint8_t openclose, uint8_t length, uint8_t *data, uint8_t *fast_resp)
uint8_t(* CANOPEN_sdo_req)(uint8_t length_req, uint8_t *req_ptr, uint8_t *length_resp, uint8_t *resp_ptr)
void(* config_calb)(CCAN_CALLBACKS_T *callback_cfg)
struct CCAN_ODCONSTENTRY CCAN_ODCONSTENTRY_T
void(* config_rxmsgobj)(CCAN_MSG_OBJ_T *msg_obj)
struct CCAN_CANOPENCFG CCAN_CANOPENCFG_T
CCAN_ODENTRY_T * od_table
void(* CAN_error)(uint32_t error_info)
struct CCAN_ODENTRY CCAN_ODENTRY_T