Go to the documentation of this file.
59 #define ADXL372_DEVID 0x00u
60 #define ADXL372_DEVID_MST 0x01u
61 #define ADXL372_PARTID 0x02u
62 #define ADXL372_REVID 0x03u
63 #define ADXL372_STATUS_1 0x04u
64 #define ADXL372_STATUS_2 0x05u
65 #define ADXL372_FIFO_ENTRIES_2 0x06u
66 #define ADXL372_FIFO_ENTRIES_1 0x07u
67 #define ADXL372_X_DATA_H 0x08u
68 #define ADXL372_X_DATA_L 0x09u
69 #define ADXL372_Y_DATA_H 0x0Au
70 #define ADXL372_Y_DATA_L 0x0Bu
71 #define ADXL372_Z_DATA_H 0x0Cu
72 #define ADXL372_Z_DATA_L 0x0Du
73 #define ADXL372_X_MAXPEAK_H 0x15u
74 #define ADXL372_X_MAXPEAK_L 0x16u
75 #define ADXL372_Y_MAXPEAK_H 0x17u
76 #define ADXL372_Y_MAXPEAK_L 0x18u
77 #define ADXL372_Z_MAXPEAK_H 0x19u
78 #define ADXL372_Z_MAXPEAK_L 0x1Au
79 #define ADXL372_OFFSET_X 0x20u
80 #define ADXL372_OFFSET_Y 0x21u
81 #define ADXL372_OFFSET_Z 0x22u
82 #define ADXL372_X_THRESH_ACT_H 0x23u
83 #define ADXL372_X_THRESH_ACT_L 0x24u
84 #define ADXL372_Y_THRESH_ACT_H 0x25u
85 #define ADXL372_Y_THRESH_ACT_L 0x26u
86 #define ADXL372_Z_THRESH_ACT_H 0x27u
87 #define ADXL372_Z_THRESH_ACT_L 0x28u
88 #define ADXL372_TIME_ACT 0x29u
89 #define ADXL372_X_THRESH_INACT_H 0x2Au
90 #define ADXL372_X_THRESH_INACT_L 0x2Bu
91 #define ADXL372_Y_THRESH_INACT_H 0x2Cu
92 #define ADXL372_Y_THRESH_INACT_L 0x2Du
93 #define ADXL372_Z_THRESH_INACT_H 0x2Eu
94 #define ADXL372_Z_THRESH_INACT_L 0x2Fu
95 #define ADXL372_TIME_INACT_H 0x30u
96 #define ADXL372_TIME_INACT_L 0x31u
97 #define ADXL372_X_THRESH_ACT2_H 0x32u
98 #define ADXL372_X_THRESH_ACT2_L 0x33u
99 #define ADXL372_Y_THRESH_ACT2_H 0x34u
100 #define ADXL372_Y_THRESH_ACT2_L 0x35u
101 #define ADXL372_Z_THRESH_ACT2_H 0x36u
102 #define ADXL372_Z_THRESH_ACT2_L 0x37u
103 #define ADXL372_HPF 0x38u
104 #define ADXL372_FIFO_SAMPLES 0x39u
105 #define ADXL372_FIFO_CTL 0x3Au
106 #define ADXL372_INT1_MAP 0x3Bu
107 #define ADXL372_INT2_MAP 0x3Cu
108 #define ADXL372_TIMING 0x3Du
109 #define ADXL372_MEASURE 0x3Eu
110 #define ADXL372_POWER_CTL 0x3Fu
111 #define ADXL372_SELF_TEST 0x40u
112 #define ADXL372_RESET 0x41u
113 #define ADXL372_FIFO_DATA 0x42u
115 #define ADXL372_DEVID_VAL 0xADu
116 #define ADXL372_MST_DEVID_VAL 0x1Du
117 #define ADXL372_PARTID_VAL 0xFAu
118 #define ADXL372_REVID_VAL 0x02u
119 #define ADXL372_RESET_CODE 0x52u
121 #define ADXL372_REG_READ(x) (((x & 0xFF) << 1) | 0x01)
122 #define ADXL372_REG_WRITE(x) ((x & 0xFF) << 1)
125 #define ADXL372_POWER_CTL_INSTANT_ON_TH_MSK NO_OS_BIT(5)
126 #define ADXL372_POWER_CTL_INSTANT_ON_TH_MODE(x) (((x) & 0x1) << 5)
127 #define ADXL372_POWER_CTL_FIL_SETTLE_MSK NO_OS_BIT(4)
128 #define ADXL372_POWER_CTL_FIL_SETTLE_MODE(x) (((x) & 0x1) << 4)
129 #define ADXL372_POWER_CTL_LPF_DIS_MSK NO_OS_BIT(3)
130 #define ADXL372_POWER_CTL_LPF_DIS_MODE(x) (((x) & 0x1) << 3)
131 #define ADXL372_POWER_CTL_HPF_DIS_MSK NO_OS_BIT(2)
132 #define ADXL372_POWER_CTL_HPF_DIS_MODE(x) (((x) & 0x1) << 2)
133 #define ADXL372_POWER_CTL_MODE_MSK NO_OS_GENMASK(1, 0)
134 #define ADXL372_POWER_CTL_MODE(x) (((x) & 0x3) << 0)
137 #define ADXL372_MEASURE_AUTOSLEEP_MSK NO_OS_BIT(6)
138 #define ADXL372_MEASURE_AUTOSLEEP_MODE(x) (((x) & 0x1) << 6)
139 #define ADXL372_MEASURE_LINKLOOP_MSK NO_OS_GENMASK(5, 4)
140 #define ADXL372_MEASURE_LINKLOOP_MODE(x) (((x) & 0x3) << 4)
141 #define ADXL372_MEASURE_LOW_NOISE_MSK NO_OS_BIT(3)
142 #define ADXL372_MEASURE_LOW_NOISE_MODE(x) (((x) & 0x1) << 3)
143 #define ADXL372_MEASURE_BANDWIDTH_MSK NO_OS_GENMASK(2, 0)
144 #define ADXL372_MEASURE_BANDWIDTH_MODE(x) (((x) & 0x7) << 0)
147 #define ADXL372_TIMING_ODR_MSK NO_OS_GENMASK(7, 5)
148 #define ADXL372_TIMING_ODR_MODE(x) (((x) & 0x7) << 5)
149 #define ADXL372_TIMING_WAKE_UP_RATE_MSK NO_OS_GENMASK(4, 2)
150 #define ADXL372_TIMING_WAKE_UP_RATE_MODE(x) (((x) & 0x7) << 2)
151 #define ADXL372_TIMING_EXT_CLK_MSK NO_OS_BIT(1)
152 #define ADXL372_TIMING_EXT_CLK_MODE(x) (((x) & 0x1) << 1)
153 #define ADXL372_TIMING_EXT_SYNC_MSK NO_OS_BIT(0)
154 #define ADXL372_TIMING_EXT_SYNC_MODE(x) (((x) & 0x1) << 0)
157 #define ADXL372_FIFO_CTL_FORMAT_MSK NO_OS_GENMASK(5, 3)
158 #define ADXL372_FIFO_CTL_FORMAT_MODE(x) (((x) & 0x7) << 3)
159 #define ADXL372_FIFO_CTL_MODE_MSK NO_OS_GENMASK(2, 1)
160 #define ADXL372_FIFO_CTL_MODE_MODE(x) (((x) & 0x3) << 1)
161 #define ADXL372_FIFO_CTL_SAMPLES_MSK NO_OS_BIT(0)
162 #define ADXL372_FIFO_CTL_SAMPLES_MODE(x) (((x) > 0xFF) ? 1 : 0)
165 #define ADXL372_STATUS_1_DATA_RDY(x) (((x) >> 0) & 0x1)
166 #define ADXL372_STATUS_1_FIFO_RDY(x) (((x) >> 1) & 0x1)
167 #define ADXL372_STATUS_1_FIFO_FULL(x) (((x) >> 2) & 0x1)
168 #define ADXL372_STATUS_1_FIFO_OVR(x) (((x) >> 3) & 0x1)
169 #define ADXL372_STATUS_1_USR_NVM_BUSY(x) (((x) >> 5) & 0x1)
170 #define ADXL372_STATUS_1_AWAKE(x) (((x) >> 6) & 0x1)
171 #define ADXL372_STATUS_1_ERR_USR_REGS(x) (((x) >> 7) & 0x1)
174 #define ADXL372_INT1_MAP_DATA_RDY_MSK NO_OS_BIT(0)
175 #define ADXL372_INT1_MAP_DATA_RDY_MODE(x) (((x) & 0x1) << 0)
176 #define ADXL372_INT1_MAP_FIFO_RDY_MSK NO_OS_BIT(1)
177 #define ADXL372_INT1_MAP_FIFO_RDY_MODE(x) (((x) & 0x1) << 1)
178 #define ADXL372_INT1_MAP_FIFO_FULL_MSK NO_OS_BIT(2)
179 #define ADXL372_INT1_MAP_FIFO_FULL_MODE(x) (((x) & 0x1) << 2)
180 #define ADXL372_INT1_MAP_FIFO_OVR_MSK NO_OS_BIT(3)
181 #define ADXL372_INT1_MAP_FIFO_OVR_MODE(x) (((x) & 0x1) << 3)
182 #define ADXL372_INT1_MAP_INACT_MSK NO_OS_BIT(4)
183 #define ADXL372_INT1_MAP_INACT_MODE(x) (((x) & 0x1) << 4)
184 #define ADXL372_INT1_MAP_ACT_MSK NO_OS_BIT(5)
185 #define ADXL372_INT1_MAP_ACT_MODE(x) (((x) & 0x1) << 5)
186 #define ADXL372_INT1_MAP_AWAKE_MSK NO_OS_BIT(6)
187 #define ADXL372_INT1_MAP_AWAKE_MODE(x) (((x) & 0x1) << 6)
188 #define ADXL372_INT1_MAP_LOW_MSK NO_OS_BIT(7)
189 #define ADXL372_INT1_MAP_LOW_MODE(x) (((x) & 0x1) << 7)
192 #define ADXL372_INT2_MAP_DATA_RDY_MSK NO_OS_BIT(0)
193 #define ADXL372_INT2_MAP_DATA_RDY_MODE(x) (((x) & 0x1) << 0)
194 #define ADXL372_INT2_MAP_FIFO_RDY_MSK NO_OS_BIT(1)
195 #define ADXL372_INT2_MAP_FIFO_RDY_MODE(x) (((x) & 0x1) << 1)
196 #define ADXL372_INT2_MAP_FIFO_FULL_MSK NO_OS_BIT(2)
197 #define ADXL372_INT2_MAP_FIFO_FULL_MODE(x) (((x) & 0x1) << 2)
198 #define ADXL372_INT2_MAP_FIFO_OVR_MSK NO_OS_BIT(3)
199 #define ADXL372_INT2_MAP_FIFO_OVR_MODE(x) (((x) & 0x1) << 3)
200 #define ADXL372_INT2_MAP_INACT_MSK NO_OS_BIT(4)
201 #define ADXL372_INT2_MAP_INACT_MODE(x) (((x) & 0x1) << 4)
202 #define ADXL372_INT2_MAP_ACT_MSK NO_OS_BIT(5)
203 #define ADXL372_INT2_MAP_ACT_MODE(x) (((x) & 0x1) << 5)
204 #define ADXL372_INT2_MAP_AWAKE_MSK NO_OS_BIT(6)
205 #define ADXL372_INT2_MAP_AWAKE_MODE(x) (((x) & 0x1) << 6)
206 #define ADXL372_INT2_MAP_LOW_MSK NO_OS_BIT(7)
207 #define ADXL372_INT2_MAP_LOW_MODE(x) (((x) & 0x1) << 7)
209 static const int adxl372_th_reg_addr_h[3][3] = {
225 static const int adxl372_th_reg_addr_l[3][3] = {
471 uint16_t *fifo_entries);
476 uint16_t fifo_samples);
482 uint16_t *fifo_entries);
uint16_t z
Definition: adxl372.h:341
#define ADXL372_Z_THRESH_INACT_H
Definition: adxl372.h:93
struct adxl372_activity_threshold activity2_th
Definition: adxl372.h:404
int32_t adxl372_set_activity_time(struct adxl372_dev *dev, uint8_t time)
Definition: adxl372.c:345
uint8_t activity_time
Definition: adxl372.h:406
#define ADXL372_Y_THRESH_ACT2_L
Definition: adxl372.h:100
int32_t adxl372_get_accel_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *accel_data)
Definition: adxl372.c:665
int32_t adxl372_interrupt_config(struct adxl372_dev *dev, struct adxl372_irq_config int1, struct adxl372_irq_config int2)
Definition: adxl372.c:392
#define ADXL372_TIMING_ODR_MSK
Definition: adxl372.h:147
#define ADXL372_FIFO_SAMPLES
Definition: adxl372.h:104
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
enum adxl372_comm_type comm_type
Definition: adxl372.h:413
#define ADXL372_Z_THRESH_ACT2_H
Definition: adxl372.h:101
int32_t adxl372_spi_reg_write(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: adxl372_spi.c:79
adxl372_fifo_mode
Definition: adxl372.h:314
int32_t no_os_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition: no_os_i2c.c:58
struct no_os_gpio_init_param gpio_int1
Definition: adxl372.h:395
#define ADXL372_Y_THRESH_ACT_L
Definition: adxl372.h:85
@ ADXL372_WUR_512ms
Definition: adxl372.h:285
adxl372_bandwidth
Definition: adxl372.h:254
#define ADXL372_TIMING_WAKE_UP_RATE_MODE(x)
Definition: adxl372.h:150
@ ADXL372_FILTER_SETTLE_16
Definition: adxl372.h:300
int32_t adxl372_spi_reg_read(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: adxl372_spi.c:53
#define ADXL372_X_THRESH_INACT_L
Definition: adxl372.h:90
@ ADXL372_FIFO_OLD_SAVED
Definition: adxl372.h:318
#define ADXL372_POWER_CTL_MODE(x)
Definition: adxl372.h:134
#define ADXL372_TIMING_WAKE_UP_RATE_MSK
Definition: adxl372.h:149
#define ADXL372_INT1_MAP_INACT_MODE(x)
Definition: adxl372.h:183
@ ADXL372_X_AXIS
Definition: adxl372.h:242
@ ADXL372_YZ_FIFO
Definition: adxl372.h:310
Header file of SPI Interface.
struct no_os_gpio_init_param gpio_int2
Definition: adxl372.h:396
int32_t adxl372_set_act_proc_mode(struct adxl372_dev *dev, enum adxl372_act_proc_mode mode)
Definition: adxl372.c:238
@ ADXL372_FIFO_TRIGGERED
Definition: adxl372.h:317
struct no_os_spi_init_param spi_init
Definition: adxl372.h:391
#define ADXL372_MEASURE_BANDWIDTH_MSK
Definition: adxl372.h:143
#define ADXL372_FIFO_CTL_FORMAT_MODE(x)
Definition: adxl372.h:158
int32_t adxl372_get_accel_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *accel_data)
Definition: adxl372.c:665
bool referenced
Definition: adxl372.h:334
@ ADXL372_DEFAULT
Definition: adxl372.h:263
@ ADXL372_Y_FIFO
Definition: adxl372.h:306
@ ADXL372_ACTIVITY2
Definition: adxl372.h:294
@ ADXL372_BW_800HZ
Definition: adxl372.h:257
#define ADXL372_Z_THRESH_ACT_L
Definition: adxl372.h:87
@ ADXL372_WUR_52ms
Definition: adxl372.h:282
#define ADXL372_REVID
Definition: adxl372.h:62
#define ADXL372_INT1_MAP
Definition: adxl372.h:106
enum adxl372_bandwidth bw
Definition: adxl372.h:398
Header file of Delay functions.
adxl372_th_activity
Definition: adxl372.h:292
#define ADXL372_FIFO_CTL_MODE_MODE(x)
Definition: adxl372.h:160
#define ADXL372_MEASURE_LINKLOOP_MODE(x)
Definition: adxl372.h:140
#define ADXL372_X_THRESH_ACT2_H
Definition: adxl372.h:97
struct adxl372_activity_threshold inactivity_th
Definition: adxl372.h:405
#define ADXL372_Y_THRESH_ACT_H
Definition: adxl372.h:84
int32_t adxl372_set_op_mode(struct adxl372_dev *dev, enum adxl372_op_mode op_mode)
Definition: adxl372.c:176
#define ADXL372_FIFO_CTL_SAMPLES_MODE(x)
Definition: adxl372.h:162
#define ADXL372_TIMING
Definition: adxl372.h:108
Definition: ad9361_util.h:75
Header file for adxl372 Driver.
struct no_os_gpio_desc * gpio_int1
Definition: adxl372.h:374
@ ADXL372_LINKED
Definition: adxl372.h:264
enum adxl372_wakeup_rate wur
Definition: adxl372.h:400
@ ADXL372_INSTANT_ON
Definition: adxl372.h:250
@ ADXL372_WUR_2048ms
Definition: adxl372.h:286
#define ADXL372_X_MAXPEAK_H
Definition: adxl372.h:73
#define ADXL372_INT1_MAP_LOW_MODE(x)
Definition: adxl372.h:189
#define ADXL372_Y_THRESH_INACT_H
Definition: adxl372.h:91
#define ADXL372_DEVID
Definition: adxl372.h:59
#define ADXL372_X_DATA_H
Definition: adxl372.h:67
#define ADXL372_INT1_MAP_FIFO_FULL_MODE(x)
Definition: adxl372.h:179
int32_t adxl372_set_autosleep(struct adxl372_dev *dev, bool enable)
Definition: adxl372.c:193
@ ADXL372_WUR_4096ms
Definition: adxl372.h:287
adxl372_wakeup_rate
Definition: adxl372.h:281
struct adxl372_fifo_config fifo_config
Definition: adxl372.h:385
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:55
bool enable
Definition: adxl372.h:335
int32_t no_os_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition: no_os_gpio.c:130
bool fifo_ovr
Definition: adxl372.h:348
adxl372_reg_read_multi_func reg_read_multiple
Definition: adxl372.h:379
#define ADXL372_STATUS_1_FIFO_OVR(x)
Definition: adxl372.h:168
#define ADXL372_Y_THRESH_INACT_L
Definition: adxl372.h:92
int32_t adxl372_set_autosleep(struct adxl372_dev *dev, bool enable)
Definition: adxl372.c:193
@ ADXL372_BW_400HZ
Definition: adxl372.h:256
@ ADXL372_WUR_208ms
Definition: adxl372.h:284
int32_t(* adxl372_reg_write_func)(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: adxl372.h:360
adxl372_comm_type
Definition: adxl372.h:321
int32_t adxl372_interrupt_config(struct adxl372_dev *dev, struct adxl372_irq_config int1, struct adxl372_irq_config int2)
Definition: adxl372.c:392
#define ADXL372_FIFO_DATA
Definition: adxl372.h:113
@ ADXL372_XZ_FIFO
Definition: adxl372.h:309
#define ADXL372_INT2_MAP_FIFO_RDY_MODE(x)
Definition: adxl372.h:195
@ ADXL372_FIFO_STREAMED
Definition: adxl372.h:316
#define ADXL372_RESET
Definition: adxl372.h:112
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
Definition: adxl372.h:326
@ ADXL372_XYZ_PEAK_FIFO
Definition: adxl372.h:311
enum adxl372_odr odr
Definition: adxl372.h:381
int32_t adxl372_init(struct adxl372_dev **device, struct adxl372_init_param init_param)
Definition: adxl372.c:700
adxl372_op_mode
Definition: adxl372.h:247
@ I2C
Definition: adxl372.h:323
int32_t adxl372_get_highest_peak_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *max_peak)
Definition: adxl372.c:631
enum adxl372_instant_on_th_mode th_mode
Definition: adxl372.h:384
bool inactivity
Definition: adxl372.h:349
bool activity
Definition: adxl372.h:350
int32_t adxl372_set_filter_settle(struct adxl372_dev *dev, enum adxl372_filter_settle mode)
Definition: adxl372.c:376
#define ADXL372_MEASURE_AUTOSLEEP_MODE(x)
Definition: adxl372.h:138
bool low_operation
Definition: adxl372.h:352
#define ADXL372_Z_THRESH_ACT2_L
Definition: adxl372.h:102
#define ADXL372_TIME_INACT_H
Definition: adxl372.h:95
@ ADXL372_BW_200HZ
Definition: adxl372.h:255
bool fifo_full
Definition: adxl372.h:347
@ ADXL372_WUR_8192ms
Definition: adxl372.h:288
enum adxl372_act_proc_mode act_proc_mode
Definition: adxl372.h:401
@ ADXL372_ACTIVITY
Definition: adxl372.h:293
enum adxl372_filter_settle filter_settle
Definition: adxl372.h:408
adxl372_instant_on_th_mode
Definition: adxl372.h:276
#define ADXL372_MEASURE_AUTOSLEEP_MSK
Definition: adxl372.h:137
int32_t adxl372_set_bandwidth(struct adxl372_dev *dev, enum adxl372_bandwidth bw)
Definition: adxl372.c:212
#define ADXL372_INT1_MAP_ACT_MODE(x)
Definition: adxl372.h:185
adxl372_act_proc_mode
Definition: adxl372.h:262
#define ADXL372_INT2_MAP_ACT_MODE(x)
Definition: adxl372.h:203
int32_t adxl372_service_fifo_ev(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *fifo_data, uint16_t *fifo_entries)
Definition: adxl372.c:548
#define ADXL372_POWER_CTL_MODE_MSK
Definition: adxl372.h:133
enum adxl372_fifo_mode fifo_mode
Definition: adxl372.h:327
Definition: adxl372.h:368
#define ADXL372_STATUS_1_FIFO_FULL(x)
Definition: adxl372.h:167
#define ADXL372_TIME_INACT_L
Definition: adxl372.h:96
enum adxl372_instant_on_th_mode th_mode
Definition: adxl372.h:402
int32_t adxl372_read_reg(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: adxl372.c:61
@ ADXL372_INSTANT_ON_LOW_TH
Definition: adxl372.h:277
Definition: adxl372.h:332
Definition: adxl372.h:389
uint16_t thresh
Definition: adxl372.h:333
#define ADXL372_MEASURE_BANDWIDTH_MODE(x)
Definition: adxl372.h:144
int32_t adxl372_i2c_reg_read(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: adxl372_i2c.c:53
int32_t adxl372_set_activity_threshold(struct adxl372_dev *dev, enum adxl372_th_activity act, uint16_t thresh, bool referenced, bool enable)
Definition: adxl372.c:137
#define ADXL372_PARTID_VAL
Definition: adxl372.h:117
#define ADXL372_MEASURE_LINKLOOP_MSK
Definition: adxl372.h:139
@ ADXL372_WUR_24576ms
Definition: adxl372.h:289
adxl372_reg_write_func reg_write
Definition: adxl372.h:378
#define ADXL372_X_THRESH_INACT_H
Definition: adxl372.h:89
int32_t adxl372_init(struct adxl372_dev **device, struct adxl372_init_param init_param)
Definition: adxl372.c:700
@ ADXL372_BW_1600HZ
Definition: adxl372.h:258
@ ADXL372_Z_FIFO
Definition: adxl372.h:308
int32_t adxl372_read_reg_multiple(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data, uint16_t count)
Definition: adxl372.c:90
bool fifo_rdy
Definition: adxl372.h:346
#define ADXL372_POWER_CTL_INSTANT_ON_TH_MSK
Definition: adxl372.h:125
enum adxl372_wakeup_rate wur
Definition: adxl372.h:382
enum adxl372_odr odr
Definition: adxl372.h:399
struct adxl372_activity_threshold activity_th
Definition: adxl372.h:403
#define ADXL372_Z_THRESH_ACT_H
Definition: adxl372.h:86
int32_t adxl372_reset(struct adxl372_dev *dev)
Definition: adxl372.c:458
@ ADXL372_LOOPED
Definition: adxl372.h:265
struct no_os_i2c_init_param i2c_init
Definition: adxl372.h:393
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
struct adxl372_fifo_config fifo_config
Definition: adxl372.h:409
int32_t(* adxl372_reg_read_multi_func)(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data, uint16_t count)
Definition: adxl372.h:363
@ ADXL372_Z_AXIS
Definition: adxl372.h:244
int32_t adxl372_service_fifo_ev(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *fifo_data, uint16_t *fifo_entries)
Definition: adxl372.c:548
int32_t adxl372_reset(struct adxl372_dev *dev)
Definition: adxl372.c:458
#define ADXL372_INT1_MAP_DATA_RDY_MODE(x)
Definition: adxl372.h:175
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
@ ADXL372_XY_FIFO
Definition: adxl372.h:307
adxl372_reg_read_func reg_read
Definition: adxl372.h:377
struct adxl372_irq_config int2_config
Definition: adxl372.h:411
@ ADXL372_XYZ_FIFO
Definition: adxl372.h:304
@ ADXL372_ODR_1600HZ
Definition: adxl372.h:271
adxl372_filter_settle
Definition: adxl372.h:298
#define ADXL372_POWER_CTL_INSTANT_ON_TH_MODE(x)
Definition: adxl372.h:126
enum adxl372_fifo_format fifo_format
Definition: adxl372.h:328
Structure holding I2C address descriptor.
Definition: no_os_i2c.h:107
struct adxl372_irq_config int1_config
Definition: adxl372.h:410
#define ADXL372_INT2_MAP_INACT_MODE(x)
Definition: adxl372.h:201
#define ADXL372_STATUS_1_FIFO_RDY(x)
Definition: adxl372.h:166
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
#define ADXL372_INT1_MAP_FIFO_OVR_MODE(x)
Definition: adxl372.h:181
void * no_os_malloc(size_t size)
Allocate memory and return a pointer to it.
Definition: chibios_alloc.c:49
Header file of I2C Interface.
@ ADXL372_WUR_104ms
Definition: adxl372.h:283
@ ADXL372_FIFO_BYPASSED
Definition: adxl372.h:315
int32_t adxl372_configure_fifo(struct adxl372_dev *dev, enum adxl372_fifo_mode mode, enum adxl372_fifo_format format, uint16_t fifo_samples)
Definition: adxl372.c:499
@ ADXL372_FILTER_SETTLE_370
Definition: adxl372.h:299
#define ADXL372_Y_THRESH_ACT2_H
Definition: adxl372.h:99
#define ADXL372_INT2_MAP_LOW_MODE(x)
Definition: adxl372.h:207
int32_t adxl372_get_status(struct adxl372_dev *dev, uint8_t *status1, uint8_t *status2, uint16_t *fifo_entries)
Definition: adxl372.c:433
int32_t(* adxl372_reg_read_func)(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition: adxl372.h:357
int32_t adxl372_get_highest_peak_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *max_peak)
Definition: adxl372.c:631
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
#define ADXL372_INT1_MAP_AWAKE_MODE(x)
Definition: adxl372.h:187
#define ADXL372_INT1_MAP_FIFO_RDY_MODE(x)
Definition: adxl372.h:177
int32_t adxl372_set_filter_settle(struct adxl372_dev *dev, enum adxl372_filter_settle mode)
Definition: adxl372.c:376
@ ADXL372_FULL_BW_MEASUREMENT
Definition: adxl372.h:251
#define ADXL372_MEASURE
Definition: adxl372.h:109
uint16_t fifo_samples
Definition: adxl372.h:329
int32_t adxl372_set_wakeup_rate(struct adxl372_dev *dev, enum adxl372_wakeup_rate wur)
Definition: adxl372.c:322
@ ADXL372_INACTIVITY
Definition: adxl372.h:295
Definition: adxl372.h:344
int32_t adxl372_set_instant_on_th(struct adxl372_dev *dev, enum adxl372_instant_on_th_mode mode)
Definition: adxl372.c:291
int32_t adxl372_spi_reg_read_multiple(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data, uint16_t count)
Definition: adxl372_spi.c:100
struct no_os_gpio_desc * gpio_int2
Definition: adxl372.h:375
#define ADXL372_POWER_CTL_FIL_SETTLE_MODE(x)
Definition: adxl372.h:128
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:70
bool awake
Definition: adxl372.h:351
#define ADXL372_FIFO_CTL
Definition: adxl372.h:105
int32_t adxl372_get_fifo_xyz_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *samples, uint16_t cnt)
Definition: adxl372.c:591
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
int32_t adxl372_i2c_reg_write(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: adxl372_i2c.c:82
@ ADXL372_X_FIFO
Definition: adxl372.h:305
int32_t adxl372_set_instant_on_th(struct adxl372_dev *dev, enum adxl372_instant_on_th_mode mode)
Definition: adxl372.c:291
@ ADXL372_ODR_6400HZ
Definition: adxl372.h:273
uint16_t y
Definition: adxl372.h:340
#define ADXL372_INT2_MAP_AWAKE_MODE(x)
Definition: adxl372.h:205
@ ADXL372_INSTANT_ON_HIGH_TH
Definition: adxl372.h:278
enum adxl372_act_proc_mode act_proc_mode
Definition: adxl372.h:383
enum adxl372_bandwidth bw
Definition: adxl372.h:380
int32_t adxl372_set_activity_threshold(struct adxl372_dev *dev, enum adxl372_th_activity act, uint16_t thresh, bool referenced, bool enable)
Definition: adxl372.c:137
#define ADXL372_STATUS_1
Definition: adxl372.h:63
enum adxl372_comm_type comm_type
Definition: adxl372.h:386
int32_t adxl372_set_act_proc_mode(struct adxl372_dev *dev, enum adxl372_act_proc_mode mode)
Definition: adxl372.c:238
#define ADXL372_RESET_CODE
Definition: adxl372.h:119
adxl372_fifo_format
Definition: adxl372.h:303
int32_t adxl372_get_status(struct adxl372_dev *dev, uint8_t *status1, uint8_t *status2, uint16_t *fifo_entries)
Definition: adxl372.c:433
#define ADXL372_DEVID_VAL
Definition: adxl372.h:115
#define ADXL372_STATUS_1_DATA_RDY(x)
Definition: adxl372.h:165
Header file of GPIO Interface.
@ ADXL372_BW_3200HZ
Definition: adxl372.h:259
struct no_os_i2c_desc * i2c_desc
Definition: adxl372.h:372
@ ADXL372_STANDBY
Definition: adxl372.h:248
int32_t adxl372_set_wakeup_rate(struct adxl372_dev *dev, enum adxl372_wakeup_rate wur)
Definition: adxl372.c:322
#define ADXL372_POWER_CTL_FIL_SETTLE_MSK
Definition: adxl372.h:127
bool data_rdy
Definition: adxl372.h:345
@ ADXL372_WAKE_UP
Definition: adxl372.h:249
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
#define ADXL372_INT2_MAP_FIFO_OVR_MODE(x)
Definition: adxl372.h:199
int32_t adxl372_set_odr(struct adxl372_dev *dev, enum adxl372_odr odr)
Definition: adxl372.c:266
#define ADXL372_X_THRESH_ACT_L
Definition: adxl372.h:83
@ ADXL372_ODR_400HZ
Definition: adxl372.h:269
Header file of utility functions.
#define ADXL372_INT2_MAP
Definition: adxl372.h:107
adxl372_axis
Definition: adxl372.h:241
#define ADXL372_X_THRESH_ACT2_L
Definition: adxl372.h:98
#define ADXL372_PARTID
Definition: adxl372.h:61
#define ADXL372_INT2_MAP_FIFO_FULL_MODE(x)
Definition: adxl372.h:197
@ SPI
Definition: adxl372.h:322
enum adxl372_op_mode op_mode
Definition: adxl372.h:412
int32_t adxl372_get_fifo_xyz_data(struct adxl372_dev *dev, struct adxl372_xyz_accel_data *fifo_data, uint16_t cnt)
Definition: adxl372.c:591
int32_t adxl372_write_mask(struct adxl372_dev *dev, uint8_t reg_addr, uint32_t mask, uint8_t data)
Definition: adxl372.c:106
int32_t adxl372_set_op_mode(struct adxl372_dev *dev, enum adxl372_op_mode op_mode)
Definition: adxl372.c:176
uint16_t x
Definition: adxl372.h:339
int32_t adxl372_i2c_reg_read_multiple(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t *reg_data, uint16_t count)
Definition: adxl372_i2c.c:103
#define ADXL372_X_THRESH_ACT_H
Definition: adxl372.h:82
int32_t adxl372_set_odr(struct adxl372_dev *dev, enum adxl372_odr odr)
Definition: adxl372.c:266
dev_id
Definition: ad9361.h:3334
Definition: adxl372.h:338
uint16_t inactivity_time
Definition: adxl372.h:407
int32_t adxl372_set_bandwidth(struct adxl372_dev *dev, enum adxl372_bandwidth bw)
Definition: adxl372.c:212
#define ADXL372_Z_THRESH_INACT_L
Definition: adxl372.h:94
#define ADXL372_INT2_MAP_DATA_RDY_MODE(x)
Definition: adxl372.h:193
#define ADXL372_TIME_ACT
Definition: adxl372.h:88
int32_t adxl372_set_inactivity_time(struct adxl372_dev *dev, uint16_t time)
Definition: adxl372.c:357
@ ADXL372_ODR_3200HZ
Definition: adxl372.h:272
#define ADXL372_TIMING_ODR_MODE(x)
Definition: adxl372.h:148
int32_t adxl372_write_mask(struct adxl372_dev *dev, uint8_t reg_addr, uint32_t mask, uint8_t data)
Definition: adxl372.c:106
@ ADXL372_ODR_800HZ
Definition: adxl372.h:270
int32_t adxl372_set_activity_time(struct adxl372_dev *dev, uint8_t time)
Definition: adxl372.c:345
int32_t adxl372_write_reg(struct adxl372_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition: adxl372.c:75
adxl372_odr
Definition: adxl372.h:268
struct no_os_spi_desc * spi_desc
Definition: adxl372.h:370
@ ADXL372_Y_AXIS
Definition: adxl372.h:243
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
int32_t adxl372_set_inactivity_time(struct adxl372_dev *dev, uint16_t time)
Definition: adxl372.c:357
#define ADXL372_POWER_CTL
Definition: adxl372.h:110
int32_t adxl372_configure_fifo(struct adxl372_dev *dev, enum adxl372_fifo_mode mode, enum adxl372_fifo_format format, uint16_t fifo_samples)
Definition: adxl372.c:499