40 virtual bool transfer(
const uint8_t *send, uint32_t send_len,
41 uint8_t *recv, uint32_t recv_len)
override = 0;
48 uint32_t recv_len, uint8_t times) = 0;
55 uint32_t period_usec, Device::PeriodicCb)
override = 0;
76 uint32_t bus_clock=400000,
77 bool use_smbus =
false,
78 uint32_t timeout_ms=4) = 0;
virtual Device::PeriodicHandle register_periodic_callback(uint32_t period_usec, Device::PeriodicCb) override=0
virtual Semaphore * get_semaphore() override=0
AP_HAL::OwnPtr< AP_HAL::Device > get_device(const char *name)
virtual bool adjust_periodic_callback(Device::PeriodicHandle h, uint32_t period_usec) override=0
virtual void set_split_transfers(bool set)
virtual bool transfer(const uint8_t *send, uint32_t send_len, uint8_t *recv, uint32_t recv_len) override=0
virtual OwnPtr< I2CDevice > get_device(std::vector< const char *> devpaths, uint8_t address)
virtual bool read_registers_multiple(uint8_t first_reg, uint8_t *recv, uint32_t recv_len, uint8_t times)=0
virtual bool set_speed(Device::Speed speed) override=0