From 567085ead3f6adaabd884f16ab4b17c62e8f0403 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期日, 21 十二月 2025 22:28:09 +0800
Subject: [PATCH] OTA升级功能调通,准备增加boot的代码

---
 STM32H743/FML/PythonLink.h |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/STM32H743/FML/PythonLink.h b/STM32H743/FML/PythonLink.h
index 1827adb..4a3a59c 100644
--- a/STM32H743/FML/PythonLink.h
+++ b/STM32H743/FML/PythonLink.h
@@ -23,9 +23,9 @@
 #define PYTHONLINK_FRAME_FOOTER1        0x0D    // 甯у熬1 (CR)
 #define PYTHONLINK_FRAME_FOOTER2        0x0A    // 甯у熬2 (LF)
 
-// 鏁版嵁绫诲瀷瀹氫箟
-#define PYTHONLINK_TYPE_GPS             0x01    // GPS鏁版嵁鍖� (10Hz)
-#define PYTHONLINK_TYPE_IMU             0x02    // IMU鏁版嵁鍖� (100Hz)
+// 鏁版嵁绫诲瀷瀹氫箟 (淇濈暀浠ュ吋瀹规棫鐗�)
+#define PYTHONLINK_TYPE_GPS             0x01    // GPS鏁版嵁鍖� (宸插仠鐢�)
+#define PYTHONLINK_TYPE_IMU             0x02    // IMU鏁版嵁鍖� (宸插仠鐢�)
 #define PYTHONLINK_TYPE_CONTROL         0x10    // 鎺у埗鍛戒护鍖� (Python->STM32)
 
 // 缂撳啿鍖哄ぇ灏�
@@ -35,6 +35,12 @@
 // 璋冭瘯閫夐」: 缃�1鍒欏彂閫佸浐瀹氬唴瀹逛互鎺掓煡涔辩爜
 #define PYTHONLINK_FORCE_FIXED_PAYLOAD  0
 
+// ASCII 杈撳嚭鍏抽敭瀛�
+#define PYTHONLINK_ASCII_KEY_CTRL       "CTRL"
+#define PYTHONLINK_ASCII_KEY_POSE       "POSE"
+#define PYTHONLINK_ASCII_KEY_STACK      "STACK"
+#define PYTHONLINK_ASCII_KEY_STATE      "STATE"
+
 /*******************************************************************************
  *                             Type Definition                                 *
  *******************************************************************************/
@@ -107,6 +113,12 @@
     HIDO_UINT16 m_u16ThrottlePWM;        // 娌归棬PWM鍊� (1000~2000us)
 } ST_PythonLink_Control;
 
+typedef struct __attribute__((packed))
+{
+    HIDO_FLOAT m_fForwardMps;
+    HIDO_FLOAT m_fTurnRate;
+} ST_PythonLink_ControlFeedback;
+
 /*******************************************************************************
  *                             Global Function                                 *
  *******************************************************************************/
@@ -157,6 +169,44 @@
 HIDO_INT32 PythonLink_SendIMUData(const ST_GPIMU *_pstGPIMU);
 
 /**
+ * @brief ASCII 杈撳嚭锛氭帶鍒堕噺/棰戠巼/闃舵
+ */
+HIDO_VOID PythonLink_ReportControl(HIDO_FLOAT _forward_mps,
+                                   HIDO_FLOAT _turn_rate,
+                                   HIDO_FLOAT _freq_hz,
+                                   HIDO_UINT16 _steering_pwm,
+                                   HIDO_UINT16 _throttle_pwm,
+                                   const HIDO_CHAR *_pcStage,
+                                   HIDO_UINT32 _timestamp_ms,
+                                   const HIDO_FLOAT *_pos_enu,
+                                   HIDO_FLOAT _heading_deg,
+                                   HIDO_FLOAT _target_heading_deg,
+                                   const HIDO_FLOAT *_target_xy);
+/**
+ * @brief ASCII 杈撳嚭锛氬Э鎬�/浣嶇疆/鐩爣鐐�
+ */
+HIDO_VOID PythonLink_ReportPose(const HIDO_FLOAT _enu[3],
+                                HIDO_FLOAT _heading_deg,
+                                HIDO_FLOAT _pitch_deg,
+                                HIDO_FLOAT _roll_deg,
+                                const HIDO_FLOAT _target_xy[2],
+                                HIDO_UINT32 _timestamp_ms);
+/**
+ * @brief ASCII 杈撳嚭锛氱畻娉曠姸鎬�(闃舵+璇樊)
+ */
+HIDO_VOID PythonLink_ReportState(const HIDO_CHAR *_pcStage,
+                                 HIDO_FLOAT _xte_m,
+                                 HIDO_FLOAT _heading_err_deg,
+                                 HIDO_UINT32 _timestamp_ms);
+/**
+ * @brief ASCII 杈撳嚭锛氬爢鏍�/鍫嗙洃娴�
+ */
+HIDO_VOID PythonLink_ReportStack(const HIDO_CHAR *_pcTaskName,
+                                 HIDO_UINT32 _u32StackHighWaterWords,
+                                 HIDO_UINT32 _u32HeapFreeBytes,
+                                 HIDO_UINT32 _u32HeapMinBytes);
+
+/**
  * @brief 鑾峰彇鍙戦�佺粺璁′俊鎭�
  * @param _pu32GPSCount: GPS鏁版嵁鍖呭彂閫佽鏁�
  * @param _pu32IMUCount: IMU鏁版嵁鍖呭彂閫佽鏁�

--
Gitblit v1.10.0