48 adxl->spi_trans.slave_idx = slave_idx;
49 adxl->spi_trans.output_length = 7;
50 adxl->spi_trans.input_length = 7;
54 adxl->spi_trans.input_buf = &(
adxl->rx_buf[0]);
55 adxl->spi_trans.output_buf = &(
adxl->tx_buf[0]);
63 adxl->initialized =
false;
64 adxl->data_available =
false;
71 adxl->spi_trans.output_length = 2;
72 adxl->spi_trans.input_length = 0;
81 switch (
adxl->init_status) {
100 adxl->initialized =
true;
121 adxl->spi_trans.output_length = 1;
122 adxl->spi_trans.input_length = 7;
129#define Int16FromBuf(_buf,_idx) ((int16_t)((_buf[_idx+1]<<8) | _buf[_idx]))
133 if (
adxl->initialized) {
141 adxl->data_available =
true;
145 switch (
adxl->spi_trans.status) {
static void adxl345_set_default_config(struct Adxl345Config *c)
static uint8_t adxl345_data_format(struct Adxl345Config *c)
#define ADXL345_REG_DATA_X0
#define ADXL345_REG_BW_RATE
#define ADXL345_REG_DATA_FORMAT
#define ADXL345_REG_POWER_CTL
#define ADXL345_REG_INT_ENABLE
static void adxl345_spi_send_config(struct Adxl345_Spi *adxl)
void adxl345_spi_init(struct Adxl345_Spi *adxl, struct spi_periph *spi_p, uint8_t slave_idx)
void adxl345_spi_start_configure(struct Adxl345_Spi *adxl)
static void adxl345_spi_write_to_reg(struct Adxl345_Spi *adxl, uint8_t _reg, uint8_t _val)
void adxl345_spi_event(struct Adxl345_Spi *adxl)
void adxl345_spi_read(struct Adxl345_Spi *adxl)
#define Int16FromBuf(_buf, _idx)
Driver for the accelerometer ADXL345 from Analog Devices using SPI.
enum SPIStatus status
internal state of the peripheral
bool spi_submit(struct spi_periph *p, struct spi_transaction *t)
Submit SPI transaction.
@ SPICpolIdleHigh
CPOL = 1.
@ SPISelectUnselect
slave is selected before transaction and unselected after
SPI peripheral structure.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.