69 lines
1.1 KiB
C
69 lines
1.1 KiB
C
#ifndef ERROR_DETECT_H
|
|
|
|
|
|
#define ERROR_DETECT_H
|
|
|
|
#include "struct_typedef.h"
|
|
|
|
|
|
#define DETECT_TASK_INIT_TIME 57
|
|
#define DETECT_CONTROL_TIME 10
|
|
|
|
enum errorList
|
|
{
|
|
// NUC_TOE =0,
|
|
//
|
|
|
|
// PITCH6020_TOE,
|
|
//
|
|
// YAW26020_TOE,
|
|
// PITCH26020_TOE,
|
|
|
|
BOARD_GYRO_TOE,
|
|
BOARD_ACCEL_TOE,
|
|
IMU_TOE,
|
|
|
|
ERROR_LIST_LENGHT,
|
|
};
|
|
typedef __packed struct
|
|
{
|
|
uint32_t new_time;
|
|
uint32_t last_time;
|
|
uint32_t lost_time;
|
|
uint32_t work_time;
|
|
uint16_t set_offline_time : 12;
|
|
uint16_t set_online_time : 12;
|
|
uint8_t enable : 1;
|
|
uint8_t priority : 4;
|
|
uint8_t error_exist : 1;
|
|
uint8_t is_lost : 1;
|
|
uint8_t data_is_error : 1;
|
|
|
|
fp32 frequency;
|
|
bool_t (*data_is_error_fun)(void);
|
|
void (*solve_lost_fun)(void);
|
|
void (*solve_data_error_fun)(void);
|
|
} error_t;
|
|
|
|
|
|
/**
|
|
* @brief get toe error status
|
|
* @param[in] toe: table of equipment
|
|
* @retval true (eror) or false (no error)
|
|
*/
|
|
extern bool_t toe_is_error(uint8_t err);
|
|
|
|
|
|
/**
|
|
* @brief record the time
|
|
* @param[in] toe: table of equipment
|
|
* @retval none
|
|
*/
|
|
extern void detect_hook(uint8_t toe);
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|