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