添加M999命令发送版本号

This commit is contained in:
2025-09-16 16:26:14 +08:00
parent 14fa262d35
commit 5ac3d5afa7
3 changed files with 24 additions and 2 deletions

View File

@@ -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_GPIO_I2C RCU_GPIOF
#define RCU_I2C RCU_I2C0 #define RCU_I2C RCU_I2C0
#define I2C_SCL_PORT GPIOF #define I2C_SCL_PORT GPIOF

View File

@@ -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)); // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
// return; // 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: default:
// 其它无参数命令在此扩展示例M100处理逻辑该如何待定 // 其它无参数命令在此扩展示例M100处理逻辑该如何待定
// send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));

View File

@@ -1,8 +1,8 @@
# Project basic info # Project basic info
set(PROJECT_NAME "ultrasonic-analog") set(PROJECT_NAME "ultrasonic-analog")
set(VERSION_MAJOR 1) set(VERSION_MAJOR 0)
set(VERSION_MINOR 0) set(VERSION_MINOR 0)
set(VERSION_PATCH 0) set(VERSION_PATCH 3)
set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
string(TIMESTAMP BUILD_DATE "%Y-%m-%d") string(TIMESTAMP BUILD_DATE "%Y-%m-%d")