93 return ((
float)lsb * 0.061f);
98 return ((
float)lsb * 0.122f);
103 return ((
float)lsb * 0.244f);
108 return ((
float)lsb * 0.488f);
113 return ((
float)lsb * 4.375f);
118 return ((
float)lsb * 8.75f);
123 return ((
float)lsb * 17.50f);
128 return ((
float)lsb * 35.0f);
133 return ((
float)lsb * 70.0f);
138 return ((
float)lsb * 140.0f);
143 return (((
float)lsb / 256.0f) + 25.0f);
148 return ((
float)lsb * 25000.0f);
178 (uint8_t *)&ctrl1_xl, 1);
182 ctrl1_xl.
fs_xl = (uint8_t)val;
184 (uint8_t *)&ctrl1_xl, 1);
204 (uint8_t *)&ctrl1_xl, 1);
206 switch (ctrl1_xl.
fs_xl)
476 (uint8_t *)&ctrl1_xl, 1);
481 ctrl1_xl.
odr_xl = (uint8_t)odr_xl;
483 (uint8_t *)&ctrl1_xl, 1);
503 (uint8_t *)&ctrl1_xl, 1);
577 (uint8_t *)&ctrl2_g, 1);
581 ctrl2_g.
fs_g = (uint8_t)val;
583 (uint8_t *)&ctrl2_g, 1);
603 (uint8_t *)&ctrl2_g, 1);
605 switch (ctrl2_g.
fs_g)
883 (uint8_t *)&ctrl2_g, 1);
888 ctrl2_g.
odr_g = (uint8_t)odr_gy;
890 (uint8_t *)&ctrl2_g, 1);
910 (uint8_t *)&ctrl2_g, 1);
912 switch (ctrl2_g.
odr_g)
980 (uint8_t *)&ctrl3_c, 1);
984 ctrl3_c.
bdu = (uint8_t)val;
986 (uint8_t *)&ctrl3_c, 1);
1006 (uint8_t *)&ctrl3_c, 1);
1027 (uint8_t *)&ctrl6_c, 1);
1033 (uint8_t *)&ctrl6_c, 1);
1054 (uint8_t *)&ctrl6_c, 1);
1088 (uint8_t *)&ctrl6_c, 1);
1094 (uint8_t *)&ctrl6_c, 1);
1114 (uint8_t *)&ctrl6_c, 1);
1148 (uint8_t *)&ctrl7_g, 1);
1154 (uint8_t *)&ctrl7_g, 1);
1174 (uint8_t *)&ctrl7_g, 1);
1297 (uint8_t *)&status_reg, 1);
1298 *val = status_reg.
xlda;
1317 (uint8_t *)&status_reg, 1);
1318 *val = status_reg.
gda;
1337 (uint8_t *)&status_reg, 1);
1338 *val = status_reg.
tda;
1470 (uint8_t *)&ctrl7_g, 1);
1476 (uint8_t *)&ctrl7_g, 1);
1495 (uint8_t *)&ctrl7_g, 1);
1523 uint8_t rst_val = 0xAA;
1540 (uint8_t *)&ctrl10_c, 1);
1546 (uint8_t *)&ctrl10_c, 1);
1565 (uint8_t *)&ctrl10_c, 1);
1587 *val = (*val * 256U) + buff[2];
1588 *val = (*val * 256U) + buff[1];
1589 *val = (*val * 256U) + buff[0];
1620 (uint8_t *)&ctrl5_c, 1);
1626 (uint8_t *)&ctrl5_c, 1);
1646 (uint8_t *)&ctrl5_c, 1);
1690 *val = (int16_t)buff[1];
1691 *val = (*val * 256) + (int16_t)buff[0];
1711 val[0] = (int16_t)buff[1];
1712 val[0] = (val[0] * 256) + (int16_t)buff[0];
1713 val[1] = (int16_t)buff[3];
1714 val[1] = (val[1] * 256) + (int16_t)buff[2];
1715 val[2] = (int16_t)buff[5];
1716 val[2] = (val[2] * 256) + (int16_t)buff[4];
1736 val[0] = (int16_t)buff[1];
1737 val[0] = (val[0] * 256) + (int16_t)buff[0];
1738 val[1] = (int16_t)buff[3];
1739 val[1] = (val[1] * 256) + (int16_t)buff[2];
1740 val[2] = (int16_t)buff[5];
1741 val[2] = (val[2] * 256) + (int16_t)buff[4];
1781 *val = (*val * 256U) + buff[0];
1808 (uint8_t *)&emb_func_src, 1);
1815 (uint8_t *)&emb_func_src, 1);
1876 (uint8_t *)&ctrl9_xl, 1);
1882 (uint8_t *)&ctrl9_xl, 1);
1901 (uint8_t *)&ctrl9_xl, 1);
1922 (uint8_t *)&internal_freq_fine, 1);
1926 internal_freq_fine.
freq_fine = (uint8_t)val;
1928 (uint8_t *)&internal_freq_fine, 1);
1949 (uint8_t *)&internal_freq_fine, 1);
1970 (uint8_t *)&func_cfg_access, 1);
1976 (uint8_t *)&func_cfg_access, 1);
1997 (uint8_t *)&func_cfg_access, 1);
2042 (uint8_t *)&page_rw, 1);
2049 (uint8_t *)&page_rw, 1);
2055 (uint8_t *)&page_sel, 1);
2060 page_sel.
page_sel = (uint8_t)((add / 256U) & 0x0FU);
2063 (uint8_t *)&page_sel, 1);
2070 (uint8_t *)&page_address, 1);
2081 (uint8_t *)&page_rw, 1);
2088 (uint8_t *)&page_rw, 1);
2110 uint8_t *buf, uint8_t len)
2118 msb = (uint8_t)((add / 256U) & 0x0FU);
2119 lsb = (uint8_t)(add - (msb * 256U));
2125 (uint8_t *)&page_rw, 1);
2132 (uint8_t *)&page_rw, 1);
2138 (uint8_t *)&page_sel, 1);
2146 (uint8_t *)&page_sel, 1);
2153 (uint8_t *)&page_address, 1);
2156 for (i = 0; i < len; i++)
2169 (uint8_t *)&page_sel, 1);
2180 (uint8_t *)&page_sel, 1);
2190 (uint8_t *)&page_sel, 1);
2196 (uint8_t *)&page_rw, 1);
2203 (uint8_t *)&page_rw, 1);
2235 (uint8_t *)&page_rw, 1);
2242 (uint8_t *)&page_rw, 1);
2248 (uint8_t *)&page_sel, 1);
2253 page_sel.
page_sel = (uint8_t)((add / 256U) & 0x0FU);
2256 (uint8_t *)&page_sel, 1);
2263 (uint8_t *)&page_address, 1);
2274 (uint8_t *)&page_rw, 1);
2281 (uint8_t *)&page_rw, 1);
2307 (uint8_t *)&counter_bdr_reg1, 1);
2313 (uint8_t *)&counter_bdr_reg1, 1);
2334 (uint8_t *)&counter_bdr_reg1, 1);
2383 (uint8_t *)&ctrl3_c, 1);
2389 (uint8_t *)&ctrl3_c, 1);
2408 (uint8_t *)&ctrl3_c, 1);
2428 (uint8_t *)&ctrl3_c, 1);
2432 ctrl3_c.
if_inc = (uint8_t)val;
2434 (uint8_t *)&ctrl3_c, 1);
2454 (uint8_t *)&ctrl3_c, 1);
2473 (uint8_t *)&ctrl3_c, 1);
2477 ctrl3_c.
boot = (uint8_t)val;
2479 (uint8_t *)&ctrl3_c, 1);
2498 (uint8_t *)&ctrl3_c, 1);
2499 *val = ctrl3_c.
boot;
2520 (uint8_t *)&ctrl5_c, 1);
2524 ctrl5_c.
st_xl = (uint8_t)val;
2526 (uint8_t *)&ctrl5_c, 1);
2546 (uint8_t *)&ctrl5_c, 1);
2548 switch (ctrl5_c.
st_xl)
2584 (uint8_t *)&ctrl5_c, 1);
2588 ctrl5_c.
st_g = (uint8_t)val;
2590 (uint8_t *)&ctrl5_c, 1);
2610 (uint8_t *)&ctrl5_c, 1);
2612 switch (ctrl5_c.
st_g)
2660 (uint8_t *)&ctrl1_xl, 1);
2666 (uint8_t *)&ctrl1_xl, 1);
2685 (uint8_t *)&ctrl1_xl, 1);
2705 (uint8_t *)&ctrl4_c, 1);
2711 (uint8_t *)&ctrl4_c, 1);
2731 (uint8_t *)&ctrl4_c, 1);
2752 (uint8_t *)&ctrl4_c, 1);
2758 (uint8_t *)&ctrl4_c, 1);
2779 (uint8_t *)&ctrl4_c, 1);
2799 (uint8_t *)&ctrl6_c, 1);
2803 ctrl6_c.
ftype = (uint8_t)val;
2805 (uint8_t *)&ctrl6_c, 1);
2825 (uint8_t *)&ctrl6_c, 1);
2827 switch (ctrl6_c.
ftype)
2882 (uint8_t *)&ctrl8_xl, 1);
2888 (uint8_t *)&ctrl8_xl, 1);
2907 (uint8_t *)&ctrl8_xl, 1);
2928 (uint8_t *)&ctrl8_xl, 1);
2934 ctrl8_xl.
hpcf_xl = (uint8_t)val & 0x07U;
2936 (uint8_t *)&ctrl8_xl, 1);
2957 (uint8_t *)&ctrl8_xl, 1);
3079 (uint8_t *)&ctrl8_xl, 1);
3085 (uint8_t *)&ctrl8_xl, 1);
3107 (uint8_t *)&ctrl8_xl, 1);
3128 (uint8_t *)&tap_cfg0, 1);
3134 (uint8_t *)&tap_cfg0, 1);
3155 (uint8_t *)&tap_cfg0, 1);
3190 (uint8_t *)&ctrl7_g, 1);
3194 ctrl7_g.
hp_en_g = (((uint8_t)val & 0x80U) >> 7);
3195 ctrl7_g.
hpm_g = (uint8_t)val & 0x03U;
3197 (uint8_t *)&ctrl7_g, 1);
3218 (uint8_t *)&ctrl7_g, 1);
3278 (uint8_t *)&pin_ctrl, 1);
3284 (uint8_t *)&pin_ctrl, 1);
3305 (uint8_t *)&pin_ctrl, 1);
3339 (uint8_t *)&ctrl7_g, 1);
3343 ctrl7_g.
ois_on_en = (uint8_t)val & 0x01U;
3344 ctrl7_g.
ois_on = (uint8_t)val & 0x01U;
3346 (uint8_t *)&ctrl7_g, 1);
3366 (uint8_t *)&ctrl7_g, 1);
3418 (uint8_t *)&status_spiaux, 1);
3419 *val = status_spiaux.
xlda;
3438 (uint8_t *)&status_spiaux, 1);
3439 *val = status_spiaux.
gda;
3458 (uint8_t *)&status_spiaux, 1);
3479 (uint8_t *)&int_ois, 1);
3485 (uint8_t *)&int_ois, 1);
3506 (uint8_t *)&int_ois, 1);
3544 (uint8_t *)&int_ois, 1);
3550 (uint8_t *)&int_ois, 1);
3570 (uint8_t *)&int_ois, 1);
3605 (uint8_t *)&int_ois, 1);
3609 int_ois.
lvl2_ois = (uint8_t)val & 0x01U;
3611 (uint8_t *)&int_ois, 1);
3617 (uint8_t *)&ctrl1_ois, 1);
3622 ctrl1_ois.
lvl1_ois = ((uint8_t)val & 0x02U) >> 1;
3624 (uint8_t *)&ctrl1_ois, 1);
3645 (uint8_t *)&int_ois, 1);
3650 (uint8_t *)&ctrl1_ois, 1);
3690 (uint8_t *)&int_ois, 1);
3696 (uint8_t *)&int_ois, 1);
3717 (uint8_t *)&int_ois, 1);
3742 (uint8_t *)&ctrl1_ois, 1);
3747 ctrl1_ois.
mode4_en = ((uint8_t)val & 0x02U) >> 1;
3749 (uint8_t *)&ctrl1_ois, 1);
3775 (uint8_t *)&ctrl1_ois, 1);
3813 (uint8_t *)&ctrl1_ois, 1);
3817 ctrl1_ois.
fs_g_ois = (uint8_t)val & 0x03U;
3818 ctrl1_ois.
fs_125_ois = ((uint8_t)val & 0x04U) >> 2;
3820 (uint8_t *)&ctrl1_ois, 1);
3840 (uint8_t *)&ctrl1_ois, 1);
3886 (uint8_t *)&ctrl1_ois, 1);
3890 ctrl1_ois.
sim_ois = (uint8_t)val;
3892 (uint8_t *)&ctrl1_ois, 1);
3912 (uint8_t *)&ctrl1_ois, 1);
3946 (uint8_t *)&ctrl2_ois, 1);
3952 (uint8_t *)&ctrl2_ois, 1);
3972 (uint8_t *)&ctrl2_ois, 1);
4014 (uint8_t *)&ctrl2_ois, 1);
4018 ctrl2_ois.
hpm_ois = (uint8_t)val & 0x03U;
4019 ctrl2_ois.
hp_en_ois = ((uint8_t)val & 0x10U) >> 4;
4021 (uint8_t *)&ctrl2_ois, 1);
4041 (uint8_t *)&ctrl2_ois, 1);
4089 (uint8_t *)&ctrl3_ois, 1);
4095 (uint8_t *)&ctrl3_ois, 1);
4117 (uint8_t *)&ctrl3_ois, 1);
4151 (uint8_t *)&ctrl3_ois, 1);
4155 ctrl3_ois.
st_ois = (uint8_t)val;
4157 (uint8_t *)&ctrl3_ois, 1);
4177 (uint8_t *)&ctrl3_ois, 1);
4179 switch (ctrl3_ois.
st_ois)
4215 (uint8_t *)&ctrl3_ois, 1);
4221 (uint8_t *)&ctrl3_ois, 1);
4241 (uint8_t *)&ctrl3_ois, 1);
4299 (uint8_t *)&ctrl3_ois, 1);
4305 (uint8_t *)&ctrl3_ois, 1);
4325 (uint8_t *)&ctrl3_ois, 1);
4380 (uint8_t *)&pin_ctrl, 1);
4386 (uint8_t *)&pin_ctrl, 1);
4406 (uint8_t *)&pin_ctrl, 1);
4440 (uint8_t *)&ctrl3_c, 1);
4444 ctrl3_c.
sim = (uint8_t)val;
4446 (uint8_t *)&ctrl3_c, 1);
4466 (uint8_t *)&ctrl3_c, 1);
4468 switch (ctrl3_c.
sim)
4500 (uint8_t *)&ctrl4_c, 1);
4506 (uint8_t *)&ctrl4_c, 1);
4526 (uint8_t *)&ctrl4_c, 1);
4656 (uint8_t *)&tap_cfg2, 1);
4686 (uint8_t *)&tap_cfg2, 1);
4848 (uint8_t *)&tap_cfg2, 1);
4876 (uint8_t *)&tap_cfg2, 1);
4955 (uint8_t *)&ctrl3_c, 1);
4959 ctrl3_c.
pp_od = (uint8_t)val;
4961 (uint8_t *)&ctrl3_c, 1);
4981 (uint8_t *)&ctrl3_c, 1);
4983 switch (ctrl3_c.
pp_od)
5015 (uint8_t *)&ctrl3_c, 1);
5021 (uint8_t *)&ctrl3_c, 1);
5041 (uint8_t *)&ctrl3_c, 1);
5074 (uint8_t *)&ctrl4_c, 1);
5080 (uint8_t *)&ctrl4_c, 1);
5099 (uint8_t *)&ctrl4_c, 1);
5120 (uint8_t *)&tap_cfg0, 1);
5124 tap_cfg0.
lir = (uint8_t)val & 0x01U;
5127 (uint8_t *)&tap_cfg0, 1);
5138 (uint8_t *)&page_rw, 1);
5145 (uint8_t *)&page_rw, 1);
5172 (uint8_t *)&tap_cfg0, 1);
5182 (uint8_t *)&page_rw, 1);
5245 (uint8_t *)&wake_up_dur, 1);
5251 (uint8_t *)&wake_up_dur, 1);
5273 (uint8_t *)&wake_up_dur, 1);
5307 (uint8_t *)&wake_up_ths, 1);
5311 wake_up_ths.
wk_ths = (uint8_t)val;
5313 (uint8_t *)&wake_up_ths, 1);
5333 (uint8_t *)&wake_up_ths, 1);
5334 *val = wake_up_ths.
wk_ths;
5353 (uint8_t *)&wake_up_ths, 1);
5359 (uint8_t *)&wake_up_ths, 1);
5379 (uint8_t *)&wake_up_ths, 1);
5398 (uint8_t *)&wake_up_dur, 1);
5402 wake_up_dur.
wake_dur = (uint8_t)val;
5404 (uint8_t *)&wake_up_dur, 1);
5423 (uint8_t *)&wake_up_dur, 1);
5455 (uint8_t *)&ctrl4_c, 1);
5459 ctrl4_c.
sleep_g = (uint8_t)val;
5461 (uint8_t *)&ctrl4_c, 1);
5480 (uint8_t *)&ctrl4_c, 1);
5502 (uint8_t *)&tap_cfg0, 1);
5506 tap_cfg0. sleep_status_on_int = (uint8_t)val;
5508 (uint8_t *)&tap_cfg0, 1);
5530 (uint8_t *)&tap_cfg0, 1);
5532 switch (tap_cfg0. sleep_status_on_int)
5564 (uint8_t *)&tap_cfg2, 1);
5570 (uint8_t *)&tap_cfg2, 1);
5590 (uint8_t *)&tap_cfg2, 1);
5631 (uint8_t *)&wake_up_dur, 1);
5637 (uint8_t *)&wake_up_dur, 1);
5656 (uint8_t *)&wake_up_dur, 1);
5689 (uint8_t *)&tap_cfg0, 1);
5695 (uint8_t *)&tap_cfg0, 1);
5715 (uint8_t *)&tap_cfg0, 1);
5735 (uint8_t *)&tap_cfg0, 1);
5741 (uint8_t *)&tap_cfg0, 1);
5761 (uint8_t *)&tap_cfg0, 1);
5781 (uint8_t *)&tap_cfg0, 1);
5787 (uint8_t *)&tap_cfg0, 1);
5807 (uint8_t *)&tap_cfg0, 1);
5826 (uint8_t *)&tap_cfg1, 1);
5832 (uint8_t *)&tap_cfg1, 1);
5852 (uint8_t *)&tap_cfg1, 1);
5872 (uint8_t *)&tap_cfg1, 1);
5878 (uint8_t *)&tap_cfg1, 1);
5898 (uint8_t *)&tap_cfg1, 1);
5947 (uint8_t *)&tap_cfg2, 1);
5953 (uint8_t *)&tap_cfg2, 1);
5973 (uint8_t *)&tap_cfg2, 1);
5992 (uint8_t *)&tap_ths_6d, 1);
5998 (uint8_t *)&tap_ths_6d, 1);
6018 (uint8_t *)&tap_ths_6d, 1);
6041 (uint8_t *)&int_dur2, 1);
6045 int_dur2.
shock = (uint8_t)val;
6047 (uint8_t *)&int_dur2, 1);
6070 (uint8_t *)&int_dur2, 1);
6071 *val = int_dur2.
shock;
6093 (uint8_t *)&int_dur2, 1);
6097 int_dur2.
quiet = (uint8_t)val;
6099 (uint8_t *)&int_dur2, 1);
6122 (uint8_t *)&int_dur2, 1);
6123 *val = int_dur2.
quiet;
6147 (uint8_t *)&int_dur2, 1);
6151 int_dur2.
dur = (uint8_t)val;
6153 (uint8_t *)&int_dur2, 1);
6176 (uint8_t *)&int_dur2, 1);
6177 *val = int_dur2.
dur;
6196 (uint8_t *)&wake_up_ths, 1);
6202 (uint8_t *)&wake_up_ths, 1);
6222 (uint8_t *)&wake_up_ths, 1);
6269 (uint8_t *)&tap_ths_6d, 1);
6273 tap_ths_6d.
sixd_ths = (uint8_t)val;
6275 (uint8_t *)&tap_ths_6d, 1);
6295 (uint8_t *)&tap_ths_6d, 1);
6336 (uint8_t *)&tap_ths_6d, 1);
6340 tap_ths_6d.
d4d_en = (uint8_t)val;
6342 (uint8_t *)&tap_ths_6d, 1);
6361 (uint8_t *)&tap_ths_6d, 1);
6362 *val = tap_ths_6d.
d4d_en;
6394 (uint8_t *)&free_fall, 1);
6398 free_fall.
ff_ths = (uint8_t)val;
6400 (uint8_t *)&free_fall, 1);
6420 (uint8_t *)&free_fall, 1);
6422 switch (free_fall.
ff_ths)
6478 (uint8_t *)&wake_up_dur, 1);
6482 wake_up_dur.
ff_dur = (val & 0x20U) >> 5;
6484 (uint8_t *)&wake_up_dur, 1);
6490 (uint8_t *)&free_fall, 1);
6495 free_fall.
ff_dur = val & 0x1FU;
6497 (uint8_t *)&free_fall, 1);
6517 (uint8_t *)&wake_up_dur, 1);
6522 (uint8_t *)&free_fall, 1);
6557 (uint8_t *)&fifo_ctrl2, 1);
6561 fifo_ctrl2.
wtm = (uint8_t)(val / 256U) & 0x01U;
6563 (uint8_t *)&fifo_ctrl2, 1);
6568 fifo_ctrl1.
wtm = (uint8_t)(val - (fifo_ctrl2.
wtm * 256U));
6570 (uint8_t *)&fifo_ctrl1, 1);
6591 (uint8_t *)&fifo_ctrl2, 1);
6596 (uint8_t *)&fifo_ctrl1, 1);
6599 *val = fifo_ctrl2.
wtm;
6600 *val = (*val * 256U) + fifo_ctrl1.
wtm;;
6623 (uint8_t *)&emb_func_init_b, 1);
6630 (uint8_t *)&emb_func_init_b, 1);
6660 (uint8_t *)&emb_func_init_b, 1);
6691 (uint8_t *)&emb_func_en_b, 1);
6698 (uint8_t *)&emb_func_en_b, 1);
6709 (uint8_t *)&fifo_ctrl2, 1);
6721 (uint8_t *)&fifo_ctrl2, 1);
6741 (uint8_t *)&fifo_ctrl2, 1);
6788 (uint8_t *)&fifo_ctrl2, 1);
6794 (uint8_t *)&fifo_ctrl2, 1);
6814 (uint8_t *)&fifo_ctrl2, 1);
6834 (uint8_t *)&fifo_ctrl2, 1);
6840 (uint8_t *)&fifo_ctrl2, 1);
6860 (uint8_t *)&fifo_ctrl2, 1);
6881 (uint8_t *)&fifo_ctrl2, 1);
6887 (uint8_t *)&fifo_ctrl2, 1);
6908 (uint8_t *)&fifo_ctrl2, 1);
6929 (uint8_t *)&fifo_ctrl3, 1);
6933 fifo_ctrl3.
bdr_xl = (uint8_t)val;
6935 (uint8_t *)&fifo_ctrl3, 1);
6956 (uint8_t *)&fifo_ctrl3, 1);
6958 switch (fifo_ctrl3.
bdr_xl)
7031 (uint8_t *)&fifo_ctrl3, 1);
7035 fifo_ctrl3.
bdr_gy = (uint8_t)val;
7037 (uint8_t *)&fifo_ctrl3, 1);
7058 (uint8_t *)&fifo_ctrl3, 1);
7060 switch (fifo_ctrl3.
bdr_gy)
7132 (uint8_t *)&fifo_ctrl4, 1);
7138 (uint8_t *)&fifo_ctrl4, 1);
7158 (uint8_t *)&fifo_ctrl4, 1);
7209 (uint8_t *)&fifo_ctrl4, 1);
7215 (uint8_t *)&fifo_ctrl4, 1);
7236 (uint8_t *)&fifo_ctrl4, 1);
7280 (uint8_t *)&fifo_ctrl4, 1);
7286 (uint8_t *)&fifo_ctrl4, 1);
7309 (uint8_t *)&fifo_ctrl4, 1);
7353 (uint8_t *)&counter_bdr_reg1, 1);
7359 (uint8_t *)&counter_bdr_reg1, 1);
7381 (uint8_t *)&counter_bdr_reg1, 1);
7416 (uint8_t *)&counter_bdr_reg1, 1);
7422 (uint8_t *)&counter_bdr_reg1, 1);
7443 (uint8_t *)&counter_bdr_reg1, 1);
7465 (uint8_t *)&counter_bdr_reg1, 1);
7469 counter_bdr_reg1.
cnt_bdr_th = (uint8_t)((val / 256U) & 0x07U);
7471 (uint8_t *)&counter_bdr_reg1, 1);
7476 counter_bdr_reg2.
cnt_bdr_th = (uint8_t)(val -
7479 (uint8_t *)&counter_bdr_reg2, 1);
7501 (uint8_t *)&counter_bdr_reg1, 1);
7506 (uint8_t *)&counter_bdr_reg2, 1);
7510 *val = (*val * 256U) + counter_bdr_reg2.
cnt_bdr_th;
7530 (uint8_t *)&fifo_status1, 1);
7535 (uint8_t *)&fifo_status2, 1);
7536 *val = fifo_status2.diff_fifo;
7537 *val = (*val * 256U) + fifo_status1.
diff_fifo;
7574 (uint8_t *)&fifo_status2, 1);
7594 (uint8_t *)&fifo_status2, 1);
7595 *val = fifo_status2. fifo_ovr_ia;
7613 (uint8_t *)&fifo_status2, 1);
7633 (uint8_t *)&fifo_data_out_tag, 1);
7751 (uint8_t *)&emb_func_fifo_cfg, 1);
7758 (uint8_t *)&emb_func_fifo_cfg, 1);
7788 (uint8_t *)&emb_func_fifo_cfg, 1);
7789 *val = emb_func_fifo_cfg.pedo_fifo_en;
7818 (uint8_t *)&slv0_config, 1);
7823 slv0_config. batch_ext_sens_0_en = (uint8_t)val;
7825 (uint8_t *)&slv0_config, 1);
7855 (uint8_t *)&slv0_config, 1);
7860 *val = slv0_config. batch_ext_sens_0_en;
7886 (uint8_t *)&slv1_config, 1);
7891 slv1_config. batch_ext_sens_1_en = (uint8_t)val;
7893 (uint8_t *)&slv1_config, 1);
7923 (uint8_t *)&slv1_config, 1);
7924 *val = slv1_config. batch_ext_sens_1_en;
7954 (uint8_t *)&slv2_config, 1);
7959 slv2_config. batch_ext_sens_2_en = (uint8_t)val;
7961 (uint8_t *)&slv2_config, 1);
7991 (uint8_t *)&slv2_config, 1);
7996 *val = slv2_config. batch_ext_sens_2_en;
8022 (uint8_t *)&slv3_config, 1);
8027 slv3_config. batch_ext_sens_3_en = (uint8_t)val;
8029 (uint8_t *)&slv3_config, 1);
8059 (uint8_t *)&slv3_config, 1);
8060 *val = slv3_config. batch_ext_sens_3_en;
8098 (uint8_t *)&ctrl6_c, 1);
8104 (uint8_t *)&ctrl6_c, 1);
8124 (uint8_t *)&ctrl6_c, 1);
8170 (uint8_t *)&ctrl9_xl, 1);
8174 ctrl9_xl.
den_lh = (uint8_t)val;
8176 (uint8_t *)&ctrl9_xl, 1);
8196 (uint8_t *)&ctrl9_xl, 1);
8230 (uint8_t *)&ctrl9_xl, 1);
8236 (uint8_t *)&ctrl9_xl, 1);
8256 (uint8_t *)&ctrl9_xl, 1);
8293 (uint8_t *)&ctrl9_xl, 1);
8297 ctrl9_xl.
den_z = (uint8_t)val;
8299 (uint8_t *)&ctrl9_xl, 1);
8319 (uint8_t *)&ctrl9_xl, 1);
8320 *val = ctrl9_xl.
den_z;
8338 (uint8_t *)&ctrl9_xl, 1);
8342 ctrl9_xl.
den_y = (uint8_t)val;
8344 (uint8_t *)&ctrl9_xl, 1);
8364 (uint8_t *)&ctrl9_xl, 1);
8365 *val = ctrl9_xl.
den_y;
8383 (uint8_t *)&ctrl9_xl, 1);
8387 ctrl9_xl.
den_x = (uint8_t)val;
8389 (uint8_t *)&ctrl9_xl, 1);
8409 (uint8_t *)&ctrl9_xl, 1);
8410 *val = ctrl9_xl.
den_x;
8444 (uint8_t *)&emb_func_en_a, 1);
8449 emb_func_en_a.
pedo_en = (uint8_t)val;
8451 (uint8_t *)&emb_func_en_a, 1);
8479 (uint8_t *)&emb_func_en_a, 1);
8480 *val = emb_func_en_a.pedo_en;
8509 (uint8_t *)&emb_func_status, 1);
8510 *val = emb_func_status.is_step_det;
8570 buff[1] = (uint8_t)(val / 256U);
8571 buff[0] = (uint8_t)(val - (buff[1] * 256U));
8605 *val = (*val * 256U) + buff[0];
8626 (uint8_t *)&pedo_cmd_reg);
8632 (uint8_t *)&pedo_cmd_reg);
8653 (uint8_t *)&pedo_cmd_reg);
8703 (uint8_t *)&emb_func_en_a, 1);
8710 (uint8_t *)&emb_func_en_a, 1);
8738 (uint8_t *)&emb_func_en_a, 1);
8768 (uint8_t *)&emb_func_status, 1);
8810 (uint8_t *)&emb_func_en_a, 1);
8815 emb_func_en_a.
tilt_en = (uint8_t)val;
8817 (uint8_t *)&emb_func_en_a, 1);
8845 (uint8_t *)&emb_func_en_a, 1);
8875 (uint8_t *)&emb_func_status, 1);
8880 *val = emb_func_status.
is_tilt;
8913 buff[1] = (uint8_t)(val / 256U);
8914 buff[0] = (uint8_t)(val - (buff[1] * 256U));
8948 *val = (*val * 256U) + buff[0];
8967 buff[1] = (uint8_t)((uint16_t)val[0] / 256U);
8968 buff[0] = (uint8_t)((uint16_t)val[0] - (buff[1] * 256U));
8969 buff[3] = (uint8_t)((uint16_t)val[1] / 256U);
8970 buff[2] = (uint8_t)((uint16_t)val[1] - (buff[3] * 256U));
8971 buff[5] = (uint8_t)((uint16_t)val[2] / 256U);
8972 buff[4] = (uint8_t)((uint16_t)val[2] - (buff[5] * 256U));
9067 val[0] = (int16_t)buff[1];
9068 val[0] = (val[0] * 256) + (int16_t)buff[0];
9069 val[1] = (int16_t)buff[3];
9070 val[1] = (val[1] * 256) + (int16_t)buff[2];
9071 val[2] = (int16_t)buff[5];
9072 val[2] = (val[2] * 256) + (int16_t)buff[4];
9095 buff[1] = (uint8_t)(val[0] / 256U);
9096 buff[0] = (uint8_t)(val[0] - (buff[1] * 256U));
9097 buff[3] = (uint8_t)(val[1] / 256U);
9098 buff[2] = (uint8_t)(val[1] - (buff[3] * 256U));
9099 buff[5] = (uint8_t)(val[2] / 256U);
9100 buff[4] = (uint8_t)(val[2] - (buff[5] * 256U));
9101 buff[7] = (uint8_t)(val[3] / 256U);
9102 buff[6] = (uint8_t)(val[3] - (buff[1] * 256U));
9103 buff[9] = (uint8_t)(val[4] / 256U);
9104 buff[8] = (uint8_t)(val[4] - (buff[3] * 256U));
9105 buff[11] = (uint8_t)(val[5] / 256U);
9106 buff[10] = (uint8_t)(val[5] - (buff[5] * 256U));
9291 val[0] = (val[0] * 256U) + buff[0];
9293 val[1] = (val[1] * 256U) + buff[2];
9295 val[2] = (val[2] * 256U) + buff[4];
9297 val[3] = (val[3] * 256U) + buff[6];
9299 val[4] = (val[4] * 256U) + buff[8];
9301 val[6] = (val[5] * 256U) + buff[10];
9321 (uint8_t *)&mag_cfg_a);
9327 (uint8_t *)&mag_cfg_a);
9348 (uint8_t *)&mag_cfg_a);
9400 (uint8_t *)&mag_cfg_a);
9406 (uint8_t *)&mag_cfg_a);
9427 (uint8_t *)&mag_cfg_a);
9478 (uint8_t *)&mag_cfg_b);
9484 (uint8_t *)&mag_cfg_b);
9505 (uint8_t *)&mag_cfg_b);
9573 (uint8_t *)&emb_func_status, 1);
9602 (uint8_t *)&emb_func_en_b, 1);
9607 emb_func_en_b.
fsm_en = (uint8_t)val;
9609 (uint8_t *)&emb_func_en_b, 1);
9637 (uint8_t *)&emb_func_en_b, 1);
9642 *val = emb_func_en_b.
fsm_en;
9644 (uint8_t *)&emb_func_en_b, 1);
9685 (uint8_t *)&emb_func_en_b, 1);
9719 (uint8_t *)&emb_func_en_b, 1);
9777 buff[1] = (uint8_t)(val / 256U);
9778 buff[0] = (uint8_t)(val - (buff[1] * 256U));
9815 *val = (*val * 256U) + buff[0];
9845 (uint8_t *)&fsm_long_counter_clear, 1);
9850 fsm_long_counter_clear.
fsm_lc_clr = (uint8_t)val;
9852 (uint8_t *)&fsm_long_counter_clear, 1);
9881 (uint8_t *)&fsm_long_counter_clear, 1);
9957 (uint8_t *)&emb_func_odr_cfg_b, 1);
9964 emb_func_odr_cfg_b.
fsm_odr = (uint8_t)val;
9966 (uint8_t *)&emb_func_odr_cfg_b, 1);
9995 (uint8_t *)&emb_func_odr_cfg_b, 1);
10003 switch (emb_func_odr_cfg_b.
fsm_odr)
10046 (uint8_t *)&emb_func_init_b, 1);
10051 emb_func_init_b.
fsm_init = (uint8_t)val;
10053 (uint8_t *)&emb_func_init_b, 1);
10081 (uint8_t *)&emb_func_init_b, 1);
10110 buff[1] = (uint8_t)(val / 256U);
10111 buff[0] = (uint8_t)(val - (buff[1] * 256U));
10153 *val = (*val * 256U) + buff[0];
10215 buff[1] = (uint8_t)(val / 256U);
10216 buff[0] = (uint8_t)(val - (buff[1] * 256U));
10256 *val = (*val * 256U) + buff[0];
10293 (uint8_t *)&
reg, 1);
10300 (uint8_t *)&
reg, 1);
10306 (uint8_t *)&
reg, 1);
10312 (uint8_t *)&
reg, 1);
10341 (uint8_t *)&
reg, 1);
10364 (uint8_t *) val, 1);
10385 (uint8_t *)&
reg, 1);
10390 reg.mlc_odr = (uint8_t)val;
10392 (uint8_t *)&
reg, 1);
10421 (uint8_t *)&
reg, 1);
10426 switch (
reg.mlc_odr)
10484 (uint8_t *)val, len);
10513 (uint8_t *)&master_config, 1);
10520 (uint8_t *)&master_config, 1);
10549 (uint8_t *)&master_config, 1);
10600 (uint8_t *)&master_config, 1);
10605 master_config.
master_on = (uint8_t)val;
10607 (uint8_t *)&master_config, 1);
10635 (uint8_t *)&master_config, 1);
10665 (uint8_t *)&master_config, 1);
10672 (uint8_t *)&master_config, 1);
10701 (uint8_t *)&master_config, 1);
10744 (uint8_t *)&master_config, 1);
10751 (uint8_t *)&master_config, 1);
10780 (uint8_t *)&master_config, 1);
10810 (uint8_t *)&master_config, 1);
10817 (uint8_t *)&master_config, 1);
10846 (uint8_t *)&master_config, 1);
10891 (uint8_t *)&master_config, 1);
10898 (uint8_t *)&master_config, 1);
10928 (uint8_t *)&master_config, 1);
10970 (uint8_t *)&master_config, 1);
10977 (uint8_t *)&master_config, 1);
10984 (uint8_t *)&master_config, 1);
11012 (uint8_t *)&master_config, 1);
11013 *val = master_config.rst_master_regs;
11042 (uint8_t *)&slv0_config, 1);
11047 slv0_config.
shub_odr = (uint8_t)val;
11049 (uint8_t *)&slv0_config, 1);
11078 (uint8_t *)&slv0_config, 1);
11135 (uint8_t *) & (slv0_add), 1);
11182 (uint8_t *) & (slv0_add), 1);
11194 (uint8_t *)&slv0_config, 1);
11201 (uint8_t *)&slv0_config, 1);
11236 (uint8_t *)&slv1_add, 1);
11248 (uint8_t *)&slv1_config, 1);
11255 (uint8_t *)&slv1_config, 1);
11290 (uint8_t *)&slv2_add, 1);
11302 (uint8_t *)&slv2_config, 1);
11309 (uint8_t *)&slv2_config, 1);
11344 (uint8_t *)&slv3_add, 1);
11356 (uint8_t *)&slv3_config, 1);
11363 (uint8_t *)&slv3_config, 1);
11391 (uint8_t *)val, 1);
int32_t ism330dhcx_den_mode_set(stmdev_ctx_t *ctx, ism330dhcx_den_mode_t val)
DEN functionality marking mode.
int32_t ism330dhcx_den_polarity_set(stmdev_ctx_t *ctx, ism330dhcx_den_lh_t val)
DEN active level configuration.
int32_t ism330dhcx_den_mark_axis_z_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of Z-axis.
int32_t ism330dhcx_den_mark_axis_y_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of Y-axis.
int32_t ism330dhcx_den_mode_get(stmdev_ctx_t *ctx, ism330dhcx_den_mode_t *val)
DEN functionality marking mode.
int32_t ism330dhcx_den_mark_axis_x_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of X-axis.
int32_t ism330dhcx_den_enable_set(stmdev_ctx_t *ctx, ism330dhcx_den_xl_g_t val)
DEN configuration.
int32_t ism330dhcx_den_mark_axis_z_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of Z-axis.
int32_t ism330dhcx_den_mark_axis_y_get(stmdev_ctx_t *ctx, uint8_t *val)
DEN value stored in LSB of Y-axis.
int32_t ism330dhcx_den_enable_get(stmdev_ctx_t *ctx, ism330dhcx_den_xl_g_t *val)
DEN configuration.
int32_t ism330dhcx_den_mark_axis_x_set(stmdev_ctx_t *ctx, uint8_t val)
DEN value stored in LSB of X-axis.
int32_t ism330dhcx_den_polarity_get(stmdev_ctx_t *ctx, ism330dhcx_den_lh_t *val)
DEN active level configuration.
int32_t ism330dhcx_angular_rate_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Angular rate sensor.
int32_t ism330dhcx_rounding_mode_get(stmdev_ctx_t *ctx, ism330dhcx_rounding_t *val)
Gyroscope UI chain full-scale selection.
int32_t ism330dhcx_fifo_out_raw_get(stmdev_ctx_t *ctx, uint8_t *buff)
FIFO data output.
int32_t ism330dhcx_steps_reset(stmdev_ctx_t *ctx)
Reset step counter register.
int32_t ism330dhcx_temperature_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Temperature data output register (r).
int32_t ism330dhcx_rounding_mode_set(stmdev_ctx_t *ctx, ism330dhcx_rounding_t val)
Circular burst-mode (rounding) read of the output registers.
int32_t ism330dhcx_mlc_out_get(stmdev_ctx_t *ctx, uint8_t *buff)
prgsens_out: [get] Output value of all MLCx decision trees.
int32_t ism330dhcx_acceleration_raw_get(stmdev_ctx_t *ctx, int16_t *val)
Linear acceleration output register.
int32_t ism330dhcx_number_of_steps_get(stmdev_ctx_t *ctx, uint16_t *val)
Step counter output register.
int32_t ism330dhcx_read_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Read generic device register.
int32_t ism330dhcx_write_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Write generic device register.
int32_t ism330dhcx_pedo_int_mode_set(stmdev_ctx_t *ctx, ism330dhcx_carry_count_en_t val)
Set when user wants to generate interrupt on count overflow event/every step.
int32_t ism330dhcx_pedo_int_mode_get(stmdev_ctx_t *ctx, ism330dhcx_carry_count_en_t *val)
Set when user wants to generate interrupt on count overflow event/every step.
int32_t ism330dhcx_pedo_steps_period_set(stmdev_ctx_t *ctx, uint16_t val)
Time period register for step detection on delta time (r/w).
int32_t ism330dhcx_pedo_step_detect_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for step detection.
int32_t ism330dhcx_pedo_sens_set(stmdev_ctx_t *ctx, uint8_t val)
Enable pedometer algorithm.
int32_t ism330dhcx_pedo_steps_period_get(stmdev_ctx_t *ctx, uint16_t *val)
Time period register for step detection on delta time (r/w).
int32_t ism330dhcx_pedo_debounce_steps_set(stmdev_ctx_t *ctx, uint8_t *buff)
Pedometer debounce configuration register (r/w).
int32_t ism330dhcx_pedo_debounce_steps_get(stmdev_ctx_t *ctx, uint8_t *buff)
Pedometer debounce configuration register (r/w).
int32_t ism330dhcx_pedo_sens_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable pedometer algorithm.
float ism330dhcx_from_fs8g_to_mg(int16_t lsb)
float ism330dhcx_from_fs4000dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs2g_to_mg(int16_t lsb)
float ism330dhcx_from_fs4g_to_mg(int16_t lsb)
float ism330dhcx_from_lsb_to_celsius(int16_t lsb)
float ism330dhcx_from_fs250dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs125dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs2000dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs500dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs1000dps_to_mdps(int16_t lsb)
float ism330dhcx_from_fs16g_to_mg(int16_t lsb)
float ism330dhcx_from_lsb_to_nsec(int32_t lsb)
int32_t ism330dhcx_sh_status_get(stmdev_ctx_t *ctx, ism330dhcx_status_master_t *val)
Sensor hub source register.
int32_t ism330dhcx_sh_master_get(stmdev_ctx_t *ctx, uint8_t *val)
Sensor hub I2C master enable.
int32_t ism330dhcx_sh_data_rate_get(stmdev_ctx_t *ctx, ism330dhcx_shub_odr_t *val)
Rate at which the master communicates.
int32_t ism330dhcx_sh_slv2_cfg_read(stmdev_ctx_t *ctx, ism330dhcx_sh_cfg_read_t *val)
Configure slave 2 for perform a write/read.
int32_t ism330dhcx_sh_pin_mode_set(stmdev_ctx_t *ctx, ism330dhcx_shub_pu_en_t val)
Master I2C pull-up enable.
int32_t ism330dhcx_sh_pass_through_set(stmdev_ctx_t *ctx, uint8_t val)
I2C interface pass-through.
int32_t ism330dhcx_sh_data_rate_set(stmdev_ctx_t *ctx, ism330dhcx_shub_odr_t val)
Rate at which the master communicates.
int32_t ism330dhcx_sh_slv1_cfg_read(stmdev_ctx_t *ctx, ism330dhcx_sh_cfg_read_t *val)
Configure slave 0 for perform a write/read.
int32_t ism330dhcx_sh_master_set(stmdev_ctx_t *ctx, uint8_t val)
Sensor hub I2C master enable.
int32_t ism330dhcx_sh_reset_set(stmdev_ctx_t *ctx)
Reset Master logic and output registers.
int32_t ism330dhcx_sh_slv0_cfg_read(stmdev_ctx_t *ctx, ism330dhcx_sh_cfg_read_t *val)
Configure slave 0 for perform a write/read.
int32_t ism330dhcx_sh_write_mode_get(stmdev_ctx_t *ctx, ism330dhcx_write_once_t *val)
Slave 0 write operation is performed only at the first sensor hub cycle.
int32_t ism330dhcx_sh_syncro_mode_get(stmdev_ctx_t *ctx, ism330dhcx_start_config_t *val)
Sensor hub trigger signal selection.
int32_t ism330dhcx_sh_pin_mode_get(stmdev_ctx_t *ctx, ism330dhcx_shub_pu_en_t *val)
Master I2C pull-up enable.
int32_t ism330dhcx_sh_write_mode_set(stmdev_ctx_t *ctx, ism330dhcx_write_once_t val)
Slave 0 write operation is performed only at the first sensor hub cycle.
int32_t ism330dhcx_sh_slave_connected_get(stmdev_ctx_t *ctx, ism330dhcx_aux_sens_on_t *val)
Number of external sensors to be read by the sensor hub.
int32_t ism330dhcx_sh_slave_connected_set(stmdev_ctx_t *ctx, ism330dhcx_aux_sens_on_t val)
Number of external sensors to be read by the sensor hub.
int32_t ism330dhcx_sh_slv3_cfg_read(stmdev_ctx_t *ctx, ism330dhcx_sh_cfg_read_t *val)
Configure slave 3 for perform a write/read.
int32_t ism330dhcx_sh_cfg_write(stmdev_ctx_t *ctx, ism330dhcx_sh_cfg_write_t *val)
Configure slave 0 for perform a write.
int32_t ism330dhcx_sh_reset_get(stmdev_ctx_t *ctx, uint8_t *val)
Reset Master logic and output registers.
int32_t ism330dhcx_sh_pass_through_get(stmdev_ctx_t *ctx, uint8_t *val)
I2C interface pass-through.
int32_t ism330dhcx_sh_read_data_raw_get(stmdev_ctx_t *ctx, ism330dhcx_emb_sh_read_t *val, uint8_t len)
Sensor hub output registers.
int32_t ism330dhcx_sh_syncro_mode_set(stmdev_ctx_t *ctx, ism330dhcx_start_config_t val)
Sensor hub trigger signal selection.
int32_t ism330dhcx_timestamp_raw_get(stmdev_ctx_t *ctx, uint32_t *val)
Timestamp first data output register (r).
int32_t ism330dhcx_timestamp_set(stmdev_ctx_t *ctx, uint8_t val)
Enables timestamp counter.
int32_t ism330dhcx_timestamp_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables timestamp counter.
int32_t ism330dhcx_timestamp_rst(stmdev_ctx_t *ctx)
Reset timestamp counter.
int32_t ism330dhcx_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.
int32_t ism330dhcx_wkup_ths_weight_get(stmdev_ctx_t *ctx, ism330dhcx_wake_ths_w_t *val)
Weight of 1 LSB of wakeup threshold.
int32_t ism330dhcx_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.
int32_t ism330dhcx_wkup_ths_weight_set(stmdev_ctx_t *ctx, ism330dhcx_wake_ths_w_t val)
Weight of 1 LSB of wakeup threshold.
int32_t ism330dhcx_wkup_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Wake up duration event(1LSb = 1 / ODR).
int32_t ism330dhcx_xl_usr_offset_on_wkup_set(stmdev_ctx_t *ctx, uint8_t val)
Wake up duration event( 1LSb = 1 / ODR ).
int32_t ism330dhcx_xl_usr_offset_on_wkup_get(stmdev_ctx_t *ctx, uint8_t *val)
Wake up duration event( 1LSb = 1 / ODR ).
int32_t ism330dhcx_wkup_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Wake up duration event(1LSb = 1 / ODR).
int32_t ism330dhcx_aux_gy_lp1_bandwidth_set(stmdev_ctx_t *ctx, ism330dhcx_ftype_ois_t val)
Selects gyroscope digital LPF1 filter bandwidth.
int32_t ism330dhcx_aux_gy_clamp_set(stmdev_ctx_t *ctx, ism330dhcx_st_ois_clampdis_t val)
Enable / Disables OIS chain clamp.
int32_t ism330dhcx_act_pin_notification_set(stmdev_ctx_t *ctx, ism330dhcx_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 ism330dhcx_act_sleep_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Duration to go in sleep mode.
int32_t ism330dhcx_aux_xl_self_test_set(stmdev_ctx_t *ctx, ism330dhcx_st_xl_ois_t val)
Selects accelerometer self-test.
int32_t ism330dhcx_mag_offset_set(stmdev_ctx_t *ctx, int16_t *val)
Offset for hard-iron compensation register (r/w).
int32_t ism330dhcx_aux_mode_set(stmdev_ctx_t *ctx, ism330dhcx_ois_en_spi2_t val)
Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data...
int32_t ism330dhcx_aux_den_polarity_set(stmdev_ctx_t *ctx, ism330dhcx_den_lh_ois_t val)
Indicates polarity of DEN signal on OIS chain.
int32_t ism330dhcx_mag_offset_get(stmdev_ctx_t *ctx, int16_t *val)
Offset for hard-iron compensation register (r/w).
int32_t ism330dhcx_aux_xl_self_test_get(stmdev_ctx_t *ctx, ism330dhcx_st_xl_ois_t *val)
Selects accelerometer self-test.
int32_t ism330dhcx_mag_y_orient_set(stmdev_ctx_t *ctx, ism330dhcx_mag_y_axis_t val)
Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_mag_x_orient_set(stmdev_ctx_t *ctx, ism330dhcx_mag_x_axis_t val)
Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_aux_status_reg_get(stmdev_ctx_t *ctx, ism330dhcx_status_spiaux_t *val)
The STATUS_SPIAux register is read by the auxiliary SPI.
int32_t ism330dhcx_aux_gy_lp1_bandwidth_get(stmdev_ctx_t *ctx, ism330dhcx_ftype_ois_t *val)
Selects gyroscope digital LPF1 filter bandwidth.
int32_t ism330dhcx_4d_mode_get(stmdev_ctx_t *ctx, uint8_t *val)
4D orientation detection enable.
int32_t ism330dhcx_aux_drdy_on_int2_set(stmdev_ctx_t *ctx, uint8_t val)
Enables/Disable OIS chain DRDY on INT2 pin.
int32_t ism330dhcx_aux_spi_mode_get(stmdev_ctx_t *ctx, ism330dhcx_sim_ois_t *val)
SPI2 3- or 4-wire interface.
int32_t ism330dhcx_gy_sleep_mode_set(stmdev_ctx_t *ctx, uint8_t val)
Enables gyroscope Sleep mode.
int32_t ism330dhcx_aux_xl_bandwidth_get(stmdev_ctx_t *ctx, ism330dhcx_filter_xl_conf_ois_t *val)
Selects accelerometer OIS channel bandwidth.
int32_t ism330dhcx_aux_den_polarity_get(stmdev_ctx_t *ctx, ism330dhcx_den_lh_ois_t *val)
Indicates polarity of DEN signal on OIS chain.
int32_t ism330dhcx_spi_mode_get(stmdev_ctx_t *ctx, ism330dhcx_sim_t *val)
SPI Serial Interface Mode selection.
int32_t ism330dhcx_aux_gy_self_test_set(stmdev_ctx_t *ctx, ism330dhcx_st_ois_t val)
Selects gyroscope OIS chain self-test.
int32_t ism330dhcx_aux_gy_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
AUX gyroscope data available.
int32_t ism330dhcx_aux_gy_hp_bandwidth_get(stmdev_ctx_t *ctx, ism330dhcx_hpm_ois_t *val)
Selects gyroscope OIS chain digital high-pass filter cutoff.
int32_t ism330dhcx_aux_xl_bandwidth_set(stmdev_ctx_t *ctx, ism330dhcx_filter_xl_conf_ois_t val)
Selects accelerometer OIS channel bandwidth.
int32_t ism330dhcx_act_mode_set(stmdev_ctx_t *ctx, ism330dhcx_inact_en_t val)
Enable inactivity function.
int32_t ism330dhcx_sdo_sa0_mode_set(stmdev_ctx_t *ctx, ism330dhcx_sdo_pu_en_t val)
Connect/Disconnect SDO/SA0 internal pull-up.
int32_t ism330dhcx_mag_z_orient_set(stmdev_ctx_t *ctx, ism330dhcx_mag_z_axis_t val)
Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_aux_sdo_ocs_mode_set(stmdev_ctx_t *ctx, ism330dhcx_ois_pu_dis_t val)
On auxiliary interface connect/disconnect SDO and OCS internal pull-up.
int32_t ism330dhcx_aux_pw_on_ctrl_set(stmdev_ctx_t *ctx, ism330dhcx_ois_on_t val)
OIS chain on aux interface power on mode.
int32_t ism330dhcx_aux_gy_clamp_get(stmdev_ctx_t *ctx, ism330dhcx_st_ois_clampdis_t *val)
Enable / Disables OIS chain clamp.
int32_t ism330dhcx_aux_den_mode_set(stmdev_ctx_t *ctx, ism330dhcx_lvl2_ois_t val)
Configure DEN mode on the OIS chain.
int32_t ism330dhcx_aux_spi_mode_set(stmdev_ctx_t *ctx, ism330dhcx_sim_ois_t val)
SPI2 3- or 4-wire interface.
int32_t ism330dhcx_aux_xl_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
AUX accelerometer data available.
int32_t ism330dhcx_6d_threshold_set(stmdev_ctx_t *ctx, ism330dhcx_sixd_ths_t val)
Threshold for 4D/6D function.
int32_t ism330dhcx_6d_threshold_get(stmdev_ctx_t *ctx, ism330dhcx_sixd_ths_t *val)
Threshold for 4D/6D function.
int32_t ism330dhcx_mag_soft_iron_get(stmdev_ctx_t *ctx, uint16_t *val)
Soft-iron (3x3 symmetric) matrix correction register (r/w).
int32_t ism330dhcx_mag_x_orient_get(stmdev_ctx_t *ctx, ism330dhcx_mag_x_axis_t *val)
Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_aux_gy_flag_settling_get(stmdev_ctx_t *ctx, uint8_t *val)
High when the gyroscope output is in the settling phase.
int32_t ism330dhcx_aux_mode_get(stmdev_ctx_t *ctx, ism330dhcx_ois_en_spi2_t *val)
Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data...
int32_t ism330dhcx_aux_sdo_ocs_mode_get(stmdev_ctx_t *ctx, ism330dhcx_ois_pu_dis_t *val)
On auxiliary interface connect/disconnect SDO and OCS internal pull-up.
int32_t ism330dhcx_aux_xl_full_scale_get(stmdev_ctx_t *ctx, ism330dhcx_fs_xl_ois_t *val)
Selects accelerometer OIS channel full-scale.
int32_t ism330dhcx_mag_soft_iron_set(stmdev_ctx_t *ctx, uint16_t *val)
Soft-iron (3x3 symmetric) matrix correction register (r/w).
int32_t ism330dhcx_mag_sensitivity_set(stmdev_ctx_t *ctx, uint16_t val)
External magnetometer sensitivity value register.
int32_t ism330dhcx_4d_mode_set(stmdev_ctx_t *ctx, uint8_t val)
4D orientation detection enable.
int32_t ism330dhcx_gy_sleep_mode_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables gyroscope Sleep mode.
int32_t ism330dhcx_aux_gy_full_scale_get(stmdev_ctx_t *ctx, ism330dhcx_fs_g_ois_t *val)
Selects gyroscope OIS chain full-scale.
int32_t ism330dhcx_act_pin_notification_get(stmdev_ctx_t *ctx, ism330dhcx_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 ism330dhcx_mag_z_orient_get(stmdev_ctx_t *ctx, ism330dhcx_mag_z_axis_t *val)
Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_sdo_sa0_mode_get(stmdev_ctx_t *ctx, ism330dhcx_sdo_pu_en_t *val)
Connect/Disconnect SDO/SA0 internal pull-up.
int32_t ism330dhcx_aux_drdy_on_int2_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables/Disable OIS chain DRDY on INT2 pin.
int32_t ism330dhcx_mag_y_orient_get(stmdev_ctx_t *ctx, ism330dhcx_mag_y_axis_t *val)
Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t ism330dhcx_act_mode_get(stmdev_ctx_t *ctx, ism330dhcx_inact_en_t *val)
Enable inactivity function.
int32_t ism330dhcx_aux_gy_self_test_get(stmdev_ctx_t *ctx, ism330dhcx_st_ois_t *val)
Selects gyroscope OIS chain self-test.
int32_t ism330dhcx_aux_den_mode_get(stmdev_ctx_t *ctx, ism330dhcx_lvl2_ois_t *val)
Configure DEN mode on the OIS chain.
int32_t ism330dhcx_aux_pw_on_ctrl_get(stmdev_ctx_t *ctx, ism330dhcx_ois_on_t *val)
OIS chain on aux interface power on mode[get].
int32_t ism330dhcx_mag_sensitivity_get(stmdev_ctx_t *ctx, uint16_t *val)
External magnetometer sensitivity value register.
int32_t ism330dhcx_i2c_interface_set(stmdev_ctx_t *ctx, ism330dhcx_i2c_disable_t val)
Disable / Enable I2C interface.
int32_t ism330dhcx_aux_gy_full_scale_set(stmdev_ctx_t *ctx, ism330dhcx_fs_g_ois_t val)
Selects gyroscope OIS chain full-scale.
int32_t ism330dhcx_spi_mode_set(stmdev_ctx_t *ctx, ism330dhcx_sim_t val)
SPI Serial Interface Mode selection.
int32_t ism330dhcx_aux_gy_hp_bandwidth_set(stmdev_ctx_t *ctx, ism330dhcx_hpm_ois_t val)
Selects gyroscope OIS chain digital high-pass filter cutoff.
int32_t ism330dhcx_aux_xl_full_scale_set(stmdev_ctx_t *ctx, ism330dhcx_fs_xl_ois_t val)
Selects accelerometer OIS channel full-scale.
int32_t ism330dhcx_i2c_interface_get(stmdev_ctx_t *ctx, ism330dhcx_i2c_disable_t *val)
Disable / Enable I2C interface.
int32_t ism330dhcx_act_sleep_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Duration to go in sleep mode (1 LSb = 512 / ODR).
int32_t ism330dhcx_device_conf_get(stmdev_ctx_t *ctx, uint8_t *val)
DEVICE_CONF bit configuration[get].
int32_t ism330dhcx_ln_pg_write_byte(stmdev_ctx_t *ctx, uint16_t add, uint8_t *val)
Write a line(byte) in a page.
int32_t ism330dhcx_gy_self_test_get(stmdev_ctx_t *ctx, ism330dhcx_st_g_t *val)
Angular rate sensor self-test enable.
int32_t ism330dhcx_device_id_get(stmdev_ctx_t *ctx, uint8_t *buff)
Device Who am I.
int32_t ism330dhcx_xl_self_test_get(stmdev_ctx_t *ctx, ism330dhcx_st_xl_t *val)
Linear acceleration sensor self-test enable.
int32_t ism330dhcx_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 ism330dhcx_ln_pg_write(stmdev_ctx_t *ctx, uint16_t add, uint8_t *buf, uint8_t len)
Write buffer in a page.
int32_t ism330dhcx_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 ism330dhcx_boot_get(stmdev_ctx_t *ctx, uint8_t *val)
Reboot memory content.
int32_t ism330dhcx_reset_get(stmdev_ctx_t *ctx, uint8_t *val)
Software reset.
int32_t ism330dhcx_data_ready_mode_get(stmdev_ctx_t *ctx, ism330dhcx_dataready_pulsed_t *val)
Data-ready pulsed / letched mode.
int32_t ism330dhcx_mem_bank_get(stmdev_ctx_t *ctx, ism330dhcx_reg_access_t *val)
Enable access to the embedded functions/sensor hub configuration registers.
int32_t ism330dhcx_boot_set(stmdev_ctx_t *ctx, uint8_t val)
Reboot memory content.
int32_t ism330dhcx_gy_self_test_set(stmdev_ctx_t *ctx, ism330dhcx_st_g_t val)
Angular rate sensor self-test enable.
int32_t ism330dhcx_ln_pg_read_byte(stmdev_ctx_t *ctx, uint16_t add, uint8_t *val)
Read a line(byte) in a page.
int32_t ism330dhcx_data_ready_mode_set(stmdev_ctx_t *ctx, ism330dhcx_dataready_pulsed_t val)
Data-ready pulsed / letched mode.
int32_t ism330dhcx_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 ism330dhcx_reset_set(stmdev_ctx_t *ctx, uint8_t val)
Software reset.
int32_t ism330dhcx_xl_self_test_set(stmdev_ctx_t *ctx, ism330dhcx_st_xl_t val)
Linear acceleration sensor self-test enable.
int32_t ism330dhcx_mem_bank_set(stmdev_ctx_t *ctx, ism330dhcx_reg_access_t val)
Enable access to the embedded functions/sensor hub configuration registers.
int32_t ism330dhcx_device_conf_set(stmdev_ctx_t *ctx, uint8_t val)
DEVICE_CONF bit configuration[set].
int32_t ism330dhcx_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 ism330dhcx_fifo_mode_get(stmdev_ctx_t *ctx, ism330dhcx_fifo_mode_t *val)
FIFO mode selection.
int32_t ism330dhcx_fifo_xl_batch_set(stmdev_ctx_t *ctx, ism330dhcx_bdr_xl_t val)
Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.
int32_t ism330dhcx_fifo_temp_batch_set(stmdev_ctx_t *ctx, ism330dhcx_odr_t_batch_t val)
Selects Batching Data Rate (writing frequency in FIFO) for temperature data.
int32_t ism330dhcx_sh_batch_slave_0_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of first slave.
int32_t ism330dhcx_fifo_gy_batch_set(stmdev_ctx_t *ctx, ism330dhcx_bdr_gy_t val)
Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.
int32_t ism330dhcx_fifo_pedo_batch_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching of pedometer embedded function values.
int32_t ism330dhcx_compression_algo_get(stmdev_ctx_t *ctx, ism330dhcx_uncoptr_rate_t *val)
Enable and configure compression algo.
int32_t ism330dhcx_fifo_watermark_get(stmdev_ctx_t *ctx, uint16_t *val)
FIFO watermark level selection.
int32_t ism330dhcx_sh_batch_slave_1_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of second slave.
int32_t ism330dhcx_fifo_watermark_set(stmdev_ctx_t *ctx, uint16_t val)
FIFO watermark level selection.
int32_t ism330dhcx_fifo_virtual_sens_odr_chg_set(stmdev_ctx_t *ctx, uint8_t val)
Enables ODR CHANGE virtual sensor to be batched in FIFO.
int32_t ism330dhcx_compression_algo_real_time_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables/Disables compression algorithm runtime.
int32_t ism330dhcx_fifo_ovr_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO overrun status.
int32_t ism330dhcx_fifo_temp_batch_get(stmdev_ctx_t *ctx, ism330dhcx_odr_t_batch_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for temperature data.
int32_t ism330dhcx_fifo_sensor_tag_get(stmdev_ctx_t *ctx, ism330dhcx_fifo_tag_t *val)
Identifies the sensor in FIFO_DATA_OUT.
int32_t ism330dhcx_fifo_pedo_batch_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching of pedometer embedded function values.
int32_t ism330dhcx_sh_batch_slave_2_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of third slave.
int32_t ism330dhcx_sh_batch_slave_1_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of second slave.
int32_t ism330dhcx_compression_algo_real_time_set(stmdev_ctx_t *ctx, uint8_t val)
Enables/Disables compression algorithm runtime[set].
int32_t ism330dhcx_rst_batch_counter_set(stmdev_ctx_t *ctx, uint8_t val)
Resets the internal counter of batching events for a single sensor.
int32_t ism330dhcx_batch_counter_threshold_get(stmdev_ctx_t *ctx, uint16_t *val)
Batch data rate counter.
int32_t ism330dhcx_fifo_wtm_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO watermark status.
int32_t ism330dhcx_fifo_cnt_event_batch_get(stmdev_ctx_t *ctx, ism330dhcx_trig_counter_bdr_t *val)
Selects the trigger for the internal counter of batching events between XL and gyro.
int32_t ism330dhcx_rst_batch_counter_get(stmdev_ctx_t *ctx, uint8_t *val)
Resets the internal counter of batching events for a single sensor.
int32_t ism330dhcx_compression_algo_init_set(stmdev_ctx_t *ctx, uint8_t val)
FIFO compression feature initialization request.
int32_t ism330dhcx_fifo_xl_batch_get(stmdev_ctx_t *ctx, ism330dhcx_bdr_xl_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.
int32_t ism330dhcx_fifo_full_flag_get(stmdev_ctx_t *ctx, uint8_t *val)
Smart FIFO full status.
int32_t ism330dhcx_fifo_timestamp_decimation_set(stmdev_ctx_t *ctx, ism330dhcx_odr_ts_batch_t val)
Selects decimation for timestamp batching in FIFO.
int32_t ism330dhcx_fifo_mode_set(stmdev_ctx_t *ctx, ism330dhcx_fifo_mode_t val)
FIFO mode selection.
int32_t ism330dhcx_fifo_data_level_get(stmdev_ctx_t *ctx, uint16_t *val)
Number of unread sensor data (TAG + 6 bytes) stored in FIFO.
int32_t ism330dhcx_fifo_status_get(stmdev_ctx_t *ctx, ism330dhcx_fifo_status2_t *val)
Smart FIFO status.
int32_t ism330dhcx_fifo_stop_on_wtm_set(stmdev_ctx_t *ctx, uint8_t val)
Sensing chain FIFO stop values memorization at threshold level.
int32_t ism330dhcx_sh_batch_slave_3_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of fourth slave.
int32_t ism330dhcx_batch_counter_threshold_set(stmdev_ctx_t *ctx, uint16_t val)
Batch data rate counter.
int32_t ism330dhcx_compression_algo_init_get(stmdev_ctx_t *ctx, uint8_t *val)
FIFO compression feature initialization request.
int32_t ism330dhcx_fifo_gy_batch_get(stmdev_ctx_t *ctx, ism330dhcx_bdr_gy_t *val)
Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.
int32_t ism330dhcx_fifo_cnt_event_batch_set(stmdev_ctx_t *ctx, ism330dhcx_trig_counter_bdr_t val)
Selects the trigger for the internal counter of batching events between XL and gyro.
int32_t ism330dhcx_sh_batch_slave_2_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of third slave.
int32_t ism330dhcx_fifo_stop_on_wtm_get(stmdev_ctx_t *ctx, uint8_t *val)
Sensing chain FIFO stop values memorization at threshold level.
int32_t ism330dhcx_compression_algo_set(stmdev_ctx_t *ctx, ism330dhcx_uncoptr_rate_t val)
Enable and configure compression algo.
int32_t ism330dhcx_fifo_virtual_sens_odr_chg_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables ODR CHANGE virtual sensor to be batched in FIFO.
int32_t ism330dhcx_sh_batch_slave_0_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable FIFO batching data of first slave.
int32_t ism330dhcx_fifo_timestamp_decimation_get(stmdev_ctx_t *ctx, ism330dhcx_odr_ts_batch_t *val)
Selects decimation for timestamp batching in FIFO.
int32_t ism330dhcx_sh_batch_slave_3_set(stmdev_ctx_t *ctx, uint8_t val)
Enable FIFO batching data of fourth slave.
int32_t ism330dhcx_xl_hp_path_internal_get(stmdev_ctx_t *ctx, ism330dhcx_slope_fds_t *val)
HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.
int32_t ism330dhcx_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 ism330dhcx_gy_hp_path_internal_get(stmdev_ctx_t *ctx, ism330dhcx_hpm_g_t *val)
Enables gyroscope digital high-pass filter.
int32_t ism330dhcx_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 ism330dhcx_gy_lp1_bandwidth_set(stmdev_ctx_t *ctx, ism330dhcx_ftype_t val)
Gyroscope low pass filter 1 bandwidth.
int32_t ism330dhcx_gy_lp1_bandwidth_get(stmdev_ctx_t *ctx, ism330dhcx_ftype_t *val)
Gyroscope low pass filter 1 bandwidth.
int32_t ism330dhcx_xl_lp2_on_6d_set(stmdev_ctx_t *ctx, uint8_t val)
Low pass filter 2 on 6D function selection.
int32_t ism330dhcx_xl_lp2_on_6d_get(stmdev_ctx_t *ctx, uint8_t *val)
Low pass filter 2 on 6D function selection.
int32_t ism330dhcx_xl_filter_lp2_get(stmdev_ctx_t *ctx, uint8_t *val)
Accelerometer output from LPF2 filtering stage selection.
int32_t ism330dhcx_xl_fast_settling_set(stmdev_ctx_t *ctx, uint8_t val)
Enables accelerometer LPF2 and HPF fast-settling mode.
int32_t ism330dhcx_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 ism330dhcx_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 ism330dhcx_xl_hp_path_on_out_set(stmdev_ctx_t *ctx, ism330dhcx_hp_slope_xl_en_t val)
Accelerometer slope filter / high-pass filter selection on output.
int32_t ism330dhcx_xl_fast_settling_get(stmdev_ctx_t *ctx, uint8_t *val)
Enables accelerometer LPF2 and HPF fast-settling mode.
int32_t ism330dhcx_xl_hp_path_on_out_get(stmdev_ctx_t *ctx, ism330dhcx_hp_slope_xl_en_t *val)
Accelerometer slope filter / high-pass filter selection on output.
int32_t ism330dhcx_xl_hp_path_internal_set(stmdev_ctx_t *ctx, ism330dhcx_slope_fds_t val)
HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.
int32_t ism330dhcx_xl_filter_lp2_set(stmdev_ctx_t *ctx, uint8_t val)
Accelerometer output from LPF2 filtering stage selection.
int32_t ism330dhcx_gy_hp_path_internal_set(stmdev_ctx_t *ctx, ism330dhcx_hpm_g_t val)
Enables gyroscope digital high-pass filter.
int32_t ism330dhcx_fsm_number_of_programs_set(stmdev_ctx_t *ctx, uint8_t *buff)
FSM number of programs register.
int32_t ism330dhcx_long_clr_get(stmdev_ctx_t *ctx, ism330dhcx_fsm_lc_clr_t *val)
Clear FSM long counter value.
int32_t ism330dhcx_long_cnt_int_value_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM long counter timeout register (r/w).
int32_t ism330dhcx_emb_fsm_en_set(stmdev_ctx_t *ctx, uint8_t val)
Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_number_of_programs_get(stmdev_ctx_t *ctx, uint8_t *buff)
FSM number of programs register.
int32_t ism330dhcx_fsm_enable_set(stmdev_ctx_t *ctx, ism330dhcx_emb_fsm_enable_t *val)
Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_start_address_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM start address register (r/w).
int32_t ism330dhcx_long_cnt_set(stmdev_ctx_t *ctx, uint16_t val)
FSM long counter status register.
int32_t ism330dhcx_emb_fsm_en_get(stmdev_ctx_t *ctx, uint8_t *val)
Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_out_get(stmdev_ctx_t *ctx, ism330dhcx_fsm_out_t *val)
FSM output registers.
int32_t ism330dhcx_long_cnt_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for FSM long counter timeout interrupt event.
int32_t ism330dhcx_fsm_data_rate_get(stmdev_ctx_t *ctx, ism330dhcx_fsm_odr_t *val)
Finite State Machine ODR configuration.
int32_t ism330dhcx_fsm_init_get(stmdev_ctx_t *ctx, uint8_t *val)
FSM initialization request.
int32_t ism330dhcx_fsm_start_address_set(stmdev_ctx_t *ctx, uint16_t val)
FSM start address register (r/w).
int32_t ism330dhcx_fsm_data_rate_set(stmdev_ctx_t *ctx, ism330dhcx_fsm_odr_t val)
Finite State Machine ODR configuration.
int32_t ism330dhcx_fsm_enable_get(stmdev_ctx_t *ctx, ism330dhcx_emb_fsm_enable_t *val)
Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_init_set(stmdev_ctx_t *ctx, uint8_t val)
FSM initialization request.
int32_t ism330dhcx_long_cnt_get(stmdev_ctx_t *ctx, uint16_t *val)
FSM long counter status register.
int32_t ism330dhcx_long_cnt_int_value_set(stmdev_ctx_t *ctx, uint16_t val)
FSM long counter timeout register (r/w).
int32_t ism330dhcx_long_clr_set(stmdev_ctx_t *ctx, ism330dhcx_fsm_lc_clr_t val)
Clear FSM long counter value.
int32_t ism330dhcx_ff_dur_set(stmdev_ctx_t *ctx, uint8_t val)
Free-fall duration event(1LSb = 1 / ODR).
int32_t ism330dhcx_ff_dur_get(stmdev_ctx_t *ctx, uint8_t *val)
Free-fall duration event(1LSb = 1 / ODR).
int32_t ism330dhcx_ff_threshold_get(stmdev_ctx_t *ctx, ism330dhcx_ff_ths_t *val)
Free fall threshold setting.
int32_t ism330dhcx_ff_threshold_set(stmdev_ctx_t *ctx, ism330dhcx_ff_ths_t val)
Free fall threshold setting.
int32_t ism330dhcx_pin_int2_route_set(stmdev_ctx_t *ctx, ism330dhcx_pin_int2_route_t *val)
Select the signal that need to route on int2 pad[set].
int32_t ism330dhcx_pin_polarity_get(stmdev_ctx_t *ctx, ism330dhcx_h_lactive_t *val)
Interrupt active-high/low.
int32_t ism330dhcx_int_notification_get(stmdev_ctx_t *ctx, ism330dhcx_lir_t *val)
All interrupt signals notification mode.
int32_t ism330dhcx_pin_polarity_set(stmdev_ctx_t *ctx, ism330dhcx_h_lactive_t val)
Interrupt active-high/low.
int32_t ism330dhcx_all_on_int1_set(stmdev_ctx_t *ctx, uint8_t val)
All interrupt signals become available on INT1 pin.
int32_t ism330dhcx_all_on_int1_get(stmdev_ctx_t *ctx, uint8_t *val)
All interrupt signals become available on INT1 pin.
int32_t ism330dhcx_pin_int1_route_get(stmdev_ctx_t *ctx, ism330dhcx_pin_int1_route_t *val)
Select the signal that need to route on int1 pad.
int32_t ism330dhcx_pin_mode_get(stmdev_ctx_t *ctx, ism330dhcx_pp_od_t *val)
Push-pull/open drain selection on interrupt pads.
int32_t ism330dhcx_pin_mode_set(stmdev_ctx_t *ctx, ism330dhcx_pp_od_t val)
Push-pull/open drain selection on interrupt pads.
int32_t ism330dhcx_pin_int2_route_get(stmdev_ctx_t *ctx, ism330dhcx_pin_int2_route_t *val)
Select the signal that need to route on int2 pad.
int32_t ism330dhcx_int_notification_set(stmdev_ctx_t *ctx, ism330dhcx_lir_t val)
All interrupt signals notification mode.
int32_t ism330dhcx_pin_int1_route_set(stmdev_ctx_t *ctx, ism330dhcx_pin_int1_route_t *val)
Select the signal that need to route on int1 pad[set].
int32_t ism330dhcx_motion_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for significant motion detection.
int32_t ism330dhcx_motion_sens_set(stmdev_ctx_t *ctx, uint8_t val)
Enable significant motion detection function.
int32_t ism330dhcx_motion_sens_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable significant motion detection function.
int32_t ism330dhcx_tap_threshold_x_get(stmdev_ctx_t *ctx, uint8_t *val)
X-axis tap recognition threshold.
int32_t ism330dhcx_tap_axis_priority_get(stmdev_ctx_t *ctx, ism330dhcx_tap_priority_t *val)
Selection of axis priority for TAP detection[get].
int32_t ism330dhcx_tap_detection_on_y_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable Y direction in tap recognition.
int32_t ism330dhcx_tap_shock_set(stmdev_ctx_t *ctx, uint8_t val)
Maximum duration is the maximum time of an overthreshold signal detection to be recognized as a tap e...
int32_t ism330dhcx_tap_axis_priority_set(stmdev_ctx_t *ctx, ism330dhcx_tap_priority_t val)
Selection of axis priority for TAP detection.
int32_t ism330dhcx_tap_threshold_y_get(stmdev_ctx_t *ctx, uint8_t *val)
Y-axis tap recognition threshold.
int32_t ism330dhcx_tap_detection_on_x_set(stmdev_ctx_t *ctx, uint8_t val)
Enable X direction in tap recognition.
int32_t ism330dhcx_tap_threshold_y_set(stmdev_ctx_t *ctx, uint8_t val)
Y-axis tap recognition threshold.
int32_t ism330dhcx_tap_threshold_z_set(stmdev_ctx_t *ctx, uint8_t val)
Z-axis recognition threshold.
int32_t ism330dhcx_tap_threshold_z_get(stmdev_ctx_t *ctx, uint8_t *val)
Z-axis recognition threshold.
int32_t ism330dhcx_tap_detection_on_x_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable X direction in tap recognition.
int32_t ism330dhcx_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 ism330dhcx_tap_detection_on_y_set(stmdev_ctx_t *ctx, uint8_t val)
Enable Y direction in tap recognition.
int32_t ism330dhcx_tap_detection_on_z_set(stmdev_ctx_t *ctx, uint8_t val)
Enable Z direction in tap recognition.
int32_t ism330dhcx_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 ism330dhcx_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 overthreshold even...
int32_t ism330dhcx_tap_mode_get(stmdev_ctx_t *ctx, ism330dhcx_single_double_tap_t *val)
Single/double-tap event enable.
int32_t ism330dhcx_tap_threshold_x_set(stmdev_ctx_t *ctx, uint8_t val)
X-axis tap recognition threshold.
int32_t ism330dhcx_tap_mode_set(stmdev_ctx_t *ctx, ism330dhcx_single_double_tap_t val)
Single/double-tap event enable.
int32_t ism330dhcx_tap_detection_on_z_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable Z direction in tap recognition.
int32_t ism330dhcx_tap_shock_get(stmdev_ctx_t *ctx, uint8_t *val)
Maximum duration is the maximum time of an overthreshold signal detection to be recognized as a tap e...
int32_t ism330dhcx_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 overthreshold even...
int32_t ism330dhcx_tilt_sens_set(stmdev_ctx_t *ctx, uint8_t val)
Enable tilt calculation.
int32_t ism330dhcx_tilt_sens_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable tilt calculation.
int32_t ism330dhcx_tilt_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Interrupt status bit for tilt detection.
ism330dhcx_sleep_status_on_int_t
#define ISM330DHCX_PIN_CTRL
#define ISM330DHCX_TAP_THS_6D
#define ISM330DHCX_INT_DUR2
#define ISM330DHCX_SLV0_SUBADD
#define ISM330DHCX_FIFO_STATUS2
ism330dhcx_carry_count_en_t
#define ISM330DHCX_SLV3_CONFIG
#define ISM330DHCX_SLV2_CONFIG
#define ISM330DHCX_STATUS_SPIAUX
ism330dhcx_trig_counter_bdr_t
#define ISM330DHCX_EMB_FUNC_INT1
#define ISM330DHCX_CTRL1_XL
#define ISM330DHCX_FSM_ENABLE_B
#define ISM330DHCX_MAG_SENSITIVITY_L
#define ISM330DHCX_CTRL10_C
#define ISM330DHCX_SLV0_CONFIG
#define ISM330DHCX_SLV3_SUBADD
#define ISM330DHCX_MLC0_SRC
#define ISM330DHCX_MAG_SI_YZ_H
#define ISM330DHCX_MLC_INT2
#define ISM330DHCX_PEDO_SC_DELTAT_H
#define ISM330DHCX_FSM_INT2_A
#define ISM330DHCX_MLC_INT1
ism330dhcx_single_double_tap_t
#define ISM330DHCX_OUTX_L_A
#define ISM330DHCX_TAP_SRC
#define ISM330DHCX_MAG_SI_YY_H
#define ISM330DHCX_MAG_SI_XX_L
#define ISM330DHCX_MAG_CFG_A
ism330dhcx_uncoptr_rate_t
#define ISM330DHCX_CTRL4_C
#define ISM330DHCX_MAG_OFFZ_L
#define ISM330DHCX_FSM_INT2_B
#define ISM330DHCX_TAP_CFG2
#define ISM330DHCX_SLV1_CONFIG
ism330dhcx_hp_slope_xl_en_t
#define ISM330DHCX_FSM_ENABLE_A
#define ISM330DHCX_MAG_SI_XZ_H
ism330dhcx_dataready_pulsed_t
#define ISM330DHCX_INT1_CTRL
#define ISM330DHCX_FSM_LONG_COUNTER_L
#define ISM330DHCX_TIMESTAMP0
#define ISM330DHCX_FSM_START_ADD_H
#define ISM330DHCX_MAG_SI_YZ_L
#define ISM330DHCX_EMB_FUNC_EN_A
#define ISM330DHCX_PAGE_ADDRESS
ism330dhcx_start_config_t
#define ISM330DHCX_FIFO_CTRL3
ism330dhcx_filter_xl_conf_ois_t
#define ISM330DHCX_WAKE_UP_THS
#define ISM330DHCX_MAG_SI_XY_H
#define ISM330DHCX_OUTX_L_G
#define ISM330DHCX_WHO_AM_I
#define ISM330DHCX_DATAWRITE_SLV0
#define ISM330DHCX_MAG_OFFX_L
#define ISM330DHCX_MD2_CFG
#define ISM330DHCX_STATUS_REG
#define ISM330DHCX_INT2_CTRL
#define ISM330DHCX_INTERNAL_FREQ_FINE
#define ISM330DHCX_SENSOR_HUB_1
#define ISM330DHCX_TAP_CFG0
#define ISM330DHCX_FREE_FALL
#define ISM330DHCX_SLV0_ADD
#define ISM330DHCX_FIFO_CTRL2
#define ISM330DHCX_MASTER_CONFIG
#define ISM330DHCX_FSM_OUTS1
#define ISM330DHCX_MAG_SI_YY_L
#define ISM330DHCX_MAG_SENSITIVITY_H
#define ISM330DHCX_PAGE_VALUE
#define ISM330DHCX_FSM_START_ADD_L
#define ISM330DHCX_PAGE_RW
#define ISM330DHCX_CTRL2_G
#define ISM330DHCX_WAKE_UP_DUR
#define ISM330DHCX_MLC_STATUS_MAINPAGE
#define ISM330DHCX_ALL_INT_SRC
#define ISM330DHCX_MAG_OFFZ_H
#define ISM330DHCX_Z_OFS_USR
#define ISM330DHCX_EMB_FUNC_ODR_CFG_B
#define ISM330DHCX_FSM_LC_TIMEOUT_L
#define ISM330DHCX_INT_OIS
#define ISM330DHCX_FSM_INT1_B
#define ISM330DHCX_FIFO_STATUS1
#define ISM330DHCX_CTRL2_OIS
#define ISM330DHCX_X_OFS_USR
#define ISM330DHCX_OUT_TEMP_L
#define ISM330DHCX_SLV2_ADD
ism330dhcx_tap_priority_t
#define ISM330DHCX_MD1_CFG
#define ISM330DHCX_CTRL7_G
#define ISM330DHCX_Y_OFS_USR
#define ISM330DHCX_MAG_SI_XY_L
#define ISM330DHCX_COUNTER_BDR_REG2
#define ISM330DHCX_EMB_FUNC_ODR_CFG_C
#define ISM330DHCX_CTRL3_C
#define ISM330DHCX_MAG_SI_XZ_L
#define ISM330DHCX_CTRL9_XL
#define ISM330DHCX_FSM_PROGRAMS
#define ISM330DHCX_FIFO_DATA_OUT_X_L
#define ISM330DHCX_FUNC_CFG_ACCESS
#define ISM330DHCX_SLV1_ADD
#define ISM330DHCX_FSM_INT1_A
#define ISM330DHCX_CTRL3_OIS
#define ISM330DHCX_FSM_STATUS_B
#define ISM330DHCX_WAKE_UP_SRC
#define ISM330DHCX_SLV1_SUBADD
#define ISM330DHCX_FIFO_CTRL1
#define ISM330DHCX_MAG_SI_ZZ_L
#define ISM330DHCX_EMB_FUNC_INIT_B
#define ISM330DHCX_CTRL5_C
#define ISM330DHCX_PEDO_DEB_STEPS_CONF
ism330dhcx_st_ois_clampdis_t
ism330dhcx_odr_ts_batch_t
#define ISM330DHCX_FIFO_DATA_OUT_TAG
#define ISM330DHCX_STEP_COUNTER_L
#define ISM330DHCX_TAP_CFG1
#define ISM330DHCX_PAGE_SEL
#define ISM330DHCX_MAG_SI_XX_H
#define ISM330DHCX_EMB_FUNC_EN_B
#define ISM330DHCX_FSM_LONG_COUNTER_CLEAR
#define ISM330DHCX_MAG_CFG_B
#define ISM330DHCX_D6D_SRC
#define ISM330DHCX_EMB_FUNC_STATUS
#define ISM330DHCX_FSM_STATUS_A
#define ISM330DHCX_CTRL8_XL
#define ISM330DHCX_SLV3_ADD
#define ISM330DHCX_EMB_FUNC_FIFO_CFG
#define ISM330DHCX_CTRL1_OIS
#define ISM330DHCX_FIFO_CTRL4
#define ISM330DHCX_MAG_OFFY_L
#define ISM330DHCX_FSM_LC_TIMEOUT_H
#define ISM330DHCX_MAG_OFFX_H
#define ISM330DHCX_CTRL6_C
#define ISM330DHCX_PEDO_CMD_REG
#define ISM330DHCX_EMB_FUNC_SRC
#define ISM330DHCX_STATUS_MASTER
#define ISM330DHCX_MAG_SI_ZZ_H
#define ISM330DHCX_PEDO_SC_DELTAT_L
#define ISM330DHCX_TIMESTAMP2
#define ISM330DHCX_MAG_OFFY_H
#define ISM330DHCX_COUNTER_BDR_REG1
#define ISM330DHCX_SLV2_SUBADD
#define ISM330DHCX_EMB_FUNC_INT2
@ ISM330DHCX_DRIVE_SLEEP_CHG_EVENT
@ ISM330DHCX_DRIVE_SLEEP_STATUS
@ ISM330DHCX_COUNT_OVERFLOW
@ ISM330DHCX_DEN_ACT_HIGH
@ ISM330DHCX_AUX_DEN_ACTIVE_HIGH
@ ISM330DHCX_AUX_DEN_ACTIVE_LOW
@ ISM330DHCX_AUX_ON_BY_AUX_INTERFACE
@ ISM330DHCX_AUX_SPI_3_WIRE
@ ISM330DHCX_AUX_SPI_4_WIRE
@ ISM330DHCX_GYRO_BATCH_EVENT
@ ISM330DHCX_XL_BATCH_EVENT
@ ISM330DHCX_LSb_FS_DIV_64
@ ISM330DHCX_LSb_FS_DIV_256
@ ISM330DHCX_GY_BATCHED_AT_208Hz
@ ISM330DHCX_GY_NOT_BATCHED
@ ISM330DHCX_GY_BATCHED_6Hz5
@ ISM330DHCX_GY_BATCHED_AT_104Hz
@ ISM330DHCX_GY_BATCHED_AT_12Hz5
@ ISM330DHCX_GY_BATCHED_AT_6667Hz
@ ISM330DHCX_GY_BATCHED_AT_3333Hz
@ ISM330DHCX_GY_BATCHED_AT_52Hz
@ ISM330DHCX_GY_BATCHED_AT_833Hz
@ ISM330DHCX_GY_BATCHED_AT_26Hz
@ ISM330DHCX_GY_BATCHED_AT_417Hz
@ ISM330DHCX_GY_BATCHED_AT_1667Hz
@ ISM330DHCX_AUX_DEN_LEVEL_TRIG
@ ISM330DHCX_AUX_DEN_LEVEL_LATCH
@ ISM330DHCX_AUX_DEN_DISABLE
@ ISM330DHCX_STEP_CPUNTER_TAG
@ ISM330DHCX_GEOMAG_ROTATION_TAG
@ ISM330DHCX_SENSORHUB_SLAVE1_TAG
@ ISM330DHCX_GYRO_3XC_TAG
@ ISM330DHCX_TEMPERATURE_TAG
@ ISM330DHCX_XL_NC_T_2_TAG
@ ISM330DHCX_CFG_CHANGE_TAG
@ ISM330DHCX_SENSORHUB_SLAVE0_TAG
@ ISM330DHCX_ROTATION_TAG
@ ISM330DHCX_GYRO_NC_T_2_TAG
@ ISM330DHCX_XL_NC_T_1_TAG
@ ISM330DHCX_SENSORHUB_SLAVE2_TAG
@ ISM330DHCX_GAME_ROTATION_TAG
@ ISM330DHCX_TIMESTAMP_TAG
@ ISM330DHCX_GYRO_2XC_TAG
@ ISM330DHCX_SENSORHUB_SLAVE3_TAG
@ ISM330DHCX_GYRO_NC_T_1_TAG
@ ISM330DHCX_SENSORHUB_NACK_TAG
@ ISM330DHCX_GY_ODR_104Hz
@ ISM330DHCX_GY_ODR_3332Hz
@ ISM330DHCX_GY_ODR_416Hz
@ ISM330DHCX_GY_ODR_1666Hz
@ ISM330DHCX_GY_ODR_6667Hz
@ ISM330DHCX_GY_ODR_833Hz
@ ISM330DHCX_GY_ODR_208Hz
@ ISM330DHCX_GY_ODR_12Hz5
@ ISM330DHCX_BOTH_SINGLE_DOUBLE
@ ISM330DHCX_XL_AND_GY_NOT_AFFECTED
@ ISM330DHCX_XL_12Hz5_GY_NOT_AFFECTED
@ ISM330DHCX_XL_12Hz5_GY_SLEEP
@ ISM330DHCX_XL_12Hz5_GY_PD
@ ISM330DHCX_STAMP_IN_XL_DATA
@ ISM330DHCX_STAMP_IN_GY_DATA
@ ISM330DHCX_STAMP_IN_GY_XL_DATA
@ ISM330DHCX_HP_REF_MD_ODR_DIV_20
@ ISM330DHCX_HP_REF_MD_ODR_DIV_200
@ ISM330DHCX_SLOPE_ODR_DIV_4
@ ISM330DHCX_HP_ODR_DIV_45
@ ISM330DHCX_LP_ODR_DIV_200
@ ISM330DHCX_LP_ODR_DIV_45
@ ISM330DHCX_HP_PATH_DISABLE_ON_OUT
@ ISM330DHCX_HP_REF_MD_ODR_DIV_800
@ ISM330DHCX_HP_REF_MD_ODR_DIV_100
@ ISM330DHCX_HP_ODR_DIV_10
@ ISM330DHCX_HP_REF_MD_ODR_DIV_10
@ ISM330DHCX_HP_REF_MD_ODR_DIV_400
@ ISM330DHCX_HP_ODR_DIV_20
@ ISM330DHCX_LP_ODR_DIV_400
@ ISM330DHCX_HP_REF_MD_ODR_DIV_45
@ ISM330DHCX_LP_ODR_DIV_10
@ ISM330DHCX_LP_ODR_DIV_20
@ ISM330DHCX_HP_ODR_DIV_100
@ ISM330DHCX_HP_ODR_DIV_800
@ ISM330DHCX_HP_ODR_DIV_400
@ ISM330DHCX_LP_ODR_DIV_800
@ ISM330DHCX_LP_ODR_DIV_100
@ ISM330DHCX_HP_ODR_DIV_200
@ ISM330DHCX_DRDY_LATCHED
@ ISM330DHCX_EXT_ON_INT2_PIN
@ ISM330DHCX_HIGH_PERFORMANCE_MD
@ ISM330DHCX_LOW_NORMAL_POWER_MD
@ ISM330DHCX_ODR_PRGS_12Hz5
@ ISM330DHCX_ODR_PRGS_52Hz
@ ISM330DHCX_ODR_PRGS_26Hz
@ ISM330DHCX_ODR_PRGS_104Hz
@ ISM330DHCX_BYPASS_TO_FIFO_MODE
@ ISM330DHCX_BYPASS_TO_STREAM_MODE
@ ISM330DHCX_STREAM_TO_FIFO_MODE
@ ISM330DHCX_ALL_INT_LATCHED
@ ISM330DHCX_BASE_PULSED_EMB_LATCHED
@ ISM330DHCX_ALL_INT_PULSED
@ ISM330DHCX_BASE_LATCHED_EMB_PULSED
@ ISM330DHCX_HP_FILTER_16mHz
@ ISM330DHCX_HP_FILTER_260mHz
@ ISM330DHCX_HP_FILTER_1Hz04
@ ISM330DHCX_HP_FILTER_NONE
@ ISM330DHCX_HP_FILTER_65mHz
@ ISM330DHCX_GY_HIGH_PERFORMANCE
@ ISM330DHCX_TEMP_NOT_BATCHED
@ ISM330DHCX_TEMP_BATCHED_AT_1Hz6
@ ISM330DHCX_TEMP_BATCHED_AT_52Hz
@ ISM330DHCX_TEMP_BATCHED_AT_12Hz5
@ ISM330DHCX_MODE_4_GY_XL
@ ISM330DHCX_AUX_HP_Hz065
@ ISM330DHCX_AUX_HP_Hz260
@ ISM330DHCX_AUX_HP_Hz016
@ ISM330DHCX_AUX_HP_DISABLE
@ ISM330DHCX_AUX_HP_1Hz040
@ ISM330DHCX_SH_ODR_104Hz
@ ISM330DHCX_ONLY_FIRST_CYCLE
@ ISM330DHCX_EACH_SH_CYCLE
@ ISM330DHCX_AUX_GY_DISABLE
@ ISM330DHCX_ODR_FSM_52Hz
@ ISM330DHCX_ODR_FSM_104Hz
@ ISM330DHCX_ODR_FSM_12Hz5
@ ISM330DHCX_ODR_FSM_26Hz
@ ISM330DHCX_SENSOR_HUB_BANK
@ ISM330DHCX_EMBEDDED_FUNC_BANK
@ ISM330DHCX_INTERNAL_PULL_UP
@ ISM330DHCX_PULL_UP_DISC
@ ISM330DHCX_PULL_UP_CONNECT
@ ISM330DHCX_AUX_PULL_UP_DISC
@ ISM330DHCX_AUX_PULL_UP_CONNECT
@ ISM330DHCX_XL_BATCHED_AT_26Hz
@ ISM330DHCX_XL_BATCHED_AT_3333Hz
@ ISM330DHCX_XL_BATCHED_AT_6Hz5
@ ISM330DHCX_XL_BATCHED_AT_833Hz
@ ISM330DHCX_XL_BATCHED_AT_417Hz
@ ISM330DHCX_XL_BATCHED_AT_1667Hz
@ ISM330DHCX_XL_BATCHED_AT_104Hz
@ ISM330DHCX_XL_NOT_BATCHED
@ ISM330DHCX_XL_BATCHED_AT_6667Hz
@ ISM330DHCX_XL_BATCHED_AT_52Hz
@ ISM330DHCX_XL_BATCHED_AT_12Hz5
@ ISM330DHCX_XL_BATCHED_AT_208Hz
@ ISM330DHCX_XL_ODR_104Hz
@ ISM330DHCX_XL_ODR_1666Hz
@ ISM330DHCX_XL_ODR_208Hz
@ ISM330DHCX_XL_ODR_833Hz
@ ISM330DHCX_XL_ODR_6667Hz
@ ISM330DHCX_XL_ODR_416Hz
@ ISM330DHCX_XL_ODR_3332Hz
@ ISM330DHCX_XL_ODR_12Hz5
@ ISM330DHCX_ENABLE_CLAMP
@ ISM330DHCX_DISABLE_CLAMP
@ ISM330DHCX_NO_DECIMATION
@ ISM330DHCX_AUX_XL_DISABLE
@ ISM330DHCX_GY_ST_DISABLE
@ ISM330DHCX_GY_ST_POSITIVE
@ ISM330DHCX_GY_ST_NEGATIVE
@ ISM330DHCX_FF_TSH_219mg
@ ISM330DHCX_FF_TSH_344mg
@ ISM330DHCX_FF_TSH_469mg
@ ISM330DHCX_FF_TSH_500mg
@ ISM330DHCX_FF_TSH_250mg
@ ISM330DHCX_FF_TSH_156mg
@ ISM330DHCX_FF_TSH_312mg
@ ISM330DHCX_FF_TSH_406mg
@ ISM330DHCX_LC_CLEAR_DONE
@ ISM330DHCX_XL_ST_NEGATIVE
@ ISM330DHCX_XL_ST_DISABLE
@ ISM330DHCX_XL_ST_POSITIVE
@ ISM330DHCX_LEVEL_TRIGGER
@ ISM330DHCX_LEVEL_LETCHED
@ ISM330DHCX_EDGE_TRIGGER
int32_t ism330dhcx_xl_offset_weight_get(stmdev_ctx_t *ctx, ism330dhcx_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 ism330dhcx_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 ism330dhcx_xl_full_scale_get(stmdev_ctx_t *ctx, ism330dhcx_fs_xl_t *val)
Accelerometer full-scale selection.
int32_t ism330dhcx_gy_full_scale_get(stmdev_ctx_t *ctx, ism330dhcx_fs_g_t *val)
Gyroscope UI chain full-scale selection.
int32_t ism330dhcx_gy_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Gyroscope new data available.
int32_t ism330dhcx_gy_power_mode_get(stmdev_ctx_t *ctx, ism330dhcx_g_hm_mode_t *val)
gy_power_mode: [get] Operating mode for gyroscope.
int32_t ism330dhcx_xl_power_mode_get(stmdev_ctx_t *ctx, ism330dhcx_xl_hm_mode_t *val)
Accelerometer power mode[get].
int32_t ism330dhcx_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 ism330dhcx_xl_power_mode_set(stmdev_ctx_t *ctx, ism330dhcx_xl_hm_mode_t val)
Accelerometer power mode.
int32_t ism330dhcx_xl_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Accelerometer new data available.
int32_t ism330dhcx_xl_offset_weight_set(stmdev_ctx_t *ctx, ism330dhcx_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 ism330dhcx_gy_full_scale_set(stmdev_ctx_t *ctx, ism330dhcx_fs_g_t val)
Gyroscope UI chain full-scale selection.
int32_t ism330dhcx_status_reg_get(stmdev_ctx_t *ctx, ism330dhcx_status_reg_t *val)
The STATUS_REG register is read by the primary interface.
int32_t ism330dhcx_temp_flag_data_ready_get(stmdev_ctx_t *ctx, uint8_t *val)
Temperature new data available.
int32_t ism330dhcx_block_data_update_get(stmdev_ctx_t *ctx, uint8_t *val)
Block data update.
int32_t ism330dhcx_xl_full_scale_set(stmdev_ctx_t *ctx, ism330dhcx_fs_xl_t val)
Accelerometer full-scale selection[set].
int32_t ism330dhcx_xl_data_rate_set(stmdev_ctx_t *ctx, ism330dhcx_odr_xl_t val)
Accelerometer UI data rate selection.
int32_t ism330dhcx_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 ism330dhcx_gy_data_rate_set(stmdev_ctx_t *ctx, ism330dhcx_odr_g_t val)
Gyroscope data rate.
int32_t ism330dhcx_xl_usr_offset_z_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 ism330dhcx_xl_data_rate_get(stmdev_ctx_t *ctx, ism330dhcx_odr_xl_t *val)
Accelerometer UI data rate selection.
int32_t ism330dhcx_gy_data_rate_get(stmdev_ctx_t *ctx, ism330dhcx_odr_g_t *val)
Gyroscope data rate.
int32_t ism330dhcx_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 ism330dhcx_xl_usr_offset_set(stmdev_ctx_t *ctx, uint8_t val)
Enables user offset on out.
int32_t ism330dhcx_block_data_update_set(stmdev_ctx_t *ctx, uint8_t val)
Block data update.
int32_t ism330dhcx_gy_power_mode_set(stmdev_ctx_t *ctx, ism330dhcx_g_hm_mode_t val)
Operating mode for gyroscope.
int32_t ism330dhcx_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 ism330dhcx_all_sources_get(stmdev_ctx_t *ctx, ism330dhcx_all_sources_t *val)
Read all the interrupt flag of the device.
int32_t ism330dhcx_xl_usr_offset_get(stmdev_ctx_t *ctx, uint8_t *val)
Get user offset on out flag.
int32_t ism330dhcx_mlc_data_rate_get(stmdev_ctx_t *ctx, ism330dhcx_mlc_odr_t *val)
Machine Learning Core data rate selection.
int32_t ism330dhcx_mlc_set(stmdev_ctx_t *ctx, uint8_t val)
Enable Machine Learning Core.
int32_t ism330dhcx_mlc_data_rate_set(stmdev_ctx_t *ctx, ism330dhcx_mlc_odr_t val)
Machine Learning Core data rate selection.
int32_t ism330dhcx_mlc_get(stmdev_ctx_t *ctx, uint8_t *val)
Enable Machine Learning Core.
int32_t ism330dhcx_mlc_status_get(stmdev_ctx_t *ctx, ism330dhcx_mlc_status_mainpage_t *val)
Machine Learning Core status register[get].
This file contains all the functions prototypes for the ism330dhcx_reg.c driver.
ism330dhcx_status_reg_t status_reg
ism330dhcx_wake_up_src_t wake_up_src
ism330dhcx_fsm_status_a_t fsm_status_a
ism330dhcx_emb_func_status_t emb_func_status
ism330dhcx_d6d_src_t d6d_src
ism330dhcx_all_int_src_t all_int_src
ism330dhcx_fsm_status_b_t fsm_status_b
ism330dhcx_tap_src_t tap_src
uint8_t filter_xl_conf_ois
uint8_t fastsettl_mode_xl
ism330dhcx_fsm_enable_b_t fsm_enable_b
ism330dhcx_fsm_enable_a_t fsm_enable_a
uint8_t int1_step_detector
uint8_t int2_step_detector
ism330dhcx_fsm_outs1_t fsm_outs1
uint8_t pass_through_mode
uint8_t int1_sleep_change
uint8_t int2_sleep_change
ism330dhcx_int1_ctrl_t int1_ctrl
ism330dhcx_md1_cfg_t md1_cfg
ism330dhcx_fsm_int1_b_t fsm_int1_b
ism330dhcx_emb_func_int1_t emb_func_int1
ism330dhcx_mlc_int1_t mlc_int1
ism330dhcx_fsm_int1_a_t fsm_int1_a
ism330dhcx_emb_func_int2_t emb_func_int2
ism330dhcx_md2_cfg_t md2_cfg
ism330dhcx_fsm_int2_a_t fsm_int2_a
ism330dhcx_fsm_int2_b_t fsm_int2_b
ism330dhcx_int2_ctrl_t int2_ctrl
ism330dhcx_mlc_int2_t mlc_int2
uint8_t interrupts_enable
uint8_t single_double_tap
stmdev_write_ptr write_reg
Component mandatory fields.
void * handle
Customizable optional pointer.