Fixed:mcu thread runing failed.
This commit is contained in:
parent
b305614fda
commit
328d81ac3e
|
@ -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<int>(param.mMicStatus));
|
||||
}
|
||||
cJSON *rec = cJSON_CreateObject();
|
||||
if (nullptr != rec) {
|
||||
cJSON_AddItemToArray(info, rec);
|
||||
cJSON_AddStringToObject(rec, "name", "rec");
|
||||
cJSON_AddNumberToObject(rec, "value", static_cast<int>(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<int>(param.mMicStatus));
|
||||
// }
|
||||
// cJSON *rec = cJSON_CreateObject();
|
||||
// if (nullptr != rec) {
|
||||
// cJSON_AddItemToArray(info, rec);
|
||||
// cJSON_AddStringToObject(rec, "name", "rec");
|
||||
// cJSON_AddNumberToObject(rec, "value", static_cast<int>(param.mRec));
|
||||
// }
|
||||
cJSON *info = nullptr;
|
||||
cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject());
|
||||
cJSON_AddNumberToObject(info, "value", static_cast<int>(param.mRec));
|
||||
}
|
||||
void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context)
|
||||
{
|
||||
|
|
|
@ -51,6 +51,7 @@ const StatusCode McuDevice::Init(void)
|
|||
LogError("IUartOpen failed.\n");
|
||||
return code;
|
||||
}
|
||||
mThreadRuning = true;
|
||||
std::shared_ptr<McuDevice> device = std::dynamic_pointer_cast<McuDevice>(SharedFromThis());
|
||||
auto recvThread = [](std::shared_ptr<McuDevice> 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);
|
||||
|
|
|
@ -15,5 +15,4 @@
|
|||
#include "UartRecvAsk.h"
|
||||
UartRecvAsk::UartRecvAsk() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY)
|
||||
{
|
||||
//
|
||||
}
|
Loading…
Reference in New Issue
Block a user