MW22-02A/APP/Device/Device_angle/angle_poweroffsave.h

71 lines
2.0 KiB
C

#ifndef __PTZ_POWER_OFF_H_
#define __PTZ_POWER_OFF_H_
//#include "gd32f4xx_gpio.h"
#include "ptz_struct.h"
//L6235D涡轮蜗杆重型云台
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
//L6235D蜗轮蜗杆中型云台AS5047D
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
//直齿轻型云台
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
//L6235D涡轮蜗杆超轻型云台
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
//步进电机
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_12V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_DRV8711_AS5047D_24V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_TMC2160_AS5047D_24V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
#ifdef PTZ_MEDIUM_WORM_STEP_TMC2160_AS5047D_24V
#define PTZ_POWER_DOWN_INC 0.2 //电压降低的量(伏)
#endif
#define PTZ_MB85RC64_ADD_A 0x0000//掉电存储地址A
#define PTZ_MB85RC64_ADD_B 0x0400//掉电存储地址B
#define PTZ_POWER_OFF_DATA_SAVE_NUM 2//最多存储的次数
#define PTZ_POWER_OFF_DATA_READ_NUM 2//最多存储的次数
//#define PTZ_POWER_OFF_ADC_MANY 1
#define PTZ_POWER_OFF_ADC_SINGLE 2
typedef struct _PowerOffData_
{
PtzAs5047D hori_as5047d;
PtzAs5047D vert_as5047d;
float hori_angle;
float vert_angle;
float power_down_offset_anle;
unsigned short int num;//编号,数字越大,表示存储的数据越新,主要用于判断最后一次保存的数据
float crc;
}PowerOffData;
void init_power_off_module(void);
char ptz_power_off_data_read();
char ptz_power_off_data_erase(unsigned short int add);
char ptz_power_off_data_save(unsigned short int add);
#endif