From 7c5b25c8617807635e9f272ebe9e98304d07cf2f Mon Sep 17 00:00:00 2001 From: fctom1215 <fctom1215@outlook.com> Date: 星期五, 14 二月 2020 14:28:25 +0800 Subject: [PATCH] 增加单片机信息传递。 --- lib/src/main/cpp/master/comm_if.cpp | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/lib/src/main/cpp/master/comm_if.cpp b/lib/src/main/cpp/master/comm_if.cpp index fc9f457..688ffe2 100644 --- a/lib/src/main/cpp/master/comm_if.cpp +++ b/lib/src/main/cpp/master/comm_if.cpp @@ -36,7 +36,7 @@ #define ID_MS_MAP 0x8006 #define ID_SM_READ_CAR 0x0007 #define ID_MS_CAR 0x8007 -#define ID_SM_READ_SENSOR_CFG 0x0008 +#define ID_SM_MCU_BRIEF 0x0008 #define ID_MS_SENSOR_CFG 0x8008 #define ID_MS_START_EXAM 0x8009 #define ID_SM_EXAM_STATUS 0x0009 @@ -135,7 +135,7 @@ void MA_ReadSensor(void) { - SendMsgToMainProc(ID_SM_READ_SENSOR_CFG, NULL); + } void MA_SendExamStatus(int start, int errorCode) @@ -153,6 +153,31 @@ writer.EndObject(); SendMsgToMainProc(ID_SM_EXAM_STATUS, sb.GetString()); +} + +void MA_SendMcuBrief(const struct mcuBrief *brief) +{ + StringBuffer sb; + Writer<StringBuffer> writer(sb); + + writer.StartObject(); + + writer.Key("version"); + writer.String(brief->version); + writer.Key("selftest"); + writer.Int(brief->selftest); + writer.Key("gpio"); + writer.Int(brief->gpio); + writer.Key("speed"); + writer.Int(brief->speed); + writer.Key("engine"); + writer.Int(brief->engine); + writer.Key("sn"); + writer.String(brief->sn); + + writer.EndObject(); + + SendMsgToMainProc(ID_SM_MCU_BRIEF, sb.GetString()); } void MA_SendGpsBrief(const struct gpsBrief *brief) @@ -615,7 +640,7 @@ if (a.IsArray() && a.Size() > 0) { int n = a.Size(); int i = 0; - int (*sensor)[2] = (int (*)[2]) new int[n][2]; + int (*sensor)[3] = (int (*)[3]) new int[n][3]; for (Value::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr) { // a gpio mapping @@ -627,6 +652,10 @@ const Value &s = (*itr)["func_id"]; sensor[i][1] = s.GetInt(); } + if (itr->HasMember("level")) { + const Value &s = (*itr)["level"]; + sensor[i][2] = s.GetInt(); + } ++i; } SetSensorCfg(sensor, n); -- Gitblit v1.8.0