20 #define   FXAS21002_I2C_ADDRESS     0x20   151 #define FXAS21002_DR_STATUS_XDR_MASK     ((uint8_t) 0x01)   152 #define FXAS21002_DR_STATUS_XDR_SHIFT    ((uint8_t)    0)   154 #define FXAS21002_DR_STATUS_YDR_MASK     ((uint8_t) 0x02)   155 #define FXAS21002_DR_STATUS_YDR_SHIFT    ((uint8_t)    1)   157 #define FXAS21002_DR_STATUS_ZDR_MASK     ((uint8_t) 0x04)   158 #define FXAS21002_DR_STATUS_ZDR_SHIFT    ((uint8_t)    2)   160 #define FXAS21002_DR_STATUS_ZYXDR_MASK   ((uint8_t) 0x08)   161 #define FXAS21002_DR_STATUS_ZYXDR_SHIFT  ((uint8_t)    3)   163 #define FXAS21002_DR_STATUS_XOW_MASK     ((uint8_t) 0x10)   164 #define FXAS21002_DR_STATUS_XOW_SHIFT    ((uint8_t)    4)   166 #define FXAS21002_DR_STATUS_YOW_MASK     ((uint8_t) 0x20)   167 #define FXAS21002_DR_STATUS_YOW_SHIFT    ((uint8_t)    5)   169 #define FXAS21002_DR_STATUS_ZOW_MASK     ((uint8_t) 0x40)   170 #define FXAS21002_DR_STATUS_ZOW_SHIFT    ((uint8_t)    6)   172 #define FXAS21002_DR_STATUS_ZYXOW_MASK   ((uint8_t) 0x80)   173 #define FXAS21002_DR_STATUS_ZYXOW_SHIFT  ((uint8_t)    7)   179 #define FXAS21002_DR_STATUS_XDR_DRDY              ((uint8_t) 0x01)     182 #define FXAS21002_DR_STATUS_YDR_DRDY              ((uint8_t) 0x02)     185 #define FXAS21002_DR_STATUS_ZDR_DRDY              ((uint8_t) 0x04)     188 #define FXAS21002_DR_STATUS_ZYXDR_DRDY            ((uint8_t) 0x08)     190 #define FXAS21002_DR_STATUS_XOW_OWR               ((uint8_t) 0x10)     193 #define FXAS21002_DR_STATUS_YOW_OWR               ((uint8_t) 0x20)     196 #define FXAS21002_DR_STATUS_ZOW_OWR               ((uint8_t) 0x40)     199 #define FXAS21002_DR_STATUS_ZYXOW_OWR             ((uint8_t) 0x80)     231 #define FXAS21002_F_STATUS_F_CNT_MASK    ((uint8_t) 0x3F)   232 #define FXAS21002_F_STATUS_F_CNT_SHIFT   ((uint8_t)    0)   234 #define FXAS21002_F_STATUS_F_WMKF_MASK   ((uint8_t) 0x40)   235 #define FXAS21002_F_STATUS_F_WMKF_SHIFT  ((uint8_t)    6)   237 #define FXAS21002_F_STATUS_F_OVF_MASK    ((uint8_t) 0x80)   238 #define FXAS21002_F_STATUS_F_OVF_SHIFT   ((uint8_t)    7)   244 #define FXAS21002_F_STATUS_F_WMKF_DETECT         ((uint8_t) 0x40)     245 #define FXAS21002_F_STATUS_F_OVF_DETECT          ((uint8_t) 0x80)     270 #define FXAS21002_F_SETUP_F_WMRK_MASK   ((uint8_t) 0x3F)   271 #define FXAS21002_F_SETUP_F_WMRK_SHIFT  ((uint8_t)    0)   273 #define FXAS21002_F_SETUP_F_MODE_MASK   ((uint8_t) 0xC0)   274 #define FXAS21002_F_SETUP_F_MODE_SHIFT  ((uint8_t)    6)   280 #define FXAS21002_F_SETUP_F_MODE_FIFO_OFF       ((uint8_t) 0x00)     281 #define FXAS21002_F_SETUP_F_MODE_CIR_MODE       ((uint8_t) 0x40)     282 #define FXAS21002_F_SETUP_F_MODE_STOP_MODE      ((uint8_t) 0x80)     308 #define FXAS21002_F_EVENT_FE_TIME_MASK   ((uint8_t) 0x1F)   309 #define FXAS21002_F_EVENT_FE_TIME_SHIFT  ((uint8_t)    0)   311 #define FXAS21002_F_EVENT_F_EVENT_MASK   ((uint8_t) 0x20)   312 #define FXAS21002_F_EVENT_F_EVENT_SHIFT  ((uint8_t)    5)   318 #define FXAS21002_F_EVENT_F_EVENT_DETECTED      ((uint8_t) 0x20)     347 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_MASK   ((uint8_t) 0x01)   348 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_SHIFT  ((uint8_t)    0)   350 #define FXAS21002_INT_SRC_FLAG_SRC_RT_MASK     ((uint8_t) 0x02)   351 #define FXAS21002_INT_SRC_FLAG_SRC_RT_SHIFT    ((uint8_t)    1)   353 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_MASK   ((uint8_t) 0x04)   354 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_SHIFT  ((uint8_t)    2)   356 #define FXAS21002_INT_SRC_FLAG_BOOTEND_MASK    ((uint8_t) 0x08)   357 #define FXAS21002_INT_SRC_FLAG_BOOTEND_SHIFT   ((uint8_t)    3)   363 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_READY        ((uint8_t) 0x01)     365 #define FXAS21002_INT_SRC_FLAG_SRC_RT_THRESH         ((uint8_t) 0x02)     367 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_EVENT        ((uint8_t) 0x04)     369 #define FXAS21002_INT_SRC_FLAG_BOOTEND_BOOT_DONE     ((uint8_t) 0x08)     393 #define FXAS21002_WHO_AM_I_WHOAMI_MASK   ((uint8_t) 0xFF)   394 #define FXAS21002_WHO_AM_I_WHOAMI_SHIFT  ((uint8_t)    0)   400 #define FXAS21002_WHO_AM_I_WHOAMI_OLD_VALUE     ((uint8_t) 0xd1)     401 #define FXAS21002_WHO_AM_I_WHOAMI_PRE_VALUE     ((uint8_t) 0xd6)     402 #define FXAS21002_WHO_AM_I_WHOAMI_PROD_VALUE    ((uint8_t) 0xd7)     435 #define FXAS21002_CTRL_REG0_FS_MASK       ((uint8_t) 0x03)   436 #define FXAS21002_CTRL_REG0_FS_SHIFT      ((uint8_t)    0)   438 #define FXAS21002_CTRL_REG0_HPF_EN_MASK   ((uint8_t) 0x04)   439 #define FXAS21002_CTRL_REG0_HPF_EN_SHIFT  ((uint8_t)    2)   441 #define FXAS21002_CTRL_REG0_SEL_MASK      ((uint8_t) 0x18)   442 #define FXAS21002_CTRL_REG0_SEL_SHIFT     ((uint8_t)    3)   444 #define FXAS21002_CTRL_REG0_SPIW_MASK     ((uint8_t) 0x20)   445 #define FXAS21002_CTRL_REG0_SPIW_SHIFT    ((uint8_t)    5)   447 #define FXAS21002_CTRL_REG0_BW_MASK       ((uint8_t) 0xC0)   448 #define FXAS21002_CTRL_REG0_BW_SHIFT      ((uint8_t)    6)   454 #define FXAS21002_CTRL_REG0_FS_DPS2000            ((uint8_t) 0x00)     456 #define FXAS21002_CTRL_REG0_FS_DPS1000            ((uint8_t) 0x01)     458 #define FXAS21002_CTRL_REG0_FS_DPS500             ((uint8_t) 0x02)     460 #define FXAS21002_CTRL_REG0_FS_DPS250             ((uint8_t) 0x03)     462 #define FXAS21002_CTRL_REG0_HPF_EN_ENABLE         ((uint8_t) 0x04)    463 #define FXAS21002_CTRL_REG0_HPF_EN_DISABLE        ((uint8_t) 0x00)    464 #define FXAS21002_CTRL_REG0_SPIW_4WIRE            ((uint8_t) 0x00)     465 #define FXAS21002_CTRL_REG0_SPIW_3WIRE            ((uint8_t) 0x20)     495 #define FXAS21002_RT_CFG_XTEFE_MASK   ((uint8_t) 0x01)   496 #define FXAS21002_RT_CFG_XTEFE_SHIFT  ((uint8_t)    0)   498 #define FXAS21002_RT_CFG_YTEFE_MASK   ((uint8_t) 0x02)   499 #define FXAS21002_RT_CFG_YTEFE_SHIFT  ((uint8_t)    1)   501 #define FXAS21002_RT_CFG_ZTEFE_MASK   ((uint8_t) 0x04)   502 #define FXAS21002_RT_CFG_ZTEFE_SHIFT  ((uint8_t)    2)   504 #define FXAS21002_RT_CFG_ELE_MASK     ((uint8_t) 0x08)   505 #define FXAS21002_RT_CFG_ELE_SHIFT    ((uint8_t)    3)   511 #define FXAS21002_RT_CFG_XTEFE_ENABLE          ((uint8_t) 0x01)     512 #define FXAS21002_RT_CFG_XTEFE_DISABLE         ((uint8_t) 0x00)     513 #define FXAS21002_RT_CFG_YTEFE_ENABLE          ((uint8_t) 0x02)     514 #define FXAS21002_RT_CFG_YTEFE_DISABLE         ((uint8_t) 0x00)     515 #define FXAS21002_RT_CFG_ZTEFE_ENABLE          ((uint8_t) 0x04)     516 #define FXAS21002_RT_CFG_ZTEFE_DISABLE         ((uint8_t) 0x00)     517 #define FXAS21002_RT_CFG_ELE_ENABLE            ((uint8_t) 0x08)     518 #define FXAS21002_RT_CFG_ELE_DISABLE           ((uint8_t) 0x00)     553 #define FXAS21002_RT_SRC_X_RT_POL_MASK   ((uint8_t) 0x01)   554 #define FXAS21002_RT_SRC_X_RT_POL_SHIFT  ((uint8_t)    0)   556 #define FXAS21002_RT_SRC_XRT_MASK        ((uint8_t) 0x02)   557 #define FXAS21002_RT_SRC_XRT_SHIFT       ((uint8_t)    1)   559 #define FXAS21002_RT_SRC_Y_RT_POL_MASK   ((uint8_t) 0x04)   560 #define FXAS21002_RT_SRC_Y_RT_POL_SHIFT  ((uint8_t)    2)   562 #define FXAS21002_RT_SRC_YRT_MASK        ((uint8_t) 0x08)   563 #define FXAS21002_RT_SRC_YRT_SHIFT       ((uint8_t)    3)   565 #define FXAS21002_RT_SRC_Z_RT_POL_MASK   ((uint8_t) 0x10)   566 #define FXAS21002_RT_SRC_Z_RT_POL_SHIFT  ((uint8_t)    4)   568 #define FXAS21002_RT_SRC_ZRT_MASK        ((uint8_t) 0x20)   569 #define FXAS21002_RT_SRC_ZRT_SHIFT       ((uint8_t)    5)   571 #define FXAS21002_RT_SRC_EA_MASK         ((uint8_t) 0x40)   572 #define FXAS21002_RT_SRC_EA_SHIFT        ((uint8_t)    6)   578 #define FXAS21002_RT_SRC_X_RT_POL_POS          ((uint8_t) 0x00)     579 #define FXAS21002_RT_SRC_X_RT_POL_NEG          ((uint8_t) 0x01)     580 #define FXAS21002_RT_SRC_XRT_LOWER             ((uint8_t) 0x00)     581 #define FXAS21002_RT_SRC_XRT_GREATER           ((uint8_t) 0x02)     582 #define FXAS21002_RT_SRC_Y_RT_POL_POS          ((uint8_t) 0x00)     583 #define FXAS21002_RT_SRC_Y_RT_POL_NEG          ((uint8_t) 0x04)     584 #define FXAS21002_RT_SRC_YRT_LOWER             ((uint8_t) 0x00)     585 #define FXAS21002_RT_SRC_YRT_GREATER           ((uint8_t) 0x08)     586 #define FXAS21002_RT_SRC_Z_RT_POL_POS          ((uint8_t) 0x00)     587 #define FXAS21002_RT_SRC_Z_RT_POL_NEG          ((uint8_t) 0x10)     588 #define FXAS21002_RT_SRC_ZRT_LOWER             ((uint8_t) 0x00)     589 #define FXAS21002_RT_SRC_ZRT_GREATER           ((uint8_t) 0x20)     590 #define FXAS21002_RT_SRC_EA_NOEVENT            ((uint8_t) 0x00)     591 #define FXAS21002_RT_SRC_EA_EVENT              ((uint8_t) 0x40)     619 #define FXAS21002_RT_THS_THS_MASK      ((uint8_t) 0x7F)   620 #define FXAS21002_RT_THS_THS_SHIFT     ((uint8_t)    0)   622 #define FXAS21002_RT_THS_DBCNTM_MASK   ((uint8_t) 0x80)   623 #define FXAS21002_RT_THS_DBCNTM_SHIFT  ((uint8_t)    7)   629 #define FXAS21002_RT_THS_DBCNTM_CLEAR          ((uint8_t) 0x80)     631 #define FXAS21002_RT_THS_DBCNTM_DECREMENT      ((uint8_t) 0x00)     681 #define FXAS21002_CTRL_REG1_MODE_MASK   ((uint8_t) 0x03)   682 #define FXAS21002_CTRL_REG1_MODE_SHIFT  ((uint8_t)    0)   684 #define FXAS21002_CTRL_REG1_DR_MASK     ((uint8_t) 0x1C)   685 #define FXAS21002_CTRL_REG1_DR_SHIFT    ((uint8_t)    2)   687 #define FXAS21002_CTRL_REG1_ST_MASK     ((uint8_t) 0x20)   688 #define FXAS21002_CTRL_REG1_ST_SHIFT    ((uint8_t)    5)   690 #define FXAS21002_CTRL_REG1_RST_MASK    ((uint8_t) 0x40)   691 #define FXAS21002_CTRL_REG1_RST_SHIFT   ((uint8_t)    6)   697 #define FXAS21002_CTRL_REG1_MODE_STANDBY          ((uint8_t) 0x00)     699 #define FXAS21002_CTRL_REG1_MODE_READY            ((uint8_t) 0x01)     702 #define FXAS21002_CTRL_REG1_MODE_ACTIVE           ((uint8_t) 0x02)     704 #define FXAS21002_CTRL_REG1_DR_800HZ              ((uint8_t) 0x00)    705 #define FXAS21002_CTRL_REG1_DR_400HZ              ((uint8_t) 0x04)    706 #define FXAS21002_CTRL_REG1_DR_200HZ              ((uint8_t) 0x08)    707 #define FXAS21002_CTRL_REG1_DR_100HZ              ((uint8_t) 0x0c)    708 #define FXAS21002_CTRL_REG1_DR_50HZ               ((uint8_t) 0x10)    709 #define FXAS21002_CTRL_REG1_DR_25HZ               ((uint8_t) 0x14)    710 #define FXAS21002_CTRL_REG1_DR_12_5HZ             ((uint8_t) 0x18)    711 #define FXAS21002_CTRL_REG1_ST_ENABLE             ((uint8_t) 0x20)    712 #define FXAS21002_CTRL_REG1_ST_DISABLE            ((uint8_t) 0x00)    713 #define FXAS21002_CTRL_REG1_RST_TRIGGER           ((uint8_t) 0x40)    714 #define FXAS21002_CTRL_REG1_RST_NOTTRIGGERED      ((uint8_t) 0x00)    751 #define FXAS21002_CTRL_REG2_PP_OD_MASK          ((uint8_t) 0x01)   752 #define FXAS21002_CTRL_REG2_PP_OD_SHIFT         ((uint8_t)    0)   754 #define FXAS21002_CTRL_REG2_IPOL_MASK           ((uint8_t) 0x02)   755 #define FXAS21002_CTRL_REG2_IPOL_SHIFT          ((uint8_t)    1)   757 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_MASK    ((uint8_t) 0x04)   758 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_SHIFT   ((uint8_t)    2)   760 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_MASK   ((uint8_t) 0x08)   761 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_SHIFT  ((uint8_t)    3)   763 #define FXAS21002_CTRL_REG2_INT_EN_RT_MASK      ((uint8_t) 0x10)   764 #define FXAS21002_CTRL_REG2_INT_EN_RT_SHIFT     ((uint8_t)    4)   766 #define FXAS21002_CTRL_REG2_INT_CFG_RT_MASK     ((uint8_t) 0x20)   767 #define FXAS21002_CTRL_REG2_INT_CFG_RT_SHIFT    ((uint8_t)    5)   769 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_MASK    ((uint8_t) 0x40)   770 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_SHIFT   ((uint8_t)    6)   772 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_MASK   ((uint8_t) 0x80)   773 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_SHIFT  ((uint8_t)    7)   779 #define FXAS21002_CTRL_REG2_PP_OD_PUSHPULL        ((uint8_t) 0x00)     780 #define FXAS21002_CTRL_REG2_PP_OD_OPENDRAIN       ((uint8_t) 0x01)     781 #define FXAS21002_CTRL_REG2_IPOL_ACTIVE_LOW       ((uint8_t) 0x00)    782 #define FXAS21002_CTRL_REG2_IPOL_ACTIVE_HIGH      ((uint8_t) 0x02)    783 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_ENABLE    ((uint8_t) 0x04)    784 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_DISABLE   ((uint8_t) 0x00)    785 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_INT2     ((uint8_t) 0x00)     786 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_INT1     ((uint8_t) 0x08)     787 #define FXAS21002_CTRL_REG2_INT_EN_RT_ENABLE      ((uint8_t) 0x10)    788 #define FXAS21002_CTRL_REG2_INT_EN_RT_DISABLE     ((uint8_t) 0x00)    789 #define FXAS21002_CTRL_REG2_INT_CFG_RT_INT2       ((uint8_t) 0x00)     790 #define FXAS21002_CTRL_REG2_INT_CFG_RT_INT1       ((uint8_t) 0x20)     791 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_ENABLE    ((uint8_t) 0x40)    792 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_DISABLE   ((uint8_t) 0x00)    793 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_INT2     ((uint8_t) 0x00)     794 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_INT1     ((uint8_t) 0x80)     823 #define FXAS21002_CTRL_REG3_FS_DOUBLE_MASK   ((uint8_t) 0x01)   824 #define FXAS21002_CTRL_REG3_FS_DOUBLE_SHIFT  ((uint8_t)    0)   826 #define FXAS21002_CTRL_REG3_EXTCTRLEN_MASK   ((uint8_t) 0x04)   827 #define FXAS21002_CTRL_REG3_EXTCTRLEN_SHIFT  ((uint8_t)    2)   829 #define FXAS21002_CTRL_REG3_WRAPTOONE_MASK   ((uint8_t) 0x08)   830 #define FXAS21002_CTRL_REG3_WRAPTOONE_SHIFT  ((uint8_t)    3)   836 #define FXAS21002_CTRL_REG3_FS_DOUBLE_ENABLE      ((uint8_t) 0x01)     838 #define FXAS21002_CTRL_REG3_FS_DOUBLE_DISABLE     ((uint8_t) 0x00)     841 #define FXAS21002_CTRL_REG3_EXTCTRLEN_INT2        ((uint8_t) 0x00)     843 #define FXAS21002_CTRL_REG3_EXTCTRLEN_POWER_CONTROL ((uint8_t) 0x04)     845 #define FXAS21002_CTRL_REG3_WRAPTOONE_ROLL_STATUS ((uint8_t) 0x00)     848 #define FXAS21002_CTRL_REG3_WRAPTOONE_ROLL_DATA   ((uint8_t) 0x08)   
uint8_t FXAS21002_OUT_Y_LSB_t
 
uint8_t FXAS21002_OUT_Y_MSB_t
 
uint8_t FXAS21002_OUT_X_LSB_t
 
uint8_t FXAS21002_OUT_X_MSB_t
 
uint8_t FXAS21002_OUT_Z_MSB_t
 
uint8_t FXAS21002_OUT_Z_LSB_t
 
uint8_t FXAS21002_STATUS_t
 
uint8_t FXAS21002_RT_COUNT_t