canable-fw/inc/can.h

37 lines
775 B
C
Raw Normal View History

2015-01-14 07:09:08 -08:00
#ifndef _CAN_H
#define _CAN_H
enum can_bitrate {
2015-05-15 11:20:10 -07:00
CAN_BITRATE_10K,
CAN_BITRATE_20K,
2015-05-14 14:41:28 -07:00
CAN_BITRATE_50K,
2015-05-15 11:20:10 -07:00
CAN_BITRATE_100K,
CAN_BITRATE_125K,
CAN_BITRATE_250K,
CAN_BITRATE_500K,
CAN_BITRATE_750K,
CAN_BITRATE_1000K,
2015-01-14 07:09:08 -08:00
};
enum can_bus_state {
OFF_BUS,
ON_BUS
};
void can_init(void);
void can_enable(void);
void can_disable(void);
void can_set_bitrate(enum can_bitrate bitrate);
void can_set_silent(uint8_t silent);
void can_set_autoretransmit(uint8_t autoretransmit);
uint32_t can_tx(CanTxMsgTypeDef *tx_msg);
uint32_t can_rx(CanRxMsgTypeDef *rx_msg, uint32_t timeout);
void can_process(void);
void can_preptx(CanTxMsgTypeDef *tx_msg);
uint8_t is_can_msg_pending(uint8_t fifo);
CAN_HandleTypeDef* can_gethandle(void);
2015-01-14 07:09:08 -08:00
#endif // _CAN_H