From f7a18ec4494b9c5c9ef3fd440bbf68ffc6425e18 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期四, 08 十二月 2022 15:40:56 +0800
Subject: [PATCH] 智慧驾培首次提交
---
lib/src/main/cpp/mcu/mcu_if.h | 46 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 38 insertions(+), 8 deletions(-)
diff --git a/lib/src/main/cpp/mcu/mcu_if.h b/lib/src/main/cpp/mcu/mcu_if.h
index 0ab43ab..d12aa0d 100644
--- a/lib/src/main/cpp/mcu/mcu_if.h
+++ b/lib/src/main/cpp/mcu/mcu_if.h
@@ -6,17 +6,47 @@
#define RTKDRIVERTEST_MCU_IF_H
#include <cstdint>
+#include "../common/apptimer.h"
+#include "../common/serial_port.h"
-void McuCommModeSel(int mode);
-void ConfigMCU(bool ayDevice);
+enum parse_status_t {
+ SYNC_HEAD_ONE,
+ SYNC_HEAD_TWO,
+ GET_ID_HI,
+ GET_ID_LO,
+ GET_LENGTH_HI,
+ GET_LENGTH_LO,
+ GET_PAYLOAD,
+ GET_CRC16_HI,
+ GET_CRC16_LO
+};
+
+class ParseUart {
+public:
+ typedef void (*funptr)(uint16_t id, const uint8_t *data, int length);
+ ParseUart(funptr fun);
+ ~ParseUart();
+
+ struct {
+ uint16_t id;
+ uint16_t length;
+ uint16_t rx_len;
+ uint8_t *buffer;
+ uint16_t crc16;
+ } McuPkt;
+
+ parse_status_t parse_status;
+ uint32_t sync_time = 0;
+ funptr fun = nullptr;
+ void ParseMcu(const uint8_t *data, int length);
+};
+
+
+
void SendRtkToMcu(const uint8_t *data, int length);
-void ParseMcuInit(void);
-void ParseMcu(const uint8_t *data, int length);
-void SendMcuCommand(uint16_t id, const uint8_t *data, int length);
+void SendMcuCommand(SerialPort *pClass, pSerialPortClassFun fun, uint16_t id, const uint8_t *data, int length);
-void UploadDfuFileEnd(void);
-void UploadDfuFile(const uint8_t *file, int length);
void ReadCard(void);
-void ShutdownInd(int timeout);
+
#endif //RTKDRIVERTEST_MCU_IF_H
--
Gitblit v1.8.0