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

657 lines
26 KiB
C
Raw Permalink 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 __PTZ_STRUCT_H_
#define __PTZ_STRUCT_H_
#include "sock_utils.h"
#include "ptz_type_select.h"
#include "tmc2160.h"
#include "rotate_electricstable.h"
///ע<><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>ֵ
typedef struct _PtzRotatePlan_
{
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>
}PtzRotatePlan;
///<2F><>̨<EFBFBD>ǶȲ<C7B6><C8B2><EFBFBD>
typedef struct _PtzAngleParameter_
{
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>Χ
}PtzAngleParameter;
typedef struct _CameraLens_
{
unsigned char foucs_state; //״̬
unsigned char zoom_state; //״̬
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
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
}CameraLens;
#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>ͣ
#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>䱶ͣ
#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>ֵ
#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>ֵ
#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
#define CAMERA_LES_V_NUM 5 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
typedef struct _PtzAs5047D_
{
///as5047d<37><64>̨<EFBFBD><CCA8>׼λ<D7BC>ó<EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>ֵ
float as5047d_ptz_init_angle;
///as5047d<37>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>ֵ
float as5047d_ptz_angle_max;
///<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǶȻ<C7B6><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>Ƕȶ<C7B6>Ӧ<EFBFBD><D3A6>һ<EFBFBD>κ<EFBFBD><CEBA><EFBFBD>б<EFBFBD><D0B1>K
float as5047d_ptz_angle_K;
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6><C8B5>˲<EFBFBD><CBB2>Ƕȵ<C7B6>ǰֵ
float as5047d_ptz_angle_wf_actual;
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6><C8B5>˲<EFBFBD><CBB2>Ƕ<EFBFBD><C7B6><EFBFBD>һ<EFBFBD>ε<EFBFBD>ֵ
float as5047d_ptz_angle_wf_last;
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶȵ<C7B6>ǰʵ<C7B0><CAB5>ֵ
float as5047d_ptz_angle_actual;
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>ĽǶ<C4BD><C7B6><EFBFBD>һ<EFBFBD><D2BB>ֵ
float as5047d_ptz_angle_last;
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>Ӧ<EFBFBD>Ĵű<C4B4><C5B1><EFBFBD>Ӧ<EFBFBD><D3A6>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ܽǶȣ<C7B6>
///as5047d_ptz_angle_max = as5047d_cycle_num * 360 + as5047d_remain_angle
///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>
float as5047d_remain_angle;
///as5047dת<64><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
int as5047d_cycle_num;
///as5047dת<64><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>һȦ<D2BB>Ӽ<EFBFBD>1
int as5047d_cycle_count;
int as5047d_cycle_count_last;
//int as5047d_cycle_count_last_last;
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ
float as5047d_angle_actual;
///as5047d<37><64>ת<EFBFBD><D7AA>
char as5047d_dir;
///as5047d<37><64><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//unsigned int as5047d_read_error_count;
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ
float as5047d_angle_last;
///as5047d<37>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ʵʱ<CAB5>Ƕ<EFBFBD>ֵ<EFBFBD>IJ<EFBFBD>ֵ
float as5047d_angle_difference;
///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>
char as5047d_state;
///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>
char as5047d_data_reset;
///<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
///as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
float as5047d_speed_actual;
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>a
float as5047d_speed_angle_a;
///<2F><><EFBFBD><EFBFBD>as5047d<37>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD>Ƕ<EFBFBD>b
float as5047d_speed_angle_b;
///<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>ֵ
float as5047d_speed_angle_c;
///<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>ֵ
float as5047d_speed_angle_c_last;
unsigned int time_now;
unsigned int time_end;
unsigned int time;
}PtzAs5047D;
//typedef struct _PtzJy02a_
//{
// ///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>
// unsigned int jy02a_fg_num_actual;
// unsigned int jy02a_fg_num_last;
//}PtzJy02a;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬL6235D
typedef struct _PtzL6235d_
{
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>״̬
unsigned int l6235d_hall_h1_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int l6235d_hall_h2_count;
unsigned int l6235d_hall_h3_count;
unsigned int l6235d_hall_h123_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//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>
char l6235d_motor_dir_actual;//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵĵ<CFB5><C4B5>ʵ<EFBFBD><CAB5>ת<EFBFBD><D7AA>
}PtzL6235d;
///PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
typedef struct _PtzPidValue_
{
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
double B;
double C;
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>
unsigned int hall_h2_count;
unsigned int hall_h3_count;
unsigned int hall_h123_count;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int hall_h1_count_last;//<2F>ϴλ<CFB4><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int hall_h2_count_last;
unsigned int hall_h3_count_last;
unsigned int hall_h123_count_last;
unsigned int hall_h1_count_time;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>
unsigned int hall_h2_count_time;
unsigned int hall_h3_count_time;
unsigned int hall_h123_count_time;
unsigned int hall_h1_count_time_s;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʼʱ<CABC><CAB1>
unsigned int hall_h2_count_time_s;
unsigned int hall_h3_count_time_s;
unsigned int hall_h123_count_time_s;
unsigned int hall_h1_count_time_e;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int hall_h2_count_time_e;
unsigned int hall_h3_count_time_e;
unsigned int hall_h123_count_time_e;
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>
char hall_h3_start_flag;
char hall_h123_start_flag;
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>
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>
//char srm;//<2F><><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ֱ<EFBFBD>ߵ<EFBFBD><DFB5>٣<EFBFBD>1<EFBFBD><31>PID<49><44><EFBFBD>١<EFBFBD>
}PtzPidValue;
///<2F><>̨<EFBFBD><CCA8><EFBFBD>ϣ<EFBFBD>1<EFBFBD><31><EFBFBD>ϣ<EFBFBD>0<EFBFBD>޹<EFBFBD><DEB9><EFBFBD>
typedef struct _FaultDetect_
{
char vert_sw1_fault;//<2F><>ֱSW1<57><31><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
char vert_sw2_fault;//<2F><>ֱSW2<57><32><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
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>
char temperature_fault;//<2F><EFBFBD><C2B6>
char h_ntc_temp_fault;//<2F><EFBFBD><C2B6>
char v_ntc_temp_fault;//<2F><EFBFBD><C2B6>
char voltage_fault;//<2F><>ѹ<EFBFBD>
char electric_current_fault;//<2F><><EFBFBD><EFBFBD><EFBFBD>
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>
char fault;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>־<EFBFBD><D6BE>ֻҪ<D6BB>й<EFBFBD><D0B9>Ͼ<EFBFBD><CFBE><EFBFBD>Ϊ1
}FaultDetect;
///<2F><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Դ
typedef struct _AuxSwitchPower_
{
char aux_switch_1;
char aux_switch_2;
char aux_switch_3;
char aux_switch_4;
char crc;
}AuxSwitchPower;
///<2F><>̨0λƫ<CEBB>ƽǶ<C6BD>
typedef struct _PtzZeroOffsetAngle_
{
float offset_anle;//<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
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>
}PtzZeroOffsetAngle;
///<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>Ϣ
typedef struct _PtzDebug_
{
char open_switch;//<2F>Ƿ<EFBFBD>򿪷<EFBFBD><F2BFAAB7><EFBFBD>
struct sockaddr_in data_from;//IP<49>Ͷ˿<CDB6>
socklen_t data_fromlen;//<2F><><EFBFBD><EFBFBD>
}PtzDebug;
///<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ
typedef struct _Ptzprintf_
{
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>
struct sockaddr_in printf_from;//IP<49>Ͷ˿<CDB6>
socklen_t printf_fromlen;//<2F><><EFBFBD><EFBFBD>
}Ptzprintf;
///<2F><>̨<EFBFBD>Ƕȶ<C7B6>λ<EFBFBD>ش<EFBFBD>
typedef struct _PtzAngleLocation_
{
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>
}PtzAngleLocation;
///<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>
typedef struct _PtzAreaScanEnd_
{
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>
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>
struct sockaddr_in area_scan_end_from;//IP<49>Ͷ˿<CDB6>
socklen_t area_scan_end_fromlen;//<2F><><EFBFBD><EFBFBD>
struct sockaddr_in area_step_scan_location_from;//IP<49>Ͷ˿<CDB6>
socklen_t area_step_scan_location_fromlen;//<2F><><EFBFBD><EFBFBD>
}PtzAreaScanEnd;
///<2F><>̨Ԥ<CCA8><D4A4>λ<EFBFBD><CEBB>λ<EFBFBD>ش<EFBFBD>
typedef struct _PtzPresetBit_
{
//Ԥ<><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>
}PtzPresetBit;
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Դ
typedef struct _PtzCmdSave_
{
unsigned char cmd_data[7];
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>
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>
char cmd_dev;//ָ<><D6B8><EFBFBD><EFBFBD>Դͨ<D4B4><CDA8><EFBFBD><EFBFBD>
}PtzCmdSave;
///<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2>̨<EFBFBD><CCA8>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>״̬
///
///<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2>̨<EFBFBD><CCA8>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>״̬
typedef struct _PtzState_
{
///<2F><>̨<EFBFBD><CCA8>ַ
unsigned char address;
///<2F><>̨<EFBFBD><CCA8><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
int uart_422_baud;
int uart_485_baud;
/**********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>********************/
#ifdef PTZ_BLDC_MOTOR
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬl6235d
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
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>
#endif
/*************************ˮƽת<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>
char hori_rotate_monitor_switch;
///<2F><>̨ˮƽ<CBAE>Ƕ<EFBFBD>
float hori_angle_set;
float hori_angle_actual;
float hori_angle_actual_a;//ʵ<>ʽǶ<CABD>
float hori_angle_last;
float hori_angle_control;
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>ͣ
char hori_start_stop_set;
char hori_start_stop_actual;
///<2F><>̨ˮƽת<C6BD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char hori_direction_set;
char hori_direction_actual;
char hori_direction_last;
char hori_direction_control;
///<2F><>̨ˮƽת<C6BD><D7AA>
float hori_speed_set;
float hori_speed_actual;
float hori_speed_control;
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>
float hori_motor_speed_set;
float hori_motor_speed_actual;
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>
/*************************<2A><>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************/
///<2F><>̨ת<CCA8><D7AA><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
char vert_rotate_monitor_switch;
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Ƕ<EFBFBD>
float vert_angle_set;
float vert_angle_actual;//ʵ<>ʽǶ<CABD>
float vert_angle_actual_a;//ʵ<>ʽǶ<CABD>
float vert_angle_last;
float vert_angle_control;
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ͣ
char vert_start_stop_set;
char vert_start_stop_actual;
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char vert_direction_set;
char vert_direction_actual;
char vert_direction_last;
char vert_direction_control;
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA>
float vert_speed_set;
float vert_speed_actual;
float vert_speed_control;
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>
float vert_motor_speed_set;
float vert_motor_speed_actual;
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>
PtzPidValue vert_pid;
PtzPidValue hori_pid;
/**********************λ<>ü<EFBFBD><EFBFBD><E2BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>********************/
#ifdef PTZ_PHOTOELECTRIC_SWITCH
///ˮƽ<CBAE><C6BD>Ƭ״̬,<2C>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>δ<EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
char hori_ps_sw3_state;
///ˮƽ<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>
unsigned int hori_ps_sw3_right_fall;
///ˮƽ<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>
unsigned int hori_ps_sw3_right_rise;
///ˮƽ<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>
unsigned int hori_ps_sw3_left_fall;
///ˮƽ<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>
unsigned int hori_ps_sw3_left_rise;
///<2F><>ֱ<EFBFBD><D6B1>Ƭ״̬,<2C>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>δ<EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
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
///<2F><>̨ˮƽת<C6BD><D7AA><EFBFBD>
PtzRotatePlan hori_rotate_plan;
///<2F><>̨<EFBFBD><CCA8>ֱת<D6B1><D7AA><EFBFBD>
PtzRotatePlan vert_rotate_plan;
///<2F><>̨ˮƽ<CBAE>Լ<EFBFBD><D4BC>־,255<35><35>ʾ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
unsigned char hori_self_check;
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>,255<35><35>ʾ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
unsigned char vert_self_check;
///<2F><>̨ˮƽ<CBAE>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>
PtzAs5047D hori_as5047d;
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>
PtzAs5047D vert_as5047d;
///<2F><>̨ˮƽ<CBAE>Ƕȷ<C7B6>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>
PtzAngleParameter hori_angleP;
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD>Ƕȷ<C7B6>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>
PtzAngleParameter vert_angleP;
///<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>
///<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>λ
/******************************************/
/*<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>
float temperature;
float Voltage;
float electric_current;
///<2F><><EFBFBD>ϼ<EFBFBD><CFBC>
FaultDetect fault_detect;
///ָ<><D6B8>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
char cmd_reply_switch;//1<>ظ<EFBFBD><D8B8>򿪣<EFBFBD>0<EFBFBD>ظ<EFBFBD><D8B8>ر<EFBFBD>
#ifdef PTZ_ELECTRIC_STABLE_L6235D
///<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ElectricStable hori_electric_stable;
ElectricStable vert_electric_stable;
#endif
///<2F><><EFBFBD>ֵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
AuxSwitchPower power;
///<2F><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ָ<EFBFBD><D6B8>
PtzCmdSave cmd_save;
///<2F>Ƕ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
PtzZeroOffsetAngle offset_angle;
///<2F><>̨<EFBFBD><CCA8><EFBFBD>Զ˿<D4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>
PtzDebug debug_data;
///<2F>Ƕȶ<C7B6>λ<EFBFBD>ش<EFBFBD>
PtzAngleLocation location_return;
///<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
PtzAreaScanEnd area_scan_return;
///Ԥ<><D4A4>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ش<EFBFBD>
PtzPresetBit preset_bit_return;
//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>
Ptzprintf ptz_printf;
///<2F><>̨<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
unsigned char ptz_motor_relay_state;
///<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>
///<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>
///Ԥ<><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>
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
CameraLens cameralens;
// PtzWorkTime time;//<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ʱ
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>
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>
float hori_angle_error;//<2F>洢ˮƽ<CBAE><EFBFBD><E1B9B9><EFBFBD>
/***<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***/
//<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣ͳ<ECB3A3><CDB3>
unsigned int hori_jia;//++
unsigned int hori_jian;//--
unsigned int hori_cuowu;//<2F><><EFBFBD><EFBFBD>
unsigned int vert_jia;//++
unsigned int vert_jian;//--
unsigned int vert_cuowu;//<2F><><EFBFBD><EFBFBD>
unsigned int vert_stop_num;
}PtzState;
extern PtzState g_ptz;
typedef struct _cycle_count_
{
float intit;
float actual;
int count;
}cycle_count;
#endif