增加减速过程
This commit is contained in:
parent
37c56a1a9e
commit
c9f6123264
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"full_bridge.h": "c",
|
||||||
|
"ptz_default_value.h": "c",
|
||||||
|
"ptz_header_file.h": "c",
|
||||||
|
"gd32f4xx.h": "c",
|
||||||
|
"ptz_type_select.h": "c",
|
||||||
|
"l6235d.h": "c",
|
||||||
|
"service_presetbitscan.h": "c",
|
||||||
|
"device_adc_collect.h": "c"
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,6 +14,65 @@ static BSP_OS_SEM ptz_vert_stop_mutex;
|
||||||
static char ptz_hori_stop_count;//水平停止计数,防止多次停止多次延时
|
static char ptz_hori_stop_count;//水平停止计数,防止多次停止多次延时
|
||||||
static char ptz_vert_stop_count;//垂直停止计数,防止多次停止多次延时
|
static char ptz_vert_stop_count;//垂直停止计数,防止多次停止多次延时
|
||||||
|
|
||||||
|
/* 水平停止转动,减速阶梯和切换时间 */
|
||||||
|
#define hori_stop_step 0.2f
|
||||||
|
#define hori_stop_time 1
|
||||||
|
|
||||||
|
/* 水平减速,减速阶梯和切换时间 */
|
||||||
|
#define hori_retard_step 0.2f
|
||||||
|
#define hori_retard_time 2
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 水平减速过程
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void ptz_hori_deceleration_process(float step, unsigned char time)
|
||||||
|
{
|
||||||
|
float temp = g_ptz.hori_speed_actual;
|
||||||
|
for (; ; ) {
|
||||||
|
temp -= step;
|
||||||
|
g_ptz.hori_speed_set = temp;
|
||||||
|
if (temp < PTZ_HORI_MIN_SPEED) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
OSTimeDlyHMSM(0u, 0u, 0u, time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 垂直停止转动,减速阶梯和切换时间 */
|
||||||
|
#define vert_stop_step 1.0f
|
||||||
|
#define vert_stop_time 1
|
||||||
|
|
||||||
|
/* 垂直减速,减速阶梯和切换时间 */
|
||||||
|
#define vert_retard_step 0.1f
|
||||||
|
#define vert_retard_time 100
|
||||||
|
|
||||||
|
/* 垂直减速,俯仰极限位置 */
|
||||||
|
#define vert_utmost_step 20.0f
|
||||||
|
#define vert_utmost_time 1
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 垂直减速过程
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void ptz_vert_deceleration_process(float step, unsigned char time)
|
||||||
|
{
|
||||||
|
float temp = g_ptz.vert_speed_actual;
|
||||||
|
for (; ; ) {
|
||||||
|
temp -= step;
|
||||||
|
g_ptz.vert_angle_set = temp;
|
||||||
|
if (temp < PTZ_HORI_MIN_SPEED) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
OSTimeDlyHMSM(0u, 0u, 0u, time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ptz_sem_post_stop_mutex()//释放云台启停共享资源锁
|
void ptz_sem_post_stop_mutex()//释放云台启停共享资源锁
|
||||||
{
|
{
|
||||||
BSP_OS_SemPost(&ptz_hori_stop_mutex);
|
BSP_OS_SemPost(&ptz_hori_stop_mutex);
|
||||||
|
@ -54,6 +113,9 @@ void ptz_hori_start(char direction, float speed)
|
||||||
void ptz_hori_stop(unsigned short int time)
|
void ptz_hori_stop(unsigned short int time)
|
||||||
{
|
{
|
||||||
BSP_OS_SemWait(&ptz_hori_stop_mutex, 0u);
|
BSP_OS_SemWait(&ptz_hori_stop_mutex, 0u);
|
||||||
|
|
||||||
|
ptz_hori_deceleration_process(hori_stop_step, hori_stop_time);
|
||||||
|
|
||||||
//停止电机
|
//停止电机
|
||||||
g_ptz.hori_start_stop_set = PTZ_HORI_STOP;
|
g_ptz.hori_start_stop_set = PTZ_HORI_STOP;
|
||||||
g_ptz.hori_start_stop_actual = g_ptz.hori_start_stop_set;
|
g_ptz.hori_start_stop_actual = g_ptz.hori_start_stop_set;
|
||||||
|
@ -120,6 +182,11 @@ void ptz_vert_start(char direction, float speed)
|
||||||
void ptz_vert_stop(unsigned short int time)
|
void ptz_vert_stop(unsigned short int time)
|
||||||
{
|
{
|
||||||
BSP_OS_SemWait(&ptz_vert_stop_mutex, 0u);
|
BSP_OS_SemWait(&ptz_vert_stop_mutex, 0u);
|
||||||
|
|
||||||
|
if (time != PTZ_VERT_STOP_TIME) {
|
||||||
|
ptz_vert_deceleration_process(vert_stop_step, vert_stop_time);
|
||||||
|
}
|
||||||
|
|
||||||
if(g_ptz.vert_start_stop_set == PTZ_VERT_START)
|
if(g_ptz.vert_start_stop_set == PTZ_VERT_START)
|
||||||
{
|
{
|
||||||
//停止电机
|
//停止电机
|
||||||
|
@ -273,6 +340,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -281,6 +349,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,6 +361,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -300,6 +370,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -404,6 +475,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -412,6 +484,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -423,6 +496,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -431,6 +505,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,6 +518,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PTZ_HORI_DEC_BRAKE_A://减速刹车
|
case PTZ_HORI_DEC_BRAKE_A://减速刹车
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
g_ptz.hori_rotate_monitor_switch = PTZ_HORI_DEC_BRAKE_B;
|
g_ptz.hori_rotate_monitor_switch = PTZ_HORI_DEC_BRAKE_B;
|
||||||
k = 0;
|
k = 0;
|
||||||
|
@ -507,6 +583,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -515,6 +592,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -526,6 +604,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -534,6 +613,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -582,6 +662,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -590,6 +671,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -601,6 +683,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -609,6 +692,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -656,6 +740,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -664,6 +749,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
if((fabs(360.0 - g_ptz.hori_rotate_plan.stop_near_angle) + g_ptz.hori_angle_actual) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -675,6 +761,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.hori_angle_actual - g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -683,6 +770,7 @@ static char ptz_hori_rotate_monitor_task()
|
||||||
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
if((fabs(360.0 - g_ptz.hori_angle_actual) + g_ptz.hori_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_HORI_MIN_SPEED_ANGLE)
|
PTZ_HORI_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_hori_deceleration_process(hori_retard_step, hori_retard_time);
|
||||||
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
g_ptz.hori_speed_set = PTZ_HORI_MIN_SPEED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -764,6 +852,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,6 +898,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -875,6 +965,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -909,6 +1000,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
if(fabs(g_ptz.vert_angle_actual - g_ptz.vert_rotate_plan.stop_near_angle) <=
|
||||||
PTZ_VERT_MIN_SPEED_ANGLE)
|
PTZ_VERT_MIN_SPEED_ANGLE)
|
||||||
{
|
{
|
||||||
|
ptz_vert_deceleration_process(vert_retard_step, vert_retard_time);
|
||||||
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
g_ptz.vert_speed_set = PTZ_VERT_MIN_SPEED;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -924,6 +1016,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
g_ptz.vert_arrive_flag = 0;
|
g_ptz.vert_arrive_flag = 0;
|
||||||
g_ptz.vert_rotate_monitor_switch = 0;
|
g_ptz.vert_rotate_monitor_switch = 0;
|
||||||
|
|
||||||
|
// ptz_vert_deceleration_process(vert_utmost_step, vert_utmost_time);
|
||||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);//停止延时为0
|
ptz_vert_stop(PTZ_VERT_STOP_TIME);//停止延时为0
|
||||||
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
||||||
}
|
}
|
||||||
|
@ -936,6 +1029,7 @@ static char ptz_vert_rotate_monitor_task()
|
||||||
g_ptz.vert_arrive_flag = 0;
|
g_ptz.vert_arrive_flag = 0;
|
||||||
g_ptz.vert_rotate_monitor_switch = 0;
|
g_ptz.vert_rotate_monitor_switch = 0;
|
||||||
|
|
||||||
|
// ptz_vert_deceleration_process(vert_utmost_step, vert_utmost_time);
|
||||||
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
ptz_vert_stop(PTZ_VERT_STOP_TIME);
|
||||||
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
OSTimeDlyHMSM(0u, 0u, 0u, 5u);
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,8 +66,8 @@
|
||||||
#define PTZ_VERT_DIR_STOP 2
|
#define PTZ_VERT_DIR_STOP 2
|
||||||
|
|
||||||
///距离最近刹车点以最小转速运行的距离
|
///距离最近刹车点以最小转速运行的距离
|
||||||
#define PTZ_HORI_MIN_SPEED_ANGLE 3.0
|
#define PTZ_HORI_MIN_SPEED_ANGLE 12.0
|
||||||
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0
|
#define PTZ_VERT_MIN_SPEED_ANGLE 2.0
|
||||||
|
|
||||||
///刹车最近距离
|
///刹车最近距离
|
||||||
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
///刹车最近距离
|
///刹车最近距离
|
||||||
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
||||||
///刹车最远距离
|
///刹车最远距离
|
||||||
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
#define PTZ_VERT_STOP_FAR_DISTANCE 3.0
|
||||||
|
|
||||||
///云台定位精度,也可用于判断是不是同一个位置
|
///云台定位精度,也可用于判断是不是同一个位置
|
||||||
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
||||||
|
|
|
@ -825,7 +825,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFile</name>
|
<name>IlinkIcfFile</name>
|
||||||
<state>D:\psx\Pan-Tilt\1.software\HY\6.0 MW22-01A\BSP\IAR\GD32F450xE_APP.icf</state>
|
<state>D:\psx\Pan-Tilt\1.software\HY\6.0 MW22-01A\BSP\IAR\GD32F450xE.icf</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFileSlave</name>
|
<name>IlinkIcfFileSlave</name>
|
||||||
|
|
Loading…
Reference in New Issue