From c67bebed888078ab45a57c4711928a6f544d1b3e Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 12 May 2025 18:25:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=91=E5=8F=B0=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PtzController.cpp | 5 ++++- app/src/main/cpp/SensorsProtocol.cpp | 30 ++++++++++++++++++---------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/app/src/main/cpp/PtzController.cpp b/app/src/main/cpp/PtzController.cpp index 93961f1e..e4b79a60 100644 --- a/app/src/main/cpp/PtzController.cpp +++ b/app/src/main/cpp/PtzController.cpp @@ -182,7 +182,10 @@ void PtzController::PtzProc() { //if(timeout >= CAMERA_SELF_TEST_TIME) { - XYLOG(XYLOG_SEVERITY_INFO, "开始查询云台自检状态!timeout=%d秒", timeout); + if (timeout == 1 || ((timeout % 10) == 0)) + { + XYLOG(XYLOG_SEVERITY_INFO, "开始查询云台自检状态!timeout=%u秒", (uint32_t)timeout); + } if(0 == QueryPtzState(&ptz_state, QUERY_PTZ_STATE, cmd.serfile, cmd.baud, cmd.addr)) { if(0 == ptz_state.ptz_status) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index f382aa02..91e1e7f5 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -1351,7 +1351,7 @@ void CameraPhotoPortDataProcess(SIO_PARAM_SERIAL_DEF *curserial) if (srdt.RephotographCnt > 2) { curserial->SerialCmdidx = -1; - sprintf(szbuf, "因摄像机重拍%d次均未成功!结束拍照!", srdt.RephotographCnt); + sprintf(szbuf, "因摄像机重拍%u次均未成功!结束拍照!", (uint32_t)srdt.RephotographCnt); DebugLog(0, szbuf, 'E'); } break; @@ -1443,7 +1443,7 @@ void CameraPhotoPortDataProcess(SIO_PARAM_SERIAL_DEF *curserial) } srdt.errorPhotoNoCnt++; sprintf(szbuf, "问询第%d包图片摄像机应答第%d包,连续错误%d次!", - curserial->SerialCmdidx, iNo, srdt.errorPhotoNoCnt); + curserial->SerialCmdidx, iNo, (uint32_t)srdt.errorPhotoNoCnt); DebugLog(0, szbuf, 'E'); if (srdt.errorPhotoNoCnt > 5) { @@ -1452,7 +1452,7 @@ void CameraPhotoPortDataProcess(SIO_PARAM_SERIAL_DEF *curserial) if (srdt.RephotographCnt > 2) { curserial->SerialCmdidx = -1; - sprintf(szbuf, "因摄像机重拍%d次均未成功!结束拍照!", srdt.RephotographCnt); + sprintf(szbuf, "因摄像机重拍%d次均未成功!结束拍照!", (uint32_t)srdt.RephotographCnt); DebugLog(0, szbuf, 'E'); } } @@ -1521,7 +1521,7 @@ void CameraPhotoPortDataProcess(SIO_PARAM_SERIAL_DEF *curserial) break; case 201: /* 云台预置点*/ curserial->ptz_state.presetno = (curserial->m_au8RecvBuf[j + 3] << 8) + curserial->m_au8RecvBuf[j + 4]; - sprintf(szbuf, "云台预置点号=%d", curserial->ptz_state.presetno); + sprintf(szbuf, "云台预置点号=%u", (uint32_t)curserial->ptz_state.presetno); DebugLog(0, szbuf, 'I'); break; case 202: /* 云台坐标*/ @@ -1698,7 +1698,7 @@ void SendCmdFormPollCmdBuf(int port) sprintf(buf, "发送串口%d 装置%d命令:", port + 1, srdt.curdevidx[port] + 1); BytestreamLOG(port, buf, &pPortParam->PollCmd[2], len, 'D'); - sprintf(buf, "sendtimeconst= %lld", lctime - pPortParam->lsendtime); + sprintf(buf, "sendtimeconst= %lld", (long long)(lctime - pPortParam->lsendtime)); DebugLog(port, buf, 'W'); pPortParam->lsendtime = lctime; } @@ -1806,7 +1806,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam) return -1; } memset(szbuf, 0, sizeof(szbuf)); - sprintf(szbuf, "time=%lldms", lcurtime - pPortParam->FirstCmdTimeCnt); + sprintf(szbuf, "time=%lld ms", (long long)(lcurtime - pPortParam->FirstCmdTimeCnt)); DebugLog(0, szbuf, 'I'); packetsize = (uint16_t)MAX_PHOTO_FRAME_LEN; srdt.sendphotocmdcnt++; @@ -2035,7 +2035,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam) if (lcurtime - pPortParam->FirstCmdTimeCnt > 35 * 1000) { pPortParam->SerialCmdidx = -1; - sprintf(szbuf, "读取第%d包图片数据35秒未收到!结束拍照!", packetsize); + sprintf(szbuf, "读取第%u包图片数据35秒未收到!结束拍照!", (uint32_t)packetsize); DebugLog(0, szbuf, 'I'); return -1; } @@ -3491,17 +3491,20 @@ int CameraPhotoCmd(int phototime, unsigned char channel, int cmdidx, unsigned ch int QueryPtzState(PTZ_STATE *ptz_state, int cmdidx, const char *serfile, unsigned int baud, int addr) { - pthread_mutex_lock(&camera_mutex); int flag = 0; char szbuf[128], logbuf[128]; SIO_PARAM_SERIAL_DEF *cameraport=NULL; if(NULL == ptz_state) - return -1; + { + return -1; + } if((NOTIFY_PTZ_CLOSE == cmdidx) || (QUERY_PTZ_STATE == cmdidx)) ; else - return -1; + { + return -1; + } cameraport = (SIO_PARAM_SERIAL_DEF*)malloc(sizeof(SIO_PARAM_SERIAL_DEF)); cameraport->cameraaddr = addr; @@ -3515,6 +3518,7 @@ int QueryPtzState(PTZ_STATE *ptz_state, int cmdidx, const char *serfile, unsign memset(cameraport->m_au8RecvBuf, 0, RECVDATA_MAXLENTH); // 接收数据缓存区 ClearCameraCmdFormPollCmdBuf(cameraport); + pthread_mutex_lock(&camera_mutex); flag = Gm_OpenCameraSerial(cameraport, serfile, baud); #if 1 @@ -3531,6 +3535,7 @@ int QueryPtzState(PTZ_STATE *ptz_state, int cmdidx, const char *serfile, unsign free(cameraport); cameraport = NULL; } + pthread_mutex_unlock(&camera_mutex); return -1; } @@ -3577,7 +3582,10 @@ int Query_BDGNSS_Data(BD_GNSS_DATA *BD_data, int samptime, const char *serfile, SIO_PARAM_SERIAL_DEF *cameraport=NULL; if(NULL == BD_data) - return -1; + { + pthread_mutex_unlock(&bd_mutex); + return -1; + } if(samptime < 5) samptime = 5; cameraport = (SIO_PARAM_SERIAL_DEF*)malloc(sizeof(SIO_PARAM_SERIAL_DEF));