Go to the documentation of this file.
55 #define ADXL313_SPI_READ (0x80)
56 #define ADXL313_SPI_WRITE (0x00)
57 #define ADXL313_MULTIBIT NO_OS_BIT(6)
60 #define ADXL313_REG_DEVID_AD 0x00
61 #define ADXL313_REG_DEVID1_AD 0x01
62 #define ADXL313_REG_PARTID 0x02
63 #define ADXL313_REG_REVID 0x03
64 #define ADXL313_REG_XID 0x04
65 #define ADXL313_REG_SOFT_RESET 0x18
66 #define ADXL313_REG_OFS_AXIS(index) (0x1E + (index))
67 #define ADXL313_REG_THRESH_ACT 0x24
68 #define ADXL313_REG_THRESH_INACT 0x25
69 #define ADXL313_REG_TIME_INACT 0x26
70 #define ADXL313_REG_ACT_INACT_CTL 0x27
71 #define ADXL313_REG_BW_RATE 0x2C
72 #define ADXL313_REG_POWER_CTL 0x2D
73 #define ADXL313_REG_INT_EN 0x2E
74 #define ADXL313_REG_INT_MAP 0x2F
75 #define ADXL313_REG_INT_SRC 0x30
76 #define ADXL313_REG_DATA_FORMAT 0x31
77 #define ADXL313_REG_DATA_AXIS(index) (0x32 + ((index) * 2))
78 #define ADXL313_REG_FIFO_CTL 0x38
79 #define ADXL313_REG_FIFO_STATUS 0x39
82 #define ADXL313_DEVID 0xAD
84 #define ADXL313_DEVID1 0x1D
86 #define ADXL313_PARTID 0xCB
88 #define ADXL314_DEVID 0xE5
91 #define ADXL313_RESET_KEY 0x52
94 #define ADXL313_MAX_FIFO_SAMPLES_VAL 0x60
97 #define ADXL313_RATE_MSK NO_OS_GENMASK(3, 0)
98 #define ADXL313_LOW_POWER_OP NO_OS_BIT(4)
101 #define ADXL313_POWER_CTL_I2C_DISABLE NO_OS_BIT(6)
102 #define ADXL313_POWER_CTL_LINK NO_OS_BIT(5)
103 #define ADXL313_POWER_CTL_AUTO_SLEEP NO_OS_BIT(4)
104 #define ADXL313_POWER_CTL_MEASURE NO_OS_BIT(3)
105 #define ADXL313_POWER_CTL_SLEEP NO_OS_BIT(2)
106 #define ADXL313_POWER_CTL_WAKEUP(x) ((x) & 0x3)
109 #define ADXL313_REG_INT_EN_DATA_READY NO_OS_BIT(7)
110 #define ADXL313_REG_INT_EN_ACTIVITY NO_OS_BIT(4)
111 #define ADXL313_REG_INT_EN_INACTIVITY NO_OS_BIT(3)
112 #define ADXL313_REG_INT_EN_WATERMARK NO_OS_BIT(1)
113 #define ADXL313_REG_INT_EN_OVERRUN NO_OS_BIT(0)
116 #define ADXL313_REG_INT_MAP_DR_INT2 NO_OS_BIT(7)
117 #define ADXL313_REG_INT_MAP_ACT_INT2 NO_OS_BIT(4)
118 #define ADXL313_REG_INT_MAP_INACT_INT2 NO_OS_BIT(3)
119 #define ADXL313_REG_INT_MAP_WM_INT2 NO_OS_BIT(1)
120 #define ADXL313_REG_INT_MAP_OVER_INT2 NO_OS_BIT(0)
123 #define ADXL313_REG_INT_SRC_DATA_READY NO_OS_BIT(7)
124 #define ADXL313_REG_INT_SRC_ACTIVITY NO_OS_BIT(4)
125 #define ADXL313_REG_INT_SRC_INACTIVITY NO_OS_BIT(3)
126 #define ADXL313_REG_INT_SRC_WATERMARK NO_OS_BIT(1)
127 #define ADXL313_REG_INT_SRC_OVERRUN NO_OS_BIT(0)
130 #define ADXL313_REG_DATA_FORMAT_SELF_TEST NO_OS_BIT(7)
131 #define ADXL313_REG_DATA_FORMAT_SPI_3WIRE NO_OS_BIT(6)
132 #define ADXL313_REG_DATA_FORMAT_INT_INV NO_OS_BIT(5)
133 #define ADXL313_REG_DATA_FORMAT_FULL_RES NO_OS_BIT(3)
134 #define ADXL313_REG_DATA_FORMAT_JUSTIFY_BIT NO_OS_BIT(2)
135 #define ADXL313_REG_DATA_FORMAT_RANGE NO_OS_GENMASK(1, 0)
138 #define ADXL313_REG_FIFO_CTL_MODE_MSK NO_OS_GENMASK(7, 6)
139 #define ADXL313_REG_FIFO_CTL_TRIGGER_BIT NO_OS_BIT(5)
140 #define ADXL313_REG_FIFO_CTL_SAMPLES_MSK NO_OS_GENMASK(4, 0)
143 #define ADXL313_REG_FIFO_FIFO_TRIGGER_BIT NO_OS_BIT(7)
144 #define ADXL313_REG_FIFO_STS_ENTRIES_MSK NO_OS_GENMASK(5, 0)
151 #define ADXL312_ACC_SCALE_FACTOR_MUL_FULL_RES ((int64_t)28439285ULL)
163 #define ADXL313_ACC_SCALE_FACTOR_MUL_FULL_RES ((int64_t)957680664ULL)
166 #define ADXL313_ACC_SCALE_FACTOR_MUL_DIVIDER ((int32_t)100)
173 #define ADXL314_ACC_SCALE_FACTOR_MUL ((int64_t)478858719ULL)
174 #define ADXL313_ACC_SCALE_FACTOR_DIV ((int32_t)1000000000)
178 #define ADXL312_OFFSET_SCALE_FACTOR 11600
182 #define ADXL313_OFFSET_SCALE_FACTOR 3900
186 #define ADXL314_OFFSET_SCALE_FACTOR 195000
190 #define ADXL312_THRESH_SCALE_FACTOR 46400
194 #define ADXL313_THRESH_SCALE_FACTOR 15625
198 #define ADXL314_THRESH_SCALE_FACTOR 784000
201 #define ADXL313_ODR_OFFSET_VAL 6
204 #define ADXL313_REGS_PER_ENTRY 6
207 #define ADXL313_MAX_FIFO_ENTRIES 32
210 #define ADXL313_SELF_TEST_SAMPLES 10
213 #define ADXL312_SELF_TEST_MULT 2900
214 #define ADXL313_SELF_TEST_MULT 976
215 #define ADXL314_SELF_TEST_MULT 4883
216 #define ADXL313_SELF_TEST_DIV 1000
219 #define ADXL312_SELF_TEST_MIN_DEVIATION 300
221 #define ADXL312_SELF_TEST_MAX_DEVIATION 3400
224 #define ADXL313_SELF_TEST_MIN_DEVIATION 300
226 #define ADXL313_SELF_TEST_MAX_DEVIATION 3700
229 #define ADXL314_SELF_TEST_MIN_DEVIATION 100
231 #define ADXL314_SELF_TEST_MAX_DEVIATION 8000
234 #define ADXL313_RANGE_FACTOR 4
238 #define ADXL313_X_EN NO_OS_BIT(1)
239 #define ADXL313_Y_EN NO_OS_BIT(2)
240 #define ADXL313_Z_EN NO_OS_BIT(3)
593 uint8_t *entries_no);
605 int16_t *x_raw, int16_t *y_raw, int16_t *z_raw);
644 uint32_t act_thresh_ug,
651 uint32_t inact_thresh_ug,
673 uint8_t inact_thr, uint8_t time_inact_s);
uint8_t x_offset_raw
Definition: adxl313.h:513
uint8_t value
Definition: adxl313.h:441
Union holding the flags for ADXL313 interrupt source.
Definition: adxl313.h:448
Data format in which the acceleration values are converted.
Definition: adxl313.h:394
int adxl313_get_act_thr(struct adxl313_dev *dev, uint32_t *act_thr_ug)
Definition: adxl313.c:1032
int adxl313_get_inact_thr(struct adxl313_dev *dev, uint32_t *inact_thr_ug)
Definition: adxl313.c:1114
#define ADXL314_ACC_SCALE_FACTOR_MUL
Definition: adxl313.h:173
int adxl313_watermark_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1873
#define ADXL313_ACC_SCALE_FACTOR_MUL_DIVIDER
Definition: adxl313.h:166
@ ADXL313_WU_1_HZ
Definition: adxl313.h:292
#define ADXL312_SELF_TEST_MULT
Definition: adxl313.h:213
int64_t no_os_div_s64_rem(int64_t dividend, int32_t divisor, int32_t *remainder)
int adxl313_sleep(struct adxl313_dev *dev, enum adxl313_wake_up_f wake_up_f_hz)
Definition: adxl313.c:1624
#define ADXL312_SELF_TEST_MAX_DEVIATION
Definition: adxl313.h:221
#define ADXL313_SELF_TEST_MAX_DEVIATION
Definition: adxl313.h:226
#define ADXL313_RANGE_FACTOR
Definition: adxl313.h:234
int adxl313_activity_int_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1720
int adxl313_set_fifo_mode(struct adxl313_dev *dev, enum adxl313_fifo_mode mode)
Definition: adxl313.c:869
uint8_t DATA_READY
Definition: adxl313.h:423
struct _adxl313_int_reg_flags fields
Definition: adxl313.h:431
int32_t no_os_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Write data to slave device.
Definition: no_os_i2c.c:97
#define ADXL313_REG_INT_SRC
Definition: adxl313.h:75
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:51
int adxl313_get_raw_fifo_data(struct adxl313_dev *dev, uint8_t *entries, int16_t *x_raw, int16_t *y_raw, int16_t *z_raw)
Definition: adxl313.c:901
int adxl313_get_no_of_fifo_entries(struct adxl313_dev *dev, uint8_t *entries_no)
Definition: adxl313.c:813
#define ADXL314_DEVID
Definition: adxl313.h:88
#define ADXL312_THRESH_SCALE_FACTOR
Definition: adxl313.h:190
int adxl313_get_range(struct adxl313_dev *dev, enum adxl313_range *range)
Definition: adxl313.c:2095
@ ADXL313_SPI_COMM
Definition: adxl313.h:261
adxl313_odr
Enum for selecting output data rate.
Definition: adxl313.h:326
#define ADXL313_POWER_CTL_WAKEUP(x)
Definition: adxl313.h:106
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:95
int adxl313_link_mode_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1585
int adxl313_activity_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1827
int adxl313_get_odr(struct adxl313_dev *dev, enum adxl313_odr *odr)
Definition: adxl313.c:1413
adxl313_op_mode
Enum for operating mode.
Definition: adxl313.h:269
int adxl313_conf_int_map(struct adxl313_dev *dev, union adxl313_int_map_reg_flags int_map)
Definition: adxl313.c:1787
#define ADXL313_POWER_CTL_I2C_DISABLE
Definition: adxl313.h:101
struct _adxl313_int_reg_flags fields
Definition: adxl313.h:440
#define ADXL313_REG_POWER_CTL
Definition: adxl313.h:72
Header file of SPI Interface.
Structure holding the parameters for ADXL313 communication initialization.
Definition: adxl313.h:383
int adxl313_set_odr(struct adxl313_dev *dev, enum adxl313_odr odr)
Definition: adxl313.c:1374
int adxl313_get_fifo_data(struct adxl313_dev *dev, uint8_t *entries, struct adxl313_frac_repr *x, struct adxl313_frac_repr *y, struct adxl313_frac_repr *z)
Definition: adxl313.c:948
#define ADXL313_ODR_OFFSET_VAL
Definition: adxl313.h:201
int adxl313_get_xyz(struct adxl313_dev *dev, struct adxl313_frac_repr *x_m_s2, struct adxl313_frac_repr *y_m_s2, struct adxl313_frac_repr *z_m_s2)
Definition: adxl313.c:781
Structure holding the parameters for ADXL313 device initialization.
Definition: adxl313.h:403
int adxl313_get_op_mode(struct adxl313_dev *dev, enum adxl313_op_mode *op_mode)
Definition: adxl313.c:463
int adxl313_set_low_power_mode(struct adxl313_dev *dev, enum bit_action enable)
Definition: adxl313.c:1477
int adxl313_link_mode_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1585
int32_t no_os_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition: no_os_i2c.c:76
adxl313_type
Enum for device type.
Definition: adxl313.h:250
#define ADXL313_OFFSET_SCALE_FACTOR
Definition: adxl313.h:182
#define ADXL313_POWER_CTL_SLEEP
Definition: adxl313.h:105
int adxl313_remove(struct adxl313_dev *dev)
Definition: adxl313.c:358
int adxl313_set_range(struct adxl313_dev *dev, enum adxl313_range range)
Definition: adxl313.c:2043
int adxl313_watermark_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1873
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:94
int adxl313_set_autosleep_mode(struct adxl313_dev *dev, enum bit_action enable, uint8_t inact_thr, uint8_t time_inact_s)
Definition: adxl313.c:1529
int adxl313_reg_write_msk(struct adxl313_dev *dev, uint8_t reg_addr, uint8_t data, uint8_t mask)
Definition: adxl313.c:139
uint8_t act_thr
Definition: adxl313.h:527
int adxl313_set_raw_offset(struct adxl313_dev *dev, int32_t offset_raw, enum adxl313_axis axis)
Definition: adxl313.c:606
#define ADXL313_DEVID1
Definition: adxl313.h:84
#define ADXL313_REG_BW_RATE
Definition: adxl313.h:71
Union holding the flags for ADXL313 interrupt enable.
Definition: adxl313.h:430
Header file of Delay functions.
int adxl313_data_ready_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1804
int adxl313_set_low_power_mode(struct adxl313_dev *dev, enum bit_action enable)
Definition: adxl313.c:1477
#define ADXL313_SELF_TEST_MULT
Definition: adxl313.h:214
#define ADXL313_MULTIBIT
Definition: adxl313.h:57
int adxl313_get_no_of_fifo_entries(struct adxl313_dev *dev, uint8_t *entries_no)
Definition: adxl313.c:813
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:121
int adxl313_get_range(struct adxl313_dev *dev, enum adxl313_range *range)
Definition: adxl313.c:2095
int64_t integer
Definition: adxl313.h:395
adxl313_comm_type
Enum for communication type.
Definition: adxl313.h:260
uint8_t INACT_Y_EN
Definition: adxl313.h:460
#define ADXL313_Z_EN
Definition: adxl313.h:240
Definition: ad9361_util.h:75
union adxl313_comm_desc com_desc
Definition: adxl313.h:496
int adxl313_conf_act_thr(struct adxl313_dev *dev, uint32_t act_thr_ug)
Definition: adxl313.c:991
#define ADXL313_REG_DATA_AXIS(index)
Definition: adxl313.h:77
@ ADXL313_LP_MODE_ON
Definition: adxl313.h:280
adxl313_lp_mode
Enum for low power operating mode.
Definition: adxl313.h:278
ADXL313 Device structure.
Definition: adxl313.h:494
@ ADXL313_ODR_1600HZ
Definition: adxl313.h:335
int adxl313_get_fifo_data(struct adxl313_dev *dev, uint8_t *entries, struct adxl313_frac_repr *x, struct adxl313_frac_repr *y, struct adxl313_frac_repr *z)
Definition: adxl313.c:948
@ ADXL313_13_BIT_RES
Definition: adxl313.h:319
@ ADXL313_11_BIT_RES
Definition: adxl313.h:317
Structure holding the flags for ADXL313 interrupt sources.
Definition: adxl313.h:416
#define ADXL313_SPI_READ
Definition: adxl313.h:55
#define ADXL313_POWER_CTL_LINK
Definition: adxl313.h:102
#define ADXL313_RATE_MSK
Definition: adxl313.h:97
void * no_os_calloc(size_t nitems, size_t size)
int adxl313_enable_i2c(struct adxl313_dev *dev)
Definition: adxl313.c:1456
@ ID_ADXL312
Definition: adxl313.h:251
uint8_t OVERRUN
Definition: adxl313.h:417
@ ADXL313_ODR_6_25HZ
Definition: adxl313.h:327
#define ADXL313_REG_DEVID_AD
Definition: adxl313.h:60
@ ADXL313_I2C_COMM
Definition: adxl313.h:262
int adxl313_set_fifo_samples(struct adxl313_dev *dev, uint8_t samples_no)
Definition: adxl313.c:836
uint8_t time_inact
Definition: adxl313.h:531
@ ADXL313_1G_RANGE
Definition: adxl313.h:301
int adxl313_software_reset(struct adxl313_dev *dev)
Definition: adxl313.c:381
int adxl313_set_int_pol(struct adxl313_dev *dev, enum adxl313_int_pol int_pol)
Definition: adxl313.c:1942
uint8_t value
Definition: adxl313.h:450
@ ADXL313_ODR_200HZ
Definition: adxl313.h:332
bit_action
Enum for selecting Set/Reset bit action.
Definition: adxl313.h:373
int64_t scale_factor_mult
Definition: adxl313.h:521
int adxl313_inactivity_int_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1742
#define ADXL313_SELF_TEST_DIV
Definition: adxl313.h:216
@ ADXL313_STREAM_MODE
Definition: adxl313.h:356
int adxl313_data_ready_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1804
@ ADXL313_ODR_100HZ
Definition: adxl313.h:331
@ ADXL313_Z_AXIS
Definition: adxl313.h:346
int adxl313_set_inactivity_detection(struct adxl313_dev *dev, uint8_t inact_axes, uint8_t inact_ac_dc, uint32_t inact_thresh_ug, uint8_t inact_time_s, uint8_t int_pin)
Enables the inactivity detection.
Definition: adxl313.c:1317
int adxl313_set_offset(struct adxl313_dev *dev, int32_t offset_ug, enum adxl313_axis axis)
Definition: adxl313.c:490
int adxl313_enable_full_res(struct adxl313_dev *dev)
Definition: adxl313.c:1965
@ ADXL313_200G_RANGE
Definition: adxl313.h:308
#define ADXL313_MAX_FIFO_ENTRIES
Definition: adxl313.h:207
#define ADXL313_POWER_CTL_MEASURE
Definition: adxl313.h:104
uint8_t INACT_AC_EN
Definition: adxl313.h:462
#define ADXL313_REG_DATA_FORMAT
Definition: adxl313.h:76
int adxl313_disable_full_res(struct adxl313_dev *dev)
Definition: adxl313.c:1991
struct no_os_spi_init_param spi_init
Definition: adxl313.h:387
int adxl313_disable_i2c(struct adxl313_dev *dev)
Definition: adxl313.c:1437
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
int adxl313_inactivity_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1850
enum adxl313_range range
Definition: adxl313.h:502
int adxl313_enable_full_res(struct adxl313_dev *dev)
Definition: adxl313.c:1965
int adxl313_conf_act_thr(struct adxl313_dev *dev, uint32_t act_thr_ug)
Definition: adxl313.c:991
@ ADXL313_MEAS
Definition: adxl313.h:271
int adxl313_read(struct adxl313_dev *dev, uint8_t base_address, uint16_t size, uint8_t *read_data)
Definition: adxl313.c:72
#define ADXL313_REG_FIFO_CTL_MODE_MSK
Definition: adxl313.h:138
@ ADXL313_LP_MODE_NONE
Definition: adxl313.h:279
#define ADXL314_SELF_TEST_MULT
Definition: adxl313.h:215
uint8_t WATERMARK
Definition: adxl313.h:418
Union holding the communication parameters.
Definition: adxl313.h:483
#define ADXL312_OFFSET_SCALE_FACTOR
Definition: adxl313.h:178
int adxl313_conf_inact_thr(struct adxl313_dev *dev, uint32_t inact_thr_ug)
Definition: adxl313.c:1073
int adxl313_conf_int_map(struct adxl313_dev *dev, union adxl313_int_map_reg_flags int_map)
Definition: adxl313.c:1787
int32_t fractional
Definition: adxl313.h:396
uint8_t reserved
Definition: adxl313.h:419
int adxl313_inactivity_int_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1764
#define ADXL313_REG_THRESH_INACT
Definition: adxl313.h:68
@ DISABLE_E
Definition: adxl313.h:374
@ ADXL313_INT_ACTIVE_HIGH
Definition: adxl313.h:365
int adxl313_set_inactivity_detection(struct adxl313_dev *dev, uint8_t inact_axes, uint8_t inact_ac_dc, uint32_t inact_thresh_ug, uint8_t inact_time, uint8_t int_pin)
Enables the inactivity detection.
Definition: adxl313.c:1317
#define ADXL313_REG_SOFT_RESET
Definition: adxl313.h:65
int adxl313_get_int_source_reg(struct adxl313_dev *dev, union adxl313_int_src_reg_flags *int_status_flags)
Definition: adxl313.c:1919
int adxl313_get_xyz(struct adxl313_dev *dev, struct adxl313_frac_repr *x_m_s2, struct adxl313_frac_repr *y_m_s2, struct adxl313_frac_repr *z_m_s2)
Definition: adxl313.c:781
@ ADXL313_ODR_12_5HZ
Definition: adxl313.h:328
@ ADXL313_INT_ACTIVE_LOW
Definition: adxl313.h:366
#define ADXL313_REG_FIFO_STS_ENTRIES_MSK
Definition: adxl313.h:144
@ ID_ADXL313
Definition: adxl313.h:252
@ ADXL313_4G_RANGE
Definition: adxl313.h:303
enum adxl313_comm_type comm_type
Definition: adxl313.h:498
@ ADXL313_ODR_800HZ
Definition: adxl313.h:334
#define ADXL313_REG_FIFO_STATUS
Definition: adxl313.h:79
int adxl313_conf_time_inact(struct adxl313_dev *dev, uint8_t time_inact_s)
Definition: adxl313.c:1151
int adxl313_get_raw_xyz(struct adxl313_dev *dev, int16_t *x_raw, int16_t *y_raw, int16_t *z_raw)
Definition: adxl313.c:748
#define ADXL314_OFFSET_SCALE_FACTOR
Definition: adxl313.h:186
int adxl313_set_range(struct adxl313_dev *dev, enum adxl313_range range)
Definition: adxl313.c:2043
@ ADXL313_ODR_50HZ
Definition: adxl313.h:330
enum adxl313_type dev_type
Definition: adxl313.h:409
int adxl313_disable_i2c(struct adxl313_dev *dev)
Definition: adxl313.c:1437
adxl313_range
Enum for selecting range.
Definition: adxl313.h:299
int adxl313_set_activity_detection(struct adxl313_dev *dev, uint8_t act_axes, uint8_t act_ac_dc, uint32_t act_thresh_ug, uint8_t int_pin)
Enable the activity detection.
Definition: adxl313.c:1253
int adxl313_conf_int_enable(struct adxl313_dev *dev, union adxl313_int_en_reg_flags en_ctl)
Definition: adxl313.c:1682
uint8_t INACT_Z_EN
Definition: adxl313.h:459
uint8_t ACT_AC_EN
Definition: adxl313.h:466
@ ADXL313_12G_RANGE
Definition: adxl313.h:307
int adxl313_get_conf_act_inact_ctl(struct adxl313_dev *dev, union adxl313_act_inact_ctl_flags *config)
Definition: adxl313.c:1219
int adxl313_get_time_inact(struct adxl313_dev *dev, uint8_t *time_inact_s)
Definition: adxl313.c:1174
int adxl313_set_activity_detection(struct adxl313_dev *dev, uint8_t act_axes, uint8_t act_ac_dc, uint32_t act_thresh_ug, uint8_t int_pin)
Enable the activity detection.
Definition: adxl313.c:1253
uint8_t comm_buff[24]
Definition: adxl313.h:535
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
#define ADXL313_REG_FIFO_CTL
Definition: adxl313.h:78
#define no_os_clamp(val, min_val, max_val)
Definition: no_os_util.h:73
int adxl313_overrun_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1896
int adxl313_inactivity_int_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1764
int adxl313_get_raw_fifo_data(struct adxl313_dev *dev, uint8_t *entries, int16_t *x_raw, int16_t *y_raw, int16_t *z_raw)
Definition: adxl313.c:901
#define ADXL313_X_EN
Definition: adxl313.h:238
uint8_t INACTIVITY
Definition: adxl313.h:420
@ ADXL313_TRIGGERED_MODE
Definition: adxl313.h:357
enum adxl313_type dev_type
Definition: adxl313.h:500
#define ADXL314_SELF_TEST_MIN_DEVIATION
Definition: adxl313.h:229
#define ADXL313_REG_DATA_FORMAT_SELF_TEST
Definition: adxl313.h:130
#define ADXL313_REG_DATA_FORMAT_INT_INV
Definition: adxl313.h:132
@ ADXL313_FIFO_MODE
Definition: adxl313.h:355
@ ADXL313_1_5G_RANGE
Definition: adxl313.h:304
uint8_t ACT_X_EN
Definition: adxl313.h:465
int adxl313_get_int_source_reg(struct adxl313_dev *dev, union adxl313_int_src_reg_flags *int_status_flags)
Definition: adxl313.c:1919
union adxl313_act_inact_ctl_flags act_inact_ctl
Definition: adxl313.h:533
int adxl313_enable_i2c(struct adxl313_dev *dev)
Definition: adxl313.c:1456
@ ADXL313_ODR_25HZ
Definition: adxl313.h:329
int adxl313_activity_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1827
#define ADXL313_REG_OFS_AXIS(index)
Definition: adxl313.h:66
@ ADXL313_X_AXIS
Definition: adxl313.h:344
int adxl313_overrun_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1896
adxl313_wake_up_f
Enum for frequency of wake-up events during sleep.
Definition: adxl313.h:288
#define ADXL314_SELF_TEST_MAX_DEVIATION
Definition: adxl313.h:231
uint8_t fifo_samples
Definition: adxl313.h:525
int adxl313_get_raw_xyz(struct adxl313_dev *dev, int16_t *x_raw, int16_t *y_raw, int16_t *z_raw)
Definition: adxl313.c:748
@ ADXL313_BYPAS_MODE
Definition: adxl313.h:354
#define ADXL312_SELF_TEST_MIN_DEVIATION
Definition: adxl313.h:219
int adxl313_set_odr(struct adxl313_dev *dev, enum adxl313_odr odr)
Definition: adxl313.c:1374
Structure holding I2C descriptor.
Definition: no_os_i2c.h:81
Union holding the flags corresponding to ACT AC/DC and INACT AC/DC Bits.
Definition: adxl313.h:474
enum adxl313_comm_type comm_type
Definition: adxl313.h:407
int32_t no_os_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Read data from slave device.
Definition: no_os_i2c.c:122
int adxl313_get_op_mode(struct adxl313_dev *dev, enum adxl313_op_mode *op_mode)
Definition: adxl313.c:463
Structure holding the flags corresponding to ACT AC/DC and INACT AC/DC Bits.
Definition: adxl313.h:458
@ ADXL313_WU_8_HZ
Definition: adxl313.h:289
@ ADXL313_0_5G_RANGE
Definition: adxl313.h:300
int adxl313_get_full_res_setting(struct adxl313_dev *dev, uint8_t *full_res)
Definition: adxl313.c:2019
#define ADXL313_REG_DATA_FORMAT_FULL_RES
Definition: adxl313.h:133
@ ENABLE_E
Definition: adxl313.h:375
Header file of I2C Interface.
#define ADXL313_REG_INT_EN
Definition: adxl313.h:73
@ ADXL313_Y_AXIS
Definition: adxl313.h:345
int adxl313_remove(struct adxl313_dev *dev)
Definition: adxl313.c:358
uint8_t z_offset_raw
Definition: adxl313.h:519
@ ADXL313_10_BIT_RES
Definition: adxl313.h:316
int adxl313_set_autosleep_mode(struct adxl313_dev *dev, enum bit_action enable, uint8_t inact_thr, uint8_t time_inact_s)
Definition: adxl313.c:1529
int adxl313_get_conf_act_inact_ctl(struct adxl313_dev *dev, union adxl313_act_inact_ctl_flags *config)
Definition: adxl313.c:1219
int adxl313_get_time_inact(struct adxl313_dev *dev, uint8_t *time_inact_s)
Definition: adxl313.c:1174
int adxl313_set_raw_offset(struct adxl313_dev *dev, int32_t offset_raw, enum adxl313_axis axis)
Definition: adxl313.c:606
union adxl313_comm_init_param comm_init
Definition: adxl313.h:405
int adxl313_inactivity_int_map(struct adxl313_dev *dev, uint8_t int_pin)
Definition: adxl313.c:1850
@ ADXL313_WU_4_HZ
Definition: adxl313.h:290
@ ADXL313_12_BIT_RES
Definition: adxl313.h:318
void no_os_free(void *ptr)
int adxl313_conf_act_inact_ctl(struct adxl313_dev *dev, union adxl313_act_inact_ctl_flags config)
Definition: adxl313.c:1196
enum adxl313_resolution resolution
Definition: adxl313.h:504
#define ADXL313_REG_PARTID
Definition: adxl313.h:62
#define ADXL313_REG_DATA_FORMAT_RANGE
Definition: adxl313.h:135
#define ADXL313_DEVID
Definition: adxl313.h:82
#define ADXL313_LOW_POWER_OP
Definition: adxl313.h:98
enum adxl313_op_mode op_mode
Definition: adxl313.h:506
uint8_t inact_thr
Definition: adxl313.h:529
int adxl313_sleep(struct adxl313_dev *dev, enum adxl313_wake_up_f wake_up_f_hz)
Definition: adxl313.c:1624
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
int adxl313_activity_int_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1720
#define ADXL313_ACC_SCALE_FACTOR_MUL_FULL_RES
Definition: adxl313.h:163
int adxl313_set_fifo_mode(struct adxl313_dev *dev, enum adxl313_fifo_mode mode)
Definition: adxl313.c:869
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:64
int adxl313_conf_act_inact_ctl(struct adxl313_dev *dev, union adxl313_act_inact_ctl_flags config)
Definition: adxl313.c:1196
uint8_t reserved1
Definition: adxl313.h:422
#define ADXL313_REG_ACT_INACT_CTL
Definition: adxl313.h:70
struct no_os_spi_desc * spi_desc
Definition: adxl313.h:487
enum adxl313_odr odr
Definition: adxl313.h:510
@ ADXL313_6G_RANGE
Definition: adxl313.h:306
#define ADXL313_MAX_FIFO_SAMPLES_VAL
Definition: adxl313.h:94
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
struct _adxl313_int_reg_flags fields
Definition: adxl313.h:449
#define ADXL313_SELF_TEST_MIN_DEVIATION
Definition: adxl313.h:224
uint8_t value
Definition: adxl313.h:432
@ ADXL313_2G_RANGE
Definition: adxl313.h:302
#define ADXL312_ACC_SCALE_FACTOR_MUL_FULL_RES
Definition: adxl313.h:151
uint8_t INACT_X_EN
Definition: adxl313.h:461
@ ADXL313_LP_MODE_AUTOSLEEP
Definition: adxl313.h:281
int adxl313_set_fifo_samples(struct adxl313_dev *dev, uint8_t samples_no)
Definition: adxl313.c:836
int adxl313_set_op_mode(struct adxl313_dev *dev, enum adxl313_op_mode op_mode)
Definition: adxl313.c:425
int adxl313_software_reset(struct adxl313_dev *dev)
Definition: adxl313.c:381
uint8_t ACT_Y_EN
Definition: adxl313.h:464
int adxl313_set_int_pol(struct adxl313_dev *dev, enum adxl313_int_pol int_pol)
Definition: adxl313.c:1942
int adxl313_link_mode_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1604
int adxl313_self_test(struct adxl313_dev *dev)
Definition: adxl313.c:2126
int adxl313_inactivity_int_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1742
int adxl313_exit_sleep(struct adxl313_dev *dev)
Definition: adxl313.c:1654
enum adxl313_fifo_mode fifo_mode
Definition: adxl313.h:523
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:77
@ ADXL313_ODR_3200HZ
Definition: adxl313.h:336
int adxl313_activity_int_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1698
int adxl313_set_offset(struct adxl313_dev *dev, int32_t offset_ug, enum adxl313_axis axis)
Definition: adxl313.c:490
#define ADXL313_REGS_PER_ENTRY
Definition: adxl313.h:204
int adxl313_set_op_mode(struct adxl313_dev *dev, enum adxl313_op_mode op_mode)
Definition: adxl313.c:425
int adxl313_disable_full_res(struct adxl313_dev *dev)
Definition: adxl313.c:1991
#define ADXL314_THRESH_SCALE_FACTOR
Definition: adxl313.h:198
#define ADXL313_PARTID
Definition: adxl313.h:86
uint8_t ACT_Z_EN
Definition: adxl313.h:463
int adxl313_exit_sleep(struct adxl313_dev *dev)
Definition: adxl313.c:1654
#define ADXL313_Y_EN
Definition: adxl313.h:239
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:51
#define ADXL313_SELF_TEST_SAMPLES
Definition: adxl313.h:210
struct _adxl313_act_inact_ctl_flags fields
Definition: adxl313.h:475
@ ADXL313_3G_RANGE
Definition: adxl313.h:305
int adxl313_get_act_thr(struct adxl313_dev *dev, uint32_t *act_thr_ug)
Definition: adxl313.c:1032
Header file of utility functions.
int adxl313_get_offset(struct adxl313_dev *dev, int32_t *offset_ug, enum adxl313_axis axis)
Definition: adxl313.c:546
int adxl313_get_inact_thr(struct adxl313_dev *dev, uint32_t *inact_thr_ug)
Definition: adxl313.c:1114
Header file of ADXL313 Driver.
int adxl313_write(struct adxl313_dev *dev, uint8_t base_address, uint16_t size, uint8_t *write_data)
Definition: adxl313.c:107
#define ADXL313_POWER_CTL_AUTO_SLEEP
Definition: adxl313.h:103
#define ADXL313_REG_DEVID1_AD
Definition: adxl313.h:61
#define ADXL313_REG_FIFO_CTL_SAMPLES_MSK
Definition: adxl313.h:140
#define ADXL313_REG_INT_MAP
Definition: adxl313.h:74
uint8_t y_offset_raw
Definition: adxl313.h:516
adxl313_int_pol
Enum for selecting interrupt polarity.
Definition: adxl313.h:364
#define ADXL313_RESET_KEY
Definition: adxl313.h:91
#define ADXL313_ACC_SCALE_FACTOR_DIV
Definition: adxl313.h:174
#define ADXL313_SPI_WRITE
Definition: adxl313.h:56
Union holding the flags for ADXL313 interrupt mapping.
Definition: adxl313.h:439
uint8_t value
Definition: adxl313.h:476
enum adxl313_lp_mode lp_mode
Definition: adxl313.h:508
int adxl313_conf_inact_thr(struct adxl313_dev *dev, uint32_t inact_thr_ug)
Definition: adxl313.c:1073
adxl313_fifo_mode
Enum for selecting FIFO operating mode.
Definition: adxl313.h:353
int adxl313_get_raw_offset(struct adxl313_dev *dev, int32_t *offset_raw, enum adxl313_axis axis)
Definition: adxl313.c:700
struct no_os_i2c_init_param i2c_init
Definition: adxl313.h:385
#define ADXL313_THRESH_SCALE_FACTOR
Definition: adxl313.h:194
int adxl313_init(struct adxl313_dev **device, struct adxl313_init_param init_param)
Definition: adxl313.c:168
int adxl313_get_offset(struct adxl313_dev *dev, int32_t *offset_ug, enum adxl313_axis axis)
Definition: adxl313.c:546
int adxl313_link_mode_disable(struct adxl313_dev *dev)
Definition: adxl313.c:1604
@ ADXL313_WU_2_HZ
Definition: adxl313.h:291
adxl313_resolution
Enum for specifying resolution.
Definition: adxl313.h:315
int adxl313_self_test(struct adxl313_dev *dev)
Definition: adxl313.c:2126
@ ADXL313_STDBY
Definition: adxl313.h:270
int adxl313_activity_int_enable(struct adxl313_dev *dev)
Definition: adxl313.c:1698
#define ADXL313_REG_TIME_INACT
Definition: adxl313.h:69
Error macro definition for ARM Compiler.
int adxl313_get_full_res_setting(struct adxl313_dev *dev, uint8_t *full_res)
Definition: adxl313.c:2019
struct no_os_i2c_desc * i2c_desc
Definition: adxl313.h:485
int adxl313_get_odr(struct adxl313_dev *dev, enum adxl313_odr *odr)
Definition: adxl313.c:1413
int adxl313_get_raw_offset(struct adxl313_dev *dev, int32_t *offset_raw, enum adxl313_axis axis)
Definition: adxl313.c:700
@ ADXL313_ODR_400HZ
Definition: adxl313.h:333
uint8_t ACTIVITY
Definition: adxl313.h:421
int adxl313_conf_time_inact(struct adxl313_dev *dev, uint8_t time_inact_s)
Definition: adxl313.c:1151
int adxl313_init(struct adxl313_dev **device, struct adxl313_init_param init_param)
Definition: adxl313.c:168
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121
#define ADXL313_REG_THRESH_ACT
Definition: adxl313.h:67
adxl313_axis
Enum for accelerometer axis.
Definition: adxl313.h:343
@ ID_ADXL314
Definition: adxl313.h:253
int adxl313_conf_int_enable(struct adxl313_dev *dev, union adxl313_int_en_reg_flags en_ctl)
Definition: adxl313.c:1682