no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adxl38x.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __ADXL38X_H__
34#define __ADXL38X_H__
35
36#include <stdint.h>
37#include <stdbool.h>
38#include "no_os_i2c.h"
39#include "no_os_spi.h"
40
41/* Constants and Macros */
42
43/* SPI */
44#define ADXL38X_SPI_READ 0x01
45#define ADXL38X_SPI_WRITE 0x00
46
47/* Register Map fo ADXL38X (Rev H DS)*/
48#define ADXL38X_DEVID_AD 0x00
49#define ADXL38X_DEVID_MST 0x01
50#define ADXL38X_PART_ID 0x02
51#define ADXL38X_PART_ID_REV_ID 0x03
52#define ADXL38X_SERIAL_NUMBER_0 0x04
53#define ADXL38X_SERIAL_NUMBER_1 0x05
54#define ADXL38X_SERIAL_NUMBER_2 0x06
55#define ADXL38X_SERIAL_NUMBER_3 0x07
56#define ADXL38X_SERIAL_NUMBER_4 0x08
57#define ADXL38X_SERIAL_NUMBER_5 0x09
58#define ADXL38X_SERIAL_NUMBER_6 0x0A
59#define ADXL38X_DEV_DELTA_Q_X 0x0B
60#define ADXL38X_DEV_DELTA_Q_Y 0x0C
61#define ADXL38X_DEV_DELTA_Q_Z 0x0D
62#define ADXL38X_DEV_DELTA_F0_X 0x0E
63#define ADXL38X_DEV_DELTA_F0_Y 0x0F
64#define ADXL38X_DEV_DELTA_F0_Z 0x10
65#define ADXL38X_STATUS0 0x11
66#define ADXL38X_STATUS1 0x12
67#define ADXL38X_STATUS2 0x13
68#define ADXL38X_STATUS3 0x14
69#define ADXL38X_XDATA_H 0x15
70#define ADXL38X_XDATA_L 0x16
71#define ADXL38X_YDATA_H 0x17
72#define ADXL38X_YDATA_L 0x18
73#define ADXL38X_ZDATA_H 0x19
74#define ADXL38X_ZDATA_L 0x1A
75#define ADXL38X_TDATA_H 0x1B
76#define ADXL38X_TDATA_L 0x1C
77#define ADXL38X_FIFO_DATA 0x1D
78#define ADXL38X_FIFO_STATUS0 0x1E
79#define ADXL38X_FIFO_STATUS1 0x1F
80#define ADXL38X_MISC0 0x20
81#define ADXL38X_MISC1 0x21
82#define ADXL38X_SENS_DSM 0x24
83#define ADXL38X_CLK_CTRL 0x25
84#define ADXL38X_OP_MODE 0x26
85#define ADXL38X_DIG_EN 0x27
86#define ADXL38X_SAR_I2C 0x28
87#define ADXL38X_NVM_CTL 0x29
88#define ADXL38X_REG_RESET 0x2A
89#define ADXL38X_INT0_MAP0 0x2B
90#define ADXL38X_INT0_MAP1 0x2C
91#define ADXL38X_INT1_MAP0 0x2D
92#define ADXL38X_INT1_MAP1 0x2E
93#define ADXL38X_TEST_EN 0x2F
94#define ADXL38X_FIFO_CFG0 0x30
95#define ADXL38X_FIFO_CFG1 0x31
96#define ADXL38X_SPT_CFG0 0x32
97#define ADXL38X_SPT_CFG1 0x33
98#define ADXL38X_SPT_CFG2 0x34
99#define ADXL38X_SYNC_CFG 0x35
100#define ADXL38X_PDM_CFG 0x36
101#define ADXL38X_ACT_INACT_CTL 0x37
102#define ADXL38X_SNSR_AXIS_EN 0x38
103#define ADXL38X_THRESH_ACT_H 0x39
104#define ADXL38X_THRESH_ACT_L 0x3A
105#define ADXL38X_TIME_ACT_H 0x3B
106#define ADXL38X_TIME_ACT_M 0x3C
107#define ADXL38X_TIME_ACT_L 0x3D
108#define ADXL38X_THRESH_INACT_H 0x3E
109#define ADXL38X_THRESH_INACT_L 0x3F
110#define ADXL38X_TIME_INACT_H 0x40
111#define ADXL38X_TIME_INACT_M 0x41
112#define ADXL38X_TIME_INACT_L 0x42
113#define ADXL38X_TAP_THRESH 0x43
114#define ADXL38X_TAP_DUR 0x44
115#define ADXL38X_TAP_LATENT 0x45
116#define ADXL38X_TAP_WINDOW 0x46
117#define ADXL38X_TAP_CFG 0x47
118#define ADXL38X_OR_CFG 0x48
119#define ADXL38X_TRIG_CFG 0x49
120#define ADXL38X_X_SAR_OFFSET 0x4A
121#define ADXL38X_Y_SAR_OFFSET 0x4B
122#define ADXL38X_Z_SAR_OFFSET 0x4C
123#define ADXL38X_X_DSM_OFFSET 0x4D
124#define ADXL38X_Y_DSM_OFFSET 0x4E
125#define ADXL38X_Z_DSM_OFFSET 0x4F
126#define ADXL38X_FILTER 0x50
127#define ADXL38X_USER_TEMP_SENS_0 0x55
128#define ADXL38X_USER_TEMP_SENS_1 0x56
129#define ADXL38X_MISO 0x58
130#define ADXL38X_SOUT0 0x59
131#define ADXL38X_MCLK 0x5A
132#define ADXL38X_BCLK 0x5B
133#define ADXL38X_FSYNC 0x5C
134#define ADXL38X_INT0 0x5D
135#define ADXL38X_INT1 0x5E
136
137/* Register reset value for ADXL38X */
138#define ADXL38X_RESET_ZERO 0x00
139#define ADXL38X_RESET_DEVID_AD 0xAD
140#define ADXL38X_RESET_DEVID_MST 0x1D
141#define ADXL38X_RESET_PART_ID 0x17
142#define ADXL38X_RESET_PART_ID_REV_ID 0xC1
143#define ADXL38X_RESET_STATUS0 0x80
144#define ADXL38X_RESET_STATUS2 0x04
145#define ADXL38X_RESET_INT0_MAP0 0x80
146#define ADXL38X_RESET_INT1_MAP1 0x80
147#define ADXL38X_RESET_SPT_CFG1 0x08
148#define ADXL38X_RESET_SPT_CFG2 0x1A
149
150/* Register masks */
151#define ADXL38X_MASK_RANGE 0xC0
152#define ADXL38X_MASK_OP_MODE 0x0F
153#define ADXL38X_MASK_CHEN_DIG_EN 0xF0
154#define ADXL38X_NEG_ACC_MSK NO_OS_GENMASK(31, 16)
155#define ADXL38X_SLF_TST_CTRL_MSK 0xE0
156#define ADXL38X_FIFOCFG_FIFOMODE_MSK 0x30
157
158/* Pre-defined codes */
159#define ADXL38X_RESET_CODE 0x52
160#define ADXL38X_RESET_STATUS 0x80000400
161
162/* Scale Factors */
163/*
164 * ADXL380
165 * At +/- 4g with 16-bit resolution, scale from datasheet = 133.3ug/LSB.
166 * 1333 * (10^-7)
167 * For +/- 8g range a multiplier with value 2 is used.
168 * For +/-16g range, a multiplier with value 4 is used.
169 */
170#define ADXL380_ACC_SCALE_FACTOR_GEE_MUL (int64_t) 1333
171/*
172 * ADXL382
173 * At +/- 15g with 16-bit resolution, scale from datasheet = 500ug/LSB.
174 * 5000 * (10^-7)
175 * For +/- 30g range a multiplier with value 2 is used.
176 * For +/-60g range, a multiplier with value 4 is used.
177 */
178#define ADXL382_ACC_SCALE_FACTOR_GEE_MUL (int64_t) 5000
179/* Common denominator for ADXL380 and ADXL382 */
180#define ADXL38X_ACC_SCALE_FACTOR_GEE_DIV (int32_t) 10000000
181/*
182 * ADXL380/382 Temperature
183 *
184 * scale is 10.2 LSB/C.
185 * Offset = 550LSB at 25C
186 * offset at 0C = 550 - (10.2 * 25) LSB
187 * offset at 0C = 295 LSB
188 */
189#define ADXL38X_TEMP_OFFSET (int32_t) 295
190#define ADXL38X_TEMP_SCALE_NUM (int32_t) 102
191#define ADXL38X_TEMP_SCALE_DEN (int32_t) 10
192
193/* Sensitivity */
194/*
195 * ADXL380
196 * At +/- 4g with 16-bit resolution, sensitivity from datasheet = 7500LSB/g.
197 * For +/- 8g range a divisor with value 2 is used.
198 * For +/-16g range, a divisor with value 4 is used.
199 */
200#define ADXL380_ACC_SENSITIVITY (int32_t) 7500
201/*
202 * ADXL382
203 * At +/- 15g with 16-bit resolution, sensitivity from datasheet = 2000LSB/g.
204 * For +/- 30g range a divisor with value 2 is used.
205 * For +/-60g range, a divisor with value 4 is used.
206 */
207#define ADXL382_ACC_SENSITIVITY (int32_t) 2000
208
209/* Self Test Limits */
210/* ADXL380 */
211#define ADXL380_XY_ST_LIMIT_MIN 29
212#define ADXL380_Z_ST_LIMIT_MIN 27
213#define ADXL380_XY_ST_LIMIT_MAX 50
214#define ADXL380_Z_ST_LIMIT_MAX 32
215/* ADXL382 */
216#define ADXL382_XY_ST_LIMIT_MIN 31
217#define ADXL382_Z_ST_LIMIT_MIN 26
218#define ADXL382_XY_ST_LIMIT_MAX 42
219#define ADXL382_Z_ST_LIMIT_MAX 34
220
221#define ADXL38X_ST_LIMIT_DENOMINATOR 10
222
231
236
249
269
287
298
304 int64_t integer;
305 int32_t fractional;
306};
307
314
321
340
353
355 //Status 3
356 uint8_t DATA_READY : 1;
357 uint8_t RESERVED2 : 7;
358 //Status 2
359 uint8_t UV_FLAG : 1;
360 uint8_t UV_FLAG_STICKY : 1;
361 uint8_t RESERVED1 : 1;
362 uint8_t NVM_CRC_ERR : 1;
363 uint8_t NVM_CRC_DONE : 1;
364 uint8_t NVM_ECC_DET : 1;
365 uint8_t RESERVED : 1;
366 uint8_t NVM_ECC_DONE : 1;
367 //Status 1
368 uint8_t SINGLE_TAP : 1;
369 uint8_t DOUBLE_TAP : 1;
370 uint8_t TRIPLE_TAP : 1;
371 uint8_t OVER_RANGE : 1;
372 uint8_t OVER_RANGE_STICKY : 1;
373 uint8_t ACT : 1;
374 uint8_t INACT : 1;
375 uint8_t NVM_IRQ : 1;
376 //Status 0
377 uint8_t PARITY_ERR_STICKY : 1;
378 uint8_t FIFO_FULL : 1;
379 uint8_t FIFO_OVR : 1;
380 uint8_t FIFO_WATERMARK : 1;
381 uint8_t FIFO_READY : 1;
383 uint8_t NVM_DONE : 1;
384 uint8_t NVM_BUSY_STATUS : 1;
385};
386
391
392int adxl38x_read_device_data(struct adxl38x_dev *dev, uint8_t base_address,
393 uint16_t size, uint8_t *read_data);
394int adxl38x_write_device_data(struct adxl38x_dev *dev, uint8_t base_address,
395 uint16_t size, uint8_t *write_data);
396
397int adxl38x_register_update_bits(struct adxl38x_dev *dev, uint8_t reg_addr,
398 uint8_t mask,
399 uint8_t update_val);
400
401int adxl38x_init(struct adxl38x_dev **device,
403
404int adxl38x_remove(struct adxl38x_dev *dev);
405
406int adxl38x_soft_reset(struct adxl38x_dev *dev);
407
408int adxl38x_get_sts_reg(struct adxl38x_dev *dev,
409 union adxl38x_sts_reg_flags *status_flags);
410
411int adxl38x_set_op_mode(struct adxl38x_dev *dev, enum adxl38x_op_mode op_mode);
412
413int adxl38x_get_op_mode(struct adxl38x_dev *dev, enum adxl38x_op_mode *op_mode);
414
415int adxl38x_set_range(struct adxl38x_dev *dev, enum adxl38x_range range_val);
416
417int adxl38x_get_range(struct adxl38x_dev *dev, enum adxl38x_range *range_val);
418
419int adxl38x_get_deviceID(struct adxl38x_dev *dev,
420 enum adxl38x_id *devID);
421
422int adxl38x_set_self_test_registers(struct adxl38x_dev *dev, bool st_mode,
423 bool st_force, bool st_dir);
424
425int adxl38x_get_sts_reg(struct adxl38x_dev *dev,
426 union adxl38x_sts_reg_flags *status_flags);
427
428int adxl38x_get_raw_xyz(struct adxl38x_dev *dev, uint16_t *raw_x,
429 uint16_t *raw_y, uint16_t *raw_z);
430
431int adxl38x_get_temp(struct adxl38x_dev *dev,
432 struct adxl38x_fractional_val *raw_temp);
433
434int adxl38x_get_raw_data(struct adxl38x_dev *dev,
435 enum adxl38x_ch_select channels,
436 uint16_t *raw_x, uint16_t *raw_y,
437 uint16_t *raw_z, uint16_t *raw_temp);
438
439int adxl38x_get_xyz_gees(struct adxl38x_dev *dev,
440 enum adxl38x_ch_select channels,
442 struct adxl38x_fractional_val *z);
443
444int adxl38x_selftest(struct adxl38x_dev *dev, enum adxl38x_op_mode op_mode,
445 bool *st_x, bool *st_y, bool *st_z);
446
447int adxl38x_accel_set_FIFO(struct adxl38x_dev *dev, uint16_t numSamples,
448 bool externalTrigger, enum adxl38x_fifo_mode fifo_mode,
449 bool chIDEnable, bool readReset);
450
451int adxl38x_data_raw_to_gees(struct adxl38x_dev *dev, uint8_t *raw_accel_data,
452 struct adxl38x_fractional_val *data_frac);
453
454#endif /* __ADXL38X_H__ */
455
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int adxl38x_register_update_bits(struct adxl38x_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t update_val)
Updates register with specified bits using given mask.
Definition adxl38x.c:123
int adxl38x_set_op_mode(struct adxl38x_dev *dev, enum adxl38x_op_mode op_mode)
Places the device into the given operation mode.
Definition adxl38x.c:285
adxl38x_id
Definition adxl38x.h:227
@ ID_ADXL382
Definition adxl38x.h:229
@ ID_ADXL380
Definition adxl38x.h:228
@ ADXL38X_FIFO_STREAM
Definition adxl38x.h:295
@ ADXL38X_FIFO_NORMAL
Definition adxl38x.h:294
@ ADXL38X_FIFO_DISABLE
Definition adxl38x.h:293
@ ADXL38X_FIFO_TRIGGER
Definition adxl38x.h:296
int adxl38x_soft_reset(struct adxl38x_dev *dev)
Performs a soft reset of the device.
Definition adxl38x.c:257
adxl38x_ch_select
Definition adxl38x.h:274
@ ADXL38X_CH_EN_X
Definition adxl38x.h:276
@ ADXL38X_CH_EN_YZ
Definition adxl38x.h:280
@ ADXL38X_CH_EN_Y
Definition adxl38x.h:277
@ ADXL38X_CH_EN_XYZT
Definition adxl38x.h:285
@ ADXL38X_CH_EN_XY
Definition adxl38x.h:278
@ ADXL38X_CH_DSB_ALL
Definition adxl38x.h:275
@ ADXL38X_CH_EN_YZT
Definition adxl38x.h:284
@ ADXL38X_CH_EN_XYZ
Definition adxl38x.h:281
@ ADXL38X_CH_EN_T
Definition adxl38x.h:282
@ ADXL38X_CH_EN_Z
Definition adxl38x.h:279
@ ADXL38X_CH_EN_ZT
Definition adxl38x.h:283
int adxl38x_read_device_data(struct adxl38x_dev *dev, uint8_t base_address, uint16_t size, uint8_t *read_data)
Reads from the device.
Definition adxl38x.c:56
adxl38x_range
Definition adxl38x.h:241
@ ADXL382_RANGE_60G
Definition adxl38x.h:247
@ ADXL380_RANGE_16G
Definition adxl38x.h:246
@ ADXL380_RANGE_8G
Definition adxl38x.h:244
@ ADXL380_RANGE_4G
Definition adxl38x.h:242
@ ADXL382_RANGE_15G
Definition adxl38x.h:243
@ ADXL382_RANGE_30G
Definition adxl38x.h:245
int adxl38x_selftest(struct adxl38x_dev *dev, enum adxl38x_op_mode op_mode, bool *st_x, bool *st_y, bool *st_z)
Executed Selftest on the sensing axes and returns the outcome of the test.
Definition adxl38x.c:746
int adxl38x_remove(struct adxl38x_dev *dev)
Free the resources allocated by the init function.
Definition adxl38x.c:237
int adxl38x_data_raw_to_gees(struct adxl38x_dev *dev, uint8_t *raw_accel_data, struct adxl38x_fractional_val *data_frac)
Function to convert accel data to gees.
Definition adxl38x.c:944
int adxl38x_get_range(struct adxl38x_dev *dev, enum adxl38x_range *range_val)
Gets the current range setting of the device.
Definition adxl38x.c:353
int adxl38x_write_device_data(struct adxl38x_dev *dev, uint8_t base_address, uint16_t size, uint8_t *write_data)
Writes to the device.
Definition adxl38x.c:94
int adxl38x_get_op_mode(struct adxl38x_dev *dev, enum adxl38x_op_mode *op_mode)
Gets the current operation mode of the device.
Definition adxl38x.c:308
int adxl38x_init(struct adxl38x_dev **device, struct adxl38x_init_param init_param)
Initializes the device and checks for valid peripheral communication.
Definition adxl38x.c:154
int adxl38x_get_deviceID(struct adxl38x_dev *dev, enum adxl38x_id *devID)
Gets the current device type.
Definition adxl38x.c:377
adxl38x_comm_type
Definition adxl38x.h:232
@ ADXL38X_SPI_COMM
Definition adxl38x.h:233
@ ADXL38X_I2C_COMM
Definition adxl38x.h:234
int adxl38x_accel_set_FIFO(struct adxl38x_dev *dev, uint16_t numSamples, bool externalTrigger, enum adxl38x_fifo_mode fifo_mode, bool chIDEnable, bool readReset)
Function to set the paramenters for FIFO mode.
Definition adxl38x.c:883
adxl38x_op_mode
Definition adxl38x.h:254
@ ADXL38X_MODE_LP_SERIAL_ULP_OP
Definition adxl38x.h:260
@ ADXL38X_MODE_HP
Definition adxl38x.h:265
@ ADXL38X_MODE_LP_SERIAL_VLP_OP
Definition adxl38x.h:261
@ ADXL38X_MODE_ULP
Definition adxl38x.h:257
@ ADXL38X_MODE_HRT_SND
Definition adxl38x.h:256
@ ADXL38X_MODE_RBW
Definition adxl38x.h:262
@ ADXL38X_MODE_HP_SERIAL_VLP_OP
Definition adxl38x.h:267
@ ADXL38X_MODE_VLP
Definition adxl38x.h:258
@ ADXL38X_MODE_STDBY
Definition adxl38x.h:255
@ ADXL38X_MODE_RBW_SERIAL_VLP_OP
Definition adxl38x.h:264
@ ADXL38X_MODE_LP
Definition adxl38x.h:259
@ ADXL38X_MODE_HP_SERIAL_ULP_OP
Definition adxl38x.h:266
@ ADXL38X_MODE_RBW_SERIAL_ULP_OP
Definition adxl38x.h:263
int adxl38x_set_self_test_registers(struct adxl38x_dev *dev, bool st_mode, bool st_force, bool st_dir)
Sets the part to execute self-test routine.
Definition adxl38x.c:405
int adxl38x_get_raw_data(struct adxl38x_dev *dev, enum adxl38x_ch_select channels, uint16_t *raw_x, uint16_t *raw_y, uint16_t *raw_z, uint16_t *raw_temp)
Reads the raw output data using burst read.
Definition adxl38x.c:568
int adxl38x_get_temp(struct adxl38x_dev *dev, struct adxl38x_fractional_val *raw_temp)
Reads the raw temperature data using burst read.
Definition adxl38x.c:518
int adxl38x_set_range(struct adxl38x_dev *dev, enum adxl38x_range range_val)
Sets the measurement range register value.
Definition adxl38x.c:332
int adxl38x_get_raw_xyz(struct adxl38x_dev *dev, uint16_t *raw_x, uint16_t *raw_y, uint16_t *raw_z)
Reads the raw output data using continuous read.
Definition adxl38x.c:477
int adxl38x_get_sts_reg(struct adxl38x_dev *dev, union adxl38x_sts_reg_flags *status_flags)
Reads the status registers.
Definition adxl38x.c:453
int adxl38x_get_xyz_gees(struct adxl38x_dev *dev, enum adxl38x_ch_select channels, struct adxl38x_fractional_val *x, struct adxl38x_fractional_val *y, struct adxl38x_fractional_val *z)
Reads the raw output data of each axis and converts it to g.
Definition adxl38x.c:653
Header file of I2C Interface.
Header file of SPI Interface.
Definition adxl38x.h:354
uint8_t ACT
Definition adxl38x.h:373
uint8_t DOUBLE_TAP
Definition adxl38x.h:369
uint8_t EFUSE_BUSY_REGERR_STICKY
Definition adxl38x.h:382
uint8_t RESERVED
Definition adxl38x.h:365
uint8_t FIFO_WATERMARK
Definition adxl38x.h:380
uint8_t NVM_ECC_DONE
Definition adxl38x.h:366
uint8_t NVM_IRQ
Definition adxl38x.h:375
uint8_t OVER_RANGE_STICKY
Definition adxl38x.h:372
uint8_t INACT
Definition adxl38x.h:374
uint8_t RESERVED1
Definition adxl38x.h:361
uint8_t TRIPLE_TAP
Definition adxl38x.h:370
uint8_t RESERVED2
Definition adxl38x.h:357
uint8_t OVER_RANGE
Definition adxl38x.h:371
uint8_t SINGLE_TAP
Definition adxl38x.h:368
uint8_t UV_FLAG
Definition adxl38x.h:359
uint8_t FIFO_FULL
Definition adxl38x.h:378
uint8_t FIFO_OVR
Definition adxl38x.h:379
uint8_t UV_FLAG_STICKY
Definition adxl38x.h:360
uint8_t NVM_BUSY_STATUS
Definition adxl38x.h:384
uint8_t PARITY_ERR_STICKY
Definition adxl38x.h:377
uint8_t FIFO_READY
Definition adxl38x.h:381
uint8_t NVM_DONE
Definition adxl38x.h:383
uint8_t DATA_READY
Definition adxl38x.h:356
uint8_t NVM_CRC_DONE
Definition adxl38x.h:363
uint8_t NVM_CRC_ERR
Definition adxl38x.h:362
uint8_t NVM_ECC_DET
Definition adxl38x.h:364
ADXL38X Device structure.
Definition adxl38x.h:326
enum adxl38x_id dev_type
Definition adxl38x.h:328
enum adxl38x_op_mode op_mode
Definition adxl38x.h:336
enum adxl38x_comm_type comm_type
Definition adxl38x.h:332
union adxl38x_comm_desc com_desc
Definition adxl38x.h:330
uint8_t comm_buff[320]
Definition adxl38x.h:338
enum adxl38x_range range
Definition adxl38x.h:334
ADXL38X FIFO mode (FIFO_CFG1[5:4]).
Data format in which the values are converted.
Definition adxl38x.h:303
int64_t integer
Definition adxl38x.h:304
int32_t fractional
Definition adxl38x.h:305
Structure holding the parameters for ADXL38X device initialization.
Definition adxl38x.h:345
enum adxl38x_comm_type comm_type
Definition adxl38x.h:349
union adxl38x_comm_init_param comm_init
Definition adxl38x.h:347
enum adxl38x_id dev_type
Definition adxl38x.h:351
ADXL38X Operating modes (OP MODE[3:0]).
ADXL38X Range (OP MODE[7:6]).
Definition ad9361_util.h:63
Structure holding I2C address descriptor.
Definition no_os_i2c.h:89
Structure holding the parameters for I2C initialization.
Definition no_os_i2c.h:52
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Definition adxl38x.h:308
struct no_os_i2c_desc * i2c_desc
Definition adxl38x.h:310
struct no_os_spi_desc * spi_desc
Definition adxl38x.h:312
Definition adxl38x.h:315
struct no_os_i2c_init_param i2c_init
Definition adxl38x.h:317
struct no_os_spi_init_param spi_init
Definition adxl38x.h:319
Definition adxl38x.h:387
struct _adxl38x_sts_reg_flags fields
Definition adxl38x.h:388
uint32_t value
Definition adxl38x.h:389