From 4581cc42ba485366603ca8e3f61183f6a50ad72f Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期五, 21 二月 2020 17:18:30 +0800
Subject: [PATCH] GPS信息合并到RTK中,以RTK包,发送

---
 lib/src/main/cpp/master/comm_if.cpp |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/lib/src/main/cpp/master/comm_if.cpp b/lib/src/main/cpp/master/comm_if.cpp
index e6252c9..c4bc105 100644
--- a/lib/src/main/cpp/master/comm_if.cpp
+++ b/lib/src/main/cpp/master/comm_if.cpp
@@ -45,12 +45,14 @@
 #define ID_SM_RTK_BRIEF         0x000B
 #define ID_SM_EXAM_BRIEF         0x000C
 #define ID_SM_ENTER_MAP         0x000D
+#define ID_MS_EXAM_MAP          0x800D
 #define ID_SM_CAR               0x000E
 #define ID_SM_RTCM_IND           0x000F
 #define ID_SM_DEBUG_INFO        0x0010
 #define ID_MS_FILE              0x8100
 #define ID_MS_READ_CARD         0x800F
 #define ID_SM_PUT_CARD          0x000F
+#define ID_MS_SYS_SHUTDOWN      0x8010
 
 #define MA_OUT_GPS_BRIEF        0x0001
 #define MA_OUT_RTK_BRIEF        0x0002
@@ -706,6 +708,19 @@
             }
             break;
         }
+        case ID_MS_EXAM_MAP: {
+            Document doc;
+            doc.Parse(value);
+            if (!doc.HasParseError()) {
+                if (doc.HasMember("map_id") && doc.HasMember("exam")) {
+                    Value& s = doc["map_id"];
+                    Value& s2 = doc["exam"];
+
+                    StartMapExam(s.GetInt(), s2.GetInt());
+                }
+            }
+            break;
+        }
         case ID_MS_IND_ONOFF: {
             Document doc;
             doc.Parse(value);
@@ -723,6 +738,24 @@
             ReadCard();
             break;
         }
+        case ID_MS_SYS_SHUTDOWN: {
+            Document doc;
+            doc.Parse(value);
+            if (!doc.HasParseError()) {
+                int event = 0, timeout = 15;
+
+                if (doc.HasMember("event")) {
+                    Value& s = doc["event"];
+                    event = s.GetInt();
+                }
+                if (doc.HasMember("timeout")) {
+                    Value& s = doc["timeout"];
+                    timeout = s.GetInt();
+                }
+                SystemShutdown(event, timeout);
+            }
+            break;
+        }
         default:break;
     }
 }
@@ -738,3 +771,18 @@
             break;
     }
 }
+
+void MA_EnterMap(int map_id, int enter)
+{
+    StringBuffer sb;
+    Writer<StringBuffer> writer(sb);
+
+    writer.StartObject();
+    writer.Key("map_id");
+    writer.Int(map_id);
+    writer.Key("enter");
+    writer.Int(enter);
+    writer.EndObject();
+
+    SendMsgToMainProc(ID_SM_ENTER_MAP, sb.GetString());
+}

--
Gitblit v1.8.0