From 5ac3d5afa7215b590df1f60250bac61fa47bb7e2 Mon Sep 17 00:00:00 2001 From: yelvlab Date: Tue, 16 Sep 2025 16:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0M999=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inc/board_config.h | 8 ++++++++ Src/command.c | 14 ++++++++++++++ cmake/project_config.cmake | 4 ++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Inc/board_config.h b/Inc/board_config.h index 4089583..5888cc3 100644 --- a/Inc/board_config.h +++ b/Inc/board_config.h @@ -39,6 +39,14 @@ void usart1_irq_handler(void); /******************************************************************************/ +#define MCU_CODE 23u + +#define FW_VERSION_MAJOR 0 +#define FW_VERSION_MINOR 0 +#define FW_VERSION_PATCH 3 + +/******************************************************************************/ + #define RCU_GPIO_I2C RCU_GPIOF #define RCU_I2C RCU_I2C0 #define I2C_SCL_PORT GPIOF diff --git a/Src/command.c b/Src/command.c index d78ca37..a859227 100644 --- a/Src/command.c +++ b/Src/command.c @@ -284,6 +284,20 @@ void handle_command(const uint8_t *frame, uint8_t len) { // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); // return; + case 999u: //M999: 输出固件版本号(vMCU_CODE.FW_VERSION_MAJOR.FW_VERSION_MINOR.FW_VERSION_PATCH) + { + char version_str[16]; + int n = snprintf(version_str, sizeof(version_str), "v%u.%u.%u.%u", + MCU_CODE, FW_VERSION_MAJOR, FW_VERSION_MINOR, FW_VERSION_PATCH); + if (n > 0 && n < sizeof(version_str)) { + send_response(RESP_TYPE_OK, (uint8_t *)version_str, (uint8_t)n); + } else { + send_response(RESP_TYPE_DATA_ERR, s_report_status_err, sizeof(s_report_status_err)); + } + // send_response(RESP_TYPE_OK, (uint8_t *)"v23.0.0.3", 9); + } + + default: // 其它无参数命令在此扩展(示例:M100)处理逻辑该如何待定 // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); diff --git a/cmake/project_config.cmake b/cmake/project_config.cmake index e2ca5e9..25e9410 100644 --- a/cmake/project_config.cmake +++ b/cmake/project_config.cmake @@ -1,8 +1,8 @@ # Project basic info set(PROJECT_NAME "ultrasonic-analog") -set(VERSION_MAJOR 1) +set(VERSION_MAJOR 0) set(VERSION_MINOR 0) -set(VERSION_PATCH 0) +set(VERSION_PATCH 3) set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") string(TIMESTAMP BUILD_DATE "%Y-%m-%d")