Compare commits

..

2 Commits

Author SHA1 Message Date
起床就犯困 21b229c119 修改响应速度 2025-06-27 17:09:07 +08:00
起床就犯困 b4f60be16a 取消电机转动卡死故障检测 2025-05-26 11:04:10 +08:00
4 changed files with 59 additions and 45 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
*tmp* *tmp*
PROJECT/Debug/ PROJECT/Debug/
PROJECT/Release/ PROJECT/Release/
PROJECT/settings/ PROJECT/settings/
*.ewp

View File

@ -123,9 +123,10 @@ void ptz_reply(char dev, unsigned char type)
break; break;
case CMD_WRONG://指令错误 case CMD_WRONG://指令错误
ptz_send_data(dev, reply_wrong, sizeof(reply_wrong)); if (dev != PTZ_UART_485) {
ptz_send_data(dev, reply_wrong, sizeof(reply_wrong));
}
break; break;
case CMD_FAIL://指令正确,但执行失败 case CMD_FAIL://指令正确,但执行失败
@ -2200,41 +2201,47 @@ static void ptz_uart_485_data_process_task()
//判断有无数据 //判断有无数据
if(ptz_uart_dev_char_present(uart_485_handle) == 0) if(ptz_uart_dev_char_present(uart_485_handle) == 0)
{ {
OSTimeDlyHMSM(0u, 0u, 0u, 1u);//等待一段时间 OSTimeDlyHMSM(0u, 0u, 0u, 3u);//等待一段时间
uart_485_timer ++; // uart_485_timer ++;
if(uart_485_timer > PTZ_UART_RECV_OVERTIME) // if(uart_485_timer > PTZ_UART_RECV_OVERTIME)
{//接收超时,说明一帧数据接收完成 // {//接收超时,说明一帧数据接收完成
break; // break;
} // }
if (ptz_uart_dev_char_present(uart_485_handle) == 0) {
// break;
goto error;
}
} }
else else
{//读取一个字节数据 {//读取一个字节数据
uart_485_buffer[uart_485_data_len] = ptz_uart_dev_in_char(uart_485_handle); uart_485_buffer[uart_485_data_len] = ptz_uart_dev_in_char(uart_485_handle);
uart_485_data_len++; uart_485_data_len++;
uart_485_timer = 0; uart_485_timer = 0;
if(uart_485_data_len % 100 == 0 && uart_485_data_len > 0) // if(uart_485_data_len % 100 == 0 && uart_485_data_len > 0)
{ // {
OSTimeDlyHMSM(0u, 0u, 0u, 2u); // OSTimeDlyHMSM(0u, 0u, 0u, 2u);
} // }
if(uart_485_data_len >= 7) if(uart_485_data_len >= 7) {
{ if(ptz_data_pack_pelco_d_check(pack_pelco_d) == 1) {//成功读取一帧派尔高D协议或者自定义类似派尔高D协议长度7字节
if(ptz_data_pack_pelco_d_check(pack_pelco_d) == 1) break;
{//成功读取一帧派尔高D协议或者自定义类似派尔高D协议长度7字节 }
break; else {
memcpy(uart_485_buffer, uart_485_buffer + 1, uart_485_data_len);
uart_485_data_len = uart_485_data_len - 1;
}
} }
} // if(uart_485_data_len >= (sizeof(PTZ_DATA_PACK_A) + sizeof(unsigned int)))
if(uart_485_data_len >= (sizeof(PTZ_DATA_PACK_A) + sizeof(unsigned int))) // {
{ // ptz_reply(uart_485_handle, CMD_WRONG);
ptz_reply(uart_485_handle, CMD_WRONG); // if(ptz_data_pack_a_check(pack_a) == 1)
if(ptz_data_pack_a_check(pack_a) == 1) // {//成功读取一帧自定义超长度协议
{//成功读取一帧自定义超长度协议 // break;
break; // }
} // }
} // if(uart_485_data_len >= PTZ_UART_485_BUFF_SIZE)
if(uart_485_data_len >= PTZ_UART_485_BUFF_SIZE) // {
{ // break;
break; // }
}
} }
} }
uart_485_timer = 0; uart_485_timer = 0;
@ -2243,22 +2250,27 @@ static void ptz_uart_485_data_process_task()
//处理串口数据 //处理串口数据
if(uart_485_state == PTZ_UART_HAND_STATE) if(uart_485_state == PTZ_UART_HAND_STATE)
{ {
if(uart_485_data_len > 7) // if(uart_485_data_len > 7)
{//不定长数据处理该数据每一帧都超过7个字节 // {//不定长数据处理该数据每一帧都超过7个字节
ptz_data_pack_a_process(PTZ_UART_485, (PTZ_DATA_PACK_A *)uart_485_buffer); // ptz_data_pack_a_process(PTZ_UART_485, (PTZ_DATA_PACK_A *)uart_485_buffer);
// ptz_reply(PTZ_UART_485, CMD_WRONG); // // ptz_reply(PTZ_UART_485, CMD_WRONG);
} // }
else // else
{//7个字节的派尔高D数据以及7个字节自定义类派尔高D数据处理 // {//7个字节的派尔高D数据以及7个字节自定义类派尔高D数据处理
ptz_data_pack_process(PTZ_UART_485, (PTZ_DATA_PACK *)uart_485_buffer); // ptz_data_pack_process(PTZ_UART_485, (PTZ_DATA_PACK *)uart_485_buffer);
} // }
ptz_data_pack_process(PTZ_UART_485, (PTZ_DATA_PACK *)uart_485_buffer);
memset(uart_485_buffer, 0, sizeof(uart_485_buffer)); memset(uart_485_buffer, 0, sizeof(uart_485_buffer));
uart_485_data_len = 0; uart_485_data_len = 0;
uart_485_timer = 0; uart_485_timer = 0;
uart_485_state = PTZ_UART_FREE_STATE; uart_485_state = PTZ_UART_FREE_STATE;
} }
OSTimeDlyHMSM(0u, 0u, 0u, 5u); error:
// OSTimeDlyHMSM(0u, 0u, 0u, 2u);
if (ptz_uart_dev_char_present(uart_485_handle) == 0) {
OSTimeDlyHMSM(0u, 0u, 0u, 2u);
}
} }
} }

View File

@ -471,6 +471,7 @@ static char ptz_motor_rotate_fault_detect_task()
time_ms = 0; time_ms = 0;
} }
return 0;
if(g_ptz.vert_start_stop_set == PTZ_VERT_STOP) if(g_ptz.vert_start_stop_set == PTZ_VERT_STOP)

View File

@ -716,11 +716,11 @@
</option> </option>
<option> <option>
<name>OCOutputOverride</name> <name>OCOutputOverride</name>
<state>1</state> <state>0</state>
</option> </option>
<option> <option>
<name>OOCOutputFile</name> <name>OOCOutputFile</name>
<state>MW22_02A-3S24_STEP_V20-SV20_23120701.bin</state> <state>OS2.bin</state>
</option> </option>
<option> <option>
<name>OOCCommandLineProducer</name> <name>OOCCommandLineProducer</name>
@ -823,7 +823,7 @@
</option> </option>
<option> <option>
<name>IlinkIcfFile</name> <name>IlinkIcfFile</name>
<state>D:\psx\Pan-Tilt\1.software\HY\2.0 MW22-02A\BSP\IAR\GD32F450xE.icf</state> <state>D:\psx\Pan-Tilt\1.software\HY\2.0 MW22-02A\BSP\IAR\GD32F450xE_APP.icf</state>
</option> </option>
<option> <option>
<name>IlinkIcfFileSlave</name> <name>IlinkIcfFileSlave</name>