46 #define FXAS21002_I2C_ADDRESS 0x20 177 #define FXAS21002_DR_STATUS_XDR_MASK ((uint8_t) 0x01) 178 #define FXAS21002_DR_STATUS_XDR_SHIFT ((uint8_t) 0) 180 #define FXAS21002_DR_STATUS_YDR_MASK ((uint8_t) 0x02) 181 #define FXAS21002_DR_STATUS_YDR_SHIFT ((uint8_t) 1) 183 #define FXAS21002_DR_STATUS_ZDR_MASK ((uint8_t) 0x04) 184 #define FXAS21002_DR_STATUS_ZDR_SHIFT ((uint8_t) 2) 186 #define FXAS21002_DR_STATUS_ZYXDR_MASK ((uint8_t) 0x08) 187 #define FXAS21002_DR_STATUS_ZYXDR_SHIFT ((uint8_t) 3) 189 #define FXAS21002_DR_STATUS_XOW_MASK ((uint8_t) 0x10) 190 #define FXAS21002_DR_STATUS_XOW_SHIFT ((uint8_t) 4) 192 #define FXAS21002_DR_STATUS_YOW_MASK ((uint8_t) 0x20) 193 #define FXAS21002_DR_STATUS_YOW_SHIFT ((uint8_t) 5) 195 #define FXAS21002_DR_STATUS_ZOW_MASK ((uint8_t) 0x40) 196 #define FXAS21002_DR_STATUS_ZOW_SHIFT ((uint8_t) 6) 198 #define FXAS21002_DR_STATUS_ZYXOW_MASK ((uint8_t) 0x80) 199 #define FXAS21002_DR_STATUS_ZYXOW_SHIFT ((uint8_t) 7) 205 #define FXAS21002_DR_STATUS_XDR_DRDY ((uint8_t) 0x01) 208 #define FXAS21002_DR_STATUS_YDR_DRDY ((uint8_t) 0x02) 211 #define FXAS21002_DR_STATUS_ZDR_DRDY ((uint8_t) 0x04) 214 #define FXAS21002_DR_STATUS_ZYXDR_DRDY ((uint8_t) 0x08) 216 #define FXAS21002_DR_STATUS_XOW_OWR ((uint8_t) 0x10) 219 #define FXAS21002_DR_STATUS_YOW_OWR ((uint8_t) 0x20) 222 #define FXAS21002_DR_STATUS_ZOW_OWR ((uint8_t) 0x40) 225 #define FXAS21002_DR_STATUS_ZYXOW_OWR ((uint8_t) 0x80) 257 #define FXAS21002_F_STATUS_F_CNT_MASK ((uint8_t) 0x3F) 258 #define FXAS21002_F_STATUS_F_CNT_SHIFT ((uint8_t) 0) 260 #define FXAS21002_F_STATUS_F_WMKF_MASK ((uint8_t) 0x40) 261 #define FXAS21002_F_STATUS_F_WMKF_SHIFT ((uint8_t) 6) 263 #define FXAS21002_F_STATUS_F_OVF_MASK ((uint8_t) 0x80) 264 #define FXAS21002_F_STATUS_F_OVF_SHIFT ((uint8_t) 7) 270 #define FXAS21002_F_STATUS_F_WMKF_DETECT ((uint8_t) 0x40) 271 #define FXAS21002_F_STATUS_F_OVF_DETECT ((uint8_t) 0x80) 296 #define FXAS21002_F_SETUP_F_WMRK_MASK ((uint8_t) 0x3F) 297 #define FXAS21002_F_SETUP_F_WMRK_SHIFT ((uint8_t) 0) 299 #define FXAS21002_F_SETUP_F_MODE_MASK ((uint8_t) 0xC0) 300 #define FXAS21002_F_SETUP_F_MODE_SHIFT ((uint8_t) 6) 306 #define FXAS21002_F_SETUP_F_MODE_FIFO_OFF ((uint8_t) 0x00) 307 #define FXAS21002_F_SETUP_F_MODE_CIR_MODE ((uint8_t) 0x40) 308 #define FXAS21002_F_SETUP_F_MODE_STOP_MODE ((uint8_t) 0x80) 334 #define FXAS21002_F_EVENT_FE_TIME_MASK ((uint8_t) 0x1F) 335 #define FXAS21002_F_EVENT_FE_TIME_SHIFT ((uint8_t) 0) 337 #define FXAS21002_F_EVENT_F_EVENT_MASK ((uint8_t) 0x20) 338 #define FXAS21002_F_EVENT_F_EVENT_SHIFT ((uint8_t) 5) 344 #define FXAS21002_F_EVENT_F_EVENT_DETECTED ((uint8_t) 0x20) 373 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_MASK ((uint8_t) 0x01) 374 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_SHIFT ((uint8_t) 0) 376 #define FXAS21002_INT_SRC_FLAG_SRC_RT_MASK ((uint8_t) 0x02) 377 #define FXAS21002_INT_SRC_FLAG_SRC_RT_SHIFT ((uint8_t) 1) 379 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_MASK ((uint8_t) 0x04) 380 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_SHIFT ((uint8_t) 2) 382 #define FXAS21002_INT_SRC_FLAG_BOOTEND_MASK ((uint8_t) 0x08) 383 #define FXAS21002_INT_SRC_FLAG_BOOTEND_SHIFT ((uint8_t) 3) 389 #define FXAS21002_INT_SRC_FLAG_SRC_DRDY_READY ((uint8_t) 0x01) 391 #define FXAS21002_INT_SRC_FLAG_SRC_RT_THRESH ((uint8_t) 0x02) 393 #define FXAS21002_INT_SRC_FLAG_SRC_FIFO_EVENT ((uint8_t) 0x04) 395 #define FXAS21002_INT_SRC_FLAG_BOOTEND_BOOT_DONE ((uint8_t) 0x08) 419 #define FXAS21002_WHO_AM_I_WHOAMI_MASK ((uint8_t) 0xFF) 420 #define FXAS21002_WHO_AM_I_WHOAMI_SHIFT ((uint8_t) 0) 426 #define FXAS21002_WHO_AM_I_WHOAMI_OLD_VALUE ((uint8_t) 0xd1) 427 #define FXAS21002_WHO_AM_I_WHOAMI_PRE_VALUE ((uint8_t) 0xd6) 428 #define FXAS21002_WHO_AM_I_WHOAMI_PROD_VALUE ((uint8_t) 0xd7) 461 #define FXAS21002_CTRL_REG0_FS_MASK ((uint8_t) 0x03) 462 #define FXAS21002_CTRL_REG0_FS_SHIFT ((uint8_t) 0) 464 #define FXAS21002_CTRL_REG0_HPF_EN_MASK ((uint8_t) 0x04) 465 #define FXAS21002_CTRL_REG0_HPF_EN_SHIFT ((uint8_t) 2) 467 #define FXAS21002_CTRL_REG0_SEL_MASK ((uint8_t) 0x18) 468 #define FXAS21002_CTRL_REG0_SEL_SHIFT ((uint8_t) 3) 470 #define FXAS21002_CTRL_REG0_SPIW_MASK ((uint8_t) 0x20) 471 #define FXAS21002_CTRL_REG0_SPIW_SHIFT ((uint8_t) 5) 473 #define FXAS21002_CTRL_REG0_BW_MASK ((uint8_t) 0xC0) 474 #define FXAS21002_CTRL_REG0_BW_SHIFT ((uint8_t) 6) 480 #define FXAS21002_CTRL_REG0_FS_DPS2000 ((uint8_t) 0x00) 482 #define FXAS21002_CTRL_REG0_FS_DPS1000 ((uint8_t) 0x01) 484 #define FXAS21002_CTRL_REG0_FS_DPS500 ((uint8_t) 0x02) 486 #define FXAS21002_CTRL_REG0_FS_DPS250 ((uint8_t) 0x03) 488 #define FXAS21002_CTRL_REG0_HPF_EN_ENABLE ((uint8_t) 0x04) 489 #define FXAS21002_CTRL_REG0_HPF_EN_DISABLE ((uint8_t) 0x00) 490 #define FXAS21002_CTRL_REG0_SPIW_4WIRE ((uint8_t) 0x00) 491 #define FXAS21002_CTRL_REG0_SPIW_3WIRE ((uint8_t) 0x20) 521 #define FXAS21002_RT_CFG_XTEFE_MASK ((uint8_t) 0x01) 522 #define FXAS21002_RT_CFG_XTEFE_SHIFT ((uint8_t) 0) 524 #define FXAS21002_RT_CFG_YTEFE_MASK ((uint8_t) 0x02) 525 #define FXAS21002_RT_CFG_YTEFE_SHIFT ((uint8_t) 1) 527 #define FXAS21002_RT_CFG_ZTEFE_MASK ((uint8_t) 0x04) 528 #define FXAS21002_RT_CFG_ZTEFE_SHIFT ((uint8_t) 2) 530 #define FXAS21002_RT_CFG_ELE_MASK ((uint8_t) 0x08) 531 #define FXAS21002_RT_CFG_ELE_SHIFT ((uint8_t) 3) 537 #define FXAS21002_RT_CFG_XTEFE_ENABLE ((uint8_t) 0x01) 538 #define FXAS21002_RT_CFG_XTEFE_DISABLE ((uint8_t) 0x00) 539 #define FXAS21002_RT_CFG_YTEFE_ENABLE ((uint8_t) 0x02) 540 #define FXAS21002_RT_CFG_YTEFE_DISABLE ((uint8_t) 0x00) 541 #define FXAS21002_RT_CFG_ZTEFE_ENABLE ((uint8_t) 0x04) 542 #define FXAS21002_RT_CFG_ZTEFE_DISABLE ((uint8_t) 0x00) 543 #define FXAS21002_RT_CFG_ELE_ENABLE ((uint8_t) 0x08) 544 #define FXAS21002_RT_CFG_ELE_DISABLE ((uint8_t) 0x00) 579 #define FXAS21002_RT_SRC_X_RT_POL_MASK ((uint8_t) 0x01) 580 #define FXAS21002_RT_SRC_X_RT_POL_SHIFT ((uint8_t) 0) 582 #define FXAS21002_RT_SRC_XRT_MASK ((uint8_t) 0x02) 583 #define FXAS21002_RT_SRC_XRT_SHIFT ((uint8_t) 1) 585 #define FXAS21002_RT_SRC_Y_RT_POL_MASK ((uint8_t) 0x04) 586 #define FXAS21002_RT_SRC_Y_RT_POL_SHIFT ((uint8_t) 2) 588 #define FXAS21002_RT_SRC_YRT_MASK ((uint8_t) 0x08) 589 #define FXAS21002_RT_SRC_YRT_SHIFT ((uint8_t) 3) 591 #define FXAS21002_RT_SRC_Z_RT_POL_MASK ((uint8_t) 0x10) 592 #define FXAS21002_RT_SRC_Z_RT_POL_SHIFT ((uint8_t) 4) 594 #define FXAS21002_RT_SRC_ZRT_MASK ((uint8_t) 0x20) 595 #define FXAS21002_RT_SRC_ZRT_SHIFT ((uint8_t) 5) 597 #define FXAS21002_RT_SRC_EA_MASK ((uint8_t) 0x40) 598 #define FXAS21002_RT_SRC_EA_SHIFT ((uint8_t) 6) 604 #define FXAS21002_RT_SRC_X_RT_POL_POS ((uint8_t) 0x00) 605 #define FXAS21002_RT_SRC_X_RT_POL_NEG ((uint8_t) 0x01) 606 #define FXAS21002_RT_SRC_XRT_LOWER ((uint8_t) 0x00) 607 #define FXAS21002_RT_SRC_XRT_GREATER ((uint8_t) 0x02) 608 #define FXAS21002_RT_SRC_Y_RT_POL_POS ((uint8_t) 0x00) 609 #define FXAS21002_RT_SRC_Y_RT_POL_NEG ((uint8_t) 0x04) 610 #define FXAS21002_RT_SRC_YRT_LOWER ((uint8_t) 0x00) 611 #define FXAS21002_RT_SRC_YRT_GREATER ((uint8_t) 0x08) 612 #define FXAS21002_RT_SRC_Z_RT_POL_POS ((uint8_t) 0x00) 613 #define FXAS21002_RT_SRC_Z_RT_POL_NEG ((uint8_t) 0x10) 614 #define FXAS21002_RT_SRC_ZRT_LOWER ((uint8_t) 0x00) 615 #define FXAS21002_RT_SRC_ZRT_GREATER ((uint8_t) 0x20) 616 #define FXAS21002_RT_SRC_EA_NOEVENT ((uint8_t) 0x00) 617 #define FXAS21002_RT_SRC_EA_EVENT ((uint8_t) 0x40) 645 #define FXAS21002_RT_THS_THS_MASK ((uint8_t) 0x7F) 646 #define FXAS21002_RT_THS_THS_SHIFT ((uint8_t) 0) 648 #define FXAS21002_RT_THS_DBCNTM_MASK ((uint8_t) 0x80) 649 #define FXAS21002_RT_THS_DBCNTM_SHIFT ((uint8_t) 7) 655 #define FXAS21002_RT_THS_DBCNTM_CLEAR ((uint8_t) 0x80) 657 #define FXAS21002_RT_THS_DBCNTM_DECREMENT ((uint8_t) 0x00) 707 #define FXAS21002_CTRL_REG1_MODE_MASK ((uint8_t) 0x03) 708 #define FXAS21002_CTRL_REG1_MODE_SHIFT ((uint8_t) 0) 710 #define FXAS21002_CTRL_REG1_DR_MASK ((uint8_t) 0x1C) 711 #define FXAS21002_CTRL_REG1_DR_SHIFT ((uint8_t) 2) 713 #define FXAS21002_CTRL_REG1_ST_MASK ((uint8_t) 0x20) 714 #define FXAS21002_CTRL_REG1_ST_SHIFT ((uint8_t) 5) 716 #define FXAS21002_CTRL_REG1_RST_MASK ((uint8_t) 0x40) 717 #define FXAS21002_CTRL_REG1_RST_SHIFT ((uint8_t) 6) 723 #define FXAS21002_CTRL_REG1_MODE_STANDBY ((uint8_t) 0x00) 725 #define FXAS21002_CTRL_REG1_MODE_READY ((uint8_t) 0x01) 728 #define FXAS21002_CTRL_REG1_MODE_ACTIVE ((uint8_t) 0x02) 730 #define FXAS21002_CTRL_REG1_DR_800HZ ((uint8_t) 0x00) 731 #define FXAS21002_CTRL_REG1_DR_400HZ ((uint8_t) 0x04) 732 #define FXAS21002_CTRL_REG1_DR_200HZ ((uint8_t) 0x08) 733 #define FXAS21002_CTRL_REG1_DR_100HZ ((uint8_t) 0x0c) 734 #define FXAS21002_CTRL_REG1_DR_50HZ ((uint8_t) 0x10) 735 #define FXAS21002_CTRL_REG1_DR_25HZ ((uint8_t) 0x14) 736 #define FXAS21002_CTRL_REG1_DR_12_5HZ ((uint8_t) 0x18) 737 #define FXAS21002_CTRL_REG1_ST_ENABLE ((uint8_t) 0x20) 738 #define FXAS21002_CTRL_REG1_ST_DISABLE ((uint8_t) 0x00) 739 #define FXAS21002_CTRL_REG1_RST_TRIGGER ((uint8_t) 0x40) 740 #define FXAS21002_CTRL_REG1_RST_NOTTRIGGERED ((uint8_t) 0x00) 777 #define FXAS21002_CTRL_REG2_PP_OD_MASK ((uint8_t) 0x01) 778 #define FXAS21002_CTRL_REG2_PP_OD_SHIFT ((uint8_t) 0) 780 #define FXAS21002_CTRL_REG2_IPOL_MASK ((uint8_t) 0x02) 781 #define FXAS21002_CTRL_REG2_IPOL_SHIFT ((uint8_t) 1) 783 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_MASK ((uint8_t) 0x04) 784 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_SHIFT ((uint8_t) 2) 786 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_MASK ((uint8_t) 0x08) 787 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_SHIFT ((uint8_t) 3) 789 #define FXAS21002_CTRL_REG2_INT_EN_RT_MASK ((uint8_t) 0x10) 790 #define FXAS21002_CTRL_REG2_INT_EN_RT_SHIFT ((uint8_t) 4) 792 #define FXAS21002_CTRL_REG2_INT_CFG_RT_MASK ((uint8_t) 0x20) 793 #define FXAS21002_CTRL_REG2_INT_CFG_RT_SHIFT ((uint8_t) 5) 795 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_MASK ((uint8_t) 0x40) 796 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_SHIFT ((uint8_t) 6) 798 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_MASK ((uint8_t) 0x80) 799 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_SHIFT ((uint8_t) 7) 805 #define FXAS21002_CTRL_REG2_PP_OD_PUSHPULL ((uint8_t) 0x00) 806 #define FXAS21002_CTRL_REG2_PP_OD_OPENDRAIN ((uint8_t) 0x01) 807 #define FXAS21002_CTRL_REG2_IPOL_ACTIVE_LOW ((uint8_t) 0x00) 808 #define FXAS21002_CTRL_REG2_IPOL_ACTIVE_HIGH ((uint8_t) 0x02) 809 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_ENABLE ((uint8_t) 0x04) 810 #define FXAS21002_CTRL_REG2_INT_EN_DRDY_DISABLE ((uint8_t) 0x00) 811 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_INT2 ((uint8_t) 0x00) 812 #define FXAS21002_CTRL_REG2_INT_CFG_DRDY_INT1 ((uint8_t) 0x08) 813 #define FXAS21002_CTRL_REG2_INT_EN_RT_ENABLE ((uint8_t) 0x10) 814 #define FXAS21002_CTRL_REG2_INT_EN_RT_DISABLE ((uint8_t) 0x00) 815 #define FXAS21002_CTRL_REG2_INT_CFG_RT_INT2 ((uint8_t) 0x00) 816 #define FXAS21002_CTRL_REG2_INT_CFG_RT_INT1 ((uint8_t) 0x20) 817 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_ENABLE ((uint8_t) 0x40) 818 #define FXAS21002_CTRL_REG2_INT_EN_FIFO_DISABLE ((uint8_t) 0x00) 819 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_INT2 ((uint8_t) 0x00) 820 #define FXAS21002_CTRL_REG2_INT_CFG_FIFO_INT1 ((uint8_t) 0x80) 849 #define FXAS21002_CTRL_REG3_FS_DOUBLE_MASK ((uint8_t) 0x01) 850 #define FXAS21002_CTRL_REG3_FS_DOUBLE_SHIFT ((uint8_t) 0) 852 #define FXAS21002_CTRL_REG3_EXTCTRLEN_MASK ((uint8_t) 0x04) 853 #define FXAS21002_CTRL_REG3_EXTCTRLEN_SHIFT ((uint8_t) 2) 855 #define FXAS21002_CTRL_REG3_WRAPTOONE_MASK ((uint8_t) 0x08) 856 #define FXAS21002_CTRL_REG3_WRAPTOONE_SHIFT ((uint8_t) 3) 862 #define FXAS21002_CTRL_REG3_FS_DOUBLE_ENABLE ((uint8_t) 0x01) 864 #define FXAS21002_CTRL_REG3_FS_DOUBLE_DISABLE ((uint8_t) 0x00) 867 #define FXAS21002_CTRL_REG3_EXTCTRLEN_INT2 ((uint8_t) 0x00) 869 #define FXAS21002_CTRL_REG3_EXTCTRLEN_POWER_CONTROL ((uint8_t) 0x04) 871 #define FXAS21002_CTRL_REG3_WRAPTOONE_ROLL_STATUS ((uint8_t) 0x00) 874 #define FXAS21002_CTRL_REG3_WRAPTOONE_ROLL_DATA ((uint8_t) 0x08)
uint8_t FXAS21002_OUT_X_LSB_t
uint8_t FXAS21002_OUT_X_MSB_t
uint8_t FXAS21002_OUT_Y_LSB_t
uint8_t FXAS21002_STATUS_t
uint8_t FXAS21002_OUT_Z_MSB_t
uint8_t FXAS21002_OUT_Z_LSB_t
uint8_t FXAS21002_RT_COUNT_t
uint8_t FXAS21002_OUT_Y_MSB_t