From f10c33a5f989f9c33fdc702a3392155d0c5c38c0 Mon Sep 17 00:00:00 2001 From: jxjajs Date: Wed, 4 Dec 2024 19:40:15 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/SensorsProtocol.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index 70147713..f342ddb6 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -2012,9 +2012,9 @@ void CameraPhotoPortDataProcess(int devno) DebugLog(devparam[devno].commid, szbuf, 'V'); curserial->RevCmdFlag = 1; pPortParam->FirstCmdTimeCnt = get_msec(); - if ((iNo == pPortParam->SerialCmdidx) && (0xFF > rtumsg.MsgData[i + 2])) + if ((iNo == pPortParam->SerialCmdidx-1) && (0xFF > rtumsg.MsgData[i + 2])) { - if (iNo == srdt.imagepacketnum) + if (iNo == srdt.imagepacketnum-1) { /* 检查是否有漏包*/ for (pidx = 0; pidx < srdt.imagepacketnum; pidx++) { @@ -2055,14 +2055,15 @@ void CameraPhotoPortDataProcess(int devno) pPortParam->SerialCmdidx = -1; } else - pPortParam->SerialCmdidx = iNo + 1; + pPortParam->SerialCmdidx = iNo; +// pPortParam->SerialCmdidx = iNo + 1; } srdt.errorPhotoNoCnt = 0; break; } srdt.errorPhotoNoCnt++; sprintf(szbuf, "问询第%d包图片摄像机应答第%d包,连续错误%d次!", - pPortParam->SerialCmdidx, iNo, srdt.errorPhotoNoCnt); + pPortParam->SerialCmdidx-1, iNo, srdt.errorPhotoNoCnt); DebugLog(devparam[devno].commid, szbuf, 'E'); if (srdt.errorPhotoNoCnt > 5) { @@ -2508,7 +2509,7 @@ int FindNextCameraPhotoCommand(int devidx) return 1; default: imagesize = 0xFF; - packetsize = (uint16_t)srdt.ms_dev[devidx].SerialCmdidx; + packetsize = (uint16_t)srdt.ms_dev[devidx].SerialCmdidx-1; cmdidx = 0x11; #if 0 if (0 == srdt.IsSleep) From ef3cc6d726745b766d27da67b67205e0801961c0 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Wed, 4 Dec 2024 19:44:32 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E8=A6=86=E5=86=B0=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index ef21d967..20e2af11 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -3496,7 +3496,7 @@ int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceT if(airt.AiState == 2) { iceInfo->t_sensor_data[angleno].deflection_angle = airt.EuValue; - XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 倾斜角 = %f", sensorParam[num].devaddr, iceInfo->t_sensor_data[angleno].deflection_angle); + XYLOG(XYLOG_SEVERITY_INFO,"地址%d, x = %f", sensorParam[num].devaddr, iceInfo->t_sensor_data[angleno].deflection_angle); } else iceInfo->t_sensor_data[angleno].deflection_angle = 0xff; @@ -3504,7 +3504,7 @@ int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceT if(airt.AiState == 2) { iceInfo->t_sensor_data[angleno].windage_yaw_angle = airt.EuValue; - XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 风偏角 = %f", sensorParam[num].devaddr, iceInfo->t_sensor_data[angleno].windage_yaw_angle); + XYLOG(XYLOG_SEVERITY_INFO,"地址%d, y = %f", sensorParam[num].devaddr, iceInfo->t_sensor_data[angleno].windage_yaw_angle); } else iceInfo->t_sensor_data[angleno].windage_yaw_angle =0xff; From 8c9ff7f2ba17d040d6868be286fd87d527a66244 Mon Sep 17 00:00:00 2001 From: jxjajs Date: Wed, 4 Dec 2024 19:44:47 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/SensorsProtocol.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index f342ddb6..a1147bd9 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -2055,7 +2055,7 @@ void CameraPhotoPortDataProcess(int devno) pPortParam->SerialCmdidx = -1; } else - pPortParam->SerialCmdidx = iNo; + pPortParam->SerialCmdidx = iNo+1; // pPortParam->SerialCmdidx = iNo + 1; } srdt.errorPhotoNoCnt = 0; @@ -2063,7 +2063,7 @@ void CameraPhotoPortDataProcess(int devno) } srdt.errorPhotoNoCnt++; sprintf(szbuf, "问询第%d包图片摄像机应答第%d包,连续错误%d次!", - pPortParam->SerialCmdidx-1, iNo, srdt.errorPhotoNoCnt); + pPortParam->SerialCmdidx-2, iNo, srdt.errorPhotoNoCnt); DebugLog(devparam[devno].commid, szbuf, 'E'); if (srdt.errorPhotoNoCnt > 5) { From f1cfe67f724f25cec0fe877aa7bdc994ae66b3f0 Mon Sep 17 00:00:00 2001 From: jxjajs Date: Thu, 5 Dec 2024 09:14:01 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E4=B8=B2=E5=8F=A3?= =?UTF-8?q?=E6=8B=8D=E7=85=A7=E4=BB=8E1=E5=BC=80=E5=A7=8B=E5=8F=96?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/SensorsProtocol.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index a1147bd9..70147713 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -2012,9 +2012,9 @@ void CameraPhotoPortDataProcess(int devno) DebugLog(devparam[devno].commid, szbuf, 'V'); curserial->RevCmdFlag = 1; pPortParam->FirstCmdTimeCnt = get_msec(); - if ((iNo == pPortParam->SerialCmdidx-1) && (0xFF > rtumsg.MsgData[i + 2])) + if ((iNo == pPortParam->SerialCmdidx) && (0xFF > rtumsg.MsgData[i + 2])) { - if (iNo == srdt.imagepacketnum-1) + if (iNo == srdt.imagepacketnum) { /* 检查是否有漏包*/ for (pidx = 0; pidx < srdt.imagepacketnum; pidx++) { @@ -2055,15 +2055,14 @@ void CameraPhotoPortDataProcess(int devno) pPortParam->SerialCmdidx = -1; } else - pPortParam->SerialCmdidx = iNo+1; -// pPortParam->SerialCmdidx = iNo + 1; + pPortParam->SerialCmdidx = iNo + 1; } srdt.errorPhotoNoCnt = 0; break; } srdt.errorPhotoNoCnt++; sprintf(szbuf, "问询第%d包图片摄像机应答第%d包,连续错误%d次!", - pPortParam->SerialCmdidx-2, iNo, srdt.errorPhotoNoCnt); + pPortParam->SerialCmdidx, iNo, srdt.errorPhotoNoCnt); DebugLog(devparam[devno].commid, szbuf, 'E'); if (srdt.errorPhotoNoCnt > 5) { @@ -2509,7 +2508,7 @@ int FindNextCameraPhotoCommand(int devidx) return 1; default: imagesize = 0xFF; - packetsize = (uint16_t)srdt.ms_dev[devidx].SerialCmdidx-1; + packetsize = (uint16_t)srdt.ms_dev[devidx].SerialCmdidx; cmdidx = 0x11; #if 0 if (0 == srdt.IsSleep) From bd706d1cf480120419f0915ea8dd336203781997 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Thu, 5 Dec 2024 10:21:55 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8F=8D=E5=A4=8D?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E4=BC=A0=E6=84=9F=E5=99=A8=E6=B3=A2=E7=89=B9?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 2 +- app/src/main/cpp/SensorsProtocol.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 20e2af11..cb5e7013 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1706,7 +1706,7 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< OpenPTZSensors(photoInfo.selfTestingTime); } CameraPhotoCmd(ts, photoInfo.channel, 0, photoInfo.resolution, 0); - XYLOG(XYLOG_SEVERITY_INFO, "Takeing photo over"); + XYLOG(XYLOG_SEVERITY_INFO, "Taking photo over"); res = TakePTZPhotoCb(3, photoInfo); } else if (mPhotoInfo.usingSysCamera == 1) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index 70147713..9df8091e 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -695,6 +695,7 @@ void Gm_OpenSerialPort(int devidx) sprintf(szbuf, "装置%d 打开串口%d %s成功!fd=%d", devidx + 1, devparam[devidx].commid + 1, devparam[devidx].pathname, fd); DebugLog(devparam[devidx].commid, szbuf, 'I'); serialport[devparam[devidx].commid].fd = fd; + Gm_SetSerialPortParam(devparam[devidx].commid); return; } sprintf(szbuf, "装置%d 串口%d %s已经打开!fd=%d", devidx + 1, devparam[devidx].commid + 1, devparam[devidx].pathname, serialport[devparam[devidx].commid].fd); @@ -2220,9 +2221,9 @@ void SendCmdFormPollCmdBuf(int port) serialport[devparam[srdt.curdevidx[port]].commid].m_iRevStatus = 0; if (serialport[port].fd < 0) return; - ret = Gm_SetSerialPortParam(port); - if (ret < 0) - return; + //ret = Gm_SetSerialPortParam(port); + //if (ret < 0) + // return; len = GM_SerialComSend(&pPortParam->PollCmd[2], pPortParam->cmdlen - 2, port); if (len < 1) { @@ -2751,7 +2752,7 @@ void Gm_SendPelco_pCommand(uint32_t cmdtype) commandbuf[len] = (uint8_t)Gm_Pelco_pXORCheck(commandbuf, len); len++; serialport[srdt.camerauseserial].cmdlen = len; - Gm_SetSerialPortParam(srdt.camerauseserial); + //Gm_SetSerialPortParam(srdt.camerauseserial); //unsigned char sendbuf[] = {0x68,0x00,0x00,0x68,0x0ff,0x02,0x01,0x16}; //len = GM_SerialComSend(sendbuf, sizeof(sendbuf), srdt.camerauseserial); @@ -2803,7 +2804,7 @@ void Gm_SendPelco_DCommand(uint32_t cmdtype) #endif len++; serialport[srdt.camerauseserial].cmdlen = len; - Gm_SetSerialPortParam(srdt.camerauseserial); + //Gm_SetSerialPortParam(srdt.camerauseserial); len = GM_SerialComSend(commandbuf, len, srdt.camerauseserial); if (len < 1) { From ceb89a0c7083ed823c5d2f1c30eb7b0554034edd Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Thu, 5 Dec 2024 10:27:17 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=BB=B6=E9=95=BF=E9=A2=84=E7=BD=AE?= =?UTF-8?q?=E4=BD=8D=E8=B0=83=E7=94=A8=E7=AD=89=E5=BE=85=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index cb5e7013..8954f0ed 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1697,7 +1697,7 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< if (photoInfo.preset != 0 && photoInfo.preset != 0xFF) { CameraPhotoCmd(time(NULL), photoInfo.channel, MOVE_PRESETNO, 0, photoInfo.preset); - std::this_thread::sleep_for(std::chrono::seconds(2)); + std::this_thread::sleep_for(std::chrono::seconds(3)); } time_t ts = time(NULL); if(!GetPTZSensorsStatus() && !GetCameraStatus()) From 98c99e016c65b227b315ef609e2a8281ddff871c Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Thu, 5 Dec 2024 15:26:25 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=B8=B2=E5=8F=A3=E6=8B=8D=E7=85=A7?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 8954f0ed..3fafc88b 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1694,20 +1694,27 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< } else if (mPhotoInfo.mediaType == 0 && (mPhotoInfo.cameraType == CAM_TYPE_SERIAL)) { - if (photoInfo.preset != 0 && photoInfo.preset != 0xFF) + CPhoneDevice* pThis = this; + IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo; + std::thread t([localPhotoInfo, path, pThis]() mutable + { + if (localPhotoInfo.preset != 0 && localPhotoInfo.preset != 0xFF) { - CameraPhotoCmd(time(NULL), photoInfo.channel, MOVE_PRESETNO, 0, photoInfo.preset); + CameraPhotoCmd(time(NULL), localPhotoInfo.channel, MOVE_PRESETNO, 0, localPhotoInfo.preset); std::this_thread::sleep_for(std::chrono::seconds(3)); } time_t ts = time(NULL); - if(!GetPTZSensorsStatus() && !GetCameraStatus()) + if(!pThis->GetPTZSensorsStatus() && !pThis->GetCameraStatus()) { - XYLOG(XYLOG_SEVERITY_INFO, "Camera is SeltTesting, selfTestingtime = %d", photoInfo.selfTestingTime); - OpenPTZSensors(photoInfo.selfTestingTime); + XYLOG(XYLOG_SEVERITY_INFO, "Camera is SeltTesting, selfTestingtime = %d", localPhotoInfo.selfTestingTime); + pThis->OpenPTZSensors(localPhotoInfo.selfTestingTime); } - CameraPhotoCmd(ts, photoInfo.channel, 0, photoInfo.resolution, 0); + CameraPhotoCmd(ts, localPhotoInfo.channel, 0, localPhotoInfo.resolution, 0); XYLOG(XYLOG_SEVERITY_INFO, "Taking photo over"); - res = TakePTZPhotoCb(3, photoInfo); + pThis->TakePTZPhotoCb(3, localPhotoInfo); + }); + + t.detach(); } else if (mPhotoInfo.usingSysCamera == 1) { From 3e26f35c65852bbe476a81d45c2e1e941e422ea1 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Thu, 5 Dec 2024 15:26:41 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=B8=B2=E5=8F=A3=E9=87=8D=E8=AF=95?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=BB=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/SensorsProtocol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index 9df8091e..38f72441 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -1395,7 +1395,7 @@ void GM_StartSerialCameraPhoto(uint8_t channel, int cmdidx) if ((i < 0) || (i >= MAX_SERIAL_PORT_NUM)) return; serialport[i].Retry = 0; - serialport[i].RetryTime = 1000; + serialport[i].RetryTime = 2000; serialport[i].WaitTime = 0; serialport[i].m_iRevStatus = 0; serialport[i].m_iRecvLen = 0;