29 #include <uavcan/driver/can.hpp> 30 #include <uavcan/time.hpp> 32 #define MAX_NUMBER_OF_CAN_INTERFACES 2 33 #define MAX_NUMBER_OF_CAN_DRIVERS 2 40 class AP_HAL::CAN:
public uavcan::ICanIface {
49 virtual bool begin(uint32_t bitrate) = 0;
54 virtual void end() = 0;
62 virtual void reset() = 0;
70 virtual bool is_initialized() = 0;
79 virtual int32_t tx_pending() = 0;
88 virtual int32_t available() = 0;
95 class AP_HAL::CANManager {
97 CANManager(uavcan::ICanDriver* driver) : _driver(driver) {}
108 virtual bool begin(uint32_t bitrate, uint8_t can_number) = 0;
115 virtual bool is_initialized() = 0;
116 virtual void initialized(
bool val) = 0;
119 virtual void set_UAVCAN(
AP_UAVCAN *uavcan) = 0;
120 uavcan::ICanDriver* get_driver() {
return _driver; }
122 uavcan::ICanDriver* _driver;