44#define ADXRS290_ADI_ID 0xAD
45#define ADXRS290_MEMS_ID 0x1D
46#define ADXRS290_DEV_ID 0x92
49#define ADXRS290_REG_ADI_ID 0x00
50#define ADXRS290_REG_MEMS_ID 0x01
51#define ADXRS290_REG_DEV_ID 0x02
52#define ADXRS290_REG_REV_ID 0x03
53#define ADXRS290_REG_SN0 0x04
54#define ADXRS290_REG_SN1 0x05
55#define ADXRS290_REG_SN2 0x06
56#define ADXRS290_REG_SN3 0x07
57#define ADXRS290_REG_DATAX0 0x08
58#define ADXRS290_REG_DATAX1 0x09
59#define ADXRS290_REG_DATAY0 0x0A
60#define ADXRS290_REG_DATAY1 0x0B
61#define ADXRS290_REG_TEMP0 0x0C
62#define ADXRS290_REG_TEMP1 0x0D
64#define ADXRS290_REG_POWER_CTL 0x10
65#define ADXRS290_REG_FILTER 0x11
66#define ADXRS290_REG_DATA_READY 0x12
68#define ADXRS290_READ NO_OS_BIT(7)
69#define ADXRS290_TSM NO_OS_BIT(0)
70#define ADXRS290_MEASUREMENT NO_OS_BIT(1)
71#define ADXRS290_DATA_RDY_OUT NO_OS_BIT(0)
72#define ADXRS290_SYNC_MASK 0x03
73#define ADXRS290_SYNC(x) (x) & ADXRS290_SYNC_MASK
74#define ADXRS290_LPF_MASK 0x07
75#define ADXRS290_LPF(x) (x) & ADXRS290_LPF_MASK
76#define ADXRS290_HPF_MASK 0xF0
77#define ADXRS290_HPF(x) ((x) & ADXRS290_HPF_MASK ) >> 4
79#define ADXRS290_READ_REG(reg) (ADXRS290_READ | (reg))
81#define ADXRS290_MAX_TRANSITION_TIME_MS 100
82#define ADXRS290_CHANNEL_COUNT 3
83#define ADXRS290_CHANNEL_MASK 0x07
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t adxrs290_get_data_ready(struct adxrs290_dev *dev, bool *rdy)
Get the state of data ready.
Definition adxrs290.c:298
int32_t adxrs290_remove(struct adxrs290_dev *dev)
Free memory allocated by adxrs290_setup().
Definition adxrs290.c:404
int32_t adxrs290_set_active_channels(struct adxrs290_dev *dev, uint32_t mask)
Set the ADXRS290 active channels.
Definition adxrs290.c:285
int32_t adxrs290_get_temp_data(struct adxrs290_dev *dev, int16_t *temp)
Get the temperature data.
Definition adxrs290.c:219
int32_t adxrs290_init(struct adxrs290_dev **device, const struct adxrs290_init_param *init_param)
Definition adxrs290.c:325
adxrs290_mode
Mode of the adxrs290.
Definition adxrs290.h:88
@ ADXRS290_MODE_STANDBY
Definition adxrs290.h:90
@ ADXRS290_MODE_MEASUREMENT
Definition adxrs290.h:92
int32_t adxrs290_get_rate_data(struct adxrs290_dev *dev, enum adxrs290_channel ch, int16_t *rate)
Get the Gyro data channels.
Definition adxrs290.c:195
int32_t adxrs290_get_burst_data(struct adxrs290_dev *dev, int16_t *burst_data, uint8_t *ch_cnt)
Get the burst data.
Definition adxrs290.c:245
int32_t adxrs290_get_lpf(struct adxrs290_dev *dev, enum adxrs290_lpf *lpf)
Get the low-pass filter pole location.
Definition adxrs290.c:112
int32_t adxrs290_reg_read(struct adxrs290_dev *dev, uint8_t address, uint8_t *data)
Read device register.
Definition adxrs290.c:47
int32_t adxrs290_set_lpf(struct adxrs290_dev *dev, enum adxrs290_lpf lpf)
Set the low-pass filter pole location.
Definition adxrs290.c:132
int32_t adxrs290_set_op_mode(struct adxrs290_dev *dev, enum adxrs290_mode mode)
Set device operation mode.
Definition adxrs290.c:83
int32_t adxrs290_reg_write(struct adxrs290_dev *dev, uint8_t address, uint8_t data)
Write device register.
Definition adxrs290.c:69
adxrs290_channel
Channel of teh adxrs290 data rate.
Definition adxrs290.h:99
@ ADXRS290_CHANNEL_TEMP
Definition adxrs290.h:105
@ ADXRS290_CHANNEL_Y
Definition adxrs290.h:103
@ ADXRS290_CHANNEL_X
Definition adxrs290.h:101
adxrs290_lpf
Low-Pass filter pole location.
Definition adxrs290.h:112
@ ADXRS290_LPF_40HZ
Definition adxrs290.h:118
@ ADXRS290_LPF_56HZ6
Definition adxrs290.h:117
@ ADXRS290_LPF_320HZ
Definition adxrs290.h:114
@ ADXRS290_LPF_28HZ3
Definition adxrs290.h:119
@ ADXRS290_LPF_20HZ
Definition adxrs290.h:120
@ ADXRS290_LPF_480HZ
Definition adxrs290.h:113
@ ADXRS290_LPF_160HZ
Definition adxrs290.h:115
@ ADXRS290_LPF_80HZ
Definition adxrs290.h:116
adxrs290_hpf
High-Pass filter pole location.
Definition adxrs290.h:127
@ ADXRS290_HPF_1HZ400
Definition adxrs290.h:136
@ ADXRS290_HPF_0HZ044
Definition adxrs290.h:131
@ ADXRS290_HPF_11HZ30
Definition adxrs290.h:138
@ ADXRS290_HPF_0HZ087
Definition adxrs290.h:132
@ ADXRS290_HPF_0HZ350
Definition adxrs290.h:134
@ ADXRS290_HPF_0HZ175
Definition adxrs290.h:133
@ ADXRS290_HPF_0HZ011
Definition adxrs290.h:129
@ ADXRS290_HPF_0HZ022
Definition adxrs290.h:130
@ ADXRS290_HPF_ALL_PASS
Definition adxrs290.h:128
@ ADXRS290_HPF_2HZ800
Definition adxrs290.h:137
@ ADXRS290_HPF_0HZ700
Definition adxrs290.h:135
int32_t adxrs290_get_hpf(struct adxrs290_dev *dev, enum adxrs290_hpf *hpf)
Get the high-pass filter pole location.
Definition adxrs290.c:153
int32_t adxrs290_set_hpf(struct adxrs290_dev *dev, enum adxrs290_hpf hpf)
Set the low-pass filter pole location.
Definition adxrs290.c:173
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
Device driver handler.
Definition adxrs290.h:162
struct no_os_gpio_desc * gpio_sync
Definition adxrs290.h:166
uint8_t ch_mask
Definition adxrs290.h:168
struct no_os_spi_desc * spi_desc
Definition adxrs290.h:164
Device driver initialization structure.
Definition adxrs290.h:145
enum adxrs290_hpf hpf
Definition adxrs290.h:155
struct no_os_gpio_init_param * gpio_sync
Definition adxrs290.h:149
enum adxrs290_mode mode
Definition adxrs290.h:151
struct no_os_spi_init_param spi_init
Definition adxrs290.h:147
enum adxrs290_lpf lpf
Definition adxrs290.h:153
Definition ad9361_util.h:63
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128