MW22-02A/APP/Service/service_selfcheck.h

115 lines
3.0 KiB
C

#ifndef __PTZ_SELF_CHECK_H_
#define __PTZ_SELF_CHECK_H_
#include "ptz_struct.h"
///全范围自检开始
#define PTZ_HORI_SELF_CHECK_COMPLETE_STEP 0
///自检数据保存
#define PTZ_HORI_SELF_CHECK_DATA_SAVE 100
///简易自检开始
#define PTZ_HORI_SELF_CHECK_SIMPLIFY_STEP 150
///全范围自检开始
#define PTZ_VERT_SELF_CHECK_COMPLETE_STEP 0
///自检数据保存
#define PTZ_VERT_SELF_CHECK_DATA_SAVE 100
///简易自检开始
#define PTZ_VERT_SELF_CHECK_SIMPLIFY_STEP 150
///云台自检结束
#define PTZ_HORI_SELF_CHECK_END 255
#define PTZ_VERT_SELF_CHECK_END 255
#define SELF_CHECK_DATA_FLASH_ADD 0x00860000 //自检参数存储地址
#define SELF_CHECK_DATA_BACKUP_FLASH_ADD 0x00870000 //自检参数备份存储地址
#define SELF_CHECK_DATA_SAVE_FLASH_NUM 3 //自检参数保存次数
#define SELF_CHECK_DATA_READ_FLASH_NUM 3 //自检参数读取次数
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.8
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 1.5
#endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.0
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 0.5
#endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 2.1//1.5//1.8//1.8
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 0.3//0.25//0.3//0.4
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 0.8
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 0.8
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.5
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 1.5
#endif
//步进电机
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_12V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.5
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 1.5
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_24V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.5
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 1.5
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_TMC2160_AS5047D_24V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.5
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 1.5
#endif
//中型步进电机
#ifdef PTZ_MEDIUM_WORM_STEP_TMC2160_AS5047D_24V
///水平自检最大转速
#define PTZ_HORI_SELF_CHECK_SPEED 1.2
///垂直自检最大转速
#define PTZ_VERT_SELF_CHECK_SPEED 0.8
#endif
///云台自检参数需要保存和读取的部分
typedef struct _PtzSelfCheckData_
{
PtzAs5047D hori_as5047d;
PtzAs5047D vert_as5047d;
PtzAngleParameter hori_angleP;
PtzAngleParameter vert_angleP;
float hori_angle_error;//水平结构误差
unsigned int crc;//效验码
}PtzSelfCheckData;
void init_self_check_module(void);
char ptz_self_check_data_save();
char ptz_self_check_data_read();
char ptz_self_check_data_erase();
unsigned int ptz_self_check_data_crc(PtzSelfCheckData data);
#endif