MW22-02A/APP/Common/ptz_struct.h

657 lines
26 KiB
C
Raw Normal View History

2025-05-21 01:55:40 +00:00
#ifndef __PTZ_STRUCT_H_
#define __PTZ_STRUCT_H_
#include "sock_utils.h"
#include "ptz_type_select.h"
#include "tmc2160.h"
#include "rotate_electricstable.h"
2025-05-23 06:23:50 +00:00
///ע<><D7A2>
///_set<65><74>ʾʵ<CABE><CAB5><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>_actual<61><6C>ʾʵ<CABE>ʲ<EFBFBD><CAB2><EFBFBD>,_state<74><65>ʾ״̬
///_last<73><74>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>εIJ<CEB5><C4B2><EFBFBD><EFBFBD><EFBFBD>_plan<61><6E>ʾ<EFBFBD><EFBFBD><E6BBAE><EFBFBD><EFBFBD>,_num<75><6D>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_count<6E><74>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
///_control<6F><6C>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
typedef struct _PtzRotatePlan_
{
2025-05-23 06:23:50 +00:00
float max_speed;//<2F><><EFBFBD>ת<EFBFBD><D7AA>
float start_angle;//<2F><>ʼ<EFBFBD><CABC>
float stop_angle;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float stop_near_angle;//ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float stop_far_angle; //ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>
float stop_angle_range;//ɲ<><C9B2><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>stop_near_angle<6C><65>stop_far_angle֮<65><D6AE>ľ<EFBFBD><C4BE>Ծ<EFBFBD><D4BE><EFBFBD>
float accelerate_end_angle;//<2F><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD>
float decelerate_start_angle;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
char direction;//<2F><><EFBFBD><EFBFBD>
float accelerate_angle_range;//<2F><>ʼ<EFBFBD><CABC>ͼ<EFBFBD><CDBC>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
float decelerate_angle_range;//<2F><><EFBFBD>ٵ<EFBFBD><D9B5>ֹͣλ<D6B9><CEBB>֮<EFBFBD><D6AE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
float uniform_angle_range; //<2F><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
float total_rotate_range; //<2F><>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD><EFBFBD>ܵľ<DCB5><C4BE><EFBFBD>
char rotate_switch; //ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>1<EFBFBD><31>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>Ҫת<D2AA><D7AA>
2025-05-21 01:55:40 +00:00
}PtzRotatePlan;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD>ǶȲ<C7B6><C8B2><EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzAngleParameter_
{
2025-05-23 06:23:50 +00:00
float angle_min;//<2F><>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>Сֵ
float angle_max;//<2F><>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>ֵ
float angle_allow_min;//<2F><>̨<EFBFBD><CCA8><EFBFBD>ýǶ<C3BD><C7B6><EFBFBD>Сֵ
float angle_allow_max;//<2F><>̨<EFBFBD><CCA8><EFBFBD>ýǶ<C3BD><C7B6><EFBFBD><EFBFBD>ֵ
float angle_range;//<2F><>̨<EFBFBD>Ƕȷ<C7B6>Χ
2025-05-21 01:55:40 +00:00
}PtzAngleParameter;
typedef struct _CameraLens_
{
unsigned char foucs_state; //״̬
unsigned char zoom_state; //״̬
2025-05-23 06:23:50 +00:00
float focus_v;//<2F>۽<EFBFBD><DBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
float focus_v_bit;//<2F>۽<EFBFBD><DBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹԤ<D1B9><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
unsigned char focus_g; //<2F>۽<EFBFBD><DBBD>ٶȵȼ<C8B5>
unsigned char focus_pwm_on;//PWM<57><4D><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ms
unsigned char focus_pwm_off;//PWM<57>ر<EFBFBD>ʱ<EFBFBD><CAB1>ms
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
float zoom_v;//<2F><EFBFBD><E4B1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
float zoom_v_bit;//<2F><EFBFBD><E4B1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹԤ<D1B9><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
unsigned char zoom_g;//<2F><EFBFBD>ٶȵȼ<C8B5>
unsigned char zoom_pwm_on;//PWM<57><4D><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ms
unsigned char zoom_pwm_off;//PWM<57>ر<EFBFBD>ʱ<EFBFBD><CAB1>ms
2025-05-21 01:55:40 +00:00
}CameraLens;
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_FOCUS_OFF 0//<2F>۽<EFBFBD><DBBD><EFBFBD>
#define CAMERA_LES_FOCUS_INC 1//<2F>۽<EFBFBD><DBBD><EFBFBD>
#define CAMERA_LES_FOCUS_RED 2//<2F>۽<EFBFBD><DBBD><EFBFBD>
#define CAMERA_LES_FOCUS_BIT 3//<2F>۽<EFBFBD>Ԥ<EFBFBD><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
#define CAMERA_LES_FOCUS_STOP 4//<2F>۽<EFBFBD>ͣ
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_ZOOM_OFF 0//<2F><EFBFBD><E4B1B6>
#define CAMERA_LES_ZOOM_INC 1//<2F><EFBFBD><E4B1B6>
#define CAMERA_LES_ZOOM_RED 2//<2F><EFBFBD><E4B1B6>
#define CAMERA_LES_ZOOM_BIT 3//<2F>䱶Ԥ<E4B1B6><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
#define CAMERA_LES_ZOOM_STOP 4//<2F>䱶ͣ
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_FOCUS_FV_MAX 3.3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>ֵV
#define CAMERA_LES_FOCUS_FV_MIN 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>СֵV
#define CAMERA_LES_FOCUS_FV_BIT 0.06 //Ԥ<><D4A4>λĿ<CEBB><C4BF><EFBFBD>ѹ<EFBFBD><D1B9>ʵ<EFBFBD>ʵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ֵ
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_ZOOM_FV_MAX 3.3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>ֵV
#define CAMERA_LES_ZOOM_FV_MIN 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>СֵV
#define CAMERA_LES_ZOOM_FV_BIT 0.06 //Ԥ<><D4A4>λĿ<CEBB><C4BF><EFBFBD>ѹ<EFBFBD><D1B9>ʵ<EFBFBD>ʵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ֵ
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_FOCUS_T 20 //PWM<57><4D><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ms
#define CAMERA_LES_ZOOM_T 20 //PWM<57><4D><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ms
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
#define CAMERA_LES_V_NUM 5 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzAs5047D_
{
2025-05-23 06:23:50 +00:00
///as5047d<37><64>̨<EFBFBD><CCA8>׼λ<D7BC>ó<EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_init_angle;
2025-05-23 06:23:50 +00:00
///as5047d<37>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_max;
2025-05-23 06:23:50 +00:00
///<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǶȻ<C7B6><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕȶ<C7B6>Ӧ<EFBFBD><D3A6>һ<EFBFBD>κ<EFBFBD><CEBA><EFBFBD>б<EFBFBD><D0B1>K
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_K;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6><C8B5>˲<EFBFBD><CBB2>Ƕȵ<C7B6>ǰֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_wf_actual;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6><C8B5>˲<EFBFBD><CBB2>Ƕ<EFBFBD><C7B6><EFBFBD>һ<EFBFBD>ε<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_wf_last;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6>ǰʵ<C7B0><CAB5>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_actual;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶ<C4BD><C7B6><EFBFBD>һ<EFBFBD><D2BB>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_ptz_angle_last;
2025-05-23 06:23:50 +00:00
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>Ӧ<EFBFBD>Ĵű<C4B4><C5B1><EFBFBD>Ӧ<EFBFBD><D3A6>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ܽǶȣ<C7B6>
2025-05-21 01:55:40 +00:00
///as5047d_ptz_angle_max = as5047d_cycle_num * 360 + as5047d_remain_angle
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
2025-05-21 01:55:40 +00:00
float as5047d_remain_angle;
2025-05-23 06:23:50 +00:00
///as5047dת<64><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
int as5047d_cycle_num;
2025-05-23 06:23:50 +00:00
///as5047dת<64><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>һȦ<D2BB>Ӽ<EFBFBD>1
2025-05-21 01:55:40 +00:00
int as5047d_cycle_count;
int as5047d_cycle_count_last;
//int as5047d_cycle_count_last_last;
2025-05-23 06:23:50 +00:00
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_angle_actual;
2025-05-23 06:23:50 +00:00
///as5047d<37><64>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
char as5047d_dir;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
//unsigned int as5047d_read_error_count;
2025-05-23 06:23:50 +00:00
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_angle_last;
2025-05-23 06:23:50 +00:00
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ<EFBFBD>IJ<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_angle_difference;
2025-05-23 06:23:50 +00:00
///as5047d<37><64>״̬,0<><30><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD> 0xff<66><66><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
char as5047d_state;
2025-05-23 06:23:50 +00:00
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD>,0 <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
char as5047d_data_reset;
2025-05-23 06:23:50 +00:00
///<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
///as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
float as5047d_speed_actual;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>a
2025-05-21 01:55:40 +00:00
float as5047d_speed_angle_a;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD>Ƕ<EFBFBD>b
2025-05-21 01:55:40 +00:00
float as5047d_speed_angle_b;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><62><D6AE>IJ<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_speed_angle_c;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><62><D6AE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>β<EFBFBD>ֵ
2025-05-21 01:55:40 +00:00
float as5047d_speed_angle_c_last;
unsigned int time_now;
unsigned int time_end;
unsigned int time;
}PtzAs5047D;
//typedef struct _PtzJy02a_
//{
2025-05-23 06:23:50 +00:00
// ///jy02a<32><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
// unsigned int jy02a_fg_num_actual;
// unsigned int jy02a_fg_num_last;
//}PtzJy02a;
2025-05-23 06:23:50 +00:00
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬL6235D
2025-05-21 01:55:40 +00:00
typedef struct _PtzL6235d_
{
2025-05-23 06:23:50 +00:00
char l6235d_hall_state_actual;//<2F><>ǰ<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char l6235d_hall_state_last;//<2F><>һ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>״̬
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
unsigned int l6235d_hall_h1_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int l6235d_hall_h2_count;
unsigned int l6235d_hall_h3_count;
2025-05-23 06:23:50 +00:00
unsigned int l6235d_hall_h123_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
//unsigned int l6235d_satae_save_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//char l6235d_hall_state_save[L6235D_HALL_SAVE_NUM];//<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char l6235d_motor_dir_actual;//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5><C4B5>ʵ<EFBFBD><CAB5>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
}PtzL6235d;
2025-05-23 06:23:50 +00:00
///PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzPidValue_
{
2025-05-23 06:23:50 +00:00
char mode;//<2F><><EFBFBD>ٷ<EFBFBD>ʽѡ<CABD><D1A1><30><C4AC>VREF<45><46><EFBFBD>٣<EFBFBD>pid<69><64><EFBFBD>٣<EFBFBD><D9A3><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<57><4D><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4B7B4><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
//ͨ<><CDA8>VREF<45><46><EFBFBD>٣<EFBFBD>PID<49><44><EFBFBD><EFBFBD>
float SumError;//<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD>
double KP;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double TI;//<2F><><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>
double TD;//΢<>ֳ<EFBFBD><D6B3><EFBFBD>
float LastError;//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
float PrevError;//<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
float LastUT_float;//<2F><>һ<EFBFBD><D2BB>PID<49><44><EFBFBD><EFBFBD><EFBFBD>ֵ
float T;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double A;//<2F><><EFBFBD><EFBFBD><EFBFBD>򻯲<EFBFBD><F2BBAFB2><EFBFBD>A<EFBFBD><41>B<EFBFBD><42>C
2025-05-21 01:55:40 +00:00
double B;
double C;
2025-05-23 06:23:50 +00:00
float PidUT_float;//pid<69><64><EFBFBD>ٵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int PidUT_uint;//pid<69><64><EFBFBD>ٵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ֵ,<2C><><EFBFBD><EFBFBD>
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<57><4D><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4B7B4><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>С<EFBFBD><D0A1><EFBFBD>٣<EFBFBD>director<6F><72><EFBFBD><EFBFBD>
unsigned int director_speed_vref;//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ѹ<EFBFBD>ȼ<EFBFBD>
char director_speed_direction;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>ٵķ<D9B5><C4B7><EFBFBD>
unsigned short int director_speed_start_t; //ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short int director_speed_stop_t;//ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short int director_speed_t;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char director_speed_state;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>ٵĹ<D9B5><C4B9><EFBFBD>
unsigned int hall_h1_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hall_h2_count;
unsigned int hall_h3_count;
2025-05-23 06:23:50 +00:00
unsigned int hall_h123_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
unsigned int hall_h1_count_last;//<2F>ϴλ<CFB4><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hall_h2_count_last;
unsigned int hall_h3_count_last;
unsigned int hall_h123_count_last;
2025-05-23 06:23:50 +00:00
unsigned int hall_h1_count_time;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>
2025-05-21 01:55:40 +00:00
unsigned int hall_h2_count_time;
unsigned int hall_h3_count_time;
unsigned int hall_h123_count_time;
2025-05-23 06:23:50 +00:00
unsigned int hall_h1_count_time_s;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʼʱ<CABC><CAB1>
2025-05-21 01:55:40 +00:00
unsigned int hall_h2_count_time_s;
unsigned int hall_h3_count_time_s;
unsigned int hall_h123_count_time_s;
2025-05-23 06:23:50 +00:00
unsigned int hall_h1_count_time_e;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
2025-05-21 01:55:40 +00:00
unsigned int hall_h2_count_time_e;
unsigned int hall_h3_count_time_e;
unsigned int hall_h123_count_time_e;
2025-05-23 06:23:50 +00:00
char hall_h1_start_flag;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD>
char hall_h2_start_flag;//0<><30>û<EFBFBD>յ<EFBFBD><D5B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬1<E5A3AC>Ѿ<EFBFBD><D1BE>յ<EFBFBD><D5B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
char hall_h3_start_flag;
char hall_h123_start_flag;
2025-05-23 06:23:50 +00:00
float hall_h1_motor_speed;//<2F><><EFBFBD><EFBFBD>h1<68><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float hall_h2_motor_speed;//<2F><><EFBFBD><EFBFBD>h2<68><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float hall_h3_motor_speed;//<2F><><EFBFBD><EFBFBD>h3<68><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float hall_h123_motor_speed;//<2F><><EFBFBD><EFBFBD>h3<68><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char roll_start; //<2F><><EFBFBD><EFBFBD><EFBFBD>ʼת<CABC><D7AA><EFBFBD>ı<EFBFBD>־<EFBFBD><D6BE>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>п<EFBFBD>ʼת<CABC><D7AA><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ʼת<CABC><D7AA><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
//char srm;//<2F><><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ֱ<EFBFBD>ߵ<EFBFBD><DFB5>٣<EFBFBD>1<EFBFBD><31>PID<49><44><EFBFBD>١<EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzPidValue;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>ϣ<EFBFBD>1<EFBFBD><31><EFBFBD>ϣ<EFBFBD>0<EFBFBD>޹<EFBFBD><DEB9><EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _FaultDetect_
{
2025-05-23 06:23:50 +00:00
char vert_sw1_fault;//<2F><>ֱSW1<57><31><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
char vert_sw2_fault;//<2F><>ֱSW2<57><32><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char hori_rotate_fault;//ˮƽת<C6BD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char vert_rotate_fault;//<2F><>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char hori_hall_fault;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char vert_hall_fault;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char temperature_fault;//<2F><EFBFBD><C2B6>
char h_ntc_temp_fault;//<2F><EFBFBD><C2B6>
char v_ntc_temp_fault;//<2F><EFBFBD><C2B6>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char voltage_fault;//<2F><>ѹ<EFBFBD>
char electric_current_fault;//<2F><><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char Phase_curr_V;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char Phase_curr_H;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char fault;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>־<EFBFBD><D6BE>ֻҪ<D6BB>й<EFBFBD><D0B9>Ͼ<EFBFBD><CFBE><EFBFBD>Ϊ1
2025-05-21 01:55:40 +00:00
}FaultDetect;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Դ
2025-05-21 01:55:40 +00:00
typedef struct _AuxSwitchPower_
{
char aux_switch_1;
char aux_switch_2;
char aux_switch_3;
char aux_switch_4;
2025-05-23 06:23:50 +00:00
char crc;
2025-05-21 01:55:40 +00:00
}AuxSwitchPower;
2025-05-23 06:23:50 +00:00
///<2F><>̨0λƫ<CEBB>ƽǶ<C6BD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzZeroOffsetAngle_
{
2025-05-23 06:23:50 +00:00
float offset_anle;//<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
float hori_zero_offset_angle;//<2F><>̨ˮƽƫ<C6BD>ƽǶ<C6BD>
float vert_zero_offset_angle;//<2F><>̨ˮƽƫ<C6BD>ƽǶ<C6BD>
char hori_offset_switch;//ˮƽƫ<C6BD>ƿ<EFBFBD><C6BF>أ<EFBFBD>1<EFBFBD><31>ƫ<EFBFBD>ƣ<EFBFBD>0<EFBFBD>رգ<D8B1><32><C6AB><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ƫ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
char vert_offset_switch;//<2F><>ֱƫ<D6B1>ƿ<EFBFBD><C6BF>أ<EFBFBD>1<EFBFBD><31>ƫ<EFBFBD>ƣ<EFBFBD>0<EFBFBD>رգ<D8B1><32><C6AB><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ƫ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
unsigned int crc;//Ч<><D0A7><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzZeroOffsetAngle;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>Զ˿ڣ<CBBF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>UDP<44><50><EFBFBD><EFBFBD>ԴIP<49><50>ַ<EFBFBD><D6B7>ԴMACַ<43><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򱣴<EFBFBD><F2B1A3B4>ָ<EFBFBD><D6B8><EFBFBD>Ķ˿ں<CBBF>IP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
2025-05-21 01:55:40 +00:00
typedef struct _PtzDebug_
{
2025-05-23 06:23:50 +00:00
char open_switch;//<2F>Ƿ<EFBFBD>򿪷<EFBFBD><F2BFAAB7><EFBFBD>
struct sockaddr_in data_from;//IP<49>Ͷ˿<CDB6>
socklen_t data_fromlen;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzDebug;
2025-05-23 06:23:50 +00:00
///<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ
2025-05-21 01:55:40 +00:00
typedef struct _Ptzprintf_
{
2025-05-23 06:23:50 +00:00
char net_udp_printf_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char uart_422_printf_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char uart_485_printf_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
struct sockaddr_in printf_from;//IP<49>Ͷ˿<CDB6>
socklen_t printf_fromlen;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}Ptzprintf;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD>Ƕȶ<C7B6>λ<EFBFBD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzAngleLocation_
{
2025-05-23 06:23:50 +00:00
char net_udp_location_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char uart_422_location_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char uart_485_location_switch;//<2F>Ƿ<EFBFBD>򿪣<EFBFBD>1<EFBFBD>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
struct sockaddr_in hori_cmd_from;//IP<49>Ͷ˿<CDB6>
socklen_t hori_cmd_fromlen;//<2F><><EFBFBD><EFBFBD>
char hori_cmd;//1<>յ<EFBFBD>ˮƽ<CBAE>Ƕȿ<C7B6><C8BF><EFBFBD>ָ<EFBFBD><D6B8>,0δ<30>յ<EFBFBD>ˮƽ<CBAE>Ƕȿ<C7B6><C8BF><EFBFBD>ָ<EFBFBD><D6B8>
unsigned char hori_angle[7];//<2F><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ˮƽ<CBAE>Ƕ<EFBFBD>ָ<EFBFBD><D6B8>
struct sockaddr_in vert_cmd_from;//IP<49>Ͷ˿<CDB6>
socklen_t vert_cmd_fromlen;//<2F><><EFBFBD><EFBFBD>
char vert_cmd;//1<>յ<EFBFBD><D5B5><EFBFBD>ֱ<EFBFBD>Ƕȿ<C7B6><C8BF><EFBFBD>ָ<EFBFBD><D6B8>,0δ<30>յ<EFBFBD><D5B5><EFBFBD>ֱ<EFBFBD>Ƕȿ<C7B6><C8BF><EFBFBD>ָ<EFBFBD><D6B8>
unsigned char vert_angle[7];//<2F><EFBFBD>յ<EFBFBD><D5B5>Ĵ<EFBFBD>ֱ<EFBFBD>Ƕ<EFBFBD>ָ<EFBFBD><D6B8>
2025-05-21 01:55:40 +00:00
}PtzAngleLocation;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ɨ<EFBFBD>裬ɨ<E8A3AC><C9A8>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>赽λ<E8B5BD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzAreaScanEnd_
{
2025-05-23 06:23:50 +00:00
char area_scan_end_udp_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char area_scan_end_uart_422_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char area_scan_end_uart_485_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
//char area_scan_cmd;//<2F>Ƿ<EFBFBD><C7B7>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char area_step_scan_location_udp_switch;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD>赽λ<E8B5BD>ش<EFBFBD>
char area_step_scan_location_uart_422_switch;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD>赽λ<E8B5BD>ش<EFBFBD>
char area_step_scan_location_uart_485_switch;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD>赽λ<E8B5BD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
struct sockaddr_in area_scan_end_from;//IP<49>Ͷ˿<CDB6>
socklen_t area_scan_end_fromlen;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
struct sockaddr_in area_step_scan_location_from;//IP<49>Ͷ˿<CDB6>
socklen_t area_step_scan_location_fromlen;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzAreaScanEnd;
2025-05-23 06:23:50 +00:00
///<2F><>̨Ԥ<CCA8><D4A4>λ<EFBFBD><CEBB>λ<EFBFBD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
typedef struct _PtzPresetBit_
{
2025-05-23 06:23:50 +00:00
//Ԥ<><D4A4>λɨ<CEBB><C9A8><EFBFBD><EFBFBD><EFBFBD>
char preset_bit_scan_end_udp_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_scan_end_uart_422_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_scan_end_uart_485_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
//Ԥ<><D4A4>λɨ<CEBB><EFBFBD><E8B5BD>Ԥ<EFBFBD><D4A4>λ
char preset_bit_scan_location_udp_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_scan_location_uart_422_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_scan_location_uart_485_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
//<2F><>ͨԤ<CDA8><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
char preset_bit_location_udp_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_location_uart_422_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_location_uart_485_switch;//<2F>Ƿ<EFBFBD><C7B7>,1<>򿪣<EFBFBD>0<EFBFBD>ر<EFBFBD>
char preset_bit_location_num;//<2F><>λ<EFBFBD><CEBB>Ԥ<EFBFBD><D4A4>λ<EFBFBD><CEBB><EFBFBD>
char preset_bit_location_cmd;//1<>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>λָ<CEBB>2<EEA3AC><32><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>λˮƽλ<C6BD>û<EFBFBD>ֱλ<D6B1>ã<EFBFBD><33><D4A4>λˮƽλ<C6BD>úʹ<C3BA>ֱλ<D6B1>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>0û<30><C3BB><EFBFBD>յ<EFBFBD>Ԥ<EFBFBD><D4A4>λָ<CEBB><D6B8>
char preset_bit_location_cmd_source;//ָ<><D6B8><EFBFBD><EFBFBD>Դ
struct sockaddr_in preset_bit_scan_end_from;//IP<49>Ͷ˿<CDB6>
socklen_t preset_bit_scan_end_fromlen;//<2F><><EFBFBD><EFBFBD>
struct sockaddr_in preset_bit_scan_location_from;//IP<49>Ͷ˿<CDB6>
socklen_t preset_bit_scan_location_fromlen;//<2F><><EFBFBD><EFBFBD>
struct sockaddr_in preset_bit_location_from;//IP<49>Ͷ˿<CDB6>
socklen_t preset_bit_location_fromlen;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzPresetBit;
2025-05-23 06:23:50 +00:00
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Դ
2025-05-21 01:55:40 +00:00
typedef struct _PtzCmdSave_
{
unsigned char cmd_data[7];
2025-05-23 06:23:50 +00:00
struct sockaddr_in cmd_from;//IP<49>Ͷ˿<CDB6>
socklen_t cmd_fromlen;//<2F><><EFBFBD><EFBFBD>
char cmd_data_flag; //ָ<><EFBFBD><EEB1A3><EFBFBD>־<EFBFBD><D6BE>1<EFBFBD><31>ʾ<EFBFBD><CABE><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>ݣ<EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><CABE>û<EFBFBD>н<EFBFBD><D0BD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char cmd_data_udp_flag;//UDPָ<50><EFBFBD><EEB1A3><EFBFBD>־<EFBFBD><D6BE>1<EFBFBD><31>ʾ<EFBFBD><CABE><EFBFBD>չ<EFBFBD>UDP<44><50><EFBFBD>ݣ<EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><CABE>û<EFBFBD>н<EFBFBD><D0BD>չ<EFBFBD>UDP<44><50><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
char cmd_dev;//ָ<><D6B8><EFBFBD><EFBFBD>Դͨ<D4B4><CDA8><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
}PtzCmdSave;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2>̨<EFBFBD><CCA8>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>״̬
2025-05-21 01:55:40 +00:00
///
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2>̨<EFBFBD><CCA8>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>״̬
2025-05-21 01:55:40 +00:00
typedef struct _PtzState_
{
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ַ
2025-05-21 01:55:40 +00:00
unsigned char address;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
int uart_422_baud;
int uart_485_baud;
2025-05-23 06:23:50 +00:00
/**********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>********************/
2025-05-21 01:55:40 +00:00
#ifdef PTZ_BLDC_MOTOR
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬl6235d
2025-05-21 01:55:40 +00:00
PtzL6235d hori_l6235d;
PtzL6235d vert_l6235d;
#endif
#ifdef PTZ_STEP_MOTOR
#ifdef DRV8711
Drv8711Control hori_drv8711;
Drv8711Control vert_drv8711;
#endif
#ifdef TMC2160
TMC2160Control hori_tmc2160;
TMC2160Control vert_tmc2160;
#endif
2025-05-23 06:23:50 +00:00
char hori_dec_mode;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>٣<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>
char vert_dec_mode;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>٣<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
#endif
2025-05-23 06:23:50 +00:00
/*************************ˮƽת<C6BD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************/
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>,<2C><>ͬ<EFBFBD><CDAC>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>ͬ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ģʽ<C4A3><CABD>Ϊ0ʱ<30><CAB1>ʾ<EFBFBD>ر<EFBFBD>
///1 <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA> <20><>2 <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> 3<>Ƕȶ<C7B6>λ<EFBFBD><CEBB>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD>Ƕȣ<C7B6><C8A3><EFBFBD>4 ֹͣת<D6B9><D7AA>
2025-05-21 01:55:40 +00:00
char hori_rotate_monitor_switch;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽ<CBAE>Ƕ<EFBFBD>
2025-05-21 01:55:40 +00:00
float hori_angle_set;
float hori_angle_actual;
2025-05-23 06:23:50 +00:00
float hori_angle_actual_a;//ʵ<>ʽǶ<CABD>
2025-05-21 01:55:40 +00:00
float hori_angle_last;
float hori_angle_control;
2025-05-23 06:23:50 +00:00
float hori_angle_right_inc_control;//<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>,<2C>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>
float hori_angle_left_inc_control;//<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>
///<2F><>̨ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD>ͣ
2025-05-21 01:55:40 +00:00
char hori_start_stop_set;
char hori_start_stop_actual;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽת<C6BD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
char hori_direction_set;
char hori_direction_actual;
char hori_direction_last;
char hori_direction_control;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽת<C6BD><D7AA>
2025-05-21 01:55:40 +00:00
float hori_speed_set;
float hori_speed_actual;
float hori_speed_control;
2025-05-23 06:23:50 +00:00
float hori_speed_as5047d_actual;//<2F><><EFBFBD>ݴű<DDB4><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
float hori_speed_jy02a_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
float hori_speed_hall_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
///<2F><>̨ˮƽ<CBAE><C6BD><EFBFBD>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
float hori_motor_speed_set;
float hori_motor_speed_actual;
2025-05-23 06:23:50 +00:00
float hori_motor_speed_as5047d_actual;//<2F><><EFBFBD>ݴű<DDB4><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float hori_motor_speed_jy02a_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float hori_motor_speed_hall_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
/*************************<2A><>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************/
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
2025-05-21 01:55:40 +00:00
char vert_rotate_monitor_switch;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Ƕ<EFBFBD>
2025-05-21 01:55:40 +00:00
float vert_angle_set;
2025-05-23 06:23:50 +00:00
float vert_angle_actual;//ʵ<>ʽǶ<CABD>
float vert_angle_actual_a;//ʵ<>ʽǶ<CABD>
2025-05-21 01:55:40 +00:00
float vert_angle_last;
float vert_angle_control;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ͣ
2025-05-21 01:55:40 +00:00
char vert_start_stop_set;
char vert_start_stop_actual;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
char vert_direction_set;
char vert_direction_actual;
char vert_direction_last;
char vert_direction_control;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA>
2025-05-21 01:55:40 +00:00
float vert_speed_set;
float vert_speed_actual;
float vert_speed_control;
2025-05-23 06:23:50 +00:00
float vert_speed_as5047d_actual;//<2F><><EFBFBD>ݴű<DDB4><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
float vert_speed_jy02a_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
float vert_speed_hall_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<CCA8><D7AA>
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD>ת<EFBFBD><D7AA>
2025-05-21 01:55:40 +00:00
float vert_motor_speed_set;
float vert_motor_speed_actual;
2025-05-23 06:23:50 +00:00
float vert_motor_speed_as5047d_actual;//<2F><><EFBFBD>ݴű<DDB4><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float vert_motor_speed_jy02a_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
float vert_motor_speed_hall_actual;//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ת<EFBFBD><D7AA>
///<2F><>̨PID<49><44><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzPidValue vert_pid;
PtzPidValue hori_pid;
2025-05-23 06:23:50 +00:00
/**********************λ<>ü<EFBFBD><EFBFBD><E2BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>********************/
2025-05-21 01:55:40 +00:00
#ifdef PTZ_PHOTOELECTRIC_SWITCH
2025-05-23 06:23:50 +00:00
///ˮƽ<CBAE><C6BD>Ƭ״̬,<2C>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>δ<EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
2025-05-21 01:55:40 +00:00
char hori_ps_sw3_state;
2025-05-23 06:23:50 +00:00
///ˮƽ<CBAE><C6BD>Ƭ<EFBFBD><C6AC>ת<EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>жϣ<D0B6>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hori_ps_sw3_right_fall;
2025-05-23 06:23:50 +00:00
///ˮƽ<CBAE><C6BD>Ƭ<EFBFBD><C6AC>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hori_ps_sw3_right_rise;
2025-05-23 06:23:50 +00:00
///ˮƽ<CBAE><C6BD>Ƭ<EFBFBD><C6AC>ת<EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>жϣ<D0B6>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hori_ps_sw3_left_fall;
2025-05-23 06:23:50 +00:00
///ˮƽ<CBAE><C6BD>Ƭ<EFBFBD><C6AC>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int hori_ps_sw3_left_rise;
2025-05-23 06:23:50 +00:00
///<2F><>ֱ<EFBFBD><D6B1>Ƭ״̬,<2C>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>δ<EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
2025-05-21 01:55:40 +00:00
char vert_ps_sw1_state;
char vert_ps_sw2_state;
unsigned int vert_ps_sw1_down_fall;
unsigned int vert_ps_sw1_up_rise;
unsigned int vert_ps_sw2_up_fall;
unsigned int vert_ps_sw2_down_rise;
#endif
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽת<C6BD><D7AA><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzRotatePlan hori_rotate_plan;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzRotatePlan vert_rotate_plan;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽ<CBAE>Լ<EFBFBD><D4BC>־,255<35><35>ʾ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned char hori_self_check;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>,255<35><35>ʾ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned char vert_self_check;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽ<CBAE>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAs5047D hori_as5047d;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAs5047D vert_as5047d;
2025-05-23 06:23:50 +00:00
///<2F><>̨ˮƽ<CBAE>Ƕȷ<C7B6>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAngleParameter hori_angleP;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Ƕȷ<C7B6>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAngleParameter vert_angleP;
2025-05-23 06:23:50 +00:00
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>Ƿ񵽴<C7B7>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB>
char hori_arrive_flag;//1<><31><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8>λ<EFBFBD>ã<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB>
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>Ƿ񵽴<C7B7>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB>
char vert_arrive_flag;//1<><31><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8>λ<EFBFBD>ã<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
///<2F>ظ<EFBFBD><D8B8><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
char hori_repeat_locate_switch;//0<><30><EFBFBD><EFBFBD>Ҫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>λ<EFBFBD><CEBB>1<EFBFBD><31>Ҫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>λ
///<2F>ظ<EFBFBD><D8B8><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
char vert_repeat_locate_switch;//0<><30><EFBFBD><EFBFBD>Ҫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>λ<EFBFBD><CEBB>1<EFBFBD><31>Ҫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>λ
2025-05-21 01:55:40 +00:00
/******************************************/
2025-05-23 06:23:50 +00:00
/*<2A>¶ȡ<C2B6><C8A1><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
float H_boad_temp;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float V_boad_temp;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
float temperature;
float Voltage;
float electric_current;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD>ϼ<EFBFBD><CFBC>
2025-05-21 01:55:40 +00:00
FaultDetect fault_detect;
2025-05-23 06:23:50 +00:00
///ָ<><D6B8>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
char cmd_reply_switch;//1<>ظ<EFBFBD><D8B8>򿪣<EFBFBD>0<EFBFBD>ظ<EFBFBD><D8B8>ر<EFBFBD>
2025-05-21 01:55:40 +00:00
#ifdef PTZ_ELECTRIC_STABLE_L6235D
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
ElectricStable hori_electric_stable;
ElectricStable vert_electric_stable;
#endif
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD>ֵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
AuxSwitchPower power;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ָ<EFBFBD><D6B8>
2025-05-21 01:55:40 +00:00
PtzCmdSave cmd_save;
2025-05-23 06:23:50 +00:00
///<2F>Ƕ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzZeroOffsetAngle offset_angle;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>Զ˿<D4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
PtzDebug debug_data;
2025-05-23 06:23:50 +00:00
///<2F>Ƕȶ<C7B6>λ<EFBFBD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAngleLocation location_return;
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
PtzAreaScanEnd area_scan_return;
2025-05-23 06:23:50 +00:00
///Ԥ<><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ش<EFBFBD>
2025-05-21 01:55:40 +00:00
PtzPresetBit preset_bit_return;
2025-05-23 06:23:50 +00:00
//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>
2025-05-21 01:55:40 +00:00
Ptzprintf ptz_printf;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
2025-05-21 01:55:40 +00:00
unsigned char ptz_motor_relay_state;
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>Լ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡ״̬
unsigned char no_self_check_state; //0<><30>ȡ<EFBFBD><C8A1>̨λ<CCA8>ò<EFBFBD><C3B2><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>1<EFBFBD><31>ȡλ<C8A1><CEBB><EFBFBD><EFBFBD><EFBFBD>ݳɹ<DDB3><C9B9><EFBFBD>2<EFBFBD><32>ȡ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ݳɹ<DDB3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
///<2F><>̨<EFBFBD><CCA8><EFBFBD>Լ<EFBFBD>ǿ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char no_self_check_force_save; //0<><30>ǿ<EFBFBD>Ʊ<EFBFBD><C6B1>棬1ǿ<31>Ʊ<EFBFBD><C6B1><EFBFBD>
///ǿ<><C7BF>ɾ<EFBFBD><C9BE>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char no_self_check_force_erase; //0<><30>ǿ<EFBFBD><C7BF>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>1ǿ<31><C7BF>ɾ<EFBFBD><C9BE>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
///Ԥ<><D4A4><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><E6BFAA>
char cmd_before_handle_swtich;//1<><31>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD>棻0<E6A3BB>ر<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEB9A6>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
CameraLens cameralens;
2025-05-23 06:23:50 +00:00
// PtzWorkTime time;//<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ʱ
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
unsigned char hori_angle_state;//<2F>Ƕ<EFBFBD>״̬<D7B4><CCAC>0<EFBFBD><30><EFBFBD>ϣ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
unsigned char vert_angle_state;//<2F>Ƕ<EFBFBD>״̬<D7B4><CCAC>0<EFBFBD><30><EFBFBD>ϣ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
unsigned char hori_angle_erro_switch;//ˮƽ<CBAE>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ڽǶ<DABD>ģ<EFBFBD><C4A3><EFBFBD>У<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD>رգ<D8B1>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
float hori_angle_error;//<2F>洢ˮƽ<CBAE><EFBFBD><E1B9B9><EFBFBD>
2025-05-21 01:55:40 +00:00
2025-05-23 06:23:50 +00:00
/***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***/
//<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣ͳ<ECB3A3><CDB3>
2025-05-21 01:55:40 +00:00
unsigned int hori_jia;//++
unsigned int hori_jian;//--
2025-05-23 06:23:50 +00:00
unsigned int hori_cuowu;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int vert_jia;//++
unsigned int vert_jian;//--
2025-05-23 06:23:50 +00:00
unsigned int vert_cuowu;//<2F><><EFBFBD><EFBFBD>
2025-05-21 01:55:40 +00:00
unsigned int vert_stop_num;
}PtzState;
extern PtzState g_ptz;
typedef struct _cycle_count_
{
float intit;
float actual;
int count;
}cycle_count;
#endif