14#ifndef DRIVER_FXOS8700_REGISTERS_H_
15#define DRIVER_FXOS8700_REGISTERS_H_
142#define FXOS8700_DEVICE_ADDR_SA_00 (0x1E)
144#define FXOS8700_DEVICE_ADDR_SA_01 (0x1D)
146#define FXOS8700_DEVICE_ADDR_SA_10 (0x1C)
148#define FXOS8700_DEVICE_ADDR_SA_11 (0x1F)
151#define FXOS8700_WHO_AM_I_PROD_VALUE (0xC7)
182#define FXOS8700_DR_STATUS_XDR_MASK ((uint8_t) 0x01)
183#define FXOS8700_DR_STATUS_XDR_SHIFT ((uint8_t) 0)
185#define FXOS8700_DR_STATUS_YDR_MASK ((uint8_t) 0x02)
186#define FXOS8700_DR_STATUS_YDR_SHIFT ((uint8_t) 1)
188#define FXOS8700_DR_STATUS_ZDR_MASK ((uint8_t) 0x04)
189#define FXOS8700_DR_STATUS_ZDR_SHIFT ((uint8_t) 2)
191#define FXOS8700_DR_STATUS_ZYXDR_MASK ((uint8_t) 0x08)
192#define FXOS8700_DR_STATUS_ZYXDR_SHIFT ((uint8_t) 3)
194#define FXOS8700_DR_STATUS_XOW_MASK ((uint8_t) 0x10)
195#define FXOS8700_DR_STATUS_XOW_SHIFT ((uint8_t) 4)
197#define FXOS8700_DR_STATUS_YOW_MASK ((uint8_t) 0x20)
198#define FXOS8700_DR_STATUS_YOW_SHIFT ((uint8_t) 5)
200#define FXOS8700_DR_STATUS_ZOW_MASK ((uint8_t) 0x40)
201#define FXOS8700_DR_STATUS_ZOW_SHIFT ((uint8_t) 6)
203#define FXOS8700_DR_STATUS_ZYXOW_MASK ((uint8_t) 0x80)
204#define FXOS8700_DR_STATUS_ZYXOW_SHIFT ((uint8_t) 7)
210#define FXOS8700_DR_STATUS_XDR_DRDY ((uint8_t) 0x01)
213#define FXOS8700_DR_STATUS_YDR_DRDY ((uint8_t) 0x02)
216#define FXOS8700_DR_STATUS_ZDR_DRDY ((uint8_t) 0x04)
219#define FXOS8700_DR_STATUS_ZYXDR_DRDY ((uint8_t) 0x08)
223#define FXOS8700_DR_STATUS_XOW_OWR ((uint8_t) 0x10)
224#define FXOS8700_DR_STATUS_YOW_OWR ((uint8_t) 0x20)
225#define FXOS8700_DR_STATUS_ZOW_OWR ((uint8_t) 0x40)
226#define FXOS8700_DR_STATUS_ZYXOW_OWR ((uint8_t) 0x80)
242 uint8_t f_wmrk_flag : 1;
252#define FXOS8700_F_STATUS_F_CNT_MASK ((uint8_t) 0x3F)
253#define FXOS8700_F_STATUS_F_CNT_SHIFT ((uint8_t) 0)
255#define FXOS8700_F_STATUS_F_WMRK_FLAG_MASK ((uint8_t) 0x40)
256#define FXOS8700_F_STATUS_F_WMRK_FLAG_SHIFT ((uint8_t) 6)
258#define FXOS8700_F_STATUS_F_OVF_MASK ((uint8_t) 0x80)
259#define FXOS8700_F_STATUS_F_OVF_SHIFT ((uint8_t) 7)
265#define FXOS8700_F_STATUS_F_WMRK_FLAG_NOEVT ((uint8_t) 0x00)
266#define FXOS8700_F_STATUS_F_WMRK_FLAG_EVTDET ((uint8_t) 0x40)
267#define FXOS8700_F_STATUS_F_OVF_NOOVFL ((uint8_t) 0x00)
268#define FXOS8700_F_STATUS_F_OVF_OVFLDET ((uint8_t) 0x80)
291#define FXOS8700_OUT_X_MSB_XD_MASK ((uint8_t) 0xFF)
292#define FXOS8700_OUT_X_MSB_XD_SHIFT ((uint8_t) 0)
307 uint8_t _reserved_ : 2;
318#define FXOS8700_OUT_X_LSB_XD_MASK ((uint8_t) 0xFC)
319#define FXOS8700_OUT_X_LSB_XD_SHIFT ((uint8_t) 2)
344#define FXOS8700_OUT_Y_MSB_YD_MASK ((uint8_t) 0xFF)
345#define FXOS8700_OUT_Y_MSB_YD_SHIFT ((uint8_t) 0)
360 uint8_t _reserved_ : 2;
371#define FXOS8700_OUT_Y_LSB_YD_MASK ((uint8_t) 0xFC)
372#define FXOS8700_OUT_Y_LSB_YD_SHIFT ((uint8_t) 2)
397#define FXOS8700_OUT_Z_MSB_ZD_MASK ((uint8_t) 0xFF)
398#define FXOS8700_OUT_Z_MSB_ZD_SHIFT ((uint8_t) 0)
413 uint8_t _reserved_ : 2;
424#define FXOS8700_OUT_Z_LSB_ZD_MASK ((uint8_t) 0xFC)
425#define FXOS8700_OUT_Z_LSB_ZD_SHIFT ((uint8_t) 2)
452#define FXOS8700_F_SETUP_F_WMRK_MASK ((uint8_t) 0x3F)
453#define FXOS8700_F_SETUP_F_WMRK_SHIFT ((uint8_t) 0)
455#define FXOS8700_F_SETUP_F_MODE_MASK ((uint8_t) 0xC0)
456#define FXOS8700_F_SETUP_F_MODE_SHIFT ((uint8_t) 6)
462#define FXOS8700_F_SETUP_F_MODE_FIFO_DISABLE ((uint8_t) 0x00)
463#define FXOS8700_F_SETUP_F_MODE_FIFO_CIRC ((uint8_t) 0x40)
466#define FXOS8700_F_SETUP_F_MODE_FIFO_STOP_OVF ((uint8_t) 0x80)
467#define FXOS8700_F_SETUP_F_MODE_FIFO_TRIGGER ((uint8_t) 0xc0)
480 uint8_t _reserved_ : 1;
481 uint8_t trig_a_vecm : 1;
482 uint8_t trig_a_ffmt : 1;
483 uint8_t trig_pulse : 1;
484 uint8_t trig_lndprt : 1;
485 uint8_t trig_trans : 1;
494#define FXOS8700_TRIG_CFG_TRIG_A_VECM_MASK ((uint8_t) 0x02)
495#define FXOS8700_TRIG_CFG_TRIG_A_VECM_SHIFT ((uint8_t) 1)
497#define FXOS8700_TRIG_CFG_TRIG_A_FFMT_MASK ((uint8_t) 0x04)
498#define FXOS8700_TRIG_CFG_TRIG_A_FFMT_SHIFT ((uint8_t) 2)
500#define FXOS8700_TRIG_CFG_TRIG_PULSE_MASK ((uint8_t) 0x08)
501#define FXOS8700_TRIG_CFG_TRIG_PULSE_SHIFT ((uint8_t) 3)
503#define FXOS8700_TRIG_CFG_TRIG_LNDPRT_MASK ((uint8_t) 0x10)
504#define FXOS8700_TRIG_CFG_TRIG_LNDPRT_SHIFT ((uint8_t) 4)
506#define FXOS8700_TRIG_CFG_TRIG_TRANS_MASK ((uint8_t) 0x20)
507#define FXOS8700_TRIG_CFG_TRIG_TRANS_SHIFT ((uint8_t) 5)
513#define FXOS8700_TRIG_CFG_TRIG_A_VECM_EN ((uint8_t) 0x02)
514#define FXOS8700_TRIG_CFG_TRIG_A_VECM_DIS ((uint8_t) 0x00)
515#define FXOS8700_TRIG_CFG_TRIG_A_FFMT_EN ((uint8_t) 0x04)
516#define FXOS8700_TRIG_CFG_TRIG_A_FFMT_DIS ((uint8_t) 0x00)
517#define FXOS8700_TRIG_CFG_TRIG_PULSE_EN ((uint8_t) 0x08)
518#define FXOS8700_TRIG_CFG_TRIG_PULSE_DIS ((uint8_t) 0x00)
519#define FXOS8700_TRIG_CFG_TRIG_LNDPRT_EN ((uint8_t) 0x10)
521#define FXOS8700_TRIG_CFG_TRIG_LNDPRT_DIS ((uint8_t) 0x00)
523#define FXOS8700_TRIG_CFG_TRIG_TRANS_EN ((uint8_t) 0x20)
524#define FXOS8700_TRIG_CFG_TRIG_TRANS_DIS ((uint8_t) 0x00)
548#define FXOS8700_SYSMOD_SYSMOD_MASK ((uint8_t) 0x03)
549#define FXOS8700_SYSMOD_SYSMOD_SHIFT ((uint8_t) 0)
551#define FXOS8700_SYSMOD_FGT_MASK ((uint8_t) 0x7C)
552#define FXOS8700_SYSMOD_FGT_SHIFT ((uint8_t) 2)
554#define FXOS8700_SYSMOD_FGERR_MASK ((uint8_t) 0x80)
555#define FXOS8700_SYSMOD_FGERR_SHIFT ((uint8_t) 7)
561#define FXOS8700_SYSMOD_SYSMOD_STANDBY ((uint8_t) 0x00)
562#define FXOS8700_SYSMOD_SYSMOD_WAKE ((uint8_t) 0x01)
563#define FXOS8700_SYSMOD_SYSMOD_SLEEP ((uint8_t) 0x02)
577 uint8_t src_drdy : 1;
578 uint8_t src_a_vecm : 1;
579 uint8_t src_ffmt : 1;
580 uint8_t src_pulse : 1;
581 uint8_t src_lndprt : 1;
582 uint8_t src_trans : 1;
583 uint8_t src_fifo : 1;
584 uint8_t src_aslp : 1;
593#define FXOS8700_INT_SOURCE_SRC_DRDY_MASK ((uint8_t) 0x01)
594#define FXOS8700_INT_SOURCE_SRC_DRDY_SHIFT ((uint8_t) 0)
596#define FXOS8700_INT_SOURCE_SRC_A_VECM_MASK ((uint8_t) 0x02)
597#define FXOS8700_INT_SOURCE_SRC_A_VECM_SHIFT ((uint8_t) 1)
599#define FXOS8700_INT_SOURCE_SRC_FFMT_MASK ((uint8_t) 0x04)
600#define FXOS8700_INT_SOURCE_SRC_FFMT_SHIFT ((uint8_t) 2)
602#define FXOS8700_INT_SOURCE_SRC_PULSE_MASK ((uint8_t) 0x08)
603#define FXOS8700_INT_SOURCE_SRC_PULSE_SHIFT ((uint8_t) 3)
605#define FXOS8700_INT_SOURCE_SRC_LNDPRT_MASK ((uint8_t) 0x10)
606#define FXOS8700_INT_SOURCE_SRC_LNDPRT_SHIFT ((uint8_t) 4)
608#define FXOS8700_INT_SOURCE_SRC_TRANS_MASK ((uint8_t) 0x20)
609#define FXOS8700_INT_SOURCE_SRC_TRANS_SHIFT ((uint8_t) 5)
611#define FXOS8700_INT_SOURCE_SRC_FIFO_MASK ((uint8_t) 0x40)
612#define FXOS8700_INT_SOURCE_SRC_FIFO_SHIFT ((uint8_t) 6)
614#define FXOS8700_INT_SOURCE_SRC_ASLP_MASK ((uint8_t) 0x80)
615#define FXOS8700_INT_SOURCE_SRC_ASLP_SHIFT ((uint8_t) 7)
628typedef uint8_t FXOS8700_WHO_AM_I_t;
641 uint8_t _reserved_ : 2;
652#define FXOS8700_XYZ_DATA_CFG_FS_MASK ((uint8_t) 0x03)
653#define FXOS8700_XYZ_DATA_CFG_FS_SHIFT ((uint8_t) 0)
655#define FXOS8700_XYZ_DATA_CFG_HPF_OUT_MASK ((uint8_t) 0x10)
656#define FXOS8700_XYZ_DATA_CFG_HPF_OUT_SHIFT ((uint8_t) 4)
662#define FXOS8700_XYZ_DATA_CFG_HPF_OUT_EN ((uint8_t) 0x10)
664#define FXOS8700_XYZ_DATA_CFG_HPF_OUT_DISABLE ((uint8_t) 0x00)
665#define FXOS8700_XYZ_DATA_CFG_FS_2G_0P244 ((uint8_t) 0x00)
666#define FXOS8700_XYZ_DATA_CFG_FS_4G_0P488 ((uint8_t) 0x01)
667#define FXOS8700_XYZ_DATA_CFG_FS_8G_0P976 ((uint8_t) 0x02)
681 uint8_t _reserved_ : 2;
682 uint8_t pulse_lpf_en : 1;
683 uint8_t pulse_hpf_byp : 1;
692#define FXOS8700_HP_FILTER_CUTOFF_SEL_MASK ((uint8_t) 0x03)
693#define FXOS8700_HP_FILTER_CUTOFF_SEL_SHIFT ((uint8_t) 0)
695#define FXOS8700_HP_FILTER_CUTOFF_PULSE_LPF_EN_MASK ((uint8_t) 0x10)
696#define FXOS8700_HP_FILTER_CUTOFF_PULSE_LPF_EN_SHIFT ((uint8_t) 4)
698#define FXOS8700_HP_FILTER_CUTOFF_PULSE_HPF_BYP_MASK ((uint8_t) 0x20)
699#define FXOS8700_HP_FILTER_CUTOFF_PULSE_HPF_BYP_SHIFT ((uint8_t) 5)
705#define FXOS8700_HP_FILTER_CUTOFF_PULSE_HPF_BYP_EN ((uint8_t) 0x00)
706#define FXOS8700_HP_FILTER_CUTOFF_PULSE_HPF_BYP_BYPASS ((uint8_t) 0x20)
707#define FXOS8700_HP_FILTER_CUTOFF_PULSE_LPF_EN_EN ((uint8_t) 0x10)
708#define FXOS8700_HP_FILTER_CUTOFF_PULSE_LPF_EN_DISABLE ((uint8_t) 0x00)
709#define FXOS8700_HP_FILTER_CUTOFF_SEL_EN ((uint8_t) 0x01)
710#define FXOS8700_HP_FILTER_CUTOFF_SEL_DISABLE ((uint8_t) 0x00)
725 uint8_t _reserved_ : 3;
736#define FXOS8700_PL_STATUS_BAFRO_MASK ((uint8_t) 0x01)
737#define FXOS8700_PL_STATUS_BAFRO_SHIFT ((uint8_t) 0)
739#define FXOS8700_PL_STATUS_LAPO_MASK ((uint8_t) 0x06)
740#define FXOS8700_PL_STATUS_LAPO_SHIFT ((uint8_t) 1)
742#define FXOS8700_PL_STATUS_LO_MASK ((uint8_t) 0x40)
743#define FXOS8700_PL_STATUS_LO_SHIFT ((uint8_t) 6)
745#define FXOS8700_PL_STATUS_NEWLP_MASK ((uint8_t) 0x80)
746#define FXOS8700_PL_STATUS_NEWLP_SHIFT ((uint8_t) 7)
761 uint8_t _reserved_ : 6;
772#define FXOS8700_PL_CFG_PL_EN_MASK ((uint8_t) 0x40)
773#define FXOS8700_PL_CFG_PL_EN_SHIFT ((uint8_t) 6)
775#define FXOS8700_PL_CFG_DBCNTM_MASK ((uint8_t) 0x80)
776#define FXOS8700_PL_CFG_DBCNTM_SHIFT ((uint8_t) 7)
782#define FXOS8700_PL_CFG_DBCNTM_DECREMENT_MODE ((uint8_t) 0x00)
784#define FXOS8700_PL_CFG_DBCNTM_CLEAR_MODE ((uint8_t) 0x80)
786#define FXOS8700_PL_CFG_PL_EN_DISABLE ((uint8_t) 0x00)
787#define FXOS8700_PL_CFG_PL_EN_ENABLE ((uint8_t) 0x40)
809#define FXOS8700_PL_COUNT_DBNCE_MASK ((uint8_t) 0xFF)
810#define FXOS8700_PL_COUNT_DBNCE_SHIFT ((uint8_t) 0)
826 uint8_t _reserved_ : 3;
836#define FXOS8700_PL_BF_ZCOMP_ZLOCK_MASK ((uint8_t) 0x07)
837#define FXOS8700_PL_BF_ZCOMP_ZLOCK_SHIFT ((uint8_t) 0)
839#define FXOS8700_PL_BF_ZCOMP_BKFR_MASK ((uint8_t) 0xC0)
840#define FXOS8700_PL_BF_ZCOMP_BKFR_SHIFT ((uint8_t) 6)
846#define FXOS8700_PL_BF_ZCOMP_BKFR_BF_LT80_GT280__FB_LT260_GT100 ((uint8_t) 0x00)
847#define FXOS8700_PL_BF_ZCOMP_BKFR_BF_LT75_GT285__FB_LT255_GT105 ((uint8_t) 0x40)
848#define FXOS8700_PL_BF_ZCOMP_BKFR_BF_LT70_GT290__FB_LT250_GT110 ((uint8_t) 0x80)
849#define FXOS8700_PL_BF_ZCOMP_BKFR_BF_LT65_GT295__FB_LT245_GT115 ((uint8_t) 0xc0)
850#define FXOS8700_PL_BF_ZCOMP_ZLOCK_13P6MIN_14P5MAX ((uint8_t) 0x00)
851#define FXOS8700_PL_BF_ZCOMP_ZLOCK_17P1MIN_18P2MAX ((uint8_t) 0x01)
852#define FXOS8700_PL_BF_ZCOMP_ZLOCK_20P7MIN_22P0MAX ((uint8_t) 0x02)
853#define FXOS8700_PL_BF_ZCOMP_ZLOCK_24P4MIN_25P9MAX ((uint8_t) 0x04)
854#define FXOS8700_PL_BF_ZCOMP_ZLOCK_28P1MIN_30P0MAX ((uint8_t) 0x04)
855#define FXOS8700_PL_BF_ZCOMP_ZLOCK_32P0MIN_34P2MAX ((uint8_t) 0x05)
856#define FXOS8700_PL_BF_ZCOMP_ZLOCK_36P1MIN_38P7MAX ((uint8_t) 0x06)
857#define FXOS8700_PL_BF_ZCOMP_ZLOCK_40P4MIN_43P4MAX ((uint8_t) 0x07)
880#define FXOS8700_PL_THS_REG_HYS_MASK ((uint8_t) 0x07)
881#define FXOS8700_PL_THS_REG_HYS_SHIFT ((uint8_t) 0)
883#define FXOS8700_PL_THS_REG_PL_THS_MASK ((uint8_t) 0xF8)
884#define FXOS8700_PL_THS_REG_PL_THS_SHIFT ((uint8_t) 3)
890#define FXOS8700_PL_THS_REG_PL_THS_15DEG ((uint8_t) 0x38)
891#define FXOS8700_PL_THS_REG_PL_THS_20DEG ((uint8_t) 0x48)
892#define FXOS8700_PL_THS_REG_PL_THS_30DEG ((uint8_t) 0x60)
893#define FXOS8700_PL_THS_REG_PL_THS_35DEG ((uint8_t) 0x68)
894#define FXOS8700_PL_THS_REG_PL_THS_40DEG ((uint8_t) 0x78)
895#define FXOS8700_PL_THS_REG_PL_THS_45DEG ((uint8_t) 0x80)
896#define FXOS8700_PL_THS_REG_PL_THS_55DEG ((uint8_t) 0x98)
897#define FXOS8700_PL_THS_REG_PL_THS_60DEG ((uint8_t) 0xa0)
898#define FXOS8700_PL_THS_REG_PL_THS_70DEG ((uint8_t) 0xb8)
899#define FXOS8700_PL_THS_REG_PL_THS_75DEG ((uint8_t) 0xc8)
900#define FXOS8700_PL_THS_REG_HYS_LP45_PL45 ((uint8_t) 0x00)
901#define FXOS8700_PL_THS_REG_HYS_LP49_PL41 ((uint8_t) 0x01)
902#define FXOS8700_PL_THS_REG_HYS_LP52_PL38 ((uint8_t) 0x02)
903#define FXOS8700_PL_THS_REG_HYS_LP56_PL34 ((uint8_t) 0x03)
904#define FXOS8700_PL_THS_REG_HYS_LP59_PL31 ((uint8_t) 0x04)
905#define FXOS8700_PL_THS_REG_HYS_LP62_PL28 ((uint8_t) 0x05)
906#define FXOS8700_PL_THS_REG_HYS_LP66_PL24 ((uint8_t) 0x06)
907#define FXOS8700_PL_THS_REG_HYS_LP69_PL21 ((uint8_t) 0x07)
920 uint8_t _reserved_ : 3;
934#define FXOS8700_A_FFMT_CFG_XEFE_MASK ((uint8_t) 0x08)
935#define FXOS8700_A_FFMT_CFG_XEFE_SHIFT ((uint8_t) 3)
937#define FXOS8700_A_FFMT_CFG_YEFE_MASK ((uint8_t) 0x10)
938#define FXOS8700_A_FFMT_CFG_YEFE_SHIFT ((uint8_t) 4)
940#define FXOS8700_A_FFMT_CFG_ZEFE_MASK ((uint8_t) 0x20)
941#define FXOS8700_A_FFMT_CFG_ZEFE_SHIFT ((uint8_t) 5)
943#define FXOS8700_A_FFMT_CFG_OAE_MASK ((uint8_t) 0x40)
944#define FXOS8700_A_FFMT_CFG_OAE_SHIFT ((uint8_t) 6)
946#define FXOS8700_A_FFMT_CFG_ELE_MASK ((uint8_t) 0x80)
947#define FXOS8700_A_FFMT_CFG_ELE_SHIFT ((uint8_t) 7)
953#define FXOS8700_A_FFMT_CFG_ELE_EN ((uint8_t) 0x80)
954#define FXOS8700_A_FFMT_CFG_ELE_DIS ((uint8_t) 0x00)
955#define FXOS8700_A_FFMT_CFG_OAE_FREEFALL ((uint8_t) 0x00)
956#define FXOS8700_A_FFMT_CFG_OAE_MOTION ((uint8_t) 0x40)
957#define FXOS8700_A_FFMT_CFG_ZEFE_DIS ((uint8_t) 0x00)
958#define FXOS8700_A_FFMT_CFG_ZEFE_RAISE_EVENT ((uint8_t) 0x20)
960#define FXOS8700_A_FFMT_CFG_YEFE_DIS ((uint8_t) 0x00)
961#define FXOS8700_A_FFMT_CFG_YEFE_RAISE_EVENT ((uint8_t) 0x10)
963#define FXOS8700_A_FFMT_CFG_XEFE_DIS ((uint8_t) 0x00)
964#define FXOS8700_A_FFMT_CFG_XEFE_RAISE_EVENT ((uint8_t) 0x08)
984 uint8_t _reserved_ : 1;
994#define FXOS8700_A_FFMT_SRC_XHP_MASK ((uint8_t) 0x01)
995#define FXOS8700_A_FFMT_SRC_XHP_SHIFT ((uint8_t) 0)
997#define FXOS8700_A_FFMT_SRC_XHE_MASK ((uint8_t) 0x02)
998#define FXOS8700_A_FFMT_SRC_XHE_SHIFT ((uint8_t) 1)
1000#define FXOS8700_A_FFMT_SRC_YHP_MASK ((uint8_t) 0x04)
1001#define FXOS8700_A_FFMT_SRC_YHP_SHIFT ((uint8_t) 2)
1003#define FXOS8700_A_FFMT_SRC_YHE_MASK ((uint8_t) 0x08)
1004#define FXOS8700_A_FFMT_SRC_YHE_SHIFT ((uint8_t) 3)
1006#define FXOS8700_A_FFMT_SRC_ZHP_MASK ((uint8_t) 0x10)
1007#define FXOS8700_A_FFMT_SRC_ZHP_SHIFT ((uint8_t) 4)
1009#define FXOS8700_A_FFMT_SRC_ZHE_MASK ((uint8_t) 0x20)
1010#define FXOS8700_A_FFMT_SRC_ZHE_SHIFT ((uint8_t) 5)
1012#define FXOS8700_A_FFMT_SRC_EA_MASK ((uint8_t) 0x80)
1013#define FXOS8700_A_FFMT_SRC_EA_SHIFT ((uint8_t) 7)
1038#define FXOS8700_A_FFMT_THS_THS_MASK ((uint8_t) 0x7F)
1039#define FXOS8700_A_FFMT_THS_THS_SHIFT ((uint8_t) 0)
1041#define FXOS8700_A_FFMT_THS_DBCNTM_MASK ((uint8_t) 0x80)
1042#define FXOS8700_A_FFMT_THS_DBCNTM_SHIFT ((uint8_t) 7)
1055typedef uint8_t FXOS8700_A_FFMT_COUNT_t;
1068 uint8_t hpf_byp : 1;
1081#define FXOS8700_TRANSIENT_CFG_HPF_BYP_MASK ((uint8_t) 0x01)
1082#define FXOS8700_TRANSIENT_CFG_HPF_BYP_SHIFT ((uint8_t) 0)
1084#define FXOS8700_TRANSIENT_CFG_XTEFE_MASK ((uint8_t) 0x02)
1085#define FXOS8700_TRANSIENT_CFG_XTEFE_SHIFT ((uint8_t) 1)
1087#define FXOS8700_TRANSIENT_CFG_YTEFE_MASK ((uint8_t) 0x04)
1088#define FXOS8700_TRANSIENT_CFG_YTEFE_SHIFT ((uint8_t) 2)
1090#define FXOS8700_TRANSIENT_CFG_ZTEFE_MASK ((uint8_t) 0x08)
1091#define FXOS8700_TRANSIENT_CFG_ZTEFE_SHIFT ((uint8_t) 3)
1093#define FXOS8700_TRANSIENT_CFG_TELE_MASK ((uint8_t) 0x10)
1094#define FXOS8700_TRANSIENT_CFG_TELE_SHIFT ((uint8_t) 4)
1100#define FXOS8700_TRANSIENT_CFG_TELE_EN ((uint8_t) 0x10)
1104#define FXOS8700_TRANSIENT_CFG_TELE_DIS ((uint8_t) 0x00)
1107#define FXOS8700_TRANSIENT_CFG_ZTEFE_EN ((uint8_t) 0x08)
1110#define FXOS8700_TRANSIENT_CFG_ZTEFE_DIS ((uint8_t) 0x00)
1111#define FXOS8700_TRANSIENT_CFG_YTEFE_EN ((uint8_t) 0x04)
1114#define FXOS8700_TRANSIENT_CFG_YTEFE_DIS ((uint8_t) 0x00)
1115#define FXOS8700_TRANSIENT_CFG_XTEFE_EN ((uint8_t) 0x02)
1118#define FXOS8700_TRANSIENT_CFG_XTEFE_DIS ((uint8_t) 0x00)
1119#define FXOS8700_TRANSIENT_CFG_HPF_BYP_EN ((uint8_t) 0x01)
1122#define FXOS8700_TRANSIENT_CFG_HPF_BYP_DIS ((uint8_t) 0x00)
1136 uint8_t trans_xpol : 1;
1137 uint8_t tran_xef : 1;
1138 uint8_t tran_ypol : 1;
1139 uint8_t tran_yef : 1;
1140 uint8_t tran_zpol : 1;
1141 uint8_t tran_zef : 1;
1142 uint8_t tran_ea : 1;
1151#define FXOS8700_TRANSIENT_SRC_TRANS_XPOL_MASK ((uint8_t) 0x01)
1152#define FXOS8700_TRANSIENT_SRC_TRANS_XPOL_SHIFT ((uint8_t) 0)
1154#define FXOS8700_TRANSIENT_SRC_TRAN_XEF_MASK ((uint8_t) 0x02)
1155#define FXOS8700_TRANSIENT_SRC_TRAN_XEF_SHIFT ((uint8_t) 1)
1157#define FXOS8700_TRANSIENT_SRC_TRAN_YPOL_MASK ((uint8_t) 0x04)
1158#define FXOS8700_TRANSIENT_SRC_TRAN_YPOL_SHIFT ((uint8_t) 2)
1160#define FXOS8700_TRANSIENT_SRC_TRAN_YEF_MASK ((uint8_t) 0x08)
1161#define FXOS8700_TRANSIENT_SRC_TRAN_YEF_SHIFT ((uint8_t) 3)
1163#define FXOS8700_TRANSIENT_SRC_TRAN_ZPOL_MASK ((uint8_t) 0x10)
1164#define FXOS8700_TRANSIENT_SRC_TRAN_ZPOL_SHIFT ((uint8_t) 4)
1166#define FXOS8700_TRANSIENT_SRC_TRAN_ZEF_MASK ((uint8_t) 0x20)
1167#define FXOS8700_TRANSIENT_SRC_TRAN_ZEF_SHIFT ((uint8_t) 5)
1169#define FXOS8700_TRANSIENT_SRC_TRAN_EA_MASK ((uint8_t) 0x40)
1170#define FXOS8700_TRANSIENT_SRC_TRAN_EA_SHIFT ((uint8_t) 6)
1186 uint8_t tr_dbcntm : 1;
1195#define FXOS8700_TRANSIENT_THS_TR_THS_MASK ((uint8_t) 0x7F)
1196#define FXOS8700_TRANSIENT_THS_TR_THS_SHIFT ((uint8_t) 0)
1198#define FXOS8700_TRANSIENT_THS_TR_DBCNTM_MASK ((uint8_t) 0x80)
1199#define FXOS8700_TRANSIENT_THS_TR_DBCNTM_SHIFT ((uint8_t) 7)
1205#define FXOS8700_TRANSIENT_THS_TR_THS_DECREMENTS ((uint8_t) 0x00)
1208#define FXOS8700_TRANSIENT_THS_TR_THS_CLEAR ((uint8_t) 0x01)
1221typedef uint8_t FXOS8700_TRANSIENT_COUNT_t;
1235 uint8_t pls_xspefe : 1;
1236 uint8_t pls_xdpefe : 1;
1237 uint8_t pls_yspefe : 1;
1238 uint8_t pls_ydpefe : 1;
1239 uint8_t pls_zspefe : 1;
1240 uint8_t pls_zdpefe : 1;
1241 uint8_t pls_ele : 1;
1242 uint8_t pls_dpa : 1;
1251#define FXOS8700_PULSE_CFG_PLS_XSPEFE_MASK ((uint8_t) 0x01)
1252#define FXOS8700_PULSE_CFG_PLS_XSPEFE_SHIFT ((uint8_t) 0)
1254#define FXOS8700_PULSE_CFG_PLS_XDPEFE_MASK ((uint8_t) 0x02)
1255#define FXOS8700_PULSE_CFG_PLS_XDPEFE_SHIFT ((uint8_t) 1)
1257#define FXOS8700_PULSE_CFG_PLS_YSPEFE_MASK ((uint8_t) 0x04)
1258#define FXOS8700_PULSE_CFG_PLS_YSPEFE_SHIFT ((uint8_t) 2)
1260#define FXOS8700_PULSE_CFG_PLS_YDPEFE_MASK ((uint8_t) 0x08)
1261#define FXOS8700_PULSE_CFG_PLS_YDPEFE_SHIFT ((uint8_t) 3)
1263#define FXOS8700_PULSE_CFG_PLS_ZSPEFE_MASK ((uint8_t) 0x10)
1264#define FXOS8700_PULSE_CFG_PLS_ZSPEFE_SHIFT ((uint8_t) 4)
1266#define FXOS8700_PULSE_CFG_PLS_ZDPEFE_MASK ((uint8_t) 0x20)
1267#define FXOS8700_PULSE_CFG_PLS_ZDPEFE_SHIFT ((uint8_t) 5)
1269#define FXOS8700_PULSE_CFG_PLS_ELE_MASK ((uint8_t) 0x40)
1270#define FXOS8700_PULSE_CFG_PLS_ELE_SHIFT ((uint8_t) 6)
1272#define FXOS8700_PULSE_CFG_PLS_DPA_MASK ((uint8_t) 0x80)
1273#define FXOS8700_PULSE_CFG_PLS_DPA_SHIFT ((uint8_t) 7)
1279#define FXOS8700_PULSE_CFG_PLS_DPA_DIS ((uint8_t) 0x00)
1285#define FXOS8700_PULSE_CFG_PLS_DPA_EN ((uint8_t) 0x80)
1288#define FXOS8700_PULSE_CFG_PLS_ELE_DIS ((uint8_t) 0x00)
1289#define FXOS8700_PULSE_CFG_PLS_ELE_EN ((uint8_t) 0x40)
1290#define FXOS8700_PULSE_CFG_PLS_ZDPEFE_DIS ((uint8_t) 0x00)
1291#define FXOS8700_PULSE_CFG_PLS_ZDPEFE_EN ((uint8_t) 0x20)
1293#define FXOS8700_PULSE_CFG_PLS_ZSPEFE_DIS ((uint8_t) 0x00)
1294#define FXOS8700_PULSE_CFG_PLS_ZSPEFE_EN ((uint8_t) 0x10)
1296#define FXOS8700_PULSE_CFG_PLS_YDPEFE_DIS ((uint8_t) 0x00)
1297#define FXOS8700_PULSE_CFG_PLS_YDPEFE_EN ((uint8_t) 0x08)
1299#define FXOS8700_PULSE_CFG_PLS_YSPEFE_DIS ((uint8_t) 0x00)
1300#define FXOS8700_PULSE_CFG_PLS_YSPEFE_EN ((uint8_t) 0x04)
1302#define FXOS8700_PULSE_CFG_PLS_XDPEFE_DIS ((uint8_t) 0x00)
1303#define FXOS8700_PULSE_CFG_PLS_XDPEFE_EN ((uint8_t) 0x02)
1305#define FXOS8700_PULSE_CFG_PLS_XSPEFE_DIS ((uint8_t) 0x00)
1306#define FXOS8700_PULSE_CFG_PLS_XSPEFE_EN ((uint8_t) 0x01)
1320 uint8_t pls_src_polx : 1;
1321 uint8_t pls_src_poly : 1;
1322 uint8_t pls_src_polz : 1;
1323 uint8_t pls_src_dpe : 1;
1324 uint8_t pls_src_axx : 1;
1325 uint8_t pls_src_axy : 1;
1326 uint8_t pls_src_axz : 1;
1327 uint8_t pls_src_ea : 1;
1336#define FXOS8700_PULSE_SRC_PLS_SRC_POLX_MASK ((uint8_t) 0x01)
1337#define FXOS8700_PULSE_SRC_PLS_SRC_POLX_SHIFT ((uint8_t) 0)
1339#define FXOS8700_PULSE_SRC_PLS_SRC_POLY_MASK ((uint8_t) 0x02)
1340#define FXOS8700_PULSE_SRC_PLS_SRC_POLY_SHIFT ((uint8_t) 1)
1342#define FXOS8700_PULSE_SRC_PLS_SRC_POLZ_MASK ((uint8_t) 0x04)
1343#define FXOS8700_PULSE_SRC_PLS_SRC_POLZ_SHIFT ((uint8_t) 2)
1345#define FXOS8700_PULSE_SRC_PLS_SRC_DPE_MASK ((uint8_t) 0x08)
1346#define FXOS8700_PULSE_SRC_PLS_SRC_DPE_SHIFT ((uint8_t) 3)
1348#define FXOS8700_PULSE_SRC_PLS_SRC_AXX_MASK ((uint8_t) 0x10)
1349#define FXOS8700_PULSE_SRC_PLS_SRC_AXX_SHIFT ((uint8_t) 4)
1351#define FXOS8700_PULSE_SRC_PLS_SRC_AXY_MASK ((uint8_t) 0x20)
1352#define FXOS8700_PULSE_SRC_PLS_SRC_AXY_SHIFT ((uint8_t) 5)
1354#define FXOS8700_PULSE_SRC_PLS_SRC_AXZ_MASK ((uint8_t) 0x40)
1355#define FXOS8700_PULSE_SRC_PLS_SRC_AXZ_SHIFT ((uint8_t) 6)
1357#define FXOS8700_PULSE_SRC_PLS_SRC_EA_MASK ((uint8_t) 0x80)
1358#define FXOS8700_PULSE_SRC_PLS_SRC_EA_SHIFT ((uint8_t) 7)
1373 uint8_t pls_thsx : 7;
1382#define FXOS8700_PULSE_THSX_PLS_THSX_MASK ((uint8_t) 0x7F)
1383#define FXOS8700_PULSE_THSX_PLS_THSX_SHIFT ((uint8_t) 0)
1398 uint8_t pls_thsy : 7;
1407#define FXOS8700_PULSE_THSY_PLS_THSY_MASK ((uint8_t) 0x7F)
1408#define FXOS8700_PULSE_THSY_PLS_THSY_SHIFT ((uint8_t) 0)
1423 uint8_t pls_thsz : 7;
1432#define FXOS8700_PULSE_THSZ_PLS_THSZ_MASK ((uint8_t) 0x7F)
1433#define FXOS8700_PULSE_THSZ_PLS_THSZ_SHIFT ((uint8_t) 0)
1446typedef uint8_t FXOS8700_PULSE_TMLT_t;
1456typedef uint8_t FXOS8700_PULSE_LTCY_t;
1465typedef uint8_t FXOS8700_PULSE_WIND_t;
1475typedef uint8_t FXOS8700_ASLP_COUNT_t;
1491 uint8_t aslp_rate : 2;
1500#define FXOS8700_CTRL_REG1_ACTIVE_MASK ((uint8_t) 0x01)
1501#define FXOS8700_CTRL_REG1_ACTIVE_SHIFT ((uint8_t) 0)
1503#define FXOS8700_CTRL_REG1_F_READ_MASK ((uint8_t) 0x02)
1504#define FXOS8700_CTRL_REG1_F_READ_SHIFT ((uint8_t) 1)
1506#define FXOS8700_CTRL_REG1_LNOISE_MASK ((uint8_t) 0x04)
1507#define FXOS8700_CTRL_REG1_LNOISE_SHIFT ((uint8_t) 2)
1509#define FXOS8700_CTRL_REG1_DR_MASK ((uint8_t) 0x38)
1510#define FXOS8700_CTRL_REG1_DR_SHIFT ((uint8_t) 3)
1512#define FXOS8700_CTRL_REG1_ASLP_RATE_MASK ((uint8_t) 0xC0)
1513#define FXOS8700_CTRL_REG1_ASLP_RATE_SHIFT ((uint8_t) 6)
1519#define FXOS8700_CTRL_REG1_ASLP_RATE_50_HZ ((uint8_t) 0x00)
1520#define FXOS8700_CTRL_REG1_ASLP_RATE_12P5_HZ ((uint8_t) 0x40)
1521#define FXOS8700_CTRL_REG1_ASLP_RATE_6P25_HZ ((uint8_t) 0x80)
1522#define FXOS8700_CTRL_REG1_ASLP_RATE_1P56_HZ ((uint8_t) 0xc0)
1523#define FXOS8700_CTRL_REG1_DR_SINGLE_800_HZ ((uint8_t) 0x00)
1524#define FXOS8700_CTRL_REG1_DR_SINGLE_400_HZ ((uint8_t) 0x08)
1525#define FXOS8700_CTRL_REG1_DR_SINGLE_200_HZ ((uint8_t) 0x10)
1526#define FXOS8700_CTRL_REG1_DR_SINGLE_100_HZ ((uint8_t) 0x18)
1527#define FXOS8700_CTRL_REG1_DR_SINGLE_50_HZ ((uint8_t) 0x20)
1528#define FXOS8700_CTRL_REG1_DR_SINGLE_12P5_HZ ((uint8_t) 0x28)
1529#define FXOS8700_CTRL_REG1_DR_SINGLE_6P25_HZ ((uint8_t) 0x30)
1530#define FXOS8700_CTRL_REG1_DR_SINGLE_1P5625_HZ ((uint8_t) 0x38)
1531#define FXOS8700_CTRL_REG1_DR_HYBRID_400_HZ ((uint8_t) 0x00)
1532#define FXOS8700_CTRL_REG1_DR_HYBRID_200_HZ ((uint8_t) 0x08)
1533#define FXOS8700_CTRL_REG1_DR_HYBRID_100_HZ ((uint8_t) 0x10)
1534#define FXOS8700_CTRL_REG1_DR_HYBRID_50_HZ ((uint8_t) 0x18)
1535#define FXOS8700_CTRL_REG1_DR_HYBRID_25_HZ ((uint8_t) 0x20)
1536#define FXOS8700_CTRL_REG1_DR_HYBRID_6P25_HZ ((uint8_t) 0x28)
1537#define FXOS8700_CTRL_REG1_DR_HYBRID_3P125_HZ ((uint8_t) 0x30)
1538#define FXOS8700_CTRL_REG1_DR_HYBRID_0P7813_HZ ((uint8_t) 0x38)
1539#define FXOS8700_CTRL_REG1_LNOISE_NORMAL ((uint8_t) 0x00)
1540#define FXOS8700_CTRL_REG1_LNOISE_REDUCED_NOISE ((uint8_t) 0x04)
1543#define FXOS8700_CTRL_REG1_F_READ_NORMAL ((uint8_t) 0x00)
1544#define FXOS8700_CTRL_REG1_F_READ_FAST ((uint8_t) 0x02)
1545#define FXOS8700_CTRL_REG1_ACTIVE_ACTIVE_MODE ((uint8_t) 0x01)
1546#define FXOS8700_CTRL_REG1_ACTIVE_STANDBY_MODE ((uint8_t) 0x00)
1562 uint8_t _reserved_ : 1;
1573#define FXOS8700_CTRL_REG2_MODS_MASK ((uint8_t) 0x03)
1574#define FXOS8700_CTRL_REG2_MODS_SHIFT ((uint8_t) 0)
1576#define FXOS8700_CTRL_REG2_SLPE_MASK ((uint8_t) 0x04)
1577#define FXOS8700_CTRL_REG2_SLPE_SHIFT ((uint8_t) 2)
1579#define FXOS8700_CTRL_REG2_SMODS_MASK ((uint8_t) 0x18)
1580#define FXOS8700_CTRL_REG2_SMODS_SHIFT ((uint8_t) 3)
1582#define FXOS8700_CTRL_REG2_RST_MASK ((uint8_t) 0x40)
1583#define FXOS8700_CTRL_REG2_RST_SHIFT ((uint8_t) 6)
1585#define FXOS8700_CTRL_REG2_ST_MASK ((uint8_t) 0x80)
1586#define FXOS8700_CTRL_REG2_ST_SHIFT ((uint8_t) 7)
1592#define FXOS8700_CTRL_REG2_ST_DIS ((uint8_t) 0x00)
1593#define FXOS8700_CTRL_REG2_ST_EN ((uint8_t) 0x80)
1594#define FXOS8700_CTRL_REG2_RST_EN ((uint8_t) 0x40)
1595#define FXOS8700_CTRL_REG2_RST_DIS ((uint8_t) 0x00)
1596#define FXOS8700_CTRL_REG2_SMODS_NORMAL ((uint8_t) 0x00)
1597#define FXOS8700_CTRL_REG2_SMODS_LOW_NOISE_LOW_POWER ((uint8_t) 0x08)
1598#define FXOS8700_CTRL_REG2_SMODS_HIGH_RES ((uint8_t) 0x10)
1599#define FXOS8700_CTRL_REG2_SMODS_LOW_POWER ((uint8_t) 0x18)
1600#define FXOS8700_CTRL_REG2_SLPE_EN ((uint8_t) 0x04)
1601#define FXOS8700_CTRL_REG2_SLPE_DISABLE ((uint8_t) 0x00)
1602#define FXOS8700_CTRL_REG2_MODS_NORMAL ((uint8_t) 0x00)
1603#define FXOS8700_CTRL_REG2_MODS_LOW_NOISE_LOW_POWER ((uint8_t) 0x01)
1604#define FXOS8700_CTRL_REG2_MODS_HIGH_RES ((uint8_t) 0x02)
1605#define FXOS8700_CTRL_REG2_MODS_LOW_POWER ((uint8_t) 0x03)
1620 uint8_t wake_a_vecm : 1;
1621 uint8_t wake_ffmt : 1;
1622 uint8_t wake_pulse : 1;
1623 uint8_t wake_lndprt : 1;
1624 uint8_t wake_trans : 1;
1625 uint8_t fifo_gate : 1;
1634#define FXOS8700_CTRL_REG3_PP_OD_MASK ((uint8_t) 0x01)
1635#define FXOS8700_CTRL_REG3_PP_OD_SHIFT ((uint8_t) 0)
1637#define FXOS8700_CTRL_REG3_IPOL_MASK ((uint8_t) 0x02)
1638#define FXOS8700_CTRL_REG3_IPOL_SHIFT ((uint8_t) 1)
1640#define FXOS8700_CTRL_REG3_WAKE_A_VECM_MASK ((uint8_t) 0x04)
1641#define FXOS8700_CTRL_REG3_WAKE_A_VECM_SHIFT ((uint8_t) 2)
1643#define FXOS8700_CTRL_REG3_WAKE_FFMT_MASK ((uint8_t) 0x08)
1644#define FXOS8700_CTRL_REG3_WAKE_FFMT_SHIFT ((uint8_t) 3)
1646#define FXOS8700_CTRL_REG3_WAKE_PULSE_MASK ((uint8_t) 0x10)
1647#define FXOS8700_CTRL_REG3_WAKE_PULSE_SHIFT ((uint8_t) 4)
1649#define FXOS8700_CTRL_REG3_WAKE_LNDPRT_MASK ((uint8_t) 0x20)
1650#define FXOS8700_CTRL_REG3_WAKE_LNDPRT_SHIFT ((uint8_t) 5)
1652#define FXOS8700_CTRL_REG3_WAKE_TRANS_MASK ((uint8_t) 0x40)
1653#define FXOS8700_CTRL_REG3_WAKE_TRANS_SHIFT ((uint8_t) 6)
1655#define FXOS8700_CTRL_REG3_FIFO_GATE_MASK ((uint8_t) 0x80)
1656#define FXOS8700_CTRL_REG3_FIFO_GATE_SHIFT ((uint8_t) 7)
1662#define FXOS8700_CTRL_REG3_FIFO_GATE_BYPASSED ((uint8_t) 0x00)
1663#define FXOS8700_CTRL_REG3_FIFO_GATE_BLOCKED ((uint8_t) 0x80)
1667#define FXOS8700_CTRL_REG3_WAKE_TRANS_DIS ((uint8_t) 0x00)
1668#define FXOS8700_CTRL_REG3_WAKE_TRANS_EN ((uint8_t) 0x40)
1670#define FXOS8700_CTRL_REG3_WAKE_LNDPRT_DIS ((uint8_t) 0x00)
1671#define FXOS8700_CTRL_REG3_WAKE_LNDPRT_EN ((uint8_t) 0x20)
1673#define FXOS8700_CTRL_REG3_WAKE_PULSE_DIS ((uint8_t) 0x00)
1674#define FXOS8700_CTRL_REG3_WAKE_PULSE_EN ((uint8_t) 0x10)
1676#define FXOS8700_CTRL_REG3_WAKE_FFMT_DIS ((uint8_t) 0x00)
1677#define FXOS8700_CTRL_REG3_WAKE_FFMT_EN ((uint8_t) 0x08)
1679#define FXOS8700_CTRL_REG3_WAKE_A_VECM_DIS ((uint8_t) 0x00)
1681#define FXOS8700_CTRL_REG3_WAKE_A_VECM_EN ((uint8_t) 0x04)
1684#define FXOS8700_CTRL_REG3_IPOL_ACTIVE_LOW ((uint8_t) 0x00)
1685#define FXOS8700_CTRL_REG3_IPOL_ACTIVE_HIGH ((uint8_t) 0x02)
1686#define FXOS8700_CTRL_REG3_PP_OD_PUSH_PULL ((uint8_t) 0x00)
1687#define FXOS8700_CTRL_REG3_PP_OD_OPEN_DRAIN ((uint8_t) 0x01)
1700 uint8_t int_en_drdy : 1;
1701 uint8_t int_en_a_vecm : 1;
1702 uint8_t int_en_ffmt : 1;
1703 uint8_t int_en_pulse : 1;
1704 uint8_t int_en_lndprt : 1;
1705 uint8_t int_en_trans : 1;
1706 uint8_t int_en_fifo : 1;
1707 uint8_t int_en_aslp : 1;
1716#define FXOS8700_CTRL_REG4_INT_EN_DRDY_MASK ((uint8_t) 0x01)
1717#define FXOS8700_CTRL_REG4_INT_EN_DRDY_SHIFT ((uint8_t) 0)
1719#define FXOS8700_CTRL_REG4_INT_EN_A_VECM_MASK ((uint8_t) 0x02)
1720#define FXOS8700_CTRL_REG4_INT_EN_A_VECM_SHIFT ((uint8_t) 1)
1722#define FXOS8700_CTRL_REG4_INT_EN_FFMT_MASK ((uint8_t) 0x04)
1723#define FXOS8700_CTRL_REG4_INT_EN_FFMT_SHIFT ((uint8_t) 2)
1725#define FXOS8700_CTRL_REG4_INT_EN_PULSE_MASK ((uint8_t) 0x08)
1726#define FXOS8700_CTRL_REG4_INT_EN_PULSE_SHIFT ((uint8_t) 3)
1728#define FXOS8700_CTRL_REG4_INT_EN_LNDPRT_MASK ((uint8_t) 0x10)
1729#define FXOS8700_CTRL_REG4_INT_EN_LNDPRT_SHIFT ((uint8_t) 4)
1731#define FXOS8700_CTRL_REG4_INT_EN_TRANS_MASK ((uint8_t) 0x20)
1732#define FXOS8700_CTRL_REG4_INT_EN_TRANS_SHIFT ((uint8_t) 5)
1734#define FXOS8700_CTRL_REG4_INT_EN_FIFO_MASK ((uint8_t) 0x40)
1735#define FXOS8700_CTRL_REG4_INT_EN_FIFO_SHIFT ((uint8_t) 6)
1737#define FXOS8700_CTRL_REG4_INT_EN_ASLP_MASK ((uint8_t) 0x80)
1738#define FXOS8700_CTRL_REG4_INT_EN_ASLP_SHIFT ((uint8_t) 7)
1744#define FXOS8700_CTRL_REG4_INT_EN_ASLP_DIS ((uint8_t) 0x00)
1745#define FXOS8700_CTRL_REG4_INT_EN_ASLP_EN ((uint8_t) 0x80)
1746#define FXOS8700_CTRL_REG4_INT_EN_FIFO_DIS ((uint8_t) 0x00)
1747#define FXOS8700_CTRL_REG4_INT_EN_FIFO_EN ((uint8_t) 0x40)
1748#define FXOS8700_CTRL_REG4_INT_EN_TRANS_DIS ((uint8_t) 0x00)
1749#define FXOS8700_CTRL_REG4_INT_EN_TRANS_EN ((uint8_t) 0x20)
1750#define FXOS8700_CTRL_REG4_INT_EN_LNDPRT_DIS ((uint8_t) 0x00)
1752#define FXOS8700_CTRL_REG4_INT_EN_LNDPRT_EN ((uint8_t) 0x10)
1753#define FXOS8700_CTRL_REG4_INT_EN_PULSE_DIS ((uint8_t) 0x00)
1754#define FXOS8700_CTRL_REG4_INT_EN_PULSE_EN ((uint8_t) 0x08)
1755#define FXOS8700_CTRL_REG4_INT_EN_FFMT_DIS ((uint8_t) 0x00)
1756#define FXOS8700_CTRL_REG4_INT_EN_FFMT_EN ((uint8_t) 0x04)
1757#define FXOS8700_CTRL_REG4_INT_EN_A_VECM_DIS ((uint8_t) 0x00)
1758#define FXOS8700_CTRL_REG4_INT_EN_A_VECM_EN ((uint8_t) 0x02)
1759#define FXOS8700_CTRL_REG4_INT_EN_DRDY_DIS ((uint8_t) 0x00)
1760#define FXOS8700_CTRL_REG4_INT_EN_DRDY_EN ((uint8_t) 0x01)
1773 uint8_t int_cfg_drdy : 1;
1774 uint8_t int_cfg_a_vecm : 1;
1775 uint8_t int_cfg_ffmt : 1;
1776 uint8_t int_cfg_pulse : 1;
1777 uint8_t int_cfg_lndprt : 1;
1778 uint8_t int_cfg_trans : 1;
1779 uint8_t int_cfg_fifo : 1;
1780 uint8_t int_cfg_aslp : 1;
1789#define FXOS8700_CTRL_REG5_INT_CFG_DRDY_MASK ((uint8_t) 0x01)
1790#define FXOS8700_CTRL_REG5_INT_CFG_DRDY_SHIFT ((uint8_t) 0)
1792#define FXOS8700_CTRL_REG5_INT_CFG_A_VECM_MASK ((uint8_t) 0x02)
1793#define FXOS8700_CTRL_REG5_INT_CFG_A_VECM_SHIFT ((uint8_t) 1)
1795#define FXOS8700_CTRL_REG5_INT_CFG_FFMT_MASK ((uint8_t) 0x04)
1796#define FXOS8700_CTRL_REG5_INT_CFG_FFMT_SHIFT ((uint8_t) 2)
1798#define FXOS8700_CTRL_REG5_INT_CFG_PULSE_MASK ((uint8_t) 0x08)
1799#define FXOS8700_CTRL_REG5_INT_CFG_PULSE_SHIFT ((uint8_t) 3)
1801#define FXOS8700_CTRL_REG5_INT_CFG_LNDPRT_MASK ((uint8_t) 0x10)
1802#define FXOS8700_CTRL_REG5_INT_CFG_LNDPRT_SHIFT ((uint8_t) 4)
1804#define FXOS8700_CTRL_REG5_INT_CFG_TRANS_MASK ((uint8_t) 0x20)
1805#define FXOS8700_CTRL_REG5_INT_CFG_TRANS_SHIFT ((uint8_t) 5)
1807#define FXOS8700_CTRL_REG5_INT_CFG_FIFO_MASK ((uint8_t) 0x40)
1808#define FXOS8700_CTRL_REG5_INT_CFG_FIFO_SHIFT ((uint8_t) 6)
1810#define FXOS8700_CTRL_REG5_INT_CFG_ASLP_MASK ((uint8_t) 0x80)
1811#define FXOS8700_CTRL_REG5_INT_CFG_ASLP_SHIFT ((uint8_t) 7)
1817#define FXOS8700_CTRL_REG5_INT_CFG_ASLP_INT2 ((uint8_t) 0x00)
1818#define FXOS8700_CTRL_REG5_INT_CFG_ASLP_INT1 ((uint8_t) 0x80)
1819#define FXOS8700_CTRL_REG5_INT_CFG_FIFO_INT2 ((uint8_t) 0x00)
1820#define FXOS8700_CTRL_REG5_INT_CFG_FIFO_INT1 ((uint8_t) 0x40)
1821#define FXOS8700_CTRL_REG5_INT_CFG_TRANS_INT2 ((uint8_t) 0x00)
1822#define FXOS8700_CTRL_REG5_INT_CFG_TRANS_INT1 ((uint8_t) 0x20)
1823#define FXOS8700_CTRL_REG5_INT_CFG_LNDPRT_INT2 ((uint8_t) 0x00)
1824#define FXOS8700_CTRL_REG5_INT_CFG_LNDPRT_INT1 ((uint8_t) 0x10)
1825#define FXOS8700_CTRL_REG5_INT_CFG_PULSE_INT2 ((uint8_t) 0x00)
1826#define FXOS8700_CTRL_REG5_INT_CFG_PULSE_INT1 ((uint8_t) 0x08)
1827#define FXOS8700_CTRL_REG5_INT_CFG_FFMT_INT2 ((uint8_t) 0x00)
1828#define FXOS8700_CTRL_REG5_INT_CFG_FFMT_INT1 ((uint8_t) 0x04)
1829#define FXOS8700_CTRL_REG5_INT_CFG_A_VECM_INT2 ((uint8_t) 0x00)
1830#define FXOS8700_CTRL_REG5_INT_CFG_A_VECM_INT1 ((uint8_t) 0x02)
1831#define FXOS8700_CTRL_REG5_INT_CFG_DRDY_INT2 ((uint8_t) 0x00)
1832#define FXOS8700_CTRL_REG5_INT_CFG_DRDY_INT1 ((uint8_t) 0x01)
1843typedef uint8_t FXOS8700_OFF_X_t;
1852typedef uint8_t FXOS8700_OFF_Y_t;
1861typedef uint8_t FXOS8700_OFF_Z_t;
1889#define FXOS8700_M_DR_STATUS_XDR_MASK ((uint8_t) 0x01)
1890#define FXOS8700_M_DR_STATUS_XDR_SHIFT ((uint8_t) 0)
1892#define FXOS8700_M_DR_STATUS_YDR_MASK ((uint8_t) 0x02)
1893#define FXOS8700_M_DR_STATUS_YDR_SHIFT ((uint8_t) 1)
1895#define FXOS8700_M_DR_STATUS_ZDR_MASK ((uint8_t) 0x04)
1896#define FXOS8700_M_DR_STATUS_ZDR_SHIFT ((uint8_t) 2)
1898#define FXOS8700_M_DR_STATUS_ZYXDR_MASK ((uint8_t) 0x08)
1899#define FXOS8700_M_DR_STATUS_ZYXDR_SHIFT ((uint8_t) 3)
1901#define FXOS8700_M_DR_STATUS_XOW_MASK ((uint8_t) 0x10)
1902#define FXOS8700_M_DR_STATUS_XOW_SHIFT ((uint8_t) 4)
1904#define FXOS8700_M_DR_STATUS_YOW_MASK ((uint8_t) 0x20)
1905#define FXOS8700_M_DR_STATUS_YOW_SHIFT ((uint8_t) 5)
1907#define FXOS8700_M_DR_STATUS_ZOW_MASK ((uint8_t) 0x40)
1908#define FXOS8700_M_DR_STATUS_ZOW_SHIFT ((uint8_t) 6)
1910#define FXOS8700_M_DR_STATUS_ZYXOW_MASK ((uint8_t) 0x80)
1911#define FXOS8700_M_DR_STATUS_ZYXOW_SHIFT ((uint8_t) 7)
1924typedef uint8_t FXOS8700_M_OUT_X_MSB_t;
1933typedef uint8_t FXOS8700_M_OUT_X_LSB_t;
1942typedef uint8_t FXOS8700_M_OUT_Y_MSB_t;
1951typedef uint8_t FXOS8700_M_OUT_Y_LSB_t;
1960typedef uint8_t FXOS8700_M_OUT_Z_MSB_t;
1969typedef uint8_t FXOS8700_M_OUT_Z_LSB_t;
1990#define FXOS8700_CMP_X_MSB_CMP_X_MASK ((uint8_t) 0x3F)
1991#define FXOS8700_CMP_X_MSB_CMP_X_SHIFT ((uint8_t) 0)
2004typedef uint8_t FXOS8700_CMP_X_LSB_t;
2024#define FXOS8700_CMP_Y_MSB_CMP_Y_MASK ((uint8_t) 0x3F)
2025#define FXOS8700_CMP_Y_MSB_CMP_Y_SHIFT ((uint8_t) 0)
2038typedef uint8_t FXOS8700_CMP_Y_LSB_t;
2058#define FXOS8700_CMP_Z_MSB_CMP_Z_MASK ((uint8_t) 0x3F)
2059#define FXOS8700_CMP_Z_MSB_CMP_Z_SHIFT ((uint8_t) 0)
2072typedef uint8_t FXOS8700_CMP_Z_LSB_t;
2081typedef uint8_t FXOS8700_M_OFF_X_MSB_t;
2092 uint8_t _reserved_ : 1;
2093 uint8_t m_off_x : 7;
2102#define FXOS8700_M_OFF_X_LSB_M_OFF_X_MASK ((uint8_t) 0xFE)
2103#define FXOS8700_M_OFF_X_LSB_M_OFF_X_SHIFT ((uint8_t) 1)
2116typedef uint8_t FXOS8700_M_OFF_Y_MSB_t;
2127 uint8_t _reserved_ : 1;
2128 uint8_t m_off_y : 7;
2137#define FXOS8700_M_OFF_Y_LSB_M_OFF_Y_MASK ((uint8_t) 0xFE)
2138#define FXOS8700_M_OFF_Y_LSB_M_OFF_Y_SHIFT ((uint8_t) 1)
2151typedef uint8_t FXOS8700_M_OFF_Z_MSB_t;
2162 uint8_t _reserved_ : 1;
2163 uint8_t m_off_z : 7;
2172#define FXOS8700_M_OFF_Z_LSB_M_OFF_Z_MASK ((uint8_t) 0xFE)
2173#define FXOS8700_M_OFF_Z_LSB_M_OFF_Z_SHIFT ((uint8_t) 1)
2186typedef uint8_t FXOS8700_MAX_X_MSB_t;
2195typedef uint8_t FXOS8700_MAX_X_LSB_t;
2204typedef uint8_t FXOS8700_MAX_Y_MSB_t;
2213typedef uint8_t FXOS8700_MAX_Y_LSB_t;
2222typedef uint8_t FXOS8700_MAX_Z_MSB_t;
2231typedef uint8_t FXOS8700_MAX_Z_LSB_t;
2240typedef uint8_t FXOS8700_MIN_X_MSB_t;
2249typedef uint8_t FXOS8700_MIN_X_LSB_t;
2258typedef uint8_t FXOS8700_MIN_Y_MSB_t;
2267typedef uint8_t FXOS8700_MIN_Y_LSB_t;
2276typedef uint8_t FXOS8700_MIN_Z_MSB_t;
2285typedef uint8_t FXOS8700_MIN_Z_LSB_t;
2297 uint8_t die_temperature;
2306#define FXOS8700_TEMP_DIE_TEMPERATURE_MASK ((uint8_t) 0xFF)
2307#define FXOS8700_TEMP_DIE_TEMPERATURE_SHIFT ((uint8_t) 0)
2322 uint8_t m_ths_int_cfg : 1;
2323 uint8_t m_ths_int_en : 1;
2324 uint8_t m_ths_wake_en : 1;
2325 uint8_t m_ths_xefe : 1;
2326 uint8_t m_ths_yefe : 1;
2327 uint8_t m_ths_zefe : 1;
2328 uint8_t m_ths_oae : 1;
2329 uint8_t m_ths_ele : 1;
2338#define FXOS8700_M_THS_CFG_M_THS_INT_CFG_MASK ((uint8_t) 0x01)
2339#define FXOS8700_M_THS_CFG_M_THS_INT_CFG_SHIFT ((uint8_t) 0)
2341#define FXOS8700_M_THS_CFG_M_THS_INT_EN_MASK ((uint8_t) 0x02)
2342#define FXOS8700_M_THS_CFG_M_THS_INT_EN_SHIFT ((uint8_t) 1)
2344#define FXOS8700_M_THS_CFG_M_THS_WAKE_EN_MASK ((uint8_t) 0x04)
2345#define FXOS8700_M_THS_CFG_M_THS_WAKE_EN_SHIFT ((uint8_t) 2)
2347#define FXOS8700_M_THS_CFG_M_THS_XEFE_MASK ((uint8_t) 0x08)
2348#define FXOS8700_M_THS_CFG_M_THS_XEFE_SHIFT ((uint8_t) 3)
2350#define FXOS8700_M_THS_CFG_M_THS_YEFE_MASK ((uint8_t) 0x10)
2351#define FXOS8700_M_THS_CFG_M_THS_YEFE_SHIFT ((uint8_t) 4)
2353#define FXOS8700_M_THS_CFG_M_THS_ZEFE_MASK ((uint8_t) 0x20)
2354#define FXOS8700_M_THS_CFG_M_THS_ZEFE_SHIFT ((uint8_t) 5)
2356#define FXOS8700_M_THS_CFG_M_THS_OAE_MASK ((uint8_t) 0x40)
2357#define FXOS8700_M_THS_CFG_M_THS_OAE_SHIFT ((uint8_t) 6)
2359#define FXOS8700_M_THS_CFG_M_THS_ELE_MASK ((uint8_t) 0x80)
2360#define FXOS8700_M_THS_CFG_M_THS_ELE_SHIFT ((uint8_t) 7)
2375 uint8_t m_ths_xhp : 1;
2376 uint8_t m_ths_xhe : 1;
2377 uint8_t m_ths_yhp : 1;
2378 uint8_t m_ths_yhe : 1;
2379 uint8_t m_ths_zhp : 1;
2380 uint8_t m_ths_zhe : 1;
2381 uint8_t _reserved_ : 1;
2382 uint8_t m_ths_ea : 1;
2391#define FXOS8700_M_THS_SRC_M_THS_XHP_MASK ((uint8_t) 0x01)
2392#define FXOS8700_M_THS_SRC_M_THS_XHP_SHIFT ((uint8_t) 0)
2394#define FXOS8700_M_THS_SRC_M_THS_XHE_MASK ((uint8_t) 0x02)
2395#define FXOS8700_M_THS_SRC_M_THS_XHE_SHIFT ((uint8_t) 1)
2397#define FXOS8700_M_THS_SRC_M_THS_YHP_MASK ((uint8_t) 0x04)
2398#define FXOS8700_M_THS_SRC_M_THS_YHP_SHIFT ((uint8_t) 2)
2400#define FXOS8700_M_THS_SRC_M_THS_YHE_MASK ((uint8_t) 0x08)
2401#define FXOS8700_M_THS_SRC_M_THS_YHE_SHIFT ((uint8_t) 3)
2403#define FXOS8700_M_THS_SRC_M_THS_ZHP_MASK ((uint8_t) 0x10)
2404#define FXOS8700_M_THS_SRC_M_THS_ZHP_SHIFT ((uint8_t) 4)
2406#define FXOS8700_M_THS_SRC_M_THS_ZHE_MASK ((uint8_t) 0x20)
2407#define FXOS8700_M_THS_SRC_M_THS_ZHE_SHIFT ((uint8_t) 5)
2409#define FXOS8700_M_THS_SRC_M_THS_EA_MASK ((uint8_t) 0x80)
2410#define FXOS8700_M_THS_SRC_M_THS_EA_SHIFT ((uint8_t) 7)
2425 uint8_t m_ths_x : 7;
2434#define FXOS8700_M_THS_X_MSB_M_THS_X_MASK ((uint8_t) 0x7F)
2435#define FXOS8700_M_THS_X_MSB_M_THS_X_SHIFT ((uint8_t) 0)
2448typedef uint8_t FXOS8700_M_THS_X_LSB_t;
2459 uint8_t m_ths_y : 7;
2468#define FXOS8700_M_THS_Y_MSB_M_THS_Y_MASK ((uint8_t) 0x7F)
2469#define FXOS8700_M_THS_Y_MSB_M_THS_Y_SHIFT ((uint8_t) 0)
2482typedef uint8_t FXOS8700_M_THS_Y_LSB_t;
2493 uint8_t m_ths_z : 7;
2502#define FXOS8700_M_THS_Z_MSB_M_THS_Z_MASK ((uint8_t) 0x7F)
2503#define FXOS8700_M_THS_Z_MSB_M_THS_Z_SHIFT ((uint8_t) 0)
2516typedef uint8_t FXOS8700_M_THS_Z_LSB_t;
2525typedef uint8_t FXOS8700_M_THS_COUNT_t;
2552#define FXOS8700_M_CTRL_REG1_M_HMS_MASK ((uint8_t) 0x03)
2553#define FXOS8700_M_CTRL_REG1_M_HMS_SHIFT ((uint8_t) 0)
2555#define FXOS8700_M_CTRL_REG1_M_OS_MASK ((uint8_t) 0x1C)
2556#define FXOS8700_M_CTRL_REG1_M_OS_SHIFT ((uint8_t) 2)
2558#define FXOS8700_M_CTRL_REG1_M_OST_MASK ((uint8_t) 0x20)
2559#define FXOS8700_M_CTRL_REG1_M_OST_SHIFT ((uint8_t) 5)
2561#define FXOS8700_M_CTRL_REG1_M_RST_MASK ((uint8_t) 0x40)
2562#define FXOS8700_M_CTRL_REG1_M_RST_SHIFT ((uint8_t) 6)
2564#define FXOS8700_M_CTRL_REG1_M_ACAL_MASK ((uint8_t) 0x80)
2565#define FXOS8700_M_CTRL_REG1_M_ACAL_SHIFT ((uint8_t) 7)
2571#define FXOS8700_M_CTRL_REG1_M_ACAL_EN ((uint8_t) 0x80)
2572#define FXOS8700_M_CTRL_REG1_M_ACAL_DISABLE ((uint8_t) 0x00)
2573#define FXOS8700_M_CTRL_REG1_M_RST_EN ((uint8_t) 0x40)
2575#define FXOS8700_M_CTRL_REG1_M_RST_DISABLE ((uint8_t) 0x00)
2576#define FXOS8700_M_CTRL_REG1_M_OST_EN ((uint8_t) 0x20)
2580#define FXOS8700_M_CTRL_REG1_M_OST_DISABLE ((uint8_t) 0x00)
2582#define FXOS8700_M_CTRL_REG1_M_OS_OSR0 ((uint8_t) 0x00)
2584#define FXOS8700_M_CTRL_REG1_M_OS_OSR1 ((uint8_t) 0x04)
2586#define FXOS8700_M_CTRL_REG1_M_OS_OSR2 ((uint8_t) 0x08)
2588#define FXOS8700_M_CTRL_REG1_M_OS_OSR3 ((uint8_t) 0x0c)
2590#define FXOS8700_M_CTRL_REG1_M_OS_OSR4 ((uint8_t) 0x10)
2592#define FXOS8700_M_CTRL_REG1_M_OS_OSR5 ((uint8_t) 0x14)
2594#define FXOS8700_M_CTRL_REG1_M_OS_OSR6 ((uint8_t) 0x18)
2596#define FXOS8700_M_CTRL_REG1_M_OS_OSR7 ((uint8_t) 0x1c)
2598#define FXOS8700_M_CTRL_REG1_M_HMS_ACCEL_ONLY ((uint8_t) 0x00)
2599#define FXOS8700_M_CTRL_REG1_M_HMS_MAG_ONLY ((uint8_t) 0x01)
2600#define FXOS8700_M_CTRL_REG1_M_HMS_HYBRID_MODE ((uint8_t) 0x03)
2614 uint8_t m_rst_cnt : 2;
2615 uint8_t m_maxmin_rst : 1;
2616 uint8_t m_maxmin_dis_ths : 1;
2617 uint8_t m_maxmin_dis : 1;
2618 uint8_t m_autoinc : 1;
2627#define FXOS8700_M_CTRL_REG2_M_RST_CNT_MASK ((uint8_t) 0x03)
2628#define FXOS8700_M_CTRL_REG2_M_RST_CNT_SHIFT ((uint8_t) 0)
2630#define FXOS8700_M_CTRL_REG2_M_MAXMIN_RST_MASK ((uint8_t) 0x04)
2631#define FXOS8700_M_CTRL_REG2_M_MAXMIN_RST_SHIFT ((uint8_t) 2)
2633#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_THS_MASK ((uint8_t) 0x08)
2634#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_THS_SHIFT ((uint8_t) 3)
2636#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_MASK ((uint8_t) 0x10)
2637#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_SHIFT ((uint8_t) 4)
2639#define FXOS8700_M_CTRL_REG2_M_AUTOINC_MASK ((uint8_t) 0x20)
2640#define FXOS8700_M_CTRL_REG2_M_AUTOINC_SHIFT ((uint8_t) 5)
2646#define FXOS8700_M_CTRL_REG2_M_AUTOINC_HYBRID_MODE ((uint8_t) 0x20)
2658#define FXOS8700_M_CTRL_REG2_M_AUTOINC_ACCEL_ONLY_MODE ((uint8_t) 0x00)
2659#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_DIS ((uint8_t) 0x00)
2660#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_EN ((uint8_t) 0x10)
2661#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_THS_DIS ((uint8_t) 0x00)
2663#define FXOS8700_M_CTRL_REG2_M_MAXMIN_DIS_THS_EN ((uint8_t) 0x08)
2665#define FXOS8700_M_CTRL_REG2_M_MAXMIN_RST_NO_SEQUENCE ((uint8_t) 0x00)
2666#define FXOS8700_M_CTRL_REG2_M_MAXMIN_RST_SET ((uint8_t) 0x04)
2668#define FXOS8700_M_CTRL_REG2_M_RST_CNT_EVERY1 ((uint8_t) 0x00)
2670#define FXOS8700_M_CTRL_REG2_M_RST_CNT_EVERY16 ((uint8_t) 0x01)
2671#define FXOS8700_M_CTRL_REG2_M_RST_CNT_EVERY512 ((uint8_t) 0x02)
2672#define FXOS8700_M_CTRL_REG2_M_RST_CNT_DISABLE ((uint8_t) 0x03)
2689 uint8_t m_st_xy : 2;
2691 uint8_t m_ths_xyz_update : 1;
2692 uint8_t m_aslp_os : 3;
2702#define FXOS8700_M_CTRL_REG3_M_ST_XY_MASK ((uint8_t) 0x03)
2703#define FXOS8700_M_CTRL_REG3_M_ST_XY_SHIFT ((uint8_t) 0)
2705#define FXOS8700_M_CTRL_REG3_M_ST_Z_MASK ((uint8_t) 0x04)
2706#define FXOS8700_M_CTRL_REG3_M_ST_Z_SHIFT ((uint8_t) 2)
2708#define FXOS8700_M_CTRL_REG3_M_THS_XYZ_UPDATE_MASK ((uint8_t) 0x08)
2709#define FXOS8700_M_CTRL_REG3_M_THS_XYZ_UPDATE_SHIFT ((uint8_t) 3)
2711#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_MASK ((uint8_t) 0x70)
2712#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_SHIFT ((uint8_t) 4)
2714#define FXOS8700_M_CTRL_REG3_M_RAW_MASK ((uint8_t) 0x80)
2715#define FXOS8700_M_CTRL_REG3_M_RAW_SHIFT ((uint8_t) 7)
2721#define FXOS8700_M_CTRL_REG3_M_RAW_EN ((uint8_t) 0x80)
2723#define FXOS8700_M_CTRL_REG3_M_RAW_DIS ((uint8_t) 0x00)
2725#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_0 ((uint8_t) 0x00)
2726#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_1 ((uint8_t) 0x10)
2727#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_2 ((uint8_t) 0x20)
2728#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_3 ((uint8_t) 0x30)
2729#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_4 ((uint8_t) 0x40)
2730#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_5 ((uint8_t) 0x50)
2731#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_6 ((uint8_t) 0x60)
2732#define FXOS8700_M_CTRL_REG3_M_ASLP_OS_OSR_7 ((uint8_t) 0x70)
2733#define FXOS8700_M_CTRL_REG3_M_THS_XYZ_UPDATE_EN ((uint8_t) 0x08)
2735#define FXOS8700_M_CTRL_REG3_M_THS_XYZ_UPDATE_DIS ((uint8_t) 0x00)
2750 uint8_t src_m_drdy : 1;
2751 uint8_t src_m_vecm : 1;
2752 uint8_t src_m_ths : 1;
2761#define FXOS8700_M_INT_SRC_SRC_M_DRDY_MASK ((uint8_t) 0x01)
2762#define FXOS8700_M_INT_SRC_SRC_M_DRDY_SHIFT ((uint8_t) 0)
2764#define FXOS8700_M_INT_SRC_SRC_M_VECM_MASK ((uint8_t) 0x02)
2765#define FXOS8700_M_INT_SRC_SRC_M_VECM_SHIFT ((uint8_t) 1)
2767#define FXOS8700_M_INT_SRC_SRC_M_THS_MASK ((uint8_t) 0x04)
2768#define FXOS8700_M_INT_SRC_SRC_M_THS_SHIFT ((uint8_t) 2)
2783 uint8_t _reserved_ : 4;
2784 uint8_t a_vecm_updm : 1;
2785 uint8_t a_vecm_initm : 1;
2786 uint8_t a_vecm_ele : 1;
2787 uint8_t a_vecm_en : 1;
2796#define FXOS8700_A_VECM_CFG_A_VECM_UPDM_MASK ((uint8_t) 0x10)
2797#define FXOS8700_A_VECM_CFG_A_VECM_UPDM_SHIFT ((uint8_t) 4)
2799#define FXOS8700_A_VECM_CFG_A_VECM_INITM_MASK ((uint8_t) 0x20)
2800#define FXOS8700_A_VECM_CFG_A_VECM_INITM_SHIFT ((uint8_t) 5)
2802#define FXOS8700_A_VECM_CFG_A_VECM_ELE_MASK ((uint8_t) 0x40)
2803#define FXOS8700_A_VECM_CFG_A_VECM_ELE_SHIFT ((uint8_t) 6)
2805#define FXOS8700_A_VECM_CFG_A_VECM_EN_MASK ((uint8_t) 0x80)
2806#define FXOS8700_A_VECM_CFG_A_VECM_EN_SHIFT ((uint8_t) 7)
2821 uint8_t a_vbecm_ths : 5;
2822 uint8_t _reserved_ : 2;
2823 uint8_t a_vbecm_dbcntm : 1;
2832#define FXOS8700_A_VECM_THS_MSB_A_VBECM_THS_MASK ((uint8_t) 0x1F)
2833#define FXOS8700_A_VECM_THS_MSB_A_VBECM_THS_SHIFT ((uint8_t) 0)
2835#define FXOS8700_A_VECM_THS_MSB_A_VBECM_DBCNTM_MASK ((uint8_t) 0x80)
2836#define FXOS8700_A_VECM_THS_MSB_A_VBECM_DBCNTM_SHIFT ((uint8_t) 7)
2849typedef uint8_t FXOS8700_A_VECM_THS_LSB_t;
2858typedef uint8_t FXOS8700_A_VECM_CNT_t;
2870 uint8_t a_vecm_initx : 6;
2879#define FXOS8700_A_VECM_INITX_MSB_A_VECM_INITX_MASK ((uint8_t) 0x3F)
2880#define FXOS8700_A_VECM_INITX_MSB_A_VECM_INITX_SHIFT ((uint8_t) 0)
2893typedef uint8_t FXOS8700_A_VECM_INITX_LSB_t;
2904 uint8_t a_vecm_inity : 6;
2913#define FXOS8700_A_VECM_INITY_MSB_A_VECM_INITY_MASK ((uint8_t) 0x3F)
2914#define FXOS8700_A_VECM_INITY_MSB_A_VECM_INITY_SHIFT ((uint8_t) 0)
2927typedef uint8_t FXOS8700_A_VECM_INITY_LSB_t;
2938 uint8_t a_vecm_initz : 6;
2947#define FXOS8700_A_VECM_INITZ_MSB_A_VECM_INITZ_MASK ((uint8_t) 0x3F)
2948#define FXOS8700_A_VECM_INITZ_MSB_A_VECM_INITZ_SHIFT ((uint8_t) 0)
2961typedef uint8_t FXOS8700_A_VECM_INITZ_LSB_t;
2972 uint8_t m_vecm_init_cfg : 1;
2973 uint8_t m_vecm_int_en : 1;
2974 uint8_t m_vecm_wake_en : 1;
2975 uint8_t a_vecm_en : 1;
2976 uint8_t m_vecm_updm : 1;
2977 uint8_t m_vecm_initm : 1;
2978 uint8_t m_vecm_ele : 1;
2979 uint8_t reserved : 1;
2988#define FXOS8700_M_VECM_CFG_M_VECM_INIT_CFG_MASK ((uint8_t) 0x01)
2989#define FXOS8700_M_VECM_CFG_M_VECM_INIT_CFG_SHIFT ((uint8_t) 0)
2991#define FXOS8700_M_VECM_CFG_M_VECM_INT_EN_MASK ((uint8_t) 0x02)
2992#define FXOS8700_M_VECM_CFG_M_VECM_INT_EN_SHIFT ((uint8_t) 1)
2994#define FXOS8700_M_VECM_CFG_M_VECM_WAKE_EN_MASK ((uint8_t) 0x04)
2995#define FXOS8700_M_VECM_CFG_M_VECM_WAKE_EN_SHIFT ((uint8_t) 2)
2997#define FXOS8700_M_VECM_CFG_A_VECM_EN_MASK ((uint8_t) 0x08)
2998#define FXOS8700_M_VECM_CFG_A_VECM_EN_SHIFT ((uint8_t) 3)
3000#define FXOS8700_M_VECM_CFG_M_VECM_UPDM_MASK ((uint8_t) 0x10)
3001#define FXOS8700_M_VECM_CFG_M_VECM_UPDM_SHIFT ((uint8_t) 4)
3003#define FXOS8700_M_VECM_CFG_M_VECM_INITM_MASK ((uint8_t) 0x20)
3004#define FXOS8700_M_VECM_CFG_M_VECM_INITM_SHIFT ((uint8_t) 5)
3006#define FXOS8700_M_VECM_CFG_M_VECM_ELE_MASK ((uint8_t) 0x40)
3007#define FXOS8700_M_VECM_CFG_M_VECM_ELE_SHIFT ((uint8_t) 6)
3009#define FXOS8700_M_VECM_CFG_RESERVED_MASK ((uint8_t) 0x80)
3010#define FXOS8700_M_VECM_CFG_RESERVED_SHIFT ((uint8_t) 7)
3016#define FXOS8700_M_VECM_CFG_M_VECM_ELE_DIS ((uint8_t) 0x00)
3017#define FXOS8700_M_VECM_CFG_M_VECM_ELE_EN ((uint8_t) 0x40)
3018#define FXOS8700_M_VECM_CFG_M_VECM_INITM_OUT ((uint8_t) 0x00)
3021#define FXOS8700_M_VECM_CFG_M_VECM_INITM_STORED ((uint8_t) 0x20)
3025#define FXOS8700_M_VECM_CFG_M_VECM_UPDM_DIS ((uint8_t) 0x00)
3028#define FXOS8700_M_VECM_CFG_M_VECM_UPDM_EN ((uint8_t) 0x10)
3030#define FXOS8700_M_VECM_CFG_A_VECM_EN_EN ((uint8_t) 0x00)
3031#define FXOS8700_M_VECM_CFG_A_VECM_EN_DIS ((uint8_t) 0x08)
3032#define FXOS8700_M_VECM_CFG_M_VECM_WAKE_EN_EN ((uint8_t) 0x00)
3034#define FXOS8700_M_VECM_CFG_M_VECM_WAKE_EN_DIS ((uint8_t) 0x04)
3036#define FXOS8700_M_VECM_CFG_M_VECM_INT_EN_EN ((uint8_t) 0x00)
3037#define FXOS8700_M_VECM_CFG_M_VECM_INT_EN_DIS ((uint8_t) 0x02)
3038#define FXOS8700_M_VECM_CFG_M_VECM_INIT_CFG_INT2 ((uint8_t) 0x00)
3040#define FXOS8700_M_VECM_CFG_M_VECM_INIT_CFG_INT1 ((uint8_t) 0x01)
3042#define FXOS8700_M_VECM_CFG_M_VECM_INIT_CFG_DIS ((uint8_t) 0x01)
3055 uint8_t m_vecm_ths : 7;
3064#define FXOS8700_M_VECM_THS_MSB_M_VECM_THS_MASK ((uint8_t) 0x7F)
3065#define FXOS8700_M_VECM_THS_MSB_M_VECM_THS_SHIFT ((uint8_t) 0)
3078typedef uint8_t FXOS8700_M_VECM_THS_LSB_t;
3087typedef uint8_t FXOS8700_M_VECM_CNT_t;
3096typedef uint8_t FXOS8700_M_VECM_INITX_MSB_t;
3105typedef uint8_t FXOS8700_M_VECM_INITX_LSB_t;
3114typedef uint8_t FXOS8700_M_VECM_INITY_MSB_t;
3123typedef uint8_t FXOS8700_M_VECM_INITY_LSB_t;
3132typedef uint8_t FXOS8700_M_VECM_INITZ_MSB_t;
3141typedef uint8_t FXOS8700_M_VECM_INITZ_LSB_t;
3150typedef uint8_t FXOS8700_A_FFMT_THS_X_MSB_t;
3162 uint8_t a_ffmt_ths_x : 7;
3171#define FXOS8700_A_FFMT_THS_X_LSB_A_FFMT_THS_X_MASK ((uint8_t) 0x7F)
3172#define FXOS8700_A_FFMT_THS_X_LSB_A_FFMT_THS_X_SHIFT ((uint8_t) 0)
3185typedef uint8_t FXOS8700_A_FFMT_THS_Y_MSB_t;
3196 uint8_t a_ffmt_ths_y : 7;
3205#define FXOS8700_A_FFMT_THS_Y_LSB_A_FFMT_THS_Y_MASK ((uint8_t) 0x7F)
3206#define FXOS8700_A_FFMT_THS_Y_LSB_A_FFMT_THS_Y_SHIFT ((uint8_t) 0)
3219typedef uint8_t FXOS8700_A_FFMT_THS_Z_MSB_t;
3230 uint8_t a_ffmt_ths_z : 7;
3239#define FXOS8700_A_FFMT_THS_Z_LSB_A_FFMT_THS_Z_MASK ((uint8_t) 0x7F)
3240#define FXOS8700_A_FFMT_THS_Z_LSB_A_FFMT_THS_Z_SHIFT ((uint8_t) 0)
@ FXOS8700_A_FFMT_THS_X_LSB
@ FXOS8700_M_VECM_INITZ_LSB
@ FXOS8700_M_VECM_INITZ_MSB
@ FXOS8700_A_VECM_INITZ_MSB
@ FXOS8700_A_FFMT_THS_Y_LSB
@ FXOS8700_M_VECM_THS_MSB
@ FXOS8700_A_VECM_INITX_LSB
@ FXOS8700_A_VECM_THS_LSB
@ FXOS8700_M_VECM_THS_LSB
@ FXOS8700_M_VECM_INITY_LSB
@ FXOS8700_M_VECM_INITX_LSB
@ FXOS8700_A_FFMT_THS_Y_MSB
@ FXOS8700_M_VECM_INITY_MSB
@ FXOS8700_TRANSIENT_COUNT
@ FXOS8700_A_VECM_INITX_MSB
@ FXOS8700_A_VECM_INITY_LSB
@ FXOS8700_A_VECM_INITZ_LSB
@ FXOS8700_A_FFMT_THS_Z_MSB
@ FXOS8700_A_VECM_INITY_MSB
@ FXOS8700_A_FFMT_THS_X_MSB
@ FXOS8700_M_VECM_INITX_MSB
@ FXOS8700_HP_FILTER_CUTOFF
@ FXOS8700_A_VECM_THS_MSB
@ FXOS8700_A_FFMT_THS_Z_LSB