115 lines
3.0 KiB
C
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 |