/* Includes ------------------------------------------------------------------*/ #include "lsm6ds3tr-c_reg.h" #include "nrf_delay.h" #include "SEGGER_RTT.h" #include #include typedef enum{ LSM_DEV_FRONT = 0, LSM_DEV_CENTER = 1 }lsm_device_t; typedef enum{ LSM_STATE_ACC_QMC_FIFO_MODE = 0, LSM_STATE_GRY_ACC_QMC_FIFO_MODE = 1, LSM_STATE_ACC_MODE = 2, LSM_STATE_ILLEGAL_MODE = 3 }lsm_mode_t; /* API ------------------------------------------------------------------*/ int32_t lsm6ds3tr_c_switch_read_sensor_hub_cx(lsm_device_t dex_num, uint8_t device_addr, uint8_t reg, uint8_t* data,uint16_t len); int32_t lsm6ds3_c_switch_write_sensor_hub_cx(lsm_device_t dex_num, uint8_t device_addr, uint8_t reg, uint8_t* data); int lsm6ds3tr_c_init(lsm_device_t dex_num); void lsm6ds3tr_c_standby_power_acc_mode_config(lsm_device_t dex_num); void lsm6ds3tr_c_standby_power_acc_mode_start(lsm_device_t dex_num); void lsm6ds3tr_c_standby_power_acc_read(lsm_device_t dex_num, int16_t *acc); int16_t lsm6ds3tr_c_fifo_mode_read_group_num(lsm_device_t dex_num, lsm_mode_t fifo_mode); void lsm6ds3tr_c_acc_sensor_hub_qmc6310_fifo_with_timestamp_mode_config(lsm_device_t dex_num); void lsm6ds3tr_c_acc_sensor_hub_qmc6310_fifo_with_timestamp_mode_start(lsm_device_t dex_num); int lsm6ds3tr_c_acc_sensor_hub_qmc6310_fifo_with_timestamp_read(lsm_device_t dex_num, int16_t *acc, int16_t *mag, int32_t *timestamp, int16_t group_num); void lsm6ds3tr_c_gry_acc_sensor_hub_qmc6310_fifo_with_timestamp_mode_config(lsm_device_t dex_num); void lsm6ds3tr_c_gry_acc_sensor_hub_qmc6310_fifo_with_timestamp_mode_start(lsm_device_t dex_num); int lsm6ds3tr_c_gry_acc_sensor_hub_qmc6310_fifo_with_timestamp_read(lsm_device_t dex_num, int16_t *gry, int16_t *acc, int16_t *mag, int32_t *timestamp, int16_t group_num); void lsm6ds3tr_c_get_mode_stat(lsm_device_t dex_num, uint8_t *stat); void lsm6ds3tr_c_powerdown_mode(lsm_device_t dex_num); void lsm6ds3tr_c_suspend_mode(lsm_device_t dex_num);