From 328d81ac3e5c5e41f595985c24623e7db0cf5c53 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Sat, 11 May 2024 11:27:29 +0800 Subject: [PATCH] Fixed:mcu thread runing failed. --- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 39 ++++++++++--------- middleware/McuManager/src/McuDevice.cpp | 4 +- middleware/McuManager/src/UartRecvAsk.cpp | 1 - 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 838adbd..d50a332 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -320,24 +320,27 @@ void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle } void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppParamValue ¶m) { - cJSON *info = cJSON_CreateArray(); - if (nullptr == info) { - LogError("cJSON_CreateArray failed.\n"); - return; - } - cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); - cJSON *mic = cJSON_CreateObject(); - if (nullptr != mic) { - cJSON_AddItemToArray(info, mic); - cJSON_AddStringToObject(mic, "name", "mic"); - cJSON_AddNumberToObject(mic, "value", static_cast(param.mMicStatus)); - } - cJSON *rec = cJSON_CreateObject(); - if (nullptr != rec) { - cJSON_AddItemToArray(info, rec); - cJSON_AddStringToObject(rec, "name", "rec"); - cJSON_AddNumberToObject(rec, "value", static_cast(param.mRec)); - } + // cJSON *info = cJSON_CreateArray(); + // if (nullptr == info) { + // LogError("cJSON_CreateArray failed.\n"); + // return; + // } + // cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); + // cJSON *mic = cJSON_CreateObject(); + // if (nullptr != mic) { + // cJSON_AddItemToArray(info, mic); + // cJSON_AddStringToObject(mic, "name", "mic"); + // cJSON_AddNumberToObject(mic, "value", static_cast(param.mMicStatus)); + // } + // cJSON *rec = cJSON_CreateObject(); + // if (nullptr != rec) { + // cJSON_AddItemToArray(info, rec); + // cJSON_AddStringToObject(rec, "name", "rec"); + // cJSON_AddNumberToObject(rec, "value", static_cast(param.mRec)); + // } + cJSON *info = nullptr; + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); + cJSON_AddNumberToObject(info, "value", static_cast(param.mRec)); } void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context) { diff --git a/middleware/McuManager/src/McuDevice.cpp b/middleware/McuManager/src/McuDevice.cpp index 624efc9..ebc5a28 100644 --- a/middleware/McuManager/src/McuDevice.cpp +++ b/middleware/McuManager/src/McuDevice.cpp @@ -51,6 +51,7 @@ const StatusCode McuDevice::Init(void) LogError("IUartOpen failed.\n"); return code; } + mThreadRuning = true; std::shared_ptr device = std::dynamic_pointer_cast(SharedFromThis()); auto recvThread = [](std::shared_ptr device) { device->DeviceRecvThread(); @@ -160,14 +161,13 @@ void McuDevice::DeviceRecvThread(void) return; } memset(keyHeadBuf, 0, keyHeadLength); - mThreadRuning = true; while (mThreadRuning) { ssize_t recvLength = IUartRecv(mUartDevice, keyHeadBuf + recvTotalLength, keyHeadLength - recvTotalLength, RECV_TIMEOUT_MS); - LogInfo("mcu recv length = %ld\n", recvLength); if (recvLength <= 0) { // recv failed or recv nothing continue; } + LogInfo("mcu recv length = %ld\n", recvLength); recvTotalLength += recvLength; if (keyHeadLength == recvTotalLength) { DeviceRecvData(keyHeadBuf, keyHeadLength); diff --git a/middleware/McuManager/src/UartRecvAsk.cpp b/middleware/McuManager/src/UartRecvAsk.cpp index b20e720..1d5c3ed 100644 --- a/middleware/McuManager/src/UartRecvAsk.cpp +++ b/middleware/McuManager/src/UartRecvAsk.cpp @@ -15,5 +15,4 @@ #include "UartRecvAsk.h" UartRecvAsk::UartRecvAsk() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) { - // } \ No newline at end of file