35 #include "../inttypes.h"
124 #define ID_TO_STDFRAME(id) ((id & 0x000007FFL) << 18)
129 #define ID_TO_EXTFRAME(id) (id & 0x1FFFFFFFL)
134 #define STDFRAME_TO_ID(reg) (((reg & 0x1FFFFFFFL) >> 18) & 0x000007FFL)
139 #define EXTFRAME_TO_ID(reg) (reg & 0x1FFFFFFFL)
155 #define CAN_BAUD_50K 14, 8, 6, 5, 1
160 #define CAN_BAUD_125K 7, 7, 4, 4, 1
165 #define CAN_BAUD_1000K 1, 7, 3, 3, 1
181 #define CAN_BUF_OPT_ENABLED (_BV(0))
188 #define CAN_BUF_OPT_TRANSMIT (_BV(1))
194 #define CAN_BUF_OPT_EXTENDED (_BV(2))
200 #define CAN_BUF_OPT_RX_INTERRUPT (_BV(4))
206 #define CAN_BUF_OPT_TX_INTERRUPT (_BV(5))
223 #define CAN_BUF_MASK_USE (_BV(0))
230 #define CAN_BUF_MASK_EXTENDED (_BV(1))
237 #define CAN_BUF_MASK_DIRECTION (_BV(2))
uint8_t can_config_buffer(uint8_t buffer, uint32_t id, uint8_t options, uint8_t maskOptions, uint32_t idMask)
uint8_t can_set_buffer_autoreply(uint8_t buffer, uint8_t enable)
uint8_t can_set_buffer_data(uint8_t buffer, uint8_t *data, uint8_t len)
int8_t can_buffer_getData(uint8_t buffer, uint8_t *data, uint32_t *id)
uint8_t can_init(uint8_t prescaler, uint8_t propSeg, uint8_t phSeg1, uint8_t phSeg2, uint8_t jumpWidth, uint8_t interrupts)
uint8_t can_buffer_newData(uint8_t buffer)
uint8_t can_send_buffer(uint8_t buffer)