109 lines
3.3 KiB
C
109 lines
3.3 KiB
C
|
///
|
|||
|
/// @file device_dipswitch.c
|
|||
|
/// @function <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
/// @author ypc
|
|||
|
/// @date 2019-05-25
|
|||
|
/// @note v1.0 2019-05-25
|
|||
|
/// v2.0 2022-03-22
|
|||
|
///
|
|||
|
|
|||
|
#include "device_relay.h"
|
|||
|
#include "ptz_header_file.h"
|
|||
|
#include "service_selfcheck.h"
|
|||
|
#include "service_statusmonitor.h"
|
|||
|
#include "ptz_type_select.h"
|
|||
|
///<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
void init_relay_module()
|
|||
|
{
|
|||
|
#ifdef PTZ_MOTOR_RELAY
|
|||
|
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_9);
|
|||
|
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_9);
|
|||
|
|
|||
|
PTZ_MOTOR_RELAY_OFF;
|
|||
|
g_ptz.ptz_motor_relay_state = PTZ_RELAY_OFF;
|
|||
|
#endif
|
|||
|
|
|||
|
}
|
|||
|
///<2F><>̨<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void ptz_motor_relay_on()
|
|||
|
{
|
|||
|
#ifdef PTZ_MOTOR_RELAY
|
|||
|
PTZ_MOTOR_RELAY_ON;
|
|||
|
g_ptz.ptz_motor_relay_state = PTZ_RELAY_ON;
|
|||
|
#endif
|
|||
|
//<2F>ر<EFBFBD><D8B1><EFBFBD>̨<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if(g_ptz.vert_self_check != PTZ_VERT_SELF_CHECK_END)
|
|||
|
{
|
|||
|
OSTaskDel(TASK_VERT_SELF_CHECK_PRIO);
|
|||
|
}
|
|||
|
if(g_ptz.hori_self_check != PTZ_HORI_SELF_CHECK_END)
|
|||
|
{
|
|||
|
OSTaskDel(TASK_HORI_SELF_CHECK_PRIO);
|
|||
|
}
|
|||
|
g_ptz.hori_self_check = PTZ_HORI_SELF_CHECK_END;
|
|||
|
g_ptz.vert_self_check = PTZ_VERT_SELF_CHECK_END;
|
|||
|
|
|||
|
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
OSTaskDel(TASK_AREA_SCAN_PRIO);
|
|||
|
OSTaskDel(TASK_PRESET_BIT_SCAN_PRIO);
|
|||
|
|
|||
|
//<2F>رչ<D8B1><D5B9>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
OSTaskDel(TASK_FAULT_DETECT_PRIO);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.hori_rotate_fault = NO_FAULT;//ˮƽת<C6BD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.vert_rotate_fault = NO_FAULT;//<2F><>ֱת<D6B1><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.hori_hall_fault = NO_FAULT;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.vert_hall_fault = NO_FAULT;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.temperature_fault = NO_FAULT;//<2F>¶<EFBFBD><C2B6>쳣 <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.voltage_fault = NO_FAULT;//<2F><>ѹ<EFBFBD>쳣 <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.electric_current_fault = NO_FAULT;//<2F><><EFBFBD><EFBFBD><EFBFBD>쳣 <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
g_ptz.fault_detect.Phase_curr_H = NO_FAULT;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.Phase_curr_V = NO_FAULT;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.h_ntc_temp_fault = NO_FAULT;//ˮƽNTC<54>¶<EFBFBD><C2B6>쳣 <20><><EFBFBD><EFBFBD>
|
|||
|
g_ptz.fault_detect.v_ntc_temp_fault = NO_FAULT;//<2F><>ֱNTC<54>¶<EFBFBD><C2B6>쳣 <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
g_ptz.fault_detect.fault = NO_FAULT;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>־<EFBFBD><D6BE> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//ɲ<><C9B2>ͣת<CDA3><D7AA><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
|
|||
|
ptz_sem_post_stop_mutex();//<2F>ͷ<EFBFBD><CDB7><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
|||
|
OSTimeDlyHMSM(0u, 0u, 0u, 20u);//<2F>ȴ<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>
|
|||
|
g_ptz.vert_angleP.angle_allow_max = 60.0;
|
|||
|
g_ptz.vert_angleP.angle_allow_min = -60.0;
|
|||
|
ptz_hori_stop(PTZ_HORI_STOP_TIME);
|
|||
|
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>
|
|||
|
g_area_scan.state = AREA_SCAN_CLOSE_A;
|
|||
|
//<2F>ر<EFBFBD>Ԥ<EFBFBD><D4A4>λɨ<CEBB><C9A8>
|
|||
|
g_preset_bit_scan.state = PRESET_BIT_SCAN_CLOSE_A;
|
|||
|
|
|||
|
/* <20><><EFBFBD>Ǽ̵<C7BC><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>翪<EFBFBD><E7BFAA>ʧЧ<CAA7><D0A7><EFBFBD>Ҵ<EFBFBD>ֱ<EFBFBD>Ƕ<EFBFBD>״̬Ϊ<CCAC><CEAA><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֱ<CEAA><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬ */
|
|||
|
|
|||
|
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
|
|||
|
//<2F>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><F2BFAAA3>Ƕȼ<C7B6><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
|
|||
|
g_ptz.vert_as5047d.as5047d_state = 1;
|
|||
|
g_ptz.hori_as5047d.as5047d_state = 1;
|
|||
|
g_ptz.hori_angle_state = 1;
|
|||
|
g_ptz.vert_angle_state = 1;
|
|||
|
|
|||
|
#else
|
|||
|
//<2F><>ֱ<EFBFBD><D6B1><EFBFBD>翪<EFBFBD><E7BFAA>ʧЧ<CAA7><D0A7><EFBFBD>Ƕ<EFBFBD>״̬Ϊ<CCAC><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
#endif
|
|||
|
}
|
|||
|
///<2F><>̨<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>ر<EFBFBD>
|
|||
|
void ptz_motor_relay_off()
|
|||
|
{
|
|||
|
#ifdef PTZ_MOTOR_RELAY
|
|||
|
PTZ_MOTOR_RELAY_OFF;
|
|||
|
g_ptz.ptz_motor_relay_state = PTZ_RELAY_OFF;
|
|||
|
#endif
|
|||
|
//<2F><><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
init_area_scan_module();
|
|||
|
init_preset_bit_scan_module();
|
|||
|
init_status_monitor_module();
|
|||
|
}
|
|||
|
|
|||
|
|