#pragma once

#ifdef __cplusplus
extern "C" {
#endif

#define DEVICE_OK (0)
#define DEVICE_ERR (-1)
#define DEVICE_ERR_NULL (-2)
#define DEVICE_ERR_INITED (-3)
#define DEVICE_ERR_NO_DEV (-4)

/*
  SIGNAL是有bit位置区分的，丢�个SIGNAL只能包含丢�个高bit位��1�7
  不同的SIGNAL不能有相同的高bit位��1�7
*/
#define SIGNAL_BMI088_GYRO_NEW_DATA (1u << 0)
#define SIGNAL_BMI088_ACCL_NEW_DATA (1u << 1)
#define SIGNAL_BMI088_GYRO_RAW_REDY (1u << 2)
#define SIGNAL_BMI088_ACCL_RAW_REDY (1u << 3)
#define SIGNAL_BMI088_TEMP_REDY (1u << 4)

#define SIGNAL_CAN_MOTOR_RECV (1u << 4)
#define SIGNAL_CAN_UWB_RECV (1u << 5)
#define SIGNAL_CAN_CAP_RECV (1u << 6)

#define SIGNAL_STOP_PIN_REDY (1u << 7)
#define SIGNAL_NUC_RAW_REDY (1u << 8)
#define SIGNAL_IST8310_MAGN_RAW_REDY (1u << 9)
#define SIGNAL_ACTION_RAW_REDY (1u << 10)
#define SIGNAL_OPSTIMER_REDY  (1u << 11)
#define SIGNAL_R12DS_BUF1_REDY (1u << 12)

#define SIGNAL_DR16_RAW_REDY  (1u <<13)

#define SIGNAL_AI_RAW_REDY (1u << 15)
#define SIGNAL_KEY_REDY (1u << 16)

#ifdef __cplusplus
}
#endif
