- 实现了通过 SPI PING 命令获取 GD32 应用程序和引导加载程序版本信息 - 添加 /api/version HTTP 端点返回固件版本、编译时间和 Git 哈希 - 在系统状态 API 中包含 GD32 版本信息和存活状态 - 优化 SPI PING 协议解析以支持版本数据提取 refactor(ota): 移除压缩功能并简化 OTA 上传流程 - 移除 OTA 数据压缩和解压缩功能,简化数据处理流程 - 删除 utils/ota_compressor.cpp 文件及相关依赖 - 直接写入原始数据块而不是解压缩后写入 - 更新 OTA 上传处理器以处理原始二进制数据 build(cmakelists): 添加版本头文件自动生成机制 - 配置 CMake 构建时自动生成 version.h 头文件 - 集成 git 哈希和编译时间信息到固件版本 - 更新主 CMakeLists.txt 以包含版本生成目标 - 修改 app_config.h 以使用自动生成的版本字符串 fix(wifi_ota): 修复 OTA 中继状态管理和 SPI 通信问题 - 修复 OTA 中继完成后立即重置的问题,增加 3 秒延迟让前端轮询完成 - 修正 SPI CRC 错误检测和调试信息输出 - 优化 SPI PING 通信超时和重试机制 - 修复 OTA 上传大小计算和数据写入偏移跟踪
46 lines
1.1 KiB
CMake
46 lines
1.1 KiB
CMake
idf_component_register(
|
||
SRCS
|
||
"core/main.cpp"
|
||
"relay/ota_relay.cpp"
|
||
"transport/spi_master.cpp"
|
||
"transport/protocol.cpp"
|
||
"server/wifi_ota.cpp"
|
||
"server/ble_ota.cpp"
|
||
"monitor/health_monitor.cpp"
|
||
"monitor/debug_log.cpp"
|
||
INCLUDE_DIRS
|
||
"."
|
||
"core"
|
||
"relay"
|
||
"transport"
|
||
"server"
|
||
"monitor"
|
||
"include"
|
||
REQUIRES
|
||
app_update
|
||
cjson
|
||
esp_driver_spi
|
||
esp_driver_tsens
|
||
esp_driver_uart
|
||
esp_wifi
|
||
esp_netif
|
||
esp_event
|
||
esp_partition
|
||
esp_timer
|
||
esp_http_server
|
||
esp_blockdev
|
||
nvs_flash
|
||
freertos
|
||
mbedtls
|
||
bt
|
||
)
|
||
|
||
# 每次构建时自动刷新 version.h(BUILD_TIME / GIT_HASH)
|
||
add_custom_target(version_header ALL
|
||
COMMAND ${CMAKE_COMMAND}
|
||
-DSOURCE_DIR=${CMAKE_SOURCE_DIR}
|
||
-DOUTPUT_FILE=${CMAKE_CURRENT_SOURCE_DIR}/include/version.h
|
||
-P ${CMAKE_SOURCE_DIR}/cmake/gen_version_script.cmake
|
||
COMMENT "Refreshing version.h"
|
||
VERBATIM
|
||
) |