enum SPIClockPolarity cpol
clock polarity control
enum SPIClockDiv cdiv
prescaler of main clock to use as SPI clock
uint16_t output_length
number of data words to write
static void high_speed_logger_spi_link_trans_cb(struct spi_transaction *trans)
void high_speed_logger_spi_link_periodic(void)
SPI transaction structure.
bool spi_submit(struct spi_periph *p, struct spi_transaction *t)
Submit SPI transaction.
enum SPIBitOrder bitorder
MSB/LSB order.
struct Imu imu
global IMU state
static volatile bool high_speed_logger_spi_link_ready
volatile uint8_t * output_buf
pointer to transmit buffer for DMA
enum SPISlaveSelect select
slave selection behavior
Architecture independent SPI (Serial Peripheral Interface) API.
struct spi_transaction high_speed_logger_spi_link_transaction
struct Int32Vect3 mag_unscaled
unscaled magnetometer measurements
enum SPIClockPhase cpha
clock phase control
int32_t r
in rad/s with INT32_RATE_FRAC
struct Int32Rates gyro_unscaled
unscaled gyroscope measurements
void high_speed_logger_spi_link_init(void)
SPICallback after_cb
NULL or function called after the transaction.
Inertial Measurement Unit interface.
uint16_t input_length
number of data words to read
slave is selected before transaction and unselected after
struct high_speed_logger_spi_link_data high_speed_logger_spi_link_data
enum SPIDataSizeSelect dss
data transfer word size
uint8_t slave_idx
slave id: SPI_SLAVE0 to SPI_SLAVE4
int32_t p
in rad/s with INT32_RATE_FRAC
volatile uint8_t * input_buf
pointer to receive buffer for DMA
struct Int32Vect3 accel_unscaled
unscaled accelerometer measurements
int32_t q
in rad/s with INT32_RATE_FRAC