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)