23#ifndef LSM6DSO32_REGS_H
24#define LSM6DSO32_REGS_H
53#define DRV_LITTLE_ENDIAN 1234
54#define DRV_BIG_ENDIAN 4321
60#define DRV_BYTE_ORDER DRV_LITTLE_ENDIAN
64#define DRV_LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
65#define DRV_BIG_ENDIAN __ORDER_BIG_ENDIAN__
66#define DRV_BYTE_ORDER __BYTE_ORDER__
82#ifndef MEMS_SHARED_TYPES
83#define MEMS_SHARED_TYPES
87#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
96#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
108#define PROPERTY_DISABLE (0U)
109#define PROPERTY_ENABLE (1U)
142#ifndef MEMS_UCF_SHARED_TYPES
143#define MEMS_UCF_SHARED_TYPES
182#define LSM6DSO32_I2C_ADD_L 0xD5
183#define LSM6DSO32_I2C_ADD_H 0xD7
186#define LSM6DSO32_ID 0x6C
193#define LSM6DSO32_FUNC_CFG_ACCESS 0x01U
196#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
200#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
203 uint8_t not_used_00 : 6;
207#define LSM6DSO32_PIN_CTRL 0x02U
210#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
214#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
215 uint8_t not_used_02 : 1;
216 uint8_t sdo_pu_en : 1;
217 uint8_t not_used_01 : 6;
221#define LSM6DSO32_FIFO_CTRL1 0x07U
227#define LSM6DSO32_FIFO_CTRL2 0x08U
230#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
238#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
239 uint8_t stop_on_wtm : 1;
240 uint8_t fifo_compr_rt_en : 1;
241 uint8_t not_used_02 : 1;
242 uint8_t odrchg_en : 1;
243 uint8_t not_used_01 : 1;
244 uint8_t uncoptr_rate : 2;
249#define LSM6DSO32_FIFO_CTRL3 0x09U
252#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
255#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
261#define LSM6DSO32_FIFO_CTRL4 0x0AU
264#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
269#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
270 uint8_t odr_ts_batch : 2;
271 uint8_t odr_t_batch : 2;
272 uint8_t not_used_01 : 1;
273 uint8_t fifo_mode : 3;
277#define LSM6DSO32_COUNTER_BDR_REG1 0x0BU
280#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
286#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
287 uint8_t dataready_pulsed : 1;
288 uint8_t rst_counter_bdr : 1;
289 uint8_t trig_counter_bdr : 1;
290 uint8_t not_used_01 : 2;
291 uint8_t cnt_bdr_th : 3;
295#define LSM6DSO32_COUNTER_BDR_REG2 0x0CU
301#define LSM6DSO32_INT1_CTRL 0x0DU
304#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
313#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
314 uint8_t den_drdy_flag : 1;
315 uint8_t int1_cnt_bdr : 1;
316 uint8_t int1_fifo_full : 1;
317 uint8_t int1_fifo_ovr : 1;
318 uint8_t int1_fifo_th : 1;
319 uint8_t int1_boot : 1;
320 uint8_t int1_drdy_g : 1;
321 uint8_t int1_drdy_xl : 1;
325#define LSM6DSO32_INT2_CTRL 0x0EU
328#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
337#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
338 uint8_t not_used_01 : 1;
339 uint8_t int2_cnt_bdr : 1;
340 uint8_t int2_fifo_full : 1;
341 uint8_t int2_fifo_ovr : 1;
342 uint8_t int2_fifo_th : 1;
343 uint8_t int2_drdy_temp : 1;
344 uint8_t int2_drdy_g : 1;
345 uint8_t int2_drdy_xl : 1;
349#define LSM6DSO32_WHO_AM_I 0x0FU
350#define LSM6DSO32_CTRL1_XL 0x10U
353#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
358#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
361 uint8_t lpf2_xl_en : 1;
362 uint8_t not_used_01 : 1;
366#define LSM6DSO32_CTRL2_G 0x11U
369#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
373#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
376 uint8_t not_used_01 : 1;
380#define LSM6DSO32_CTRL3_C 0x12U
383#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
392#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
395 uint8_t h_lactive : 1;
399 uint8_t not_used_01 : 1;
400 uint8_t sw_reset : 1;
404#define LSM6DSO32_CTRL4_C 0x13U
407#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
416#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
417 uint8_t not_used_03 : 1;
419 uint8_t int2_on_int1 : 1;
420 uint8_t not_used_02 : 1;
421 uint8_t drdy_mask : 1;
422 uint8_t i2c_disable : 1;
423 uint8_t lpf1_sel_g : 1;
424 uint8_t not_used_01 : 1;
428#define LSM6DSO32_CTRL5_C 0x14U
431#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
437#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
438 uint8_t xl_ulp_en : 1;
439 uint8_t rounding : 2;
440 uint8_t not_used_01 : 1;
446#define LSM6DSO32_CTRL6_C 0x15U
449#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
455#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
458 uint8_t xl_hm_mode : 1;
459 uint8_t usr_off_w : 1;
464#define LSM6DSO32_CTRL7_G 0x16U
467#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
474#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
475 uint8_t g_hm_mode : 1;
478 uint8_t not_used_02 : 2;
479 uint8_t usr_off_on_out : 1;
480 uint8_t not_used_01 : 1;
484#define LSM6DSO32_CTRL8_XL 0x17U
487#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
494#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
496 uint8_t hp_ref_mode_xl : 1;
497 uint8_t fastsettl_mode_xl : 1;
498 uint8_t hp_slope_xl_en : 1;
499 uint8_t not_used_01 : 1;
500 uint8_t low_pass_on_6d : 1;
504#define LSM6DSO32_CTRL9_XL 0x18U
507#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
515#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
519 uint8_t den_xl_g : 2;
521 uint8_t i3c_disable : 1;
522 uint8_t not_used_01 : 1;
526#define LSM6DSO32_CTRL10_C 0x19U
529#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
533#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
534 uint8_t not_used_02 : 2;
535 uint8_t timestamp_en : 1;
536 uint8_t not_used_01 : 5;
540#define LSM6DSO32_ALL_INT_SRC 0x1AU
543#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
552#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
553 uint8_t timestamp_endcount : 1;
554 uint8_t not_used_01 : 1;
555 uint8_t sleep_change_ia : 1;
557 uint8_t double_tap : 1;
558 uint8_t single_tap : 1;
564#define LSM6DSO32_WAKE_UP_SRC 0x1BU
567#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
576#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
577 uint8_t not_used_01 : 1;
578 uint8_t sleep_change_ia : 1;
580 uint8_t sleep_state : 1;
588#define LSM6DSO32_TAP_SRC 0x1CU
591#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
600#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
601 uint8_t not_used_02 : 1;
603 uint8_t single_tap : 1;
604 uint8_t double_tap : 1;
605 uint8_t tap_sign : 1;
612#define LSM6DSO32_D6D_SRC 0x1DU
615#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
624#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
625 uint8_t den_drdy : 1;
636#define LSM6DSO32_STATUS_REG 0x1EU
639#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
644#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
645 uint8_t not_used_01 : 5;
652#define LSM6DSO32_OUT_TEMP_L 0x20U
653#define LSM6DSO32_OUT_TEMP_H 0x21U
654#define LSM6DSO32_OUTX_L_G 0x22U
655#define LSM6DSO32_OUTX_H_G 0x23U
656#define LSM6DSO32_OUTY_L_G 0x24U
657#define LSM6DSO32_OUTY_H_G 0x25U
658#define LSM6DSO32_OUTZ_L_G 0x26U
659#define LSM6DSO32_OUTZ_H_G 0x27U
660#define LSM6DSO32_OUTX_L_A 0x28U
661#define LSM6DSO32_OUTX_H_A 0x29U
662#define LSM6DSO32_OUTY_L_A 0x2AU
663#define LSM6DSO32_OUTY_H_A 0x2BU
664#define LSM6DSO32_OUTZ_L_A 0x2CU
665#define LSM6DSO32_OUTZ_H_A 0x2DU
666#define LSM6DSO32_EMB_FUNC_STATUS_MAINPAGE 0x35U
669#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
676#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
677 uint8_t is_fsm_lc : 1;
678 uint8_t not_used_02 : 1;
679 uint8_t is_sigmot : 1;
681 uint8_t is_step_det : 1;
682 uint8_t not_used_01 : 3;
686#define LSM6DSO32_FSM_STATUS_A_MAINPAGE 0x36U
689#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
698#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
710#define LSM6DSO32_FSM_STATUS_B_MAINPAGE 0x37U
713#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
722#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
723 uint8_t is_fsm16 : 1;
724 uint8_t is_fsm15 : 1;
725 uint8_t is_fsm14 : 1;
726 uint8_t is_fsm13 : 1;
727 uint8_t is_fsm12 : 1;
728 uint8_t is_fsm11 : 1;
729 uint8_t is_fsm10 : 1;
734#define LSM6DSO32_STATUS_MASTER_MAINPAGE 0x39U
737#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
745#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
746 uint8_t wr_once_done : 1;
747 uint8_t slave3_nack : 1;
748 uint8_t slave2_nack : 1;
749 uint8_t slave1_nack : 1;
750 uint8_t slave0_nack : 1;
751 uint8_t not_used_01 : 2;
752 uint8_t sens_hub_endop : 1;
756#define LSM6DSO32_FIFO_STATUS1 0x3AU
762#define LSM6DSO32_FIFO_STATUS2 0x3B
765#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
773#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
774 uint8_t fifo_wtm_ia : 1;
775 uint8_t fifo_ovr_ia : 1;
776 uint8_t fifo_full_ia : 1;
777 uint8_t counter_bdr_ia : 1;
778 uint8_t over_run_latched : 1;
779 uint8_t not_used_01 : 1;
780 uint8_t diff_fifo : 2;
784#define LSM6DSO32_TIMESTAMP0 0x40U
785#define LSM6DSO32_TIMESTAMP1 0x41U
786#define LSM6DSO32_TIMESTAMP2 0x42U
787#define LSM6DSO32_TIMESTAMP3 0x43U
789#define LSM6DSO32_TAP_CFG0 0x56U
792#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
801#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
802 uint8_t not_used_01 : 1;
803 uint8_t int_clr_on_read : 1;
804 uint8_t sleep_status_on_int : 1;
805 uint8_t slope_fds : 1;
806 uint8_t tap_x_en : 1;
807 uint8_t tap_y_en : 1;
808 uint8_t tap_z_en : 1;
813#define LSM6DSO32_TAP_CFG1 0x57U
816#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
819#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
820 uint8_t tap_priority : 3;
821 uint8_t tap_ths_x : 5;
825#define LSM6DSO32_TAP_CFG2 0x58U
828#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
832#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
833 uint8_t interrupts_enable : 1;
834 uint8_t inact_en : 2;
835 uint8_t tap_ths_y : 5;
839#define LSM6DSO32_TAP_THS_6D 0x59U
842#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
846#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
848 uint8_t sixd_ths : 2;
849 uint8_t tap_ths_z : 5;
853#define LSM6DSO32_INT_DUR2 0x5AU
856#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
860#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
867#define LSM6DSO32_WAKE_UP_THS 0x5BU
870#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
874#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
875 uint8_t single_double_tap : 1;
876 uint8_t usr_off_on_wu : 1;
881#define LSM6DSO32_WAKE_UP_DUR 0x5CU
884#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
889#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
891 uint8_t wake_dur : 2;
892 uint8_t wake_ths_w : 1;
893 uint8_t sleep_dur : 4;
897#define LSM6DSO32_FREE_FALL 0x5DU
900#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
903#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
909#define LSM6DSO32_MD1_CFG 0x5EU
912#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
921#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
922 uint8_t int1_sleep_change : 1;
923 uint8_t int1_single_tap : 1;
926 uint8_t int1_double_tap : 1;
928 uint8_t int1_emb_func : 1;
929 uint8_t int1_shub : 1;
933#define LSM6DSO32_MD2_CFG 0x5FU
936#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
945#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
946 uint8_t int2_sleep_change : 1;
947 uint8_t int2_single_tap : 1;
950 uint8_t int2_double_tap : 1;
952 uint8_t int2_emb_func : 1;
953 uint8_t int2_timestamp : 1;
957#define LSM6DSO32_I3C_BUS_AVB 0x62U
960#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
965#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
966 uint8_t not_used_02 : 3;
967 uint8_t i3c_bus_avb_sel : 2;
968 uint8_t not_used_01 : 2;
969 uint8_t pd_dis_int1 : 1;
973#define LSM6DSO32_INTERNAL_FREQ_FINE 0x63U
979#define LSM6DSO32_X_OFS_USR 0x73U
980#define LSM6DSO32_Y_OFS_USR 0x74U
981#define LSM6DSO32_Z_OFS_USR 0x75U
982#define LSM6DSO32_FIFO_DATA_OUT_TAG 0x78U
985#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
989#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
990 uint8_t tag_sensor : 5;
992 uint8_t tag_parity : 1;
996#define LSM6DSO32_FIFO_DATA_OUT_X_L 0x79U
997#define LSM6DSO32_FIFO_DATA_OUT_X_H 0x7AU
998#define LSM6DSO32_FIFO_DATA_OUT_Y_L 0x7BU
999#define LSM6DSO32_FIFO_DATA_OUT_Y_H 0x7CU
1000#define LSM6DSO32_FIFO_DATA_OUT_Z_L 0x7DU
1001#define LSM6DSO32_FIFO_DATA_OUT_Z_H 0x7EU
1002#define LSM6DSO32_PAGE_SEL 0x02U
1005#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1008#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1009 uint8_t page_sel : 4;
1010 uint8_t not_used_01 : 4;
1014#define LSM6DSO32_EMB_FUNC_EN_A 0x04U
1017#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1023#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1024 uint8_t not_used_02 : 2;
1025 uint8_t sign_motion_en : 1;
1026 uint8_t tilt_en : 1;
1027 uint8_t pedo_en : 1;
1028 uint8_t not_used_01 : 3;
1032#define LSM6DSO32_EMB_FUNC_EN_B 0x05U
1035#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1041#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1042 uint8_t not_used_02 : 3;
1043 uint8_t pedo_adv_en : 1;
1044 uint8_t fifo_compr_en : 1;
1045 uint8_t not_used_01 : 2;
1050#define LSM6DSO32_PAGE_ADDRESS 0x08U
1056#define LSM6DSO32_PAGE_VALUE 0x09U
1062#define LSM6DSO32_EMB_FUNC_INT1 0x0AU
1065#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1072#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1073 uint8_t int1_fsm_lc : 1;
1074 uint8_t not_used_02 : 1;
1075 uint8_t int1_sig_mot : 1;
1076 uint8_t int1_tilt : 1;
1077 uint8_t int1_step_detector : 1;
1078 uint8_t not_used_01 : 3;
1082#define LSM6DSO32_FSM_INT1_A 0x0BU
1085#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1094#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1095 uint8_t int1_fsm8 : 1;
1096 uint8_t int1_fsm7 : 1;
1097 uint8_t int1_fsm6 : 1;
1098 uint8_t int1_fsm5 : 1;
1099 uint8_t int1_fsm4 : 1;
1100 uint8_t int1_fsm3 : 1;
1101 uint8_t int1_fsm2 : 1;
1102 uint8_t int1_fsm1 : 1;
1106#define LSM6DSO32_FSM_INT1_B 0x0CU
1109#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1118#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1119 uint8_t int1_fsm16 : 1;
1120 uint8_t int1_fsm15 : 1;
1121 uint8_t int1_fsm14 : 1;
1122 uint8_t int1_fsm13 : 1;
1123 uint8_t int1_fsm12 : 1;
1124 uint8_t int1_fsm11 : 1;
1125 uint8_t int1_fsm10 : 1;
1126 uint8_t int1_fsm9 : 1;
1130#define LSM6DSO32_EMB_FUNC_INT2 0x0EU
1133#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1140#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1141 uint8_t int2_fsm_lc : 1;
1142 uint8_t not_used_02 : 1;
1143 uint8_t int2_sig_mot : 1;
1144 uint8_t int2_tilt : 1;
1145 uint8_t int2_step_detector : 1;
1146 uint8_t not_used_01 : 3;
1150#define LSM6DSO32_FSM_INT2_A 0x0FU
1153#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1162#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1163 uint8_t int2_fsm8 : 1;
1164 uint8_t int2_fsm7 : 1;
1165 uint8_t int2_fsm6 : 1;
1166 uint8_t int2_fsm5 : 1;
1167 uint8_t int2_fsm4 : 1;
1168 uint8_t int2_fsm3 : 1;
1169 uint8_t int2_fsm2 : 1;
1170 uint8_t int2_fsm1 : 1;
1174#define LSM6DSO32_FSM_INT2_B 0x10U
1177#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1186#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1187 uint8_t int2_fsm16 : 1;
1188 uint8_t int2_fsm15 : 1;
1189 uint8_t int2_fsm14 : 1;
1190 uint8_t int2_fsm13 : 1;
1191 uint8_t int2_fsm12 : 1;
1192 uint8_t int2_fsm11 : 1;
1193 uint8_t int2_fsm10 : 1;
1194 uint8_t int2_fsm9 : 1;
1198#define LSM6DSO32_EMB_FUNC_STATUS 0x12U
1201#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1208#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1209 uint8_t is_fsm_lc : 1;
1210 uint8_t not_used_02 : 1;
1211 uint8_t is_sigmot : 1;
1212 uint8_t is_tilt : 1;
1213 uint8_t is_step_det : 1;
1214 uint8_t not_used_01 : 3;
1218#define LSM6DSO32_FSM_STATUS_A 0x13U
1221#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1230#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1231 uint8_t is_fsm8 : 1;
1232 uint8_t is_fsm7 : 1;
1233 uint8_t is_fsm6 : 1;
1234 uint8_t is_fsm5 : 1;
1235 uint8_t is_fsm4 : 1;
1236 uint8_t is_fsm3 : 1;
1237 uint8_t is_fsm2 : 1;
1238 uint8_t is_fsm1 : 1;
1242#define LSM6DSO32_FSM_STATUS_B 0x14U
1245#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1254#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1255 uint8_t is_fsm16 : 1;
1256 uint8_t is_fsm15 : 1;
1257 uint8_t is_fsm14 : 1;
1258 uint8_t is_fsm13 : 1;
1259 uint8_t is_fsm12 : 1;
1260 uint8_t is_fsm11 : 1;
1261 uint8_t is_fsm10 : 1;
1262 uint8_t is_fsm9 : 1;
1266#define LSM6DSO32_PAGE_RW 0x17U
1269#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1273#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1274 uint8_t emb_func_lir : 1;
1275 uint8_t page_rw : 2;
1276 uint8_t not_used_01 : 5;
1280#define LSM6DSO32_EMB_FUNC_FIFO_CFG 0x44U
1283#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1287#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1288 uint8_t not_used_01 : 1;
1289 uint8_t pedo_fifo_en : 1;
1290 uint8_t not_used_00 : 6;
1294#define LSM6DSO32_FSM_ENABLE_A 0x46U
1297#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1306#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1307 uint8_t fsm8_en : 1;
1308 uint8_t fsm7_en : 1;
1309 uint8_t fsm6_en : 1;
1310 uint8_t fsm5_en : 1;
1311 uint8_t fsm4_en : 1;
1312 uint8_t fsm3_en : 1;
1313 uint8_t fsm2_en : 1;
1314 uint8_t fsm1_en : 1;
1318#define LSM6DSO32_FSM_ENABLE_B 0x47U
1321#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1330#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1331 uint8_t fsm16_en : 1;
1332 uint8_t fsm15_en : 1;
1333 uint8_t fsm14_en : 1;
1334 uint8_t fsm13_en : 1;
1335 uint8_t fsm12_en : 1;
1336 uint8_t fsm11_en : 1;
1337 uint8_t fsm10_en : 1;
1338 uint8_t fsm9_en : 1;
1342#define LSM6DSO32_FSM_LONG_COUNTER_L 0x48U
1343#define LSM6DSO32_FSM_LONG_COUNTER_H 0x49U
1344#define LSM6DSO32_FSM_LONG_COUNTER_CLEAR 0x4AU
1347#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1351#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1352 uint8_t not_used_01 : 6;
1358#define LSM6DSO32_FSM_OUTS1 0x4CU
1361#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1370#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1382#define LSM6DSO32_FSM_OUTS2 0x4DU
1385#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1394#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1406#define LSM6DSO32_FSM_OUTS3 0x4EU
1409#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1418#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1430#define LSM6DSO32_FSM_OUTS4 0x4FU
1433#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1442#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1454#define LSM6DSO32_FSM_OUTS5 0x50U
1457#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1466#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1478#define LSM6DSO32_FSM_OUTS6 0x51U
1481#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1490#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1502#define LSM6DSO32_FSM_OUTS7 0x52U
1505#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1514#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1526#define LSM6DSO32_FSM_OUTS8 0x53U
1529#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1538#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1550#define LSM6DSO32_FSM_OUTS9 0x54U
1553#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1562#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1574#define LSM6DSO32_FSM_OUTS10 0x55U
1577#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1586#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1598#define LSM6DSO32_FSM_OUTS11 0x56U
1601#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1610#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1622#define LSM6DSO32_FSM_OUTS12 0x57U
1625#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1634#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1646#define LSM6DSO32_FSM_OUTS13 0x58U
1649#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1658#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1670#define LSM6DSO32_FSM_OUTS14 0x59U
1673#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1682#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1694#define LSM6DSO32_FSM_OUTS15 0x5AU
1697#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1706#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1718#define LSM6DSO32_FSM_OUTS16 0x5BU
1721#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1730#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1742#define LSM6DSO32_EMB_FUNC_ODR_CFG_B 0x5FU
1745#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1749#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1750 uint8_t not_used_02 : 3;
1751 uint8_t fsm_odr : 2;
1752 uint8_t not_used_01 : 3;
1756#define LSM6DSO32_STEP_COUNTER_L 0x62U
1757#define LSM6DSO32_STEP_COUNTER_H 0x63U
1758#define LSM6DSO32_EMB_FUNC_SRC 0x64U
1761#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1769#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1770 uint8_t pedo_rst_step : 1;
1771 uint8_t not_used_02 : 1;
1772 uint8_t step_detected : 1;
1773 uint8_t step_count_delta_ia : 1;
1774 uint8_t step_overflow : 1;
1775 uint8_t stepcounter_bit_set : 1;
1776 uint8_t not_used_01 : 2;
1780#define LSM6DSO32_EMB_FUNC_INIT_A 0x66U
1783#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1789#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1790 uint8_t not_used_02 : 2;
1791 uint8_t sig_mot_init : 1;
1792 uint8_t tilt_init : 1;
1793 uint8_t step_det_init : 1;
1794 uint8_t not_used_01 : 3;
1798#define LSM6DSO32_EMB_FUNC_INIT_B 0x67U
1801#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1806#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1807 uint8_t not_used_02 : 4;
1808 uint8_t fifo_compr_init : 1;
1809 uint8_t not_used_01 : 2;
1810 uint8_t fsm_init : 1;
1814#define LSM6DSO32_MAG_SENSITIVITY_L 0xBAU
1815#define LSM6DSO32_MAG_SENSITIVITY_H 0xBBU
1816#define LSM6DSO32_MAG_OFFX_L 0xC0U
1817#define LSM6DSO32_MAG_OFFX_H 0xC1U
1818#define LSM6DSO32_MAG_OFFY_L 0xC2U
1819#define LSM6DSO32_MAG_OFFY_H 0xC3U
1820#define LSM6DSO32_MAG_OFFZ_L 0xC4U
1821#define LSM6DSO32_MAG_OFFZ_H 0xC5U
1822#define LSM6DSO32_MAG_SI_XX_L 0xC6U
1823#define LSM6DSO32_MAG_SI_XX_H 0xC7U
1824#define LSM6DSO32_MAG_SI_XY_L 0xC8U
1825#define LSM6DSO32_MAG_SI_XY_H 0xC9U
1826#define LSM6DSO32_MAG_SI_XZ_L 0xCAU
1827#define LSM6DSO32_MAG_SI_XZ_H 0xCBU
1828#define LSM6DSO32_MAG_SI_YY_L 0xCCU
1829#define LSM6DSO32_MAG_SI_YY_H 0xCDU
1830#define LSM6DSO32_MAG_SI_YZ_L 0xCEU
1831#define LSM6DSO32_MAG_SI_YZ_H 0xCFU
1832#define LSM6DSO32_MAG_SI_ZZ_L 0xD0U
1833#define LSM6DSO32_MAG_SI_ZZ_H 0xD1U
1834#define LSM6DSO32_MAG_CFG_A 0xD4U
1837#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1842#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1843 uint8_t not_used_02 : 1;
1844 uint8_t mag_y_axis : 3;
1845 uint8_t not_used_01 : 1;
1846 uint8_t mag_z_axis : 3;
1850#define LSM6DSO32_MAG_CFG_B 0xD5U
1853#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1856#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1857 uint8_t not_used_01 : 5;
1858 uint8_t mag_x_axis : 3;
1862#define LSM6DSO32_FSM_LC_TIMEOUT_L 0x17AU
1863#define LSM6DSO32_FSM_LC_TIMEOUT_H 0x17BU
1864#define LSM6DSO32_FSM_PROGRAMS 0x17CU
1865#define LSM6DSO32_FSM_START_ADD_L 0x17EU
1866#define LSM6DSO32_FSM_START_ADD_H 0x17FU
1867#define LSM6DSO32_PEDO_CMD_REG 0x183U
1870#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1876#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1877 uint8_t not_used_02 : 4;
1878 uint8_t carry_count_en : 1;
1879 uint8_t fp_rejection_en : 1;
1880 uint8_t not_used_01 : 1;
1881 uint8_t ad_det_en : 1;
1885#define LSM6DSO32_PEDO_DEB_STEPS_CONF 0x184U
1886#define LSM6DSO32_PEDO_SC_DELTAT_L 0x1D0U
1887#define LSM6DSO32_PEDO_SC_DELTAT_H 0x1D1U
1888#define LSM6DSO32_SENSOR_HUB_1 0x02U
1891#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1900#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1912#define LSM6DSO32_SENSOR_HUB_2 0x03U
1915#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1924#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1936#define LSM6DSO32_SENSOR_HUB_3 0x04U
1939#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1948#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1960#define LSM6DSO32_SENSOR_HUB_4 0x05U
1963#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1972#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
1984#define LSM6DSO32_SENSOR_HUB_5 0x06U
1987#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
1996#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2008#define LSM6DSO32_SENSOR_HUB_6 0x07U
2011#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2020#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2032#define LSM6DSO32_SENSOR_HUB_7 0x08U
2035#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2044#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2056#define LSM6DSO32_SENSOR_HUB_8 0x09U
2059#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2068#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2080#define LSM6DSO32_SENSOR_HUB_9 0x0AU
2083#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2092#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2104#define LSM6DSO32_SENSOR_HUB_10 0x0BU
2107#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2116#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2128#define LSM6DSO32_SENSOR_HUB_11 0x0CU
2131#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2140#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2152#define LSM6DSO32_SENSOR_HUB_12 0x0DU
2155#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2164#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2176#define LSM6DSO32_SENSOR_HUB_13 0x0EU
2179#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2188#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2200#define LSM6DSO32_SENSOR_HUB_14 0x0FU
2203#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2212#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2224#define LSM6DSO32_SENSOR_HUB_15 0x10U
2227#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2236#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2248#define LSM6DSO32_SENSOR_HUB_16 0x11U
2251#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2260#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2272#define LSM6DSO32_SENSOR_HUB_17 0x12U
2275#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2284#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2296#define LSM6DSO32_SENSOR_HUB_18 0x13U
2299#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2308#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2320#define LSM6DSO32_MASTER_CONFIG 0x14U
2323#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2331#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2332 uint8_t rst_master_regs : 1;
2333 uint8_t write_once : 1;
2334 uint8_t start_config : 1;
2335 uint8_t pass_through_mode : 1;
2336 uint8_t shub_pu_en : 1;
2337 uint8_t master_on : 1;
2338 uint8_t aux_sens_on : 2;
2342#define LSM6DSO32_SLV0_ADD 0x15U
2345#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2348#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2354#define LSM6DSO32_SLV0_SUBADD 0x16U
2360#define LSM6DSO32_SLV0_CONFIG 0x17U
2363#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2368#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2369 uint8_t shub_odr : 2;
2370 uint8_t not_used_01 : 2;
2371 uint8_t batch_ext_sens_0_en : 1;
2372 uint8_t slave0_numop : 3;
2376#define LSM6DSO32_SLV1_ADD 0x18U
2379#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2382#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2383 uint8_t slave1_add : 7;
2388#define LSM6DSO32_SLV1_SUBADD 0x19U
2394#define LSM6DSO32_SLV1_CONFIG 0x1AU
2397#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2401#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2402 uint8_t not_used_01 : 4;
2403 uint8_t batch_ext_sens_1_en : 1;
2404 uint8_t slave1_numop : 3;
2408#define LSM6DSO32_SLV2_ADD 0x1BU
2411#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2414#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2415 uint8_t slave2_add : 7;
2420#define LSM6DSO32_SLV2_SUBADD 0x1CU
2426#define LSM6DSO32_SLV2_CONFIG 0x1DU
2429#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2433#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2434 uint8_t not_used_01 : 4;
2435 uint8_t batch_ext_sens_2_en : 1;
2436 uint8_t slave2_numop : 3;
2440#define LSM6DSO32_SLV3_ADD 0x1EU
2443#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2446#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2447 uint8_t slave3_add : 7;
2452#define LSM6DSO32_SLV3_SUBADD 0x1FU
2458#define LSM6DSO32_SLV3_CONFIG 0x20U
2461#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2465#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2466 uint8_t not_used_01 : 4;
2467 uint8_t batch_ext_sens_3_en : 1;
2468 uint8_t slave3_numop : 3;
2472#define LSM6DSO32_DATAWRITE_SLV0 0x21U
2478#define LSM6DSO32_STATUS_MASTER 0x22U
2481#if DRV_BYTE_ORDER == DRV_LITTLE_ENDIAN
2489#elif DRV_BYTE_ORDER == DRV_BIG_ENDIAN
2490 uint8_t wr_once_done : 1;
2491 uint8_t slave3_nack : 1;
2492 uint8_t slave2_nack : 1;
2493 uint8_t slave1_nack : 1;
2494 uint8_t slave0_nack : 1;
2495 uint8_t not_used_01 : 2;
2496 uint8_t sens_hub_endop : 1;
2640#define __weak __attribute__((weak))
2900 uint8_t *buf, uint8_t len);
void(* stmdev_mdelay_ptr)(uint32_t millisec)
int32_t(* stmdev_read_ptr)(void *, uint8_t, uint8_t *, uint16_t)
int32_t(* stmdev_write_ptr)(void *, uint8_t, const uint8_t *, uint16_t)
int32_t lsm6dso32_den_mark_axis_x_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of X-axis.[set].
int32_t lsm6dso32_den_mode_set(stmdev_ctx_t *ctx, lsm6dso32_den_mode_t val)
DEN functionality marking mode.[set].
int32_t lsm6dso32_den_mark_axis_z_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of Z-axis.[get].
int32_t lsm6dso32_den_mark_axis_y_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of Y-axis.[set].
int32_t lsm6dso32_den_mode_get(stmdev_ctx_t *ctx, lsm6dso32_den_mode_t *val)
DEN functionality marking mode.[get].
int32_t lsm6dso32_den_enable_get(stmdev_ctx_t *ctx, lsm6dso32_den_xl_g_t *val)
DEN enable.[get].
int32_t lsm6dso32_den_mark_axis_x_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of X-axis.[get].
int32_t lsm6dso32_den_mark_axis_y_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of Y-axis.[get].
int32_t lsm6dso32_den_polarity_get(stmdev_ctx_t *ctx, lsm6dso32_den_lh_t *val)
DEN active level configuration.[get].
int32_t lsm6dso32_den_enable_set(stmdev_ctx_t *ctx, lsm6dso32_den_xl_g_t val)
DEN enable.[set].
int32_t lsm6dso32_den_polarity_set(stmdev_ctx_t *ctx, lsm6dso32_den_lh_t val)
DEN active level configuration.[set].
int32_t lsm6dso32_den_mark_axis_z_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of Z-axis.[set].
int32_t lsm6dso32_angular_rate_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Angular rate sensor. The value is expressed as a 16-bit word in two’s complement.[get].
int32_t lsm6dso32_temperature_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Temperature data output register (r). L and H registers together express a 16-bit word in two’s compl...
int32_t lsm6dso32_number_of_steps_get(stmdev_ctx_t *ctx, uint16_t *val)
Step counter output register.[get].
int32_t lsm6dso32_steps_reset(stmdev_ctx_t *ctx)
Reset step counter register.[get].
int32_t lsm6dso32_rounding_mode_set(stmdev_ctx_t *ctx, lsm6dso32_rounding_t val)
Circular burst-mode (rounding) read of the output registers.[set].
int32_t lsm6dso32_rounding_mode_get(stmdev_ctx_t *ctx, lsm6dso32_rounding_t *val)
Gyroscope UI chain full-scale selection.[get].
int32_t lsm6dso32_fifo_out_raw_get(stmdev_ctx_t *ctx, uint8_t *buff)
FIFO data output [get].
int32_t lsm6dso32_acceleration_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Linear acceleration output register. The value is expressed as a 16-bit word in two’s complement....
int32_t lsm6dso32_act_mode_get(stmdev_ctx_t *ctx, lsm6dso32_inact_en_t *val)
Enable inactivity function.[get].
int32_t lsm6dso32_mag_offset_get(stmdev_ctx_t *ctx, int16_t *val)
Offset for hard-iron compensation register (r/w).[get].
int32_t lsm6dso32_mag_x_orient_get(stmdev_ctx_t *ctx, lsm6dso32_mag_x_axis_t *val)
Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_6d_threshold_set(stmdev_ctx_t *ctx, lsm6dso32_sixd_ths_t val)
Threshold for 4D/6D function.[set].
int32_t lsm6dso32_mag_y_orient_set(stmdev_ctx_t *ctx, lsm6dso32_mag_y_axis_t val)
Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_act_sleep_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Duration to go in sleep mode.[get] 1 LSb = 512 / ODR.
int32_t lsm6dso32_act_mode_set(stmdev_ctx_t *ctx, lsm6dso32_inact_en_t val)
Enable inactivity function.[set].
int32_t lsm6dso32_act_pin_notification_get(stmdev_ctx_t *ctx, lsm6dso32_sleep_status_on_int_t *val)
Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_...
int32_t lsm6dso32_mag_y_orient_get(stmdev_ctx_t *ctx, lsm6dso32_mag_y_axis_t *val)
Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_mag_z_orient_get(stmdev_ctx_t *ctx, lsm6dso32_mag_z_axis_t *val)
Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_mag_offset_set(stmdev_ctx_t *ctx, int16_t *val)
Offset for hard-iron compensation register (r/w).[set].
int32_t lsm6dso32_act_pin_notification_set(stmdev_ctx_t *ctx, lsm6dso32_sleep_status_on_int_t val)
Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_...
int32_t lsm6dso32_mag_sensitivity_set(stmdev_ctx_t *ctx, uint16_t val)
External magnetometer sensitivity value register.[set].
int32_t lsm6dso32_mag_z_orient_set(stmdev_ctx_t *ctx, lsm6dso32_mag_z_axis_t val)
Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_6d_threshold_get(stmdev_ctx_t *ctx, lsm6dso32_sixd_ths_t *val)
Threshold for 4D/6D function.[get].
int32_t lsm6dso32_4d_mode_set(stmdev_ctx_t *ctx, uint8_t val)
4D orientation detection enable.[set]
int32_t lsm6dso32_mag_soft_iron_get(stmdev_ctx_t *ctx, int16_t *val)
Soft-iron (3x3 symmetric) matrix correction register (r/w). The value is expressed as half-precision ...
int32_t lsm6dso32_mag_sensitivity_get(stmdev_ctx_t *ctx, uint16_t *val)
External magnetometer sensitivity value register.[get].
int32_t lsm6dso32_4d_mode_get(stmdev_ctx_t *ctx, uint8_t *val)
4D orientation detection enable.[get]
int32_t lsm6dso32_act_sleep_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Duration to go in sleep mode.[set] 1 LSb = 512 / ODR.
int32_t lsm6dso32_gy_sleep_mode_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables gyroscope Sleep mode.[get].
int32_t lsm6dso32_gy_sleep_mode_set(stmdev_ctx_t *ctx, uint8_t val)
Enables gyroscope Sleep mode.[set].
int32_t lsm6dso32_mag_x_orient_set(stmdev_ctx_t *ctx, lsm6dso32_mag_x_axis_t val)
Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation)....
int32_t lsm6dso32_mag_soft_iron_set(stmdev_ctx_t *ctx, int16_t *val)
Soft-iron (3x3 symmetric) matrix correction register (r/w). The value is expressed as half-precision ...
int32_t lsm6dso32_write_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Write generic device register.
int32_t lsm6dso32_read_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Read generic device register.
int32_t lsm6dso32_pedo_int_mode_set(stmdev_ctx_t *ctx, lsm6dso32_carry_count_en_t val)
Set when user wants to generate interrupt on count overflow event/every step.[set].
int32_t lsm6dso32_pedo_sens_set(stmdev_ctx_t *ctx, lsm6dso32_pedo_md_t val)
Enable pedometer algorithm.[set].
int32_t lsm6dso32_pedo_steps_period_get(stmdev_ctx_t *ctx, uint16_t *val)
Time period register for step detection on delta time (r/w).[get].
int32_t lsm6dso32_pedo_step_detect_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for step detection.[get].
int32_t lsm6dso32_pedo_sens_get(stmdev_ctx_t *ctx, lsm6dso32_pedo_md_t *val)
Enable pedometer algorithm.[get].
int32_t lsm6dso32_pedo_int_mode_get(stmdev_ctx_t *ctx, lsm6dso32_carry_count_en_t *val)
Set when user wants to generate interrupt on count overflow event/every step.[get].
int32_t lsm6dso32_pedo_debounce_steps_set(stmdev_ctx_t *ctx, uint8_t *buff)
Pedometer debounce configuration register (r/w).[set].
int32_t lsm6dso32_pedo_steps_period_set(stmdev_ctx_t *ctx, uint16_t val)
Time period register for step detection on delta time (r/w).[set].
int32_t lsm6dso32_pedo_debounce_steps_get(stmdev_ctx_t *ctx, uint8_t *buff)
Pedometer debounce configuration register (r/w).[get].
float_t lsm6dso32_from_lsb_to_celsius(int16_t lsb)
float_t lsm6dso32_from_fs1000_to_mdps(int16_t lsb)
float_t lsm6dso32_from_fs500_to_mdps(int16_t lsb)
float_t lsm6dso32_from_fs250_to_mdps(int16_t lsb)
float_t lsm6dso32_from_fs125_to_mdps(int16_t lsb)
float_t lsm6dso32_from_fs8_to_mg(int16_t lsb)
float_t lsm6dso32_from_fs4_to_mg(int16_t lsb)
float_t lsm6dso32_from_lsb_to_nsec(int16_t lsb)
float_t lsm6dso32_from_fs32_to_mg(int16_t lsb)
float_t lsm6dso32_from_fs16_to_mg(int16_t lsb)
float_t lsm6dso32_from_fs2000_to_mdps(int16_t lsb)
int32_t lsm6dso32_sh_data_rate_get(stmdev_ctx_t *ctx, lsm6dso32_shub_odr_t *val)
Rate at which the master communicates.[get].
int32_t lsm6dso32_sh_data_rate_set(stmdev_ctx_t *ctx, lsm6dso32_shub_odr_t val)
Rate at which the master communicates.[set].
int32_t lsm6dso32_sh_syncro_mode_set(stmdev_ctx_t *ctx, lsm6dso32_start_config_t val)
Sensor hub trigger signal selection.[set].
int32_t lsm6dso32_sh_pin_mode_get(stmdev_ctx_t *ctx, lsm6dso32_shub_pu_en_t *val)
Master I2C pull-up enable.[get].
int32_t lsm6dso32_sh_slave_connected_get(stmdev_ctx_t *ctx, lsm6dso32_aux_sens_on_t *val)
Number of external sensors to be read by the sensor hub.[get].
int32_t lsm6dso32_sh_master_get(stmdev_ctx_t *ctx, uint8_t *val)
Sensor hub I2C master enable.[get].
int32_t lsm6dso32_sh_pass_through_set(stmdev_ctx_t *ctx, uint8_t val)
I2C interface pass-through.[set].
int32_t lsm6dso32_sh_write_mode_set(stmdev_ctx_t *ctx, lsm6dso32_write_once_t val)
Slave 0 write operation is performed only at the first sensor hub cycle.[set].
int32_t lsm6dso32_sh_slv1_cfg_read(stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
Configure slave 0 for perform a write/read.[set].
int32_t lsm6dso32_sh_slv2_cfg_read(stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
Configure slave 0 for perform a write/read.[set].
int32_t lsm6dso32_sh_cfg_write(stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_write_t *val)
Configure slave 0 for perform a write.[set].
int32_t lsm6dso32_sh_slave_connected_set(stmdev_ctx_t *ctx, lsm6dso32_aux_sens_on_t val)
Number of external sensors to be read by the sensor hub.[set].
int32_t lsm6dso32_sh_pass_through_get(stmdev_ctx_t *ctx, uint8_t *val)
I2C interface pass-through.[get].
int32_t lsm6dso32_sh_status_get(stmdev_ctx_t *ctx, lsm6dso32_status_master_t *val)
Sensor hub source register.[get].
int32_t lsm6dso32_sh_syncro_mode_get(stmdev_ctx_t *ctx, lsm6dso32_start_config_t *val)
Sensor hub trigger signal selection.[get].
int32_t lsm6dso32_sh_master_set(stmdev_ctx_t *ctx, uint8_t val)
Sensor hub I2C master enable.[set].
int32_t lsm6dso32_sh_write_mode_get(stmdev_ctx_t *ctx, lsm6dso32_write_once_t *val)
Slave 0 write operation is performed only at the first sensor hub cycle.[get].
int32_t lsm6dso32_sh_read_data_raw_get(stmdev_ctx_t *ctx, lsm6dso32_emb_sh_read_t *val)
Sensor hub output registers.[get].
int32_t lsm6dso32_sh_reset_get(stmdev_ctx_t *ctx, uint8_t *val)
Reset Master logic and output registers.[get].
int32_t lsm6dso32_sh_reset_set(stmdev_ctx_t *ctx)
Reset Master logic and output registers.[set].
int32_t lsm6dso32_sh_pin_mode_set(stmdev_ctx_t *ctx, lsm6dso32_shub_pu_en_t val)
Master I2C pull-up enable.[set].
int32_t lsm6dso32_sh_slv0_cfg_read(stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
Configure slave 0 for perform a read.[set].
int32_t lsm6dso32_sh_slv3_cfg_read(stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
Configure slave 0 for perform a write/read.[set].
int32_t lsm6dso32_timestamp_set(stmdev_ctx_t *ctx, uint8_t val)
Enables timestamp counter.[set].
int32_t lsm6dso32_timestamp_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables timestamp counter.[get].
int32_t lsm6dso32_timestamp_raw_get(stmdev_ctx_t *ctx, uint32_t *val)
Timestamp first data output register (r). The value is expressed as a 32-bit word and the bit resolut...
int32_t lsm6dso32_wkup_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Wake up duration event.[set] 1LSb = 1 / ODR.
int32_t lsm6dso32_wkup_ths_weight_get(stmdev_ctx_t *ctx, lsm6dso32_wake_ths_w_t *val)
Weight of 1 LSB of wakeup threshold.[get] 0: 1 LSB =FS_XL / 64 1: 1 LSB = FS_XL / 256.
int32_t lsm6dso32_wkup_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Wake up duration event.[get] 1LSb = 1 / ODR.
int32_t lsm6dso32_wkup_threshold_get(stmdev_ctx_t *ctx, uint8_t *val)
Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.[get].
int32_t lsm6dso32_wkup_ths_weight_set(stmdev_ctx_t *ctx, lsm6dso32_wake_ths_w_t val)
Weight of 1 LSB of wakeup threshold.[set] 0: 1 LSB =FS_XL / 64 1: 1 LSB = FS_XL / 256.
int32_t lsm6dso32_wkup_threshold_set(stmdev_ctx_t *ctx, uint8_t val)
Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.[set].
int32_t lsm6dso32_xl_usr_offset_on_wkup_get(stmdev_ctx_t *ctx, uint8_t *val)
Wake up duration event.[get] 1LSb = 1 / ODR.
int32_t lsm6dso32_xl_usr_offset_on_wkup_set(stmdev_ctx_t *ctx, uint8_t val)
Wake up duration event.[set] 1LSb = 1 / ODR.
int32_t lsm6dso32_ln_pg_write(stmdev_ctx_t *ctx, uint16_t address, uint8_t *buf, uint8_t len)
Write buffer in a page.[set].
int32_t lsm6dso32_ln_pg_read_byte(stmdev_ctx_t *ctx, uint16_t address, uint8_t *val)
Read a line(byte) in a page.[get].
int32_t lsm6dso32_reset_get(stmdev_ctx_t *ctx, uint8_t *val)
Software reset. Restore the default values in user registers.[get].
int32_t lsm6dso32_mem_bank_set(stmdev_ctx_t *ctx, lsm6dso32_reg_access_t val)
Enable access to the embedded functions/sensor hub configuration registers.[set].
int32_t lsm6dso32_gy_self_test_set(stmdev_ctx_t *ctx, lsm6dso32_st_g_t val)
Angular rate sensor self-test enable.[set].
int32_t lsm6dso32_reset_set(stmdev_ctx_t *ctx, uint8_t val)
Software reset. Restore the default values in user registers[set].
int32_t lsm6dso32_boot_get(stmdev_ctx_t *ctx, uint8_t *val)
Reboot memory content. Reload the calibration parameters.[get].
int32_t lsm6dso32_data_ready_mode_set(stmdev_ctx_t *ctx, lsm6dso32_dataready_pulsed_t val)
Data-ready pulsed / letched mode.[set].
int32_t lsm6dso32_odr_cal_reg_get(stmdev_ctx_t *ctx, uint8_t *val)
Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical....
int32_t lsm6dso32_gy_self_test_get(stmdev_ctx_t *ctx, lsm6dso32_st_g_t *val)
Angular rate sensor self-test enable.[get].
int32_t lsm6dso32_odr_cal_reg_set(stmdev_ctx_t *ctx, uint8_t val)
Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical....
int32_t lsm6dso32_data_ready_mode_get(stmdev_ctx_t *ctx, lsm6dso32_dataready_pulsed_t *val)
Data-ready pulsed / letched mode.[get].
int32_t lsm6dso32_auto_increment_get(stmdev_ctx_t *ctx, uint8_t *val)
Register address automatically incremented during a multiple byte access with a serial interface....
int32_t lsm6dso32_boot_set(stmdev_ctx_t *ctx, uint8_t val)
Reboot memory content. Reload the calibration parameters.[set].
int32_t lsm6dso32_xl_self_test_get(stmdev_ctx_t *ctx, lsm6dso32_st_xl_t *val)
Linear acceleration sensor self-test enable.[get].
int32_t lsm6dso32_device_id_get(stmdev_ctx_t *ctx, uint8_t *buff)
Device "Who am I".[get].
int32_t lsm6dso32_auto_increment_set(stmdev_ctx_t *ctx, uint8_t val)
Register address automatically incremented during a multiple byte access with a serial interface....
int32_t lsm6dso32_ln_pg_write_byte(stmdev_ctx_t *ctx, uint16_t address, uint8_t *val)
Write a line(byte) in a page.[set].
int32_t lsm6dso32_xl_self_test_set(stmdev_ctx_t *ctx, lsm6dso32_st_xl_t val)
Linear acceleration sensor self-test enable.[set].
int32_t lsm6dso32_mem_bank_get(stmdev_ctx_t *ctx, lsm6dso32_reg_access_t *val)
Enable access to the embedded functions/sensor hub configuration registers.[get].
int32_t lsm6dso32_rst_batch_counter_get(stmdev_ctx_t *ctx, uint8_t *val)
Resets the internal counter of batching events for a single sensor. This bit is automatically reset t...
int32_t lsm6dso32_batch_counter_threshold_set(stmdev_ctx_t *ctx, uint16_t val)
Batch data rate counter.[set].
int32_t lsm6dso32_fifo_pedo_batch_set(stmdev_ctx_t *ctx, uint8_t val)
: Enable FIFO batching of pedometer embedded function values.[set]
int32_t lsm6dso32_compression_algo_set(stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t val)
Enable and configure compression algo.[set].
int32_t lsm6dso32_fifo_gy_batch_get(stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[get].
int32_t lsm6dso32_compression_algo_real_time_set(stmdev_ctx_t *ctx, uint8_t val)
Enables/Disables compression algorithm runtime.[set].
int32_t lsm6dso32_fifo_xl_batch_set(stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t val)
Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[set].
int32_t lsm6dso32_sh_batch_slave_3_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of fourth slave.[get].
int32_t lsm6dso32_fifo_ovr_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO overrun status.[get].
int32_t lsm6dso32_fifo_data_level_get(stmdev_ctx_t *ctx, uint16_t *val)
Number of unread sensor data(TAG + 6 bytes) stored in FIFO.[get].
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_set(stmdev_ctx_t *ctx, uint8_t val)
Enables ODR CHANGE virtual sensor to be batched in FIFO.[set].
int32_t lsm6dso32_fifo_temp_batch_set(stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t val)
Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[set].
int32_t lsm6dso32_compression_algo_real_time_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables/Disables compression algorithm runtime.[get].
int32_t lsm6dso32_sh_batch_slave_0_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of first slave.[set].
int32_t lsm6dso32_batch_counter_threshold_get(stmdev_ctx_t *ctx, uint16_t *val)
Batch data rate counter.[get].
int32_t lsm6dso32_rst_batch_counter_set(stmdev_ctx_t *ctx, uint8_t val)
Resets the internal counter of batching vents for a single sensor. This bit is automatically reset to...
int32_t lsm6dso32_fifo_watermark_get(stmdev_ctx_t *ctx, uint16_t *val)
FIFO watermark level selection.[get].
lsm6dso32_trig_counter_bdr_t
int32_t lsm6dso32_fifo_xl_batch_get(stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[get].
int32_t lsm6dso32_fifo_mode_set(stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t val)
FIFO mode selection.[set].
int32_t lsm6dso32_fifo_sensor_tag_get(stmdev_ctx_t *ctx, lsm6dso32_fifo_tag_t *val)
Identifies the sensor in FIFO_DATA_OUT.[get].
int32_t lsm6dso32_sh_batch_slave_2_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of third slave.[set].
int32_t lsm6dso32_fifo_pedo_batch_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching of pedometer embedded function values.[get].
int32_t lsm6dso32_sh_batch_slave_1_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of second slave.[set].
int32_t lsm6dso32_fifo_status_get(stmdev_ctx_t *ctx, lsm6dso32_fifo_status2_t *val)
FIFO status.[get].
int32_t lsm6dso32_fifo_mode_get(stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t *val)
FIFO mode selection.[get].
int32_t lsm6dso32_fifo_timestamp_decimation_get(stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t *val)
Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL a...
int32_t lsm6dso32_sh_batch_slave_1_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of second slave.[get].
int32_t lsm6dso32_compression_algo_get(stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t *val)
Enable and configure compression algo.[get].
int32_t lsm6dso32_fifo_gy_batch_set(stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t val)
Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[set].
int32_t lsm6dso32_fifo_cnt_event_batch_get(stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t *val)
Selects the trigger for the internal counter of batching events between XL and gyro....
int32_t lsm6dso32_fifo_stop_on_wtm_get(stmdev_ctx_t *ctx, uint8_t *val)
Sensing chain FIFO stop values memorization at threshold level.[get].
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables ODR CHANGE virtual sensor to be batched in FIFO.[get].
int32_t lsm6dso32_compression_algo_init_set(stmdev_ctx_t *ctx, uint8_t val)
FIFO compression feature initialization request [set].
int32_t lsm6dso32_fifo_wtm_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO watermark status.[get].
int32_t lsm6dso32_fifo_timestamp_decimation_set(stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t val)
Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL a...
int32_t lsm6dso32_compression_algo_init_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO compression feature initialization request [get].
int32_t lsm6dso32_fifo_stop_on_wtm_set(stmdev_ctx_t *ctx, uint8_t val)
Sensing chain FIFO stop values memorization at threshold level.[set].
int32_t lsm6dso32_fifo_cnt_event_batch_set(stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t val)
Selects the trigger for the internal counter of batching events between XL and gyro....
int32_t lsm6dso32_fifo_watermark_set(stmdev_ctx_t *ctx, uint16_t val)
FIFO watermark level selection.[set].
int32_t lsm6dso32_sh_batch_slave_2_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of third slave.[get].
int32_t lsm6dso32_fifo_full_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
Smart FIFO full status.[get].
int32_t lsm6dso32_sh_batch_slave_3_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of fourth slave.[set].
int32_t lsm6dso32_fifo_temp_batch_get(stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[get].
int32_t lsm6dso32_sh_batch_slave_0_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of first slave.[get].
@ LSM6DSO32_BYPASS_TO_FIFO_MODE
@ LSM6DSO32_BYPASS_TO_STREAM_MODE
@ LSM6DSO32_STREAM_TO_FIFO_MODE
@ LSM6DSO32_SENSORHUB_NACK_TAG
@ LSM6DSO32_XL_NC_T_1_TAG
@ LSM6DSO32_SENSORHUB_SLAVE3_TAG
@ LSM6DSO32_GYRO_NC_T_2_TAG
@ LSM6DSO32_GYRO_NC_T_1_TAG
@ LSM6DSO32_XL_NC_T_2_TAG
@ LSM6DSO32_SENSORHUB_SLAVE2_TAG
@ LSM6DSO32_CFG_CHANGE_TAG
@ LSM6DSO32_TIMESTAMP_TAG
@ LSM6DSO32_TEMPERATURE_TAG
@ LSM6DSO32_SENSORHUB_SLAVE0_TAG
@ LSM6DSO32_SENSORHUB_SLAVE1_TAG
@ LSM6DSO32_STEP_COUNTER_TAG
@ LSM6DSO32_TEMP_BATCHED_AT_1Hz6
@ LSM6DSO32_TEMP_NOT_BATCHED
@ LSM6DSO32_TEMP_BATCHED_AT_52Hz
@ LSM6DSO32_TEMP_BATCHED_AT_12Hz5
@ LSM6DSO32_GY_BATCHED_AT_3333Hz
@ LSM6DSO32_GY_NOT_BATCHED
@ LSM6DSO32_GY_BATCHED_AT_417Hz
@ LSM6DSO32_GY_BATCHED_AT_833Hz
@ LSM6DSO32_GY_BATCHED_AT_26Hz
@ LSM6DSO32_GY_BATCHED_AT_6Hz5
@ LSM6DSO32_GY_BATCHED_AT_12Hz5
@ LSM6DSO32_GY_BATCHED_AT_1667Hz
@ LSM6DSO32_GY_BATCHED_AT_208Hz
@ LSM6DSO32_GY_BATCHED_AT_52Hz
@ LSM6DSO32_GY_BATCHED_AT_104Hz
@ LSM6DSO32_GY_BATCHED_AT_6667Hz
@ LSM6DSO32_GYRO_BATCH_EVENT
@ LSM6DSO32_XL_BATCH_EVENT
@ LSM6DSO32_NO_DECIMATION
@ LSM6DSO32_XL_BATCHED_AT_26Hz
@ LSM6DSO32_XL_BATCHED_AT_1667Hz
@ LSM6DSO32_XL_BATCHED_AT_12Hz5
@ LSM6DSO32_XL_BATCHED_AT_208Hz
@ LSM6DSO32_XL_BATCHED_AT_6Hz5
@ LSM6DSO32_XL_BATCHED_AT_104Hz
@ LSM6DSO32_XL_BATCHED_AT_417Hz
@ LSM6DSO32_XL_BATCHED_AT_3333Hz
@ LSM6DSO32_XL_BATCHED_AT_6667Hz
@ LSM6DSO32_XL_NOT_BATCHED
@ LSM6DSO32_XL_BATCHED_AT_52Hz
@ LSM6DSO32_XL_BATCHED_AT_833Hz
int32_t lsm6dso32_xl_fast_settling_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables accelerometer LPF2 and HPF fast-settling mode. The filter sets the second samples after writi...
int32_t lsm6dso32_xl_fast_settling_set(stmdev_ctx_t *ctx, uint8_t val)
Enables accelerometer LPF2 and HPF fast-settling mode. The filter sets the second samples after writi...
int32_t lsm6dso32_xl_hp_path_internal_get(stmdev_ctx_t *ctx, lsm6dso32_slope_fds_t *val)
HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.[get].
int32_t lsm6dso32_xl_lp2_on_6d_set(stmdev_ctx_t *ctx, uint8_t val)
Low pass filter 2 on 6D function selection.[set].
int32_t lsm6dso32_xl_lp2_on_6d_get(stmdev_ctx_t *ctx, uint8_t *val)
Low pass filter 2 on 6D function selection.[get].
int32_t lsm6dso32_gy_filter_lp1_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FT...
int32_t lsm6dso32_xl_filter_lp2_set(stmdev_ctx_t *ctx, uint8_t val)
Accelerometer output from LPF2 filtering stage selection.[set].
int32_t lsm6dso32_xl_filter_lp2_get(stmdev_ctx_t *ctx, uint8_t *val)
Accelerometer output from LPF2 filtering stage selection.[get].
int32_t lsm6dso32_xl_hp_path_internal_set(stmdev_ctx_t *ctx, lsm6dso32_slope_fds_t val)
HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.[set].
int32_t lsm6dso32_gy_lp1_bandwidth_get(stmdev_ctx_t *ctx, lsm6dso32_ftype_t *val)
Gyroscope lp1 bandwidth.[get].
int32_t lsm6dso32_gy_hp_path_internal_set(stmdev_ctx_t *ctx, lsm6dso32_hpm_g_t val)
Enables gyroscope digital high-pass filter. The filter is enabled only if the gyro is in HP mode....
int32_t lsm6dso32_filter_settling_mask_get(stmdev_ctx_t *ctx, uint8_t *val)
Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked)....
int32_t lsm6dso32_xl_hp_path_on_out_set(stmdev_ctx_t *ctx, lsm6dso32_hp_slope_xl_en_t val)
Accelerometer slope filter / high-pass filter selection on output.[set].
int32_t lsm6dso32_gy_hp_path_internal_get(stmdev_ctx_t *ctx, lsm6dso32_hpm_g_t *val)
Enables gyroscope digital high-pass filter. The filter is enabled only if the gyro is in HP mode....
int32_t lsm6dso32_filter_settling_mask_set(stmdev_ctx_t *ctx, uint8_t val)
Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked)....
int32_t lsm6dso32_gy_lp1_bandwidth_set(stmdev_ctx_t *ctx, lsm6dso32_ftype_t val)
Gyroscope lp1 bandwidth.[set].
int32_t lsm6dso32_gy_filter_lp1_set(stmdev_ctx_t *ctx, uint8_t val)
Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FT...
int32_t lsm6dso32_xl_hp_path_on_out_get(stmdev_ctx_t *ctx, lsm6dso32_hp_slope_xl_en_t *val)
Accelerometer slope filter / high-pass filter selection on output.[get].
int32_t lsm6dso32_fsm_data_rate_set(stmdev_ctx_t *ctx, lsm6dso32_fsm_odr_t val)
Finite State Machine ODR configuration.[set].
int32_t lsm6dso32_long_clr_set(stmdev_ctx_t *ctx, lsm6dso32_fsm_lc_clr_t val)
Clear FSM long counter value.[set].
int32_t lsm6dso32_fsm_enable_set(stmdev_ctx_t *ctx, lsm6dso32_emb_fsm_enable_t *val)
Final State Machine enable.[set].
int32_t lsm6dso32_emb_fsm_en_set(stmdev_ctx_t *ctx, uint8_t val)
Final State Machine global enable.[set].
int32_t lsm6dso32_long_cnt_int_value_set(stmdev_ctx_t *ctx, uint16_t val)
FSM long counter timeout register (r/w). The long counter timeout value is an unsigned integer value ...
int32_t lsm6dso32_fsm_data_rate_get(stmdev_ctx_t *ctx, lsm6dso32_fsm_odr_t *val)
Finite State Machine ODR configuration.[get].
int32_t lsm6dso32_long_clr_get(stmdev_ctx_t *ctx, lsm6dso32_fsm_lc_clr_t *val)
Clear FSM long counter value.[get].
int32_t lsm6dso32_fsm_number_of_programs_get(stmdev_ctx_t *ctx, uint8_t *buff)
FSM number of programs register.[get].
int32_t lsm6dso32_fsm_init_set(stmdev_ctx_t *ctx, uint8_t val)
FSM initialization request.[set].
int32_t lsm6dso32_fsm_number_of_programs_set(stmdev_ctx_t *ctx, uint8_t *buff)
FSM number of programs register.[set].
int32_t lsm6dso32_fsm_init_get(stmdev_ctx_t *ctx, uint8_t *val)
FSM initialization request.[get].
int32_t lsm6dso32_long_cnt_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for FSM long counter timeout interrupt event.[get].
int32_t lsm6dso32_long_cnt_int_value_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM long counter timeout register (r/w). The long counter timeout value is an unsigned integer value ...
int32_t lsm6dso32_fsm_enable_get(stmdev_ctx_t *ctx, lsm6dso32_emb_fsm_enable_t *val)
Final State Machine enable.[get].
int32_t lsm6dso32_fsm_out_get(stmdev_ctx_t *ctx, lsm6dso32_fsm_out_t *val)
FSM output registers[get].
int32_t lsm6dso32_emb_fsm_en_get(stmdev_ctx_t *ctx, uint8_t *val)
Final State Machine global enable.[get].
int32_t lsm6dso32_fsm_start_address_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM start address register (r/w). First available address is 0x033C.[get].
int32_t lsm6dso32_fsm_start_address_set(stmdev_ctx_t *ctx, uint16_t val)
FSM start address register (r/w). First available address is 0x033C.[set].
int32_t lsm6dso32_long_cnt_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM long counter status register. Long counter value is an unsigned integer value (16-bit format)....
int32_t lsm6dso32_long_cnt_set(stmdev_ctx_t *ctx, uint16_t val)
FSM long counter status register. Long counter value is an unsigned integer value (16-bit format)....
@ LSM6DSO32_LC_CLEAR_DONE
@ LSM6DSO32_ODR_FSM_12Hz5
@ LSM6DSO32_ODR_FSM_104Hz
int32_t lsm6dso32_ff_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Free-fall duration event.[get] 1LSb = 1 / ODR.
int32_t lsm6dso32_ff_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Free-fall duration event.[set] 1LSb = 1 / ODR.
int32_t lsm6dso32_ff_threshold_set(stmdev_ctx_t *ctx, lsm6dso32_ff_ths_t val)
Free fall threshold setting.[set].
int32_t lsm6dso32_ff_threshold_get(stmdev_ctx_t *ctx, lsm6dso32_ff_ths_t *val)
Free fall threshold setting.[get].
int32_t lsm6dso32_pin_int2_route_get(stmdev_ctx_t *ctx, lsm6dso32_pin_int2_route_t *val)
Select the signal that need to route on int2 pad.[get].
int32_t lsm6dso32_int_notification_get(stmdev_ctx_t *ctx, lsm6dso32_lir_t *val)
Interrupt notification mode.[get].
int32_t lsm6dso32_pin_mode_set(stmdev_ctx_t *ctx, lsm6dso32_pp_od_t val)
Push-pull/open drain selection on interrupt pads.[set].
int32_t lsm6dso32_pin_int1_route_set(stmdev_ctx_t *ctx, lsm6dso32_pin_int1_route_t *val)
Select the signal that need to route on int1 pad.[set].
int32_t lsm6dso32_pin_mode_get(stmdev_ctx_t *ctx, lsm6dso32_pp_od_t *val)
Push-pull/open drain selection on interrupt pads.[get].
int32_t lsm6dso32_pin_int2_route_set(stmdev_ctx_t *ctx, lsm6dso32_pin_int2_route_t *val)
Select the signal that need to route on int2 pad.[set].
int32_t lsm6dso32_pin_int1_route_get(stmdev_ctx_t *ctx, lsm6dso32_pin_int1_route_t *val)
Select the signal that need to route on int1 pad.[get].
int32_t lsm6dso32_pin_polarity_get(stmdev_ctx_t *ctx, lsm6dso32_h_lactive_t *val)
Interrupt active-high/low.[get].
int32_t lsm6dso32_pin_polarity_set(stmdev_ctx_t *ctx, lsm6dso32_h_lactive_t val)
Interrupt active-high/low.[set].
int32_t lsm6dso32_int1_mode_get(stmdev_ctx_t *ctx, lsm6dso32_int1_pd_en_t *val)
Connect/Disconnect INT1 internal pull-down.[get].
int32_t lsm6dso32_all_on_int1_get(stmdev_ctx_t *ctx, uint8_t *val)
All interrupt signals become available on INT1 pin.[get].
int32_t lsm6dso32_int1_mode_set(stmdev_ctx_t *ctx, lsm6dso32_int1_pd_en_t val)
Connect/Disconnect INT1 internal pull-down.[set].
int32_t lsm6dso32_all_on_int1_set(stmdev_ctx_t *ctx, uint8_t val)
All interrupt signals become available on INT1 pin.[set].
int32_t lsm6dso32_int_notification_set(stmdev_ctx_t *ctx, lsm6dso32_lir_t val)
Interrupt notification mode.[set].
int32_t lsm6dso32_motion_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for significant motion detection.[get].
int32_t lsm6dso32_motion_sens_set(stmdev_ctx_t *ctx, uint8_t val)
Enable significant motion detection function.[set].
int32_t lsm6dso32_motion_sens_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable significant motion detection function.[get].
int32_t lsm6dso32_tap_detection_on_z_set(stmdev_ctx_t *ctx, uint8_t val)
Enable Z direction in tap recognition.[set].
int32_t lsm6dso32_tap_shock_set(stmdev_ctx_t *ctx, uint8_t val)
Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap ...
int32_t lsm6dso32_tap_threshold_x_set(stmdev_ctx_t *ctx, uint8_t val)
X-axis tap recognition threshold.[set].
int32_t lsm6dso32_tap_quiet_get(stmdev_ctx_t *ctx, uint8_t *val)
Quiet time is the time after the first detected tap in which there must not be any over threshold eve...
int32_t lsm6dso32_tap_detection_on_x_set(stmdev_ctx_t *ctx, uint8_t val)
Enable X direction in tap recognition.[set].
int32_t lsm6dso32_tap_detection_on_y_set(stmdev_ctx_t *ctx, uint8_t val)
Enable Y direction in tap recognition.[set].
int32_t lsm6dso32_tap_threshold_z_set(stmdev_ctx_t *ctx, uint8_t val)
Z-axis recognition threshold.[set].
int32_t lsm6dso32_tap_threshold_y_get(stmdev_ctx_t *ctx, uint8_t *val)
Y-axis tap recognition threshold.[get].
int32_t lsm6dso32_tap_detection_on_y_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable Y direction in tap recognition.[get].
int32_t lsm6dso32_tap_mode_get(stmdev_ctx_t *ctx, lsm6dso32_single_double_tap_t *val)
Single/double-tap event enable.[get].
int32_t lsm6dso32_tap_dur_set(stmdev_ctx_t *ctx, uint8_t val)
When double tap recognition is enabled, this register expresses the maximum time between two consecut...
int32_t lsm6dso32_tap_detection_on_z_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable Z direction in tap recognition.[get].
int32_t lsm6dso32_tap_axis_priority_get(stmdev_ctx_t *ctx, lsm6dso32_tap_priority_t *val)
Selection of axis priority for TAP detection.[get].
int32_t lsm6dso32_tap_detection_on_x_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable X direction in tap recognition.[get].
int32_t lsm6dso32_tap_mode_set(stmdev_ctx_t *ctx, lsm6dso32_single_double_tap_t val)
Single/double-tap event enable.[set].
int32_t lsm6dso32_tap_quiet_set(stmdev_ctx_t *ctx, uint8_t val)
Quiet time is the time after the first detected tap in which there must not be any over threshold eve...
int32_t lsm6dso32_tap_threshold_x_get(stmdev_ctx_t *ctx, uint8_t *val)
X-axis tap recognition threshold.[get].
int32_t lsm6dso32_tap_shock_get(stmdev_ctx_t *ctx, uint8_t *val)
Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap ...
int32_t lsm6dso32_tap_threshold_y_set(stmdev_ctx_t *ctx, uint8_t val)
Y-axis tap recognition threshold.[set].
int32_t lsm6dso32_tap_axis_priority_set(stmdev_ctx_t *ctx, lsm6dso32_tap_priority_t val)
Selection of axis priority for TAP detection.[set].
int32_t lsm6dso32_tap_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
When double tap recognition is enabled, this register expresses the maximum time between two consecut...
int32_t lsm6dso32_tap_threshold_z_get(stmdev_ctx_t *ctx, uint8_t *val)
Z-axis recognition threshold.[get].
int32_t lsm6dso32_tilt_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for tilt detection.[get].
int32_t lsm6dso32_tilt_sens_set(stmdev_ctx_t *ctx, uint8_t val)
Enable tilt calculation.[set].
int32_t lsm6dso32_tilt_sens_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable tilt calculation.[get].
int32_t lsm6dso32_xl_usr_offset_x_get(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_gy_full_scale_set(stmdev_ctx_t *ctx, lsm6dso32_fs_g_t val)
Gyroscope UI chain full-scale selection.[set].
int32_t lsm6dso32_xl_usr_offset_get(stmdev_ctx_t *ctx, uint8_t *val)
User offset on out flag.[get].
int32_t lsm6dso32_xl_usr_offset_z_get(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_xl_offset_weight_set(stmdev_ctx_t *ctx, lsm6dso32_usr_off_w_t val)
Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h)....
int32_t lsm6dso32_xl_full_scale_set(stmdev_ctx_t *ctx, lsm6dso32_fs_xl_t val)
Accelerometer full-scale selection.[set].
int32_t lsm6dso32_block_data_update_set(stmdev_ctx_t *ctx, uint8_t val)
Block data update.[set].
int32_t lsm6dso32_xl_usr_offset_z_set(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_xl_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Accelerometer new data available.[get].
int32_t lsm6dso32_xl_data_rate_set(stmdev_ctx_t *ctx, lsm6dso32_odr_xl_t val)
Accelerometer UI data rate and power mode selection.[set].
int32_t lsm6dso32_xl_usr_offset_y_set(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_xl_full_scale_get(stmdev_ctx_t *ctx, lsm6dso32_fs_xl_t *val)
Accelerometer full-scale selection.[get].
int32_t lsm6dso32_xl_offset_weight_get(stmdev_ctx_t *ctx, lsm6dso32_usr_off_w_t *val)
Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h)....
int32_t lsm6dso32_i3c_disable_set(stmdev_ctx_t *ctx, lsm6dso32_i3c_disable_t val)
I3C Enable/Disable communication protocol[.set].
int32_t lsm6dso32_gy_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Gyroscope new data available.[get].
int32_t lsm6dso32_xl_data_rate_get(stmdev_ctx_t *ctx, lsm6dso32_odr_xl_t *val)
Accelerometer UI data rate selection.[get].
int32_t lsm6dso32_all_sources_get(stmdev_ctx_t *ctx, lsm6dso32_all_sources_t *val)
Read all the interrupt flag of the device.[get].
int32_t lsm6dso32_xl_usr_offset_x_set(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_temp_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Temperature new data available.[get].
int32_t lsm6dso32_i3c_disable_get(stmdev_ctx_t *ctx, lsm6dso32_i3c_disable_t *val)
I3C Enable/Disable communication protocol.[get].
int32_t lsm6dso32_gy_data_rate_get(stmdev_ctx_t *ctx, lsm6dso32_odr_g_t *val)
Gyroscope UI data rate selection.[get].
int32_t lsm6dso32_gy_full_scale_get(stmdev_ctx_t *ctx, lsm6dso32_fs_g_t *val)
Gyroscope UI chain full-scale selection.[get].
int32_t lsm6dso32_gy_data_rate_set(stmdev_ctx_t *ctx, lsm6dso32_odr_g_t val)
Gyroscope UI data rate selection.[set].
int32_t lsm6dso32_status_reg_get(stmdev_ctx_t *ctx, lsm6dso32_status_reg_t *val)
The STATUS_REG register is read by the primary interface.[get].
int32_t lsm6dso32_i2c_interface_get(stmdev_ctx_t *ctx, lsm6dso32_i2c_disable_t *val)
Disable / Enable I2C interface.[get].
int32_t lsm6dso32_xl_usr_offset_y_get(stmdev_ctx_t *ctx, uint8_t *buff)
Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_...
int32_t lsm6dso32_block_data_update_get(stmdev_ctx_t *ctx, uint8_t *val)
Block data update.[get].
int32_t lsm6dso32_spi_mode_get(stmdev_ctx_t *ctx, lsm6dso32_sim_t *val)
SPI Serial Interface Mode selection.[get].
int32_t lsm6dso32_spi_mode_set(stmdev_ctx_t *ctx, lsm6dso32_sim_t val)
SPI Serial Interface Mode selection.[set].
int32_t lsm6dso32_xl_usr_offset_set(stmdev_ctx_t *ctx, uint8_t val)
Enables user offset on out.[set].
int32_t lsm6dso32_i2c_interface_set(stmdev_ctx_t *ctx, lsm6dso32_i2c_disable_t val)
Disable / Enable I2C interface.[set].
int32_t lsm6dso32_sdo_sa0_mode_get(stmdev_ctx_t *ctx, lsm6dso32_sdo_pu_en_t *val)
Connect/Disconnect SDO/SA0 internal pull-up.[get].
int32_t lsm6dso32_sdo_sa0_mode_set(stmdev_ctx_t *ctx, lsm6dso32_sdo_pu_en_t val)
Connect/Disconnect SDO/SA0 internal pull-up.[set].
lsm6dso32_hp_slope_xl_en_t
@ LSM6DSO32_LP_ODR_DIV_10
@ LSM6DSO32_HP_REF_MD_ODR_DIV_10
@ LSM6DSO32_LP_ODR_DIV_100
@ LSM6DSO32_HP_PATH_DISABLE_ON_OUT
@ LSM6DSO32_HP_REF_MD_ODR_DIV_20
@ LSM6DSO32_HP_REF_MD_ODR_DIV_45
@ LSM6DSO32_HP_REF_MD_ODR_DIV_100
@ LSM6DSO32_HP_ODR_DIV_800
@ LSM6DSO32_HP_REF_MD_ODR_DIV_400
@ LSM6DSO32_LP_ODR_DIV_20
@ LSM6DSO32_HP_ODR_DIV_20
@ LSM6DSO32_HP_ODR_DIV_100
@ LSM6DSO32_SLOPE_ODR_DIV_4
@ LSM6DSO32_HP_REF_MD_ODR_DIV_800
@ LSM6DSO32_LP_ODR_DIV_45
@ LSM6DSO32_LP_ODR_DIV_200
@ LSM6DSO32_HP_ODR_DIV_200
@ LSM6DSO32_LP_ODR_DIV_800
@ LSM6DSO32_HP_ODR_DIV_45
@ LSM6DSO32_HP_REF_MD_ODR_DIV_200
@ LSM6DSO32_HP_ODR_DIV_10
@ LSM6DSO32_LP_ODR_DIV_400
@ LSM6DSO32_HP_ODR_DIV_400
int32_t lsm6dso32_ln_pg_read(stmdev_ctx_t *ctx, uint16_t address, uint8_t *val)
@ LSM6DSO32_XL_ST_POSITIVE
@ LSM6DSO32_XL_ST_DISABLE
@ LSM6DSO32_XL_ST_NEGATIVE
@ LSM6DSO32_LSb_FS_DIV_64
@ LSM6DSO32_LSb_FS_DIV_256
@ LSM6DSO32_EMBEDDED_FUNC_BANK
@ LSM6DSO32_SENSOR_HUB_BANK
@ LSM6DSO32_I3C_ENABLE_T_25ms
@ LSM6DSO32_I3C_ENABLE_T_2us
@ LSM6DSO32_I3C_ENABLE_T_50us
@ LSM6DSO32_I3C_ENABLE_T_1ms
@ LSM6DSO32_LEVEL_TRIGGER
@ LSM6DSO32_LEVEL_LETCHED
@ LSM6DSO32_GY_ST_NEGATIVE
@ LSM6DSO32_GY_ST_POSITIVE
@ LSM6DSO32_GY_ST_DISABLE
@ LSM6DSO32_PEDO_BASE_MODE
@ LSM6DSO32_PEDO_ADV_MODE
@ LSM6DSO32_FALSE_STEP_REJ
@ LSM6DSO32_FALSE_STEP_REJ_ADV_MODE
lsm6dso32_single_double_tap_t
@ LSM6DSO32_BOTH_SINGLE_DOUBLE
@ LSM6DSO32_XL_ODR_3333Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_6667Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_833Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_208Hz_ULTRA_LOW_PW
@ LSM6DSO32_XL_ODR_12Hz5_HIGH_PERF
@ LSM6DSO32_XL_ODR_52Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_417Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_6Hz5_ULTRA_LOW_PW
@ LSM6DSO32_XL_ODR_208Hz_NORMAL_MD
@ LSM6DSO32_XL_ODR_26Hz_LOW_PW
@ LSM6DSO32_XL_ODR_208Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_12Hz5_LOW_PW
@ LSM6DSO32_XL_ODR_104Hz_NORMAL_MD
@ LSM6DSO32_XL_ODR_26Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_52Hz_ULTRA_LOW_PW
@ LSM6DSO32_XL_ODR_12Hz5_ULTRA_LOW_PW
@ LSM6DSO32_XL_ODR_6Hz5_LOW_PW
@ LSM6DSO32_XL_ODR_26Hz_ULTRA_LOW_PW
@ LSM6DSO32_XL_ODR_1667Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_104Hz_HIGH_PERF
@ LSM6DSO32_XL_ODR_52Hz_LOW_PW
@ LSM6DSO32_XL_ODR_104Hz_ULTRA_LOW_PW
lsm6dso32_sleep_status_on_int_t
@ LSM6DSO32_DRIVE_SLEEP_CHG_EVENT
@ LSM6DSO32_DRIVE_SLEEP_STATUS
@ LSM6DSO32_INTERNAL_PULL_UP
@ LSM6DSO32_EXT_ON_INT2_PIN
lsm6dso32_carry_count_en_t
@ LSM6DSO32_COUNT_OVERFLOW
@ LSM6DSO32_EACH_SH_CYCLE
@ LSM6DSO32_ONLY_FIRST_CYCLE
@ LSM6DSO32_PULL_UP_CONNECT
@ LSM6DSO32_ALL_INT_LATCHED
@ LSM6DSO32_BASE_LATCHED_EMB_PULSED
@ LSM6DSO32_BASE_PULSED_EMB_LATCHED
@ LSM6DSO32_ALL_INT_PULSED
@ LSM6DSO32_GY_ODR_52Hz_LOW_PW
@ LSM6DSO32_GY_ODR_104Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_12Hz5_LOW_PW
@ LSM6DSO32_GY_ODR_26Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_208Hz_NORMAL_MD
@ LSM6DSO32_GY_ODR_6667Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_104Hz_NORMAL_MD
@ LSM6DSO32_GY_ODR_52Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_417Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_26Hz_LOW_PW
@ LSM6DSO32_GY_ODR_12Hz5_HIGH_PERF
@ LSM6DSO32_GY_ODR_3333Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_1667Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_833Hz_HIGH_PERF
@ LSM6DSO32_GY_ODR_208Hz_HIGH_PERF
lsm6dso32_dataready_pulsed_t
@ LSM6DSO32_PULL_DOWN_CONNECT
@ LSM6DSO32_PULL_DOWN_DISC
@ LSM6DSO32_XL_12Hz5_GY_NOT_AFFECTED
@ LSM6DSO32_XL_12Hz5_GY_PD
@ LSM6DSO32_XL_AND_GY_NOT_AFFECTED
@ LSM6DSO32_XL_12Hz5_GY_SLEEP
@ LSM6DSO32_STAMP_IN_XL_DATA
@ LSM6DSO32_STAMP_IN_GY_DATA
@ LSM6DSO32_STAMP_IN_GY_XL_DATA
@ LSM6DSO32_HP_FILTER_NONE
@ LSM6DSO32_HP_FILTER_16mHz
@ LSM6DSO32_HP_FILTER_1Hz04
@ LSM6DSO32_HP_FILTER_260mHz
@ LSM6DSO32_HP_FILTER_65mHz
uint8_t timestamp_endcount
lsm6dso32_all_int_src_t all_int_src
lsm6dso32_emb_func_status_t emb_func_status
lsm6dso32_fsm_status_b_t fsm_status_b
lsm6dso32_d6d_src_t d6d_src
lsm6dso32_wake_up_src_t wake_up_src
lsm6dso32_fsm_status_a_t fsm_status_a
lsm6dso32_status_reg_t status_reg
lsm6dso32_tap_src_t tap_src
uint8_t fastsettl_mode_xl
lsm6dso32_fsm_enable_a_t fsm_enable_a
lsm6dso32_fsm_enable_b_t fsm_enable_b
uint8_t int1_step_detector
uint8_t int2_step_detector
uint8_t step_count_delta_ia
uint8_t stepcounter_bit_set
lsm6dso32_sensor_hub_9_t sh_byte_9
lsm6dso32_sensor_hub_16_t sh_byte_16
lsm6dso32_sensor_hub_18_t sh_byte_18
lsm6dso32_sensor_hub_8_t sh_byte_8
lsm6dso32_sensor_hub_14_t sh_byte_14
lsm6dso32_sensor_hub_1_t sh_byte_1
lsm6dso32_sensor_hub_10_t sh_byte_10
lsm6dso32_sensor_hub_13_t sh_byte_13
lsm6dso32_sensor_hub_17_t sh_byte_17
lsm6dso32_sensor_hub_15_t sh_byte_15
lsm6dso32_sensor_hub_3_t sh_byte_3
lsm6dso32_sensor_hub_11_t sh_byte_11
lsm6dso32_sensor_hub_2_t sh_byte_2
lsm6dso32_sensor_hub_4_t sh_byte_4
lsm6dso32_sensor_hub_5_t sh_byte_5
lsm6dso32_sensor_hub_6_t sh_byte_6
lsm6dso32_sensor_hub_12_t sh_byte_12
lsm6dso32_sensor_hub_7_t sh_byte_7
lsm6dso32_fsm_outs7_t fsm_outs7
lsm6dso32_fsm_outs7_t fsm_outs15
lsm6dso32_fsm_outs1_t fsm_outs9
lsm6dso32_fsm_outs4_t fsm_outs4
lsm6dso32_fsm_outs5_t fsm_outs5
lsm6dso32_fsm_outs3_t fsm_outs3
lsm6dso32_fsm_outs6_t fsm_outs14
lsm6dso32_fsm_outs5_t fsm_outs13
lsm6dso32_fsm_outs3_t fsm_outs11
lsm6dso32_fsm_outs2_t fsm_outs2
lsm6dso32_fsm_outs8_t fsm_outs8
lsm6dso32_fsm_outs2_t fsm_outs10
lsm6dso32_fsm_outs6_t fsm_outs6
lsm6dso32_fsm_outs8_t fsm_outs16
lsm6dso32_fsm_outs4_t fsm_outs12
lsm6dso32_fsm_outs1_t fsm_outs1
uint8_t pass_through_mode
uint8_t int1_sleep_change
uint8_t int2_sleep_change
lsm6dso32_emb_func_int1_t emb_func_int1
lsm6dso32_int1_ctrl_t int1_ctrl
lsm6dso32_md1_cfg_t md1_cfg
lsm6dso32_fsm_int1_a_t fsm_int1_a
lsm6dso32_fsm_int1_b_t fsm_int1_b
lsm6dso32_int2_ctrl_t int2_ctrl
lsm6dso32_emb_func_int2_t emb_func_int2
lsm6dso32_fsm_int2_b_t fsm_int2_b
lsm6dso32_md2_cfg_t md2_cfg
lsm6dso32_fsm_int2_a_t fsm_int2_a
uint8_t batch_ext_sens_0_en
uint8_t batch_ext_sens_1_en
uint8_t batch_ext_sens_2_en
uint8_t batch_ext_sens_3_en
uint8_t sleep_status_on_int
uint8_t interrupts_enable
uint8_t single_double_tap
lsm6dso32_fsm_enable_a_t fsm_enable_a
lsm6dso32_sensor_hub_2_t sensor_hub_2
lsm6dso32_fsm_outs14_t fsm_outs14
lsm6dso32_int2_ctrl_t int2_ctrl
lsm6dso32_ctrl6_c_t ctrl6_c
lsm6dso32_fsm_int2_b_t fsm_int2_b
lsm6dso32_counter_bdr_reg2_t counter_bdr_reg2
lsm6dso32_emb_func_status_t emb_func_status
lsm6dso32_d6d_src_t d6d_src
lsm6dso32_slv1_config_t slv1_config
lsm6dso32_status_reg_t status_reg
lsm6dso32_ctrl2_g_t ctrl2_g
lsm6dso32_sensor_hub_5_t sensor_hub_5
lsm6dso32_fsm_outs15_t fsm_outs15
lsm6dso32_wake_up_src_t wake_up_src
lsm6dso32_slv1_add_t slv1_add
lsm6dso32_slv0_add_t slv0_add
lsm6dso32_emb_func_en_a_t emb_func_en_a
lsm6dso32_sensor_hub_13_t sensor_hub_13
lsm6dso32_pin_ctrl_t pin_ctrl
lsm6dso32_sensor_hub_6_t sensor_hub_6
lsm6dso32_datawrite_src_mode_sub_slv0_t datawrite_src_mode_sub_slv0
lsm6dso32_sensor_hub_4_t sensor_hub_4
lsm6dso32_fifo_status1_t fifo_status1
lsm6dso32_slv2_subadd_t slv2_subadd
lsm6dso32_fsm_outs1_t fsm_outs1
lsm6dso32_sensor_hub_18_t sensor_hub_18
lsm6dso32_emb_func_odr_cfg_b_t emb_func_odr_cfg_b
lsm6dso32_page_address_t page_address
lsm6dso32_emb_func_en_b_t emb_func_en_b
lsm6dso32_emb_func_init_b_t emb_func_init_b
lsm6dso32_pedo_cmd_reg_t pedo_cmd_reg
lsm6dso32_master_config_t master_config
lsm6dso32_emb_func_int1_t emb_func_int1
lsm6dso32_ctrl10_c_t ctrl10_c
lsm6dso32_tap_cfg1_t tap_cfg1
lsm6dso32_status_master_t status_master
lsm6dso32_sensor_hub_7_t sensor_hub_7
lsm6dso32_fifo_ctrl4_t fifo_ctrl4
lsm6dso32_fsm_long_counter_clear_t fsm_long_counter_clear
lsm6dso32_fifo_ctrl3_t fifo_ctrl3
lsm6dso32_mag_cfg_b_t mag_cfg_b
lsm6dso32_sensor_hub_14_t sensor_hub_14
lsm6dso32_slv0_subadd_t slv0_subadd
lsm6dso32_page_value_t page_value
lsm6dso32_tap_cfg0_t tap_cfg0
lsm6dso32_emb_func_init_a_t emb_func_init_a
lsm6dso32_slv1_subadd_t slv1_subadd
lsm6dso32_fifo_ctrl1_t fifo_ctrl1
lsm6dso32_fifo_status2_t fifo_status2
lsm6dso32_emb_func_src_t emb_func_src
lsm6dso32_fsm_outs7_t fsm_outs7
lsm6dso32_sensor_hub_3_t sensor_hub_3
lsm6dso32_sensor_hub_8_t sensor_hub_8
lsm6dso32_wake_up_ths_t wake_up_ths
lsm6dso32_fsm_outs4_t fsm_outs4
lsm6dso32_fsm_outs10_t fsm_outs10
lsm6dso32_ctrl4_c_t ctrl4_c
lsm6dso32_fsm_status_a_t fsm_status_a
lsm6dso32_fsm_int2_a_t fsm_int2_a
lsm6dso32_ctrl8_xl_t ctrl8_xl
lsm6dso32_tap_src_t tap_src
lsm6dso32_fsm_int1_b_t fsm_int1_b
lsm6dso32_ctrl5_c_t ctrl5_c
lsm6dso32_fsm_int1_a_t fsm_int1_a
lsm6dso32_md1_cfg_t md1_cfg
lsm6dso32_tap_cfg2_t tap_cfg2
lsm6dso32_i3c_bus_avb_t i3c_bus_avb
lsm6dso32_md2_cfg_t md2_cfg
lsm6dso32_sensor_hub_15_t sensor_hub_15
lsm6dso32_sensor_hub_9_t sensor_hub_9
lsm6dso32_counter_bdr_reg1_t counter_bdr_reg1
lsm6dso32_slv2_add_t slv2_add
lsm6dso32_slv2_config_t slv2_config
lsm6dso32_page_rw_t page_rw
lsm6dso32_mag_cfg_a_t mag_cfg_a
lsm6dso32_sensor_hub_12_t sensor_hub_12
lsm6dso32_sensor_hub_16_t sensor_hub_16
lsm6dso32_fsm_enable_b_t fsm_enable_b
lsm6dso32_slv3_add_t slv3_add
lsm6dso32_wake_up_dur_t wake_up_dur
lsm6dso32_slv0_config_t slv0_config
lsm6dso32_slv3_subadd_t slv3_subadd
lsm6dso32_func_cfg_access_t func_cfg_access
lsm6dso32_emb_func_int2_t emb_func_int2
lsm6dso32_fsm_outs16_t fsm_outs16
lsm6dso32_fsm_outs6_t fsm_outs6
lsm6dso32_internal_freq_fine_t internal_freq_fine
lsm6dso32_int_dur2_t int_dur2
lsm6dso32_page_sel_t page_sel
lsm6dso32_fsm_outs12_t fsm_outs12
lsm6dso32_all_int_src_t all_int_src
lsm6dso32_fifo_data_out_tag_t fifo_data_out_tag
lsm6dso32_sensor_hub_17_t sensor_hub_17
lsm6dso32_ctrl7_g_t ctrl7_g
lsm6dso32_fsm_outs3_t fsm_outs3
lsm6dso32_sensor_hub_1_t sensor_hub_1
lsm6dso32_emb_func_fifo_cfg_t emb_func_fifo_cfg
lsm6dso32_fsm_outs11_t fsm_outs11
lsm6dso32_tap_ths_6d_t tap_ths_6d
lsm6dso32_slv3_config_t slv3_config
lsm6dso32_fsm_outs5_t fsm_outs5
lsm6dso32_fifo_ctrl2_t fifo_ctrl2
lsm6dso32_fsm_outs9_t fsm_outs9
lsm6dso32_fsm_outs2_t fsm_outs2
lsm6dso32_ctrl1_xl_t ctrl1_xl
lsm6dso32_ctrl3_c_t ctrl3_c
lsm6dso32_fsm_outs13_t fsm_outs13
lsm6dso32_int1_ctrl_t int1_ctrl
lsm6dso32_sensor_hub_10_t sensor_hub_10
lsm6dso32_sensor_hub_11_t sensor_hub_11
lsm6dso32_fsm_outs8_t fsm_outs8
lsm6dso32_free_fall_t free_fall
lsm6dso32_fsm_status_b_t fsm_status_b
lsm6dso32_ctrl9_xl_t ctrl9_xl