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