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