#ifndef __PTZ_STRUCT_H_ #define __PTZ_STRUCT_H_ #include "sock_utils.h" #include "ptz_type_select.h" #include "tmc2160.h" #include "rotate_electricstable.h" ///ע�� ///_set��ʾʵ���趨�IJ�����_actual��ʾʵ�ʲ���,_state��ʾ״̬ ///_last��ʾ������һ�εIJ�����_plan��ʾ�滮����,_num��ʾ������_count��ʾ���� ///_control��ʾ����ֵ typedef struct _PtzRotatePlan_ { float max_speed;//���ת�� float start_angle;//��ʼ�� float stop_angle;//������ float stop_near_angle;//ɲ������� float stop_far_angle; //ɲ����Զ�� float stop_angle_range;//ɲ����Χ����stop_near_angle��stop_far_angle֮��ľ��Ծ��� float accelerate_end_angle;//���ٽ����� float decelerate_start_angle;//������ʼ�� char direction;//���� float accelerate_angle_range;//��ʼ��ͼ��ٽ�����֮��ľ������ֵ float decelerate_angle_range;//���ٵ��ֹͣλ��֮��ľ������ֵ float uniform_angle_range; //�����˶��ľ������ֵ float total_rotate_range; //��Ҫת�����ܵľ��� char rotate_switch; //ת�����أ�1��Ҫת����0����Ҫת�� }PtzRotatePlan; ///��̨�ǶȲ��� typedef struct _PtzAngleParameter_ { float angle_min;//��̨�Ƕ���Сֵ float angle_max;//��̨�Ƕ����ֵ float angle_allow_min;//��̨���ýǶ���Сֵ float angle_allow_max;//��̨���ýǶ����ֵ float angle_range;//��̨�Ƕȷ�Χ }PtzAngleParameter; typedef struct _CameraLens_ { unsigned char foucs_state; //״̬ unsigned char zoom_state; //״̬ float focus_v;//�۽�������ѹ float focus_v_bit;//�۽�������ѹԤ��λ���� unsigned char focus_g; //�۽��ٶȵȼ� unsigned char focus_pwm_on;//PWM����ʱ��ms unsigned char focus_pwm_off;//PWM�ر�ʱ��ms float zoom_v;//�䱶������ѹ float zoom_v_bit;//�䱶������ѹԤ��λ���� unsigned char zoom_g;//�䱶�ٶȵȼ� unsigned char zoom_pwm_on;//PWM����ʱ��ms unsigned char zoom_pwm_off;//PWM�ر�ʱ��ms }CameraLens; #define CAMERA_LES_FOCUS_OFF 0//�۽��� #define CAMERA_LES_FOCUS_INC 1//�۽��� #define CAMERA_LES_FOCUS_RED 2//�۽��� #define CAMERA_LES_FOCUS_BIT 3//�۽�Ԥ��λ���� #define CAMERA_LES_FOCUS_STOP 4//�۽�ͣ #define CAMERA_LES_ZOOM_OFF 0//�䱶�� #define CAMERA_LES_ZOOM_INC 1//�䱶�� #define CAMERA_LES_ZOOM_RED 2//�䱶�� #define CAMERA_LES_ZOOM_BIT 3//�䱶Ԥ��λ���� #define CAMERA_LES_ZOOM_STOP 4//�䱶ͣ #define CAMERA_LES_FOCUS_FV_MAX 3.3 //������ѹ���ֵV #define CAMERA_LES_FOCUS_FV_MIN 0 //������ѹ��СֵV #define CAMERA_LES_FOCUS_FV_BIT 0.06 //Ԥ��λĿ���ѹ��ʵ�ʵ�ѹ������С��ֵ #define CAMERA_LES_ZOOM_FV_MAX 3.3 //������ѹ���ֵV #define CAMERA_LES_ZOOM_FV_MIN 0 //������ѹ��СֵV #define CAMERA_LES_ZOOM_FV_BIT 0.06 //Ԥ��λĿ���ѹ��ʵ�ʵ�ѹ������С��ֵ #define CAMERA_LES_FOCUS_T 20 //PWM���ٵ��������ms #define CAMERA_LES_ZOOM_T 20 //PWM���ٵ��������ms #define CAMERA_LES_V_NUM 5 //������ѹ�ɼ����� 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����ת������Ȧ���⣬����IJ�������Ȧ�Ķ��� 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�ɼ�����ʵʱ�Ƕ�ֵ����һ��ʵʱ�Ƕ�ֵ�IJ�ֵ 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֮��IJ�ֵ 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 _PtzJy02a_ //{ // ///jy02a�������оƬ���ص�����������Ҫ�Ǽ�����ת�� // unsigned int jy02a_fg_num_actual; // unsigned int jy02a_fg_num_last; //}PtzJy02a; //�������оƬL6235D typedef struct _PtzL6235d_ { char l6235d_hall_state_actual;//��ǰ�Ļ���״̬������ǰ�յ������ĸ��������� char l6235d_hall_state_last;//��һ�λ���״̬ unsigned int l6235d_hall_h1_count;//�������� unsigned int l6235d_hall_h2_count; unsigned int l6235d_hall_h3_count; unsigned int l6235d_hall_h123_count;//�������� //unsigned int l6235d_satae_save_count;//�����洢�������� //char l6235d_hall_state_save[L6235D_HALL_SAVE_NUM];//����״̬���� char l6235d_motor_dir_actual;//ͨ�������жϵĵ��ʵ��ת�� }PtzL6235d; ///PID�������в��� typedef struct _PtzPidValue_ { char mode;//���ٷ�ʽѡ��0Ĭ��VREF���٣�pid���٣���1������ɲ������PWM�����ı䷴�����ش�С����(ɲ������) //ͨ��VREF���٣�PID���� float SumError;//�ۼ���� double KP;//�������� double TI;//���ֳ��� double TD;//΢�ֳ��� float LastError;//��һ������ƫ�� float PrevError;//���ϴ�����ƫ�� float LastUT_float;//��һ��PID�����ֵ float T;//�������� double A;//�����򻯲���A��B��C double B; double C; float PidUT_float;//pid���ٵ�ǰ���ֵ�������� unsigned int PidUT_uint;//pid���ٵ�ǰ���ֵ,���� //ͨ����������PWM�����ı䷴�����ش�С���٣�director���� unsigned int director_speed_vref;//����ģ���ѹ�ȼ� char director_speed_direction;//�������ص��ٵķ��� unsigned short int director_speed_start_t; //ɲ��������� unsigned short int director_speed_stop_t;//ɲ������ unsigned short int director_speed_t;//������ unsigned char director_speed_state;//�������ص��ٵĹ��� unsigned int hall_h1_count;//�������� unsigned int hall_h2_count; unsigned int hall_h3_count; unsigned int hall_h123_count;//�������� unsigned int hall_h1_count_last;//�ϴλ������� unsigned int hall_h2_count_last; unsigned int hall_h3_count_last; unsigned int hall_h123_count_last; unsigned int hall_h1_count_time;//������ʱ��ʱ�� 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;//������ʱ��ʼʱ�� 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;//������ʱ����ʱ�� 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;//������ʱ����ʼʱ���� char hall_h2_start_flag;//0��û�յ���һ���������壬1�Ѿ��յ���һ���������� char hall_h3_start_flag; char hall_h123_start_flag; float hall_h1_motor_speed;//����h1����������ĵ��ת�� float hall_h2_motor_speed;//����h2����������ĵ��ת�� float hall_h3_motor_speed;//����h3����������ĵ��ת�� float hall_h123_motor_speed;//����h3����������ĵ��ת�� char roll_start; //�����ʼת���ı�־��0�����û�п�ʼת����1�����ʼת���� //char srm;//���ٷ�����0��ֱ�ߵ��٣�1��PID���١� }PtzPidValue; ///��̨���ϣ�1���ϣ�0�޹��� typedef struct _FaultDetect_ { char vert_sw1_fault;//��ֱSW1���ع��� char vert_sw2_fault;//��ֱSW2���ع��� char hori_rotate_fault;//ˮƽת������ char vert_rotate_fault;//��ֱת������ char hori_hall_fault;//ˮƽ����������� char vert_hall_fault;//��ֱ����������� char temperature_fault;//�¶��쳣 char h_ntc_temp_fault;//�¶��쳣 char v_ntc_temp_fault;//�¶��쳣 char voltage_fault;//��ѹ�쳣 char electric_current_fault;//�����쳣 char Phase_curr_V;//ˮƽ�������� char Phase_curr_H;//��ֱ�������� char fault;//�����ܱ�־��ֻҪ�й��Ͼ���Ϊ1 }FaultDetect; ///�����Դ�����ֵ�Դ���������ص�Դ typedef struct _AuxSwitchPower_ { char aux_switch_1; char aux_switch_2; char aux_switch_3; char aux_switch_4; char crc; }AuxSwitchPower; ///��̨0λƫ�ƽǶ� typedef struct _PtzZeroOffsetAngle_ { float offset_anle;//����ƫ���� float hori_zero_offset_angle;//��̨ˮƽƫ�ƽǶ� float vert_zero_offset_angle;//��̨ˮƽƫ�ƽǶ� char hori_offset_switch;//ˮƽƫ�ƿ��أ�1��ƫ�ƣ�0�رգ�2ƫ�����ݴ洢��ȷ����ƫ�ƿ��� char vert_offset_switch;//��ֱƫ�ƿ��أ�1��ƫ�ƣ�0�رգ�2ƫ�����ݴ洢��ȷ����ƫ�ƿ��� unsigned int crc;//Ч���� }PtzZeroOffsetAngle; ///��̨���Զ˿ڣ������յ���UDP����ԴIP��ַ��ԴMACַ�������򱣴��ָ���Ķ˿ں�IP������Ϣ typedef struct _PtzDebug_ { char open_switch;//�Ƿ�򿪷��� struct sockaddr_in data_from;//IP�Ͷ˿� socklen_t data_fromlen;//���� }PtzDebug; ///��λ�����ڴ�ӡ typedef struct _Ptzprintf_ { char net_udp_printf_switch;//�Ƿ�򿪣�1�򿪣�0�ر� char uart_422_printf_switch;//�Ƿ�򿪣�1�򿪣�0�ر� char uart_485_printf_switch;//�Ƿ�򿪣�1�򿪣�0�ر� struct sockaddr_in printf_from;//IP�Ͷ˿� socklen_t printf_fromlen;//���� }Ptzprintf; ///��̨�Ƕȶ�λ�ش� typedef struct _PtzAngleLocation_ { char net_udp_location_switch;//�Ƿ�򿪣�1�򿪣�0�ر� char uart_422_location_switch;//�Ƿ�򿪣�1�򿪣�0�ر� char uart_485_location_switch;//�Ƿ�򿪣�1�򿪣�0�ر� struct sockaddr_in hori_cmd_from;//IP�Ͷ˿� socklen_t hori_cmd_fromlen;//���� char hori_cmd;//1�յ�ˮƽ�Ƕȿ���ָ��,0δ�յ�ˮƽ�Ƕȿ���ָ�� unsigned char hori_angle[7];//�洢�յ���ˮƽ�Ƕ�ָ�� struct sockaddr_in vert_cmd_from;//IP�Ͷ˿� socklen_t vert_cmd_fromlen;//���� char vert_cmd;//1�յ���ֱ�Ƕȿ���ָ��,0δ�յ���ֱ�Ƕȿ���ָ�� unsigned char vert_angle[7];//�洢�յ��Ĵ�ֱ�Ƕ�ָ�� }PtzAngleLocation; ///��̨����ɨ�裬ɨ��һ�����������ش�������ɨ�赽λ�ش� typedef struct _PtzAreaScanEnd_ { char area_scan_end_udp_switch;//�Ƿ��,1�򿪣�0�ر� char area_scan_end_uart_422_switch;//�Ƿ��,1�򿪣�0�ر� char area_scan_end_uart_485_switch;//�Ƿ��,1�򿪣�0�ر� //char area_scan_cmd;//�Ƿ��յ�����ɨ������ָ�� char area_step_scan_location_udp_switch;//����ɨ�赽λ�ش� char area_step_scan_location_uart_422_switch;//����ɨ�赽λ�ش� char area_step_scan_location_uart_485_switch;//����ɨ�赽λ�ش� struct sockaddr_in area_scan_end_from;//IP�Ͷ˿� socklen_t area_scan_end_fromlen;//���� struct sockaddr_in area_step_scan_location_from;//IP�Ͷ˿� socklen_t area_step_scan_location_fromlen;//���� }PtzAreaScanEnd; ///��̨Ԥ��λ��λ�ش� typedef struct _PtzPresetBit_ { //Ԥ��λɨ����� char preset_bit_scan_end_udp_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_scan_end_uart_422_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_scan_end_uart_485_switch;//�Ƿ��,1�򿪣�0�ر� //Ԥ��λɨ�赽��Ԥ��λ char preset_bit_scan_location_udp_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_scan_location_uart_422_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_scan_location_uart_485_switch;//�Ƿ��,1�򿪣�0�ر� //��ͨԤ��λ���� char preset_bit_location_udp_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_location_uart_422_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_location_uart_485_switch;//�Ƿ��,1�򿪣�0�ر� char preset_bit_location_num;//��λ��Ԥ��λ��� char preset_bit_location_cmd;//1�յ�����Ԥ��λָ�2����Ԥ��λˮƽλ�û�ֱλ�ã�3Ԥ��λˮƽλ�úʹ�ֱλ�ö����0û���յ�Ԥ��λָ�� char preset_bit_location_cmd_source;//ָ����Դ struct sockaddr_in preset_bit_scan_end_from;//IP�Ͷ˿� socklen_t preset_bit_scan_end_fromlen;//���� struct sockaddr_in preset_bit_scan_location_from;//IP�Ͷ˿� socklen_t preset_bit_scan_location_fromlen;//���� struct sockaddr_in preset_bit_location_from;//IP�Ͷ˿� socklen_t preset_bit_location_fromlen;//���� }PtzPresetBit; //����ָ����Դ typedef struct _PtzCmdSave_ { unsigned char cmd_data[7]; struct sockaddr_in cmd_from;//IP�Ͷ˿� socklen_t cmd_fromlen;//���� char cmd_data_flag; //ָ����־��1��ʾ���չ����ݣ�0��ʾ��û�н��չ����� char cmd_data_udp_flag;//UDPָ����־��1��ʾ���չ�UDP���ݣ�0��ʾ��û�н��չ�UDP���� char cmd_dev;//ָ����Դͨ���� }PtzCmdSave; ///���ڴ洢��̨��ǰ�Ĺ���״̬ /// ///���ڴ洢��̨��ǰ�Ĺ���״̬ typedef struct _PtzState_ { ///��̨��ַ unsigned char address; ///��̨���ڲ����� int uart_422_baud; int uart_485_baud; /**********************���������������********************/ #ifdef PTZ_BLDC_MOTOR ///�������оƬ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;//ˮƽ�������ģʽ��0Ϊ�����趨��������ʱ����٣�1����Ĭ��ʱ����� char vert_dec_mode;//��ֱ�������ģʽ��0Ϊ�����趨��������ʱ����٣�1����Ĭ��ʱ����� #endif /*************************ˮƽת������***********************/ ///��̨ת�����ƿ���,��ͬ��ֵ��ʾ��ͬ�Ŀ���ģʽ��Ϊ0ʱ��ʾ�ر� ///1 ����ת�� ��2 ����ת���� 3�Ƕȶ�λ��ת��ָ���Ƕȣ���4 ֹͣת�� char hori_rotate_monitor_switch; ///��̨ˮƽ�Ƕ� float hori_angle_set; float hori_angle_actual; float hori_angle_actual_a;//ʵ�ʽǶ� float hori_angle_last; float hori_angle_control; float hori_angle_right_inc_control;//����ת��,�Ƕ����� float hori_angle_left_inc_control;//����ת�����Ƕ����� ///��̨ˮƽ�����ͣ char hori_start_stop_set; char hori_start_stop_actual; ///��̨ˮƽת������ char hori_direction_set; char hori_direction_actual; char hori_direction_last; char hori_direction_control; ///��̨ˮƽת�� float hori_speed_set; float hori_speed_actual; float hori_speed_control; float hori_speed_as5047d_actual;//���ݴű������������̨ת�� float hori_speed_jy02a_actual;//���ݵ������оƬ�������̨ת�� float hori_speed_hall_actual;//���ݵ�������������������̨ת�� ///��̨ˮƽ���ת�� float hori_motor_speed_set; float hori_motor_speed_actual; float hori_motor_speed_as5047d_actual;//���ݴű���������ĵ��ת�� float hori_motor_speed_jy02a_actual;//���ݵ������оƬ����ĵ��ת�� float hori_motor_speed_hall_actual;//���ݵ����������������ĵ��ת�� /*************************��ֱת������***********************/ ///��̨ת�����ƿ��� char vert_rotate_monitor_switch; ///��̨��ֱ�Ƕ� float vert_angle_set; float vert_angle_actual;//ʵ�ʽǶ� float vert_angle_actual_a;//ʵ�ʽǶ� float vert_angle_last; float vert_angle_control; ///��̨��ֱ�����ͣ char vert_start_stop_set; char vert_start_stop_actual; ///��̨��ֱת������ char vert_direction_set; char vert_direction_actual; char vert_direction_last; char vert_direction_control; ///��̨��ֱת�� float vert_speed_set; float vert_speed_actual; float vert_speed_control; float vert_speed_as5047d_actual;//���ݴű������������̨ת�� float vert_speed_jy02a_actual;//���ݵ������оƬ�������̨ת�� float vert_speed_hall_actual;//���ݵ�������������������̨ת�� ///��̨��ֱ���ת�� float vert_motor_speed_set; float vert_motor_speed_actual; float vert_motor_speed_as5047d_actual;//���ݴű���������ĵ��ת�� float vert_motor_speed_jy02a_actual;//���ݵ������оƬ����ĵ��ת�� float vert_motor_speed_hall_actual;//���ݵ����������������ĵ��ת�� ///��̨PID���ٲ��� PtzPidValue vert_pid; PtzPidValue hori_pid; /**********************λ�ü�⿪������********************/ #ifdef PTZ_PHOTOELECTRIC_SWITCH ///ˮƽ��Ƭ״̬,�ڹ�����͵�ƽ��δ�ڹ�����ߵ�ƽ char hori_ps_sw3_state; ///ˮƽ��Ƭ��ת�½����жϱ�־��1�����½����жϣ�0������ unsigned int hori_ps_sw3_right_fall; ///ˮƽ��Ƭ��ת�������жϱ�־��1�����������жϣ�0������ unsigned int hori_ps_sw3_right_rise; ///ˮƽ��Ƭ��ת�½����жϱ�־��1�����½����жϣ�0������ unsigned int hori_ps_sw3_left_fall; ///ˮƽ��Ƭ��ת�������жϱ�־��1�����������жϣ�0������ unsigned int hori_ps_sw3_left_rise; ///��ֱ��Ƭ״̬,�ڹ�����͵�ƽ��δ�ڹ�����ߵ�ƽ 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 ///��̨ˮƽת���滮 PtzRotatePlan hori_rotate_plan; ///��̨��ֱת���滮 PtzRotatePlan vert_rotate_plan; ///��̨ˮƽ�Լ��־,255��ʾ�Լ���� unsigned char hori_self_check; ///��̨��ֱ�Լ���,255��ʾ�Լ���� unsigned char vert_self_check; ///��̨ˮƽ�ű����� PtzAs5047D hori_as5047d; ///��̨��ֱ�ű����� PtzAs5047D vert_as5047d; ///��̨ˮƽ�Ƕȷ�Χ���� PtzAngleParameter hori_angleP; ///��̨��ֱ�Ƕȷ�Χ���� PtzAngleParameter vert_angleP; ///��̨ת����λ�Ƿ񵽴�ָ��λ�� char hori_arrive_flag;//1����ת��ָ��λ�ã�0����ָ��λ�� ///��̨ת����λ�Ƿ񵽴�ָ��λ�� char vert_arrive_flag;//1����ת��ָ��λ�ã�0����ָ��λ�� ///�ظ���λ���� char hori_repeat_locate_switch;//0����Ҫ�ظ���λ��1��Ҫ�ظ���λ ///�ظ���λ���� char vert_repeat_locate_switch;//0����Ҫ�ظ���λ��1��Ҫ�ظ���λ /******************************************/ /*�¶ȡ���ѹ������*/ float H_boad_temp;//ˮƽ�����������·�����¶� float V_boad_temp;//��ֱ�����������·�����¶� float temperature; float Voltage; float electric_current; ///���ϼ�� FaultDetect fault_detect; ///ָ��ظ����� char cmd_reply_switch;//1�ظ��򿪣�0�ظ��ر� #ifdef PTZ_ELECTRIC_STABLE_L6235D ///�����ȶ����������� ElectricStable hori_electric_stable; ElectricStable vert_electric_stable; #endif ///���ֵ�Դ���� AuxSwitchPower power; ///���浱ǰ���յ���ָ�� PtzCmdSave cmd_save; ///�Ƕ�ƫ���� PtzZeroOffsetAngle offset_angle; ///��̨���Զ˿����� PtzDebug debug_data; ///�Ƕȶ�λ�ش� PtzAngleLocation location_return; ///����ɨ������ش� PtzAreaScanEnd area_scan_return; ///Ԥ��λ����ش� PtzPresetBit preset_bit_return; //��λ�����ڴ�ӡ��� Ptzprintf ptz_printf; ///��̨�̵�������״̬ unsigned char ptz_motor_relay_state; ///��̨���Լ�λ�����ݶ�ȡ״̬ unsigned char no_self_check_state; //0��ȡ��̨λ�ò���ʧ�ܣ�1��ȡλ�����ݳɹ���2��ȡ�Լ����ݳɹ������λ������ ///��̨���Լ�ǿ�Ʊ������� unsigned char no_self_check_force_save; //0��ǿ�Ʊ��棬1ǿ�Ʊ��� ///ǿ��ɾ��λ������ unsigned char no_self_check_force_erase; //0��ǿ��ɾ����1ǿ��ɾ�� ///Ԥ����ָ��濪�� char cmd_before_handle_swtich;//1��Ԥ����ָ��ܲ����棻0�ر�Ԥ����ָ��� ///������ͷ���� CameraLens cameralens; // PtzWorkTime time;//��̨����ʱ���ʱ unsigned char hori_angle_state;//�Ƕ�״̬��0���ϣ�1���� unsigned char vert_angle_state;//�Ƕ�״̬��0���ϣ�1���� unsigned char hori_angle_erro_switch;//ˮƽ�Ƕ�����������أ���ʼ���ڽǶ�ģ���У�0�����رգ�1������ float hori_angle_error;//�洢ˮƽ�ṹ��� /***������***/ //�ű�����Ȧ�������쳣ͳ�� unsigned int hori_jia;//++ unsigned int hori_jian;//-- unsigned int hori_cuowu;//���� unsigned int vert_jia;//++ unsigned int vert_jian;//-- unsigned int vert_cuowu;//���� unsigned int vert_stop_num; }PtzState; extern PtzState g_ptz; typedef struct _cycle_count_ { float intit; float actual; int count; }cycle_count; #endif