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)
|
void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppParamValue ¶m)
|
||||||
{
|
{
|
||||||
cJSON *info = cJSON_CreateArray();
|
// cJSON *info = cJSON_CreateArray();
|
||||||
if (nullptr == info) {
|
// if (nullptr == info) {
|
||||||
LogError("cJSON_CreateArray failed.\n");
|
// LogError("cJSON_CreateArray failed.\n");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
cJSON_AddItemToObject(result, CJSON_INFO_STRING, info);
|
// cJSON_AddItemToObject(result, CJSON_INFO_STRING, info);
|
||||||
cJSON *mic = cJSON_CreateObject();
|
// cJSON *mic = cJSON_CreateObject();
|
||||||
if (nullptr != mic) {
|
// if (nullptr != mic) {
|
||||||
cJSON_AddItemToArray(info, mic);
|
// cJSON_AddItemToArray(info, mic);
|
||||||
cJSON_AddStringToObject(mic, "name", "mic");
|
// cJSON_AddStringToObject(mic, "name", "mic");
|
||||||
cJSON_AddNumberToObject(mic, "value", static_cast<int>(param.mMicStatus));
|
// cJSON_AddNumberToObject(mic, "value", static_cast<int>(param.mMicStatus));
|
||||||
}
|
// }
|
||||||
cJSON *rec = cJSON_CreateObject();
|
// cJSON *rec = cJSON_CreateObject();
|
||||||
if (nullptr != rec) {
|
// if (nullptr != rec) {
|
||||||
cJSON_AddItemToArray(info, rec);
|
// cJSON_AddItemToArray(info, rec);
|
||||||
cJSON_AddStringToObject(rec, "name", "rec");
|
// cJSON_AddStringToObject(rec, "name", "rec");
|
||||||
cJSON_AddNumberToObject(rec, "value", static_cast<int>(param.mRec));
|
// 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)
|
void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,6 +51,7 @@ const StatusCode McuDevice::Init(void)
|
||||||
LogError("IUartOpen failed.\n");
|
LogError("IUartOpen failed.\n");
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
mThreadRuning = true;
|
||||||
std::shared_ptr<McuDevice> device = std::dynamic_pointer_cast<McuDevice>(SharedFromThis());
|
std::shared_ptr<McuDevice> device = std::dynamic_pointer_cast<McuDevice>(SharedFromThis());
|
||||||
auto recvThread = [](std::shared_ptr<McuDevice> device) {
|
auto recvThread = [](std::shared_ptr<McuDevice> device) {
|
||||||
device->DeviceRecvThread();
|
device->DeviceRecvThread();
|
||||||
|
@ -160,14 +161,13 @@ void McuDevice::DeviceRecvThread(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memset(keyHeadBuf, 0, keyHeadLength);
|
memset(keyHeadBuf, 0, keyHeadLength);
|
||||||
mThreadRuning = true;
|
|
||||||
while (mThreadRuning) {
|
while (mThreadRuning) {
|
||||||
ssize_t recvLength =
|
ssize_t recvLength =
|
||||||
IUartRecv(mUartDevice, keyHeadBuf + recvTotalLength, keyHeadLength - recvTotalLength, RECV_TIMEOUT_MS);
|
IUartRecv(mUartDevice, keyHeadBuf + recvTotalLength, keyHeadLength - recvTotalLength, RECV_TIMEOUT_MS);
|
||||||
LogInfo("mcu recv length = %ld\n", recvLength);
|
|
||||||
if (recvLength <= 0) { // recv failed or recv nothing
|
if (recvLength <= 0) { // recv failed or recv nothing
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
LogInfo("mcu recv length = %ld\n", recvLength);
|
||||||
recvTotalLength += recvLength;
|
recvTotalLength += recvLength;
|
||||||
if (keyHeadLength == recvTotalLength) {
|
if (keyHeadLength == recvTotalLength) {
|
||||||
DeviceRecvData(keyHeadBuf, keyHeadLength);
|
DeviceRecvData(keyHeadBuf, keyHeadLength);
|
||||||
|
|
|
@ -15,5 +15,4 @@
|
||||||
#include "UartRecvAsk.h"
|
#include "UartRecvAsk.h"
|
||||||
UartRecvAsk::UartRecvAsk() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY)
|
UartRecvAsk::UartRecvAsk() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user