newPtz/drivers/statusmonitor.h

95 lines
2.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _STATUSMONITOR_H_
#define _STATUSMONITOR_H_
#include "gd32f4xx.h"
#include "drv_adc.h"
#include "mb85rc64.h"
typedef struct _PtzAs5047D_
{
///as5047d云台基准位置初始角度值
float as5047d_ptz_init_angle;
///as5047d角度相对于云台角度最大值
float as5047d_ptz_angle_max;
///磁编码器角度换算成云台角度对应的一次函数斜率K
float as5047d_ptz_angle_K;
///as5047d相对于云台的角度的滤波角度当前值
float as5047d_ptz_angle_wf_actual;
///as5047d相对于云台的角度的滤波角度上一次的值
float as5047d_ptz_angle_wf_last;
///as5047d相对于云台的角度当前实际值
float as5047d_ptz_angle_actual;
///as5047d相对于云台的角度上一次值
float as5047d_ptz_angle_last;
///云台转动范围对应的磁编码应当转动的总角度:
///as5047d_ptz_angle_max = as5047d_cycle_num * 360 + as5047d_remain_angle
///as5047d除开转动的整圈数外多出的不满足整圈的度数
float as5047d_remain_angle;
///as5047d转动的整圈数的数值
int as5047d_cycle_num;
///as5047d转动的整圈数计数转动一圈加减1
int as5047d_cycle_count;
int as5047d_cycle_count_last;
//int as5047d_cycle_count_last_last;
///as5047d采集到的实时角度值
float as5047d_angle_actual;
///as5047d的转向
char as5047d_dir;
///as5047d的数据读错次数
//unsigned int as5047d_read_error_count;
///as5047d采集到的上一次实时角度值
float as5047d_angle_last;
///as5047d采集到的实时角度值与上一次实时角度值的差值
float as5047d_angle_difference;
///as5047d的状态,0处于自检初始化1 数据能够正常使用, 0xff故障
char as5047d_state;
///as5047d的数据是否全部清除,0 不需要清除, 1清除数据
char as5047d_data_reset;
///磁编码器测转速
///as5047d磁编码器转速
float as5047d_speed_actual;
///测试as5047d磁编码器转速起始角度a
float as5047d_speed_angle_a;
///测试as5047d磁编码器转速结束角度b
float as5047d_speed_angle_b;
///测试as5047d磁编码器转速起始角度a、结束角度b之间的差值
float as5047d_speed_angle_c;
///测试as5047d磁编码器转速起始角度a、结束角度b之间的上一次差值
float as5047d_speed_angle_c_last;
unsigned int time_now;
unsigned int time_end;
unsigned int time;
}PtzAs5047D;
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;