From 58b01573ad9e0c7e78f69ec369fcbfa866bc0cce Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Fri, 6 Dec 2024 14:49:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2=E5=8F=A3=E6=8B=8D=E7=85=A7=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=87=BD=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 45 +++++++++++++++------------- app/src/main/cpp/PhoneDevice.h | 10 +++++++ app/src/main/cpp/SensorsProtocol.cpp | 2 +- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 983c2d8c..dd6cc382 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1696,11 +1696,14 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< { CPhoneDevice* pThis = this; IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo; - std::thread t([localPhotoInfo, path, pThis]() mutable + IDevice::SerialsPhotoParam param = { "", 0, 0 }; + GetPhotoSerialsParamCb(param); + + std::thread t([localPhotoInfo, param, pThis]() mutable { if (localPhotoInfo.preset != 0 && localPhotoInfo.preset != 0xFF) { - //CameraPhotoCmd(time(NULL), localPhotoInfo.channel, MOVE_PRESETNO, 0, localPhotoInfo.preset); + CameraPhotoCmd(time(NULL), localPhotoInfo.channel, MOVE_PRESETNO, 0, localPhotoInfo.preset, param.serfile, param.baud, param.addr); std::this_thread::sleep_for(std::chrono::seconds(3)); } time_t ts = time(NULL); @@ -1709,7 +1712,7 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< XYLOG(XYLOG_SEVERITY_INFO, "Camera is SeltTesting, selfTestingtime = %d", localPhotoInfo.selfTestingTime); pThis->OpenPTZSensors(localPhotoInfo.selfTestingTime); } - //CameraPhotoCmd(ts, localPhotoInfo.channel, 0, localPhotoInfo.resolution, 0); + CameraPhotoCmd(ts, localPhotoInfo.channel, 0, localPhotoInfo.resolution, 0, param.serfile, param.baud, param.addr); XYLOG(XYLOG_SEVERITY_INFO, "Taking photo over"); pThis->TakePTZPhotoCb(3, localPhotoInfo); }); @@ -3489,32 +3492,32 @@ int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceT if(sensorParam[num].SensorsType == RALLY_PROTOCOL) { GetPullValue(num, &airt); - if(airt.AiState == 2) - { +// if(airt.AiState == 2) +// { iceInfo->t_sensor_data[pullno].original_tension = airt.EuValue; - XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 拉力 = %f", sensorParam[num].devaddr, iceInfo->t_sensor_data[pullno].original_tension); - } - else - iceInfo->t_sensor_data[pullno].original_tension = 0xff; + XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 采样状态 = %d, 拉力 = %f", sensorParam[num].devaddr, airt.AiState, iceInfo->t_sensor_data[pullno].original_tension); +// } +// else +// iceInfo->t_sensor_data[pullno].original_tension = 0xff; pullno++; } else if(sensorParam[num].SensorsType == SLANT_PROTOCOL) { GetAngleValue(num, &airt, 0); - if(airt.AiState == 2) - { +// if(airt.AiState == 2) +// { iceInfo->t_sensor_data[angleno].deflection_angle = airt.EuValue; - 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; + XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 采样状态 = %d, x = %f", sensorParam[num].devaddr, airt.AiState, iceInfo->t_sensor_data[angleno].deflection_angle); +// } +// else +// iceInfo->t_sensor_data[angleno].deflection_angle = 0xff; GetAngleValue(num, &airt, 1); - if(airt.AiState == 2) - { +// if(airt.AiState == 2) +// { iceInfo->t_sensor_data[angleno].windage_yaw_angle = airt.EuValue; - 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; + XYLOG(XYLOG_SEVERITY_INFO,"地址%d, 采样状态 = %d, y = %f", sensorParam[num].devaddr, airt.AiState, iceInfo->t_sensor_data[angleno].windage_yaw_angle); +// } +// else +// iceInfo->t_sensor_data[angleno].windage_yaw_angle =0xff; angleno++; } } diff --git a/app/src/main/cpp/PhoneDevice.h b/app/src/main/cpp/PhoneDevice.h index 0360524f..7b3fb8d9 100644 --- a/app/src/main/cpp/PhoneDevice.h +++ b/app/src/main/cpp/PhoneDevice.h @@ -297,6 +297,16 @@ protected: return false; } + inline bool GetPhotoSerialsParamCb(SerialsPhotoParam ¶m) const + { + if (m_listener != NULL) + { + return m_listener->OnPhotoSerialsParamGet(param); + } + + return false; + } + void QueryPowerInfo(std::map& powerInfo); std::string QueryCpuTemperature(); diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index 51c6f05e..9d18b52c 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -2096,7 +2096,7 @@ void SendCmdFormPollCmdBuf(int port) len = GM_SerialComSend(&pPortParam->PollCmd[2], pPortParam->cmdlen - 2, port); if (len < 1) { - sprintf(buf, "串口%d, 发送命令失败!", port + 1); + sprintf(buf, "串口%d, 发送命令失败! fd = %d", port + 1, serialport[port].fd); DebugLog(port, buf, 'E'); } else