APM:Libraries
|
#include <SPIDevice.h>
Public Member Functions | |
SPIDevice () | |
virtual | ~SPIDevice () |
virtual bool | set_speed (Device::Speed speed) override=0 |
virtual bool | transfer (const uint8_t *send, uint32_t send_len, uint8_t *recv, uint32_t recv_len) override=0 |
virtual bool | transfer_fullduplex (const uint8_t *send, uint8_t *recv, uint32_t len)=0 |
virtual bool | clock_pulse (uint32_t len) |
virtual Semaphore * | get_semaphore () override=0 |
virtual Device::PeriodicHandle | register_periodic_callback (uint32_t period_usec, Device::PeriodicCb) override=0 |
virtual bool | adjust_periodic_callback (PeriodicHandle h, uint32_t period_usec) override |
![]() | |
FUNCTOR_TYPEDEF (PeriodicCb, void) | |
Device (enum BusType type) | |
enum BusType | bus_type (void) const |
uint8_t | bus_num (void) const |
uint32_t | get_bus_id (void) const |
uint8_t | get_bus_address (void) const |
void | set_device_type (uint8_t devtype) |
virtual | ~Device () |
virtual void | set_address (uint8_t address) |
bool | read_registers (uint8_t first_reg, uint8_t *recv, uint32_t recv_len) |
bool | write_register (uint8_t reg, uint8_t val, bool checked=false) |
void | set_checked_register (uint8_t reg, uint8_t val) |
bool | setup_checked_registers (uint8_t num_regs, uint8_t frequency=10) |
bool | check_next_register (void) |
bool | read (uint8_t *recv, uint32_t recv_len) |
virtual PeriodicHandle | register_periodic_callback (uint32_t period_usec, PeriodicCb)=0 |
virtual bool | unregister_callback (PeriodicHandle h) |
virtual void | register_completion_callback (AP_HAL::MemberProc proc) |
virtual void | register_completion_callback (AP_HAL::Proc proc) |
virtual bool | set_chip_select (bool set) |
void | set_read_flag (uint8_t flag) |
uint32_t | get_bus_id_devtype (uint8_t devtype) |
virtual void | set_retries (uint8_t retries) |
Additional Inherited Members | |
![]() | |
enum | BusType { BUS_TYPE_UNKNOWN = 0, BUS_TYPE_I2C = 1, BUS_TYPE_SPI = 2, BUS_TYPE_UAVCAN = 3 } |
enum | Speed { SPEED_HIGH, SPEED_LOW } |
typedef void * | PeriodicHandle |
![]() | |
static uint32_t | make_bus_id (enum BusType bus_type, uint8_t bus, uint8_t address, uint8_t devtype) |
static uint32_t | change_bus_id (uint32_t old_id, uint8_t devtype) |
![]() | |
void | set_device_address (uint8_t address) |
void | set_device_bus (uint8_t bus) |
![]() | |
uint8_t | _read_flag = 0 |
union DeviceId | _bus_id |
Definition at line 27 of file SPIDevice.h.
|
inline |
Definition at line 29 of file SPIDevice.h.
Referenced by Linux::SPIDeviceManager::_create_device(), F4Light::SPIDeviceManager::_get_device(), PX4::SPIDeviceManager::get_device(), VRBRAIN::SPIDeviceManager::get_device(), and ChibiOS::SPIDeviceManager::get_device().
|
inlinevirtual |
Reimplemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, Empty::SPIDevice, and Linux::SPIDevice.
Definition at line 31 of file SPIDevice.h.
|
inlineoverridevirtual |
Implements AP_HAL::Device.
Reimplemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, and Linux::SPIDevice.
Definition at line 62 of file SPIDevice.h.
|
inlinevirtual |
Reimplemented in ChibiOS::SPIDevice.
Definition at line 52 of file SPIDevice.h.
Referenced by sdcard_stop().
|
overridepure virtual |
Implements AP_HAL::Device.
Implemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, Empty::SPIDevice, and Linux::SPIDevice.
Referenced by AP_InertialSensor_RST::_init_accel(), AP_InertialSensor_RST::_init_gyro(), AP_InertialSensor_LSM9DS1::_init_sensor(), AP_InertialSensor_LSM9DS0::_init_sensor(), Linux::SPIUARTDriver::_read_fd(), Linux::SPIUARTDriver::_write_fd(), clock_pulse(), AP_RAMTRON::init(), Radio_CC2500::lock_bus(), AP_RAMTRON::read(), sdcard_stop(), AP_OpticalFlow_Pixart::setup_sensor(), Radio_CC2500::unlock_bus(), and AP_RAMTRON::write().
|
overridepure virtual |
Referenced by clock_pulse(), AP_OpticalFlow_Pixart::setup_sensor(), AP_InertialSensor_LSM9DS0::start(), AP_InertialSensor_LSM9DS1::start(), and AP_InertialSensor_RST::start().
|
overridepure virtual |
Implements AP_HAL::Device.
Implemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, Empty::SPIDevice, and Linux::SPIDevice.
Referenced by AP_InertialSensor_LSM9DS1::_fifo_reset(), AP_InertialSensor_LSM9DS1::_hardware_init(), AP_InertialSensor_LSM9DS0::_hardware_init(), AP_InertialSensor_RST::_init_accel(), AP_InertialSensor_RST::_init_gyro(), Linux::SPIUARTDriver::begin(), sdcard_stop(), and ~SPIDevice().
|
overridepure virtual |
Implements AP_HAL::Device.
Implemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, Empty::SPIDevice, and Linux::SPIDevice.
Referenced by AP_InertialSensor_LSM9DS0::_read_data_transaction_a(), AP_InertialSensor_LSM9DS1::_read_data_transaction_g(), AP_InertialSensor_LSM9DS0::_read_data_transaction_g(), AP_InertialSensor_LSM9DS1::_read_data_transaction_x(), AP_OpticalFlow_Pixart::motion_burst(), AP_RAMTRON::read(), AP_OpticalFlow_Pixart::reg_read(), AP_OpticalFlow_Pixart::reg_write(), sdcard_stop(), AP_RAMTRON::send_offset(), DataFlash_Revo::spi_write(), AP_OpticalFlow_Pixart::srom_download(), Radio_CC2500::Strobe(), AP_RAMTRON::write(), Radio_CC2500::WriteRegisterMulti(), and ~SPIDevice().
|
pure virtual |
Implemented in F4Light::SPIDevice, ChibiOS::SPIDevice, PX4::SPIDevice, VRBRAIN::SPIDevice, Empty::SPIDevice, and Linux::SPIDevice.
Referenced by Linux::SPIUARTDriver::_read_fd(), Linux::SPIUARTDriver::_write_fd(), and ~SPIDevice().