小龙虾
|
0b363492ed
|
feat(ble-ota): 优化BLE OTA传输性能和可靠性
- 调整NimBLE配置恢复默认缓冲区大小以支持窗口内突发包接收
- 实现BLE连接参数动态调整,支持Windows兼容模式
- 优化OTA数据队列长度与确认窗口匹配
- 改进reorder buffer管理,添加乱序包缓存统计
- 修复ACK触发逻辑,确保按累计进度而非单包序列确认
- 添加GD32 OTA元数据本地缓存避免频繁NVS访问
- 优化前端JavaScript实现,改进Web Bluetooth写入策略
BREAKING CHANGE: BLE连接参数协商机制变更可能影响部分设备兼容性
|
2026-07-12 03:38:20 +08:00 |
|
小龙虾
|
c0ca4e2a9f
|
feat(can): 优化CAN反馈任务错误日志记录机制
- 添加s_lastLoggedError数组跟踪各通道最后记录的错误计数
- 实现错误计数变化时才触发告警,避免重复打印
- 扩展错误日志信息,包含TEC、REC和总线状态详细信息
- 修复P0/P1页面携带相同统计数据时的重复打印问题
perf(ota): 移除冗余的OTA协调器状态检查方法
- 删除isGd32BusyState、isEsp32BusyState等未使用的状态判断方法
- 移除esp32FinalizeErrCategory错误分类函数
- 清理相关的头文件声明,减少代码冗余
refactor(relay): 移除未使用的中继状态获取方法
- 删除getRelaySeq、getRelayTotalPackets状态查询接口
- 移除getGd32Version版本获取方法
- 清理StateLockGuard中的isLocked方法
|
2026-07-11 17:51:42 +08:00 |
|
小龙虾
|
fedb08e215
|
fix: 修复:改进OTA错误处理和BLE OTA性能
- 重构app.js中的OTA错误处理,以准确报告获取失败而不假设重启,从而实现正确的状态轮询。
- 通过将握手状态封装在SpiLinkState类中来增强SPI主状态管理,提高清晰度并减少直接的状态操作。
引入otaSendAndPoll方法,以更好地处理SPI通信中的命令发送和响应轮询。
- 调整BLE OTA数据包确认逻辑,防止导致固件录变慢的虚假确认,确保仅在实际取得进展时才发送确认。
- 修改确认超时设置,以更好地适应闪存写入速度,减少不重传。
|
2026-07-09 02:49:24 +08:00 |
|
小龙虾
|
069ce8e6a5
|
feat(transport): 添加SPI Ready握手引脚支持并优化GPIO驱动依赖
添加ESP32-C3 GPIO驱动组件以支持SPI Ready握手机制,新增
SPI_READY_GPIO(10)引脚配置用于监测GD32 PB6就绪状态,避免SPI
通信时从机未准备好的丢帧问题。
|
2026-07-06 19:14:13 +08:00 |
|
小龙虾
|
2fe5393769
|
feat(can): 添加CAN总线错误计数器和总线状态监控
添加了硬件发送错误计数器(tec)、接收错误计数器(rec)和总线状态位图(bus_state)字段,
用于更全面的CAN总线状态监控。同时新增CAN_RX_MODE_BRIDGE_0_TO_12模式,支持CAN0到
CAN1和CAN2的桥接功能。
BREAKING CHANGE: CAN反馈协议格式扩展,增加了3个字节的状态信息。
|
2026-07-02 02:02:27 +08:00 |
|
小龙虾
|
6335d05198
|
feat(main): 添加CAN 1Hz反馈轮询任务和HTTP接口
- 新增monitor/can_feedback_task.cpp组件,实现CAN 1Hz反馈轮询功能
- 在main.cpp中注册CAN反馈轮询任务,依赖SPI初始化完成后启动
- 在OTA协调器和中继模块中集成CAN反馈任务暂停/恢复机制
- 扩展CANFD桥接层,添加0xC1反馈查询、0xC2模式切换、0xC3ID快照协议支持
- 新增HTTP接口/can/feedback提供三路CAN反馈快照数据
- 新增HTTP接口/can/mode支持查询和切换CAN接收过滤模式
- 更新版本号从0.3.34到0.35
- 扩大SPI缓冲区以支持更大帧传输需求
BREAKING CHANGE: 新增CAN反馈监控功能需要GD32固件支持0xC1/0xC2/0xC3协议扩展
|
2026-06-29 01:51:44 +08:00 |
|
小龙虾
|
a93dba60d2
|
feat(ota): 会话 epoch/通道标识 + BLE 中止命令 + NVS 线程安全
- 新增 ota_channel_t(WiFi/BLE) + m_otaEpoch 会话代次,
abortCurrentIfEpoch 防止同类型重启后旧 handler 误清新会话
- 同通道再次发起 OTA 时自动中止旧会话并重开
- 统一 prepareGd32Storage(validate+begin+erase+meta),
消除 BLE/WiFi 两路径隐式差异
- OtaRelay 拆分子步骤(doRelayPackets/doFinishAndVerify),
状态成员私有化消除数据竞争
- Gd32FlashStore NVS 读写加 mutex,metaUpdate 原子化
- BLE OTA 新增 0xFB 中止命令(保持连接)+ 0x20 ABORTED 处理
- HTTP handler 改 per-request buffer 支持并发
- 修复 CRITICAL 状态 RSSI 恢复无法降级的缺陷
- main.cpp 关键任务失败触发看门狗重启
- style.css 增强动画 + prefers-reduced-motion 兼容
|
2026-06-28 04:32:18 +08:00 |
|
小龙虾
|
6ef97307c3
|
feat(http): 添加CPU使用率监控功能
添加了详细的CPU使用率统计功能,包括:
- 实现FreeRTOS运行时统计采样机制
- 添加CPU任务占用率计算和快照功能
- 在/system/status接口中增加CPU状态JSON数据
- 支持实时监控各任务的运行时间和占用百分比
更新了前端界面以显示CPU使用情况:
- 添加CPU使用率进度条和百分比显示
- 显示空闲时间、采样窗口和任务数量
- 展示前8个最耗时任务的详细统计信息
同时优化了CAN FD桥接实现,重构为SPI协议帧传输方式,
并改进了前端CAN页面布局,将CAN表单迁移到独立页面。
|
2026-06-25 01:42:31 +08:00 |
|
小龙虾
|
7a41eac526
|
refactor(ota): 移除ESP32 OTA架构中的高危设计问题并优化状态管理
- 移除OtaRelay职责过载问题,将状态查询统一收口到OtaCoordinator::getSnapshot()
- 新增OtaSnapshot结构体,一次性获取完整的OTA系统状态快照,避免分散读取
- 将GD32 APP探测逻辑从system_status_handler中分离,提供独立的/system/probe端点
- 修复并发安全隐患,确保processEvent()读取relayState时持有锁保护
- 优化SPI通信相关代码结构,提升系统稳定性
BREAKING CHANGE: 移除了原有的分散状态查询接口,统一使用快照方式获取状态
|
2026-06-23 00:05:56 +08:00 |
|
小龙虾
|
1491e9a3de
|
refactor(main): 移除ota_mutex.h全局变量并重构ESP32 OTA互斥锁管理
- 将全局变量g_esp32OtaMutex和g_esp32OtaOccupied内聚到Esp32OtaCore类中
- 通过Esp32OtaCore::initMutex()方法初始化互斥锁替代原main.cpp中的全局初始化
- 重构HealthMonitor中WiFi连接状态管理,推送连接状态到本地成员而非直接查询
- 优化OtaCoordinator中const方法的线程安全实现,移除不必要的const_cast转换
- 封装OtaRelay的队列访问器,提供getDispatchQueue()和getResultQueue()方法
- 解决BLE与WiFi之间的横向耦合问题,通过OtaCoordinator进行射频共存管理
- 移除transport/spi_master.cpp中的CANFD接口实现到独立的canfd_bridge模块
- 优化BLE OTA中ESP32会话的幂等性和新会话处理逻辑
BREAKING CHANGE: 移除了ota_mutex.h全局头文件,相关功能迁移至Esp32OtaCore类中管理
|
2026-06-22 01:53:16 +08:00 |
|
小龙虾
|
00ce8dbbb5
|
feat(ota): 实现 GD32 Flash 存储抽象层和 OTA 协调器接口解耦
- 新增 storage/gd32_flash_store.cpp 组件,提供 GD32 Flash 存储抽象层
- 修改 ota_coordinator.cpp/h 使其继承 IRelayListener 接口,实现与
OtaRelay 的解耦设计
- 将 GD32 相关存储操作统一通过协调器访问,解决 H3 绕过协调器的问题
- 添加完整的 Doxygen 注释到所有公共接口和关键函数
- 更新 CMakeLists.txt 构建配置,添加 storage 组件依赖
- 重构元数据加载/清除操作使用 Gd32FlashStore 实例而非 OtaRelay 直接访问
- 添加中继事件回调接口实现,使 OtaRelay 可通知协调器状态变化
|
2026-06-21 23:48:31 +08:00 |
|
小龙虾
|
3fff959a2b
|
feat(config): 优化NimBLE配置以节省内存并提升OTA性能
- 启用BLE连接事件长度优化,允许单CE内传输多包,提升OTA吞吐
- 缩减NimBLE mbuf池配置,单连接OTA场景节省约7KB内存
- 禁用未使用的标准GATT服务,仅保留自定义OTA service,节省8-15KB
- 缩减NimBLE传输缓冲区配置以优化内存使用
refactor(debug_log): 重构环形日志缓冲区API以支持逐条弹出
- 新增ringPopOldest方法,支持弹出最旧日志并从缓冲区移除
- 重构ringDrainJson实现,基于新的逐条弹出机制
- 改进日志转义处理逻辑,支持更多特殊字符转义
perf(tasks): 优化各任务栈大小配置以节省内存
- 将ota_relay任务栈从12288字节缩减至6144字节
- 将ble_ota任务栈从8192字节缩减至4096字节
- 将ble_ota数据工作线程栈从8192字节缩减至4096字节
- 通过栈高水位监控验证实际使用情况,确保安全余量
feat(monitor): 添加任务句柄获取接口以支持系统状态监控
- 为HealthMonitor、OtaRelay、BleOta和WifiOta类添加任务句柄获取方法
- 在任务入口处记录当前任务句柄
- 便于系统状态监控和调试信息收集
feat(status): 扩展系统状态API以提供更详细的内存和任务信息
- 增加内部堆和默认堆的详细统计信息
- 添加各关键任务的栈使用情况监控
- 扩展/system/status端点返回更全面的系统资源使用情况
- 包含最大空闲块、最小空闲内存等关键指标
|
2026-06-20 00:46:04 +08:00 |
|
小龙虾
|
59c729d77a
|
fix(ble_ota): 修复OTA中止时状态机卡死问题
- 在ESP32 OTA失败收尾时,添加对协调器状态机的重置调用,
防止m_sysState卡在ESP32_FINALIZING状态导致下次OTA被假拒绝
- 在ble_esp32_ota_abort函数中增加状态检查逻辑,
确保在ESP32_RECEIVING或ESP32_FINALIZING状态下
先通知协调器释放系统状态,再执行核心中止操作
|
2026-06-19 03:30:31 +08:00 |
|
小龙虾
|
7feef70750
|
feat(ota): 统一BLE/WiFi OTA协调器接口并优化并发控制
- 添加 beginEsp32OtaWithRetry 统一重试逻辑,防止锁残留导致的并发问题
- 实现 finalizeForReboot 和 restartEsp32 统一封装收尾重启流程
- 修复BLE/WiFi双通道并发OTA的安全隐患,增强系统状态检查
refactor(ota): 优化SHA计算内存管理
- 使用静态缓冲区替代动态分配,减少内存碎片
- 重构OTA协调器状态机,增强错误处理机制
perf(monitor): 增强堆内存监控功能
- 添加最大空闲块大小监控,提供更详细的内存状态信息
- 更新健康监测算法,提高内存异常检测准确性
|
2026-06-19 03:02:33 +08:00 |
|
小龙虾
|
41fee936df
|
feat(ota): 实现GD32 SPI OTA中继功能并优化版本管理
- 实现了完整的GD32 SPI OTA中继机制,支持通过BLE触发GD32固件升级
- 添加了SHA-256校验机制确保固件传输完整性
- 重构了版本号管理系统,PATCH版本改为基于Git提交次数自动递增
- 修复了flash写入4字节对齐问题,提升OTA可靠性
- 优化了BLE OTA协议的消息格式和错误处理机制
BREAKING CHANGE: OTA协议消息格式发生变化,需要前端同步更新
|
2026-06-18 01:37:30 +08:00 |
|
小龙虾
|
2586582e57
|
fix(ota): 修复OtaCoordinator互斥锁死锁和SPI appPing首字节丢失
- OtaCoordinator lock/unlock: 移除共享 m_locked 标志,改为传参传递 take
结果,消除多任务并发 lock() 超时覆盖持锁状态导致 mutex 永久死锁的问题
- SPI appPing: 发送帧填充至 16 字节防止首字节丢失,增大轮询间隔至 10ms,
增大接收缓冲区避免字节偏移解析失败
- SPI init: 先创建 mutex 再使用 LockGuard,消除竞态窗口
- 压制 WiFi 框架 INFO 日志 (pp/net80211/wifi/wifi_init),减少启动打印
- 降级 7 条调试日志为 DBG 级别(UART0 初始化、冷启动缓存清理、互斥锁/重连
任务/回调/netif 创建)
- GD32 版本号读取增加 5 次重试上限和 OTA 繁忙时跳过逻辑
- 移除 forwardFirmware 中已过时注释
|
2026-06-17 11:52:26 +08:00 |
|
小龙虾
|
98b5cc1ba1
|
feat(ota): 引入OTA协调器和事件驱动状态机重构
- 添加OtaCoordinator单例模式,提供9状态系统级OTA协调功能
- 重构OtaRelay为事件驱动状态机,从4阶段扩展为6阶段状态机
- 实现系统级状态管理:OTA_SYS_IDLE/GD32_STORING/GD32_RELAYING等9个状态
- 传输层通过OtaCoordinator统一入口管理ESP32/GD32 OTA操作序列化
fix(protocol): 优化协议层安全配置和参数管理
- Scramble常量改为运行时随机生成,提升安全性
- GD32芯片UID从握手包动态获取,移除编译期常量
- 添加运行时SCRAMBLE_CONST参数说明
refactor(esp32_ota): 优化ESP32 OTA分区擦除策略
- BLE OTA采用实际固件大小而非分区全尺寸进行擦除
- 避免全分区擦除导致的Task Watchdog超时问题
- 擦除大小对齐到64KB块边界确保尾部数据干净
feat(transport): 增强SPI传输层功能和可靠性
- 添加Flash元数据记录(total_size/stored_size/last_seq/checksum)
- 支持中继恢复判断和完整性校验
- 添加ACK错误码支持(0x04=CRC错误)
feat(ble): 实现BLE传输层乱序重排和预检功能
- 添加32槽reorder buffer处理窗口内乱序包
- 新增0xF9命令支持仅SHA校验不入库的预检模式
- 完善BLE OTA收尾流程和状态跟踪
docs(readme): 更新架构文档和API说明
- 详细描述OtaCoordinator系统级状态流转
- 更新OTA流程状态机图表和说明
- 补充新的控制命令和配置参数说明
|
2026-06-17 02:18:42 +08:00 |
|
小龙虾
|
5b2c5f8ff9
|
docs(README): 合并WiFi OTA和BLE OTA
- 调整ESP32_COMM/finalize函数执行顺序:先进行SHA-256校验比对,
再调用esp_ota_end和设置启动分区
- 更新BLE传输收尾描述,明确设备端读回OTA分区进行SHA比对的流程,
以及FINISH事件的上报机制
|
2026-06-16 23:17:06 +08:00 |
|
小龙虾
|
2875ef2145
|
docs(ota_mutex): 添加函数注释说明
|
2026-06-15 01:14:29 +08:00 |
|
小龙虾
|
929faf1d38
|
refactor: 清理遗留死代码(−353 行)
仓库经多轮迭代积累了不少不再被引用的中间件代码。本次以当前前端依赖的
HTTP 端点为基准(/system/status、/logs、/can/send、/spi/send、/ota/upload、
/ota/update、/ota/relay、/restart),移除以下模块的未引用代码:
- main/transport/protocol.{h,cpp}(−257 行)
* 移除 CMD_* / ACK_* 宏(CMD_HANDSHAKE_REQ 等 16 个)
* 移除未引用方法:crc16Modbus、buildFrame、parseFrame、aesEncrypt、
aesDecrypt、sessionEncrypt、sessionDecrypt、generateRandomNonce
* 保留 init / scrambleGenerate / sessionKeyInit / sessionKeyClear
(被 ota_relay 实际调用)
- main/relay/ota_relay.{h,cpp}(−84 行)
* 移除未引用方法:startHandshake、probeBootHandshake、isStructuredAckWithPayload
* 移除未使用枚举值:RELAY_HANDSHAKE_IDLE、RELAY_RECEIVING、RELAY_TRANSFER_DONE
* 移除字段 ota_meta_t.chunk_count 与宏 OTA_META_NVS_KEY
- main/server/wifi_ota.cpp(−255 行)
* 移除 6 个未被前端调用的 HTTP 端点:/health、/wifi/status、/can/status、
/ota/status、/ota/esp32_status、/api/version
* 移除其处理器与路由注册
* 移除 mbedtls/private/sha256.h 直接引用(SHA-256 已委托 Esp32OtaCore)
- main/server/ble_ota.cpp、main/relay/ota_relay.cpp
* 同步移除 chunk_count 引用
|
2026-06-15 00:24:29 +08:00 |
|
小龙虾
|
9ca53ae66e
|
feat(ota): 解耦ESP32 OTA核心逻辑到独立模块并增强BLE控制功能
- 新增ota目录和esp32_ota_core.cpp实现ESP32 OTA核心功能,支持begin/write/finalize操作
- 修改CMakeLists.txt添加ota源文件和包含目录
- 重构ble_ota.cpp将OTA写入/收尾逻辑委托给Esp32OtaCore,移除mbedtls直接引用
- 新增BLE_OTA_CTRL_RESTART_ESP32(0xFA)命令用于重启ESP32设备
- 更新BLE_OTA_CTRL_TRIGGER_ESP32(0xF8)逻辑,要求前端提供SHA-256校验并比对
- 添加SHA-256校验不匹配错误码BLE_OTA_FINISH_ERR_SHA_MISMATCH(0x85)
- 优化OTA收尾流程,设备端读取分区计算SHA-256并与前端提供的哈希比对
- 添加BLE_OTA_NOTIFY_SHA256通知类型用于上报设备端计算的SHA-256值
- 更新app_config.h中的BLE OTA命令描述文档
- 移除BleOta类中的OTA状态变量,仅保留BLE传输层相关状态
- 更新版本构建时间和Git哈希信息
|
2026-06-14 23:03:28 +08:00 |
|
小龙虾
|
2caf10b9de
|
feat(ota): 添加OTA回滚保护和固件完整性校验功能
- 启用CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE和CONFIG_APP_ROLLBACK_ENABLE配置选项
- 在main.cpp中添加esp_ota_mark_app_valid_cancel_rollback()调用,防止意外回滚
- 实现SHA-256固件完整性校验,包括计算、存储和验证功能
- 添加ota_mutex.h头文件用于ESP32 OTA全局互斥锁管理
feat(health_monitor): 实现线程安全的健康状态管理
- 将HealthMonitor类的健康状态改为私有成员并通过mutex保护
- 添加getState()和setState()方法提供线程安全的状态访问
- 修复多任务并发访问健康状态时的竞争条件问题
feat(ota_relay): 增强中继模块的线程安全性和可靠性
- 为OtaRelay类添加静态mutex保护状态变量访问
- 实现StateLockGuard RAII锁管理器确保异常安全
- 添加全局超时机制防止OTA过程无限等待
- 改进flash写入逻辑支持非4字节对齐数据处理
refactor(app_config): 更新版本信息和配置常量
- 更新BUILD_TIME至最新编译时间
- 更新GIT_HASH至最新提交
- 添加BLE_OTA_CTRL_VERIFY_SHA256命令常量定义
|
2026-06-14 17:10:24 +08:00 |
|
小龙虾
|
6a6bc9dab4
|
feat(version): 更新固件版本号至 0.3.12,修正编译时间和 Git 哈希
feat(ble): 增加 BLE OTA 窗口确认机制,优化数据包处理
fix(html): 更新链接以在新标签页中打开,改善用户体验
|
2026-06-13 01:24:11 +08:00 |
|
小龙虾
|
d8e4222fec
|
feat(ota): 添加 GD32 版本信息获取和 API 端点
- 实现了通过 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 上传大小计算和数据写入偏移跟踪
|
2026-06-03 03:14:01 +08:00 |
|
小龙虾
|
c4d78bdfbc
|
feat(ota): 临时版本,添加zlib压缩支持和SPI通信优化
添加了zlib压缩功能以减少固件传输时间,特别是在弱网环境下
优化了SPI通信参数和错误处理机制
BREAKING CHANGE: 固件版本从0.3.0升级到0.3.1,增加了压缩传输协议
- 在WiFi OTA中集成zlib压缩/解压缩功能
- 添加压缩选项UI界面和前端压缩逻辑
- 修复SPI引脚配置错误(MOSI/MISO接反)
- 优化SPI通信参数设置增加CS时序控制
- 改进OTA重试机制和超时处理
- 扩展ota_relay组件栈大小从8K到12K
- 添加解压缩回调函数和上下文管理
- 更新固件版本号到0.3.1
- 添加更多调试日志和错误检查
|
2026-05-31 19:09:11 +08:00 |
|
小龙虾
|
1586a81b97
|
feat(main): 将全局函数重构为单例类模式
- 将 debug_log 模块重构为 DebugLog 单例类,封装 UART、UDP 和环形缓冲区日志输出
- 将 health_monitor 模块重构为 HealthMonitor 单例类,统一健康状态管理和监控逻辑
- 更新 main.cpp 中的初始化调用,使用单例实例替代原有全局函数
- 添加健康监控任务作为第四个 FreeRTOS 任务,增强系统监控能力
- 更新固件版本从 0.2.11 到 0.3.0,反映架构重大变更
|
2026-05-31 03:20:26 +08:00 |
|
小龙虾
|
56f26fa0d1
|
feat(ota): 添加GD32 OTA转发进度追踪和重发机制
- 升级固件版本从0.2.10到0.2.11
- 新增全局变量g_relay_seq和g_relay_total_packets用于跟踪转发进度
- 实现OTA转发过程中的包重发逻辑,解决GD32 Flash缓冲区满时的问题
- 添加重试计数器,超过3次重发限制时标记为GD32错误
- 在system_status_handler中暴露转发序列号和总包数到API接口
- 优化前端UI显示,添加分阶段进度指示器(EPS32 OTA、GD32上传、GD32转发)
- 实现详细的转发进度百分比计算和状态反馈
- 移除未使用的AES解密函数以减少代码体积
- 修复注释中的标点符号错误(->替换为→)
- 更新CSS样式以支持新的进度显示需求
|
2026-05-31 01:45:53 +08:00 |
|
小龙虾
|
6f4be9189c
|
feat(relay): OTA可用版本,添加OTA中继阶段健康检查和APP存活验证功能
- 新增health_check_before_ota_relay函数,用于OTA中继转发阶段的健康检查,
跳过WiFi相关检查,只检查温度等本地状态
- 添加APP存活验证阶段,OTA完成后等待GD32 APP启动并通过ping确认存活
- 实现更精确的响应帧类型匹配和轮询机制,提高协议可靠性
- 添加多个阶段的响应匹配器(is_handshake_echo_ack、is_challenge_payload_ack等)
- 优化poll_until_expected_ack_shape函数,处理残留ACK和超时情况
- 将调试日志级别从INFO降级为DBG,减少日志输出
- 修复handshake阶段重试机制,添加最大重试次数限制
- 优化Flash擦除期间的WATI状态处理,使用短超时避免长阻塞
- 添加完整的会话数据清理,防止状态污染
- 增加详细的注释说明各阶段的处理逻辑
|
2026-05-30 20:04:04 +08:00 |
|
小龙虾
|
235b9c0420
|
feat(core): 移除状态监控任务并优化系统资源
移除原有的周期性状态监控任务,减少系统负载和内存占用。
perf(relay): 优化OTA中继挑战响应验证逻辑
重构挑战响应验证流程,统一响应长度定义,并改进验证算法。
fix(wifi): 修复OTA中继重复触发问题
确保中继状态正确重置,防止在非空闲状态下重复触发中继。
perf(transport): 优化SPI通信时序参数
调整CS片选信号的前后延时参数,提高SPI通信稳定性。
refactor(ui): 分离ESP32和GD32文件上传界面
重构前端界面,为ESP32和GD32分别提供独立的文件上传区域。
|
2026-05-28 23:40:19 +08:00 |
|
小龙虾
|
e014ca7704
|
feat(ota): 实现GD32安全握手认证和OTA中继功能
- 更新固件版本从0.2.0到0.2.7
- 替换默认密钥为实际密钥值
- 添加GD32芯片UID运行时获取机制
- 实现AES-128加密验证challenge响应
- 集成NVS持久化存储OTA元数据
- 改进数据包传输可靠性,添加ACK确认和重试机制
- 新增结构化错误响应解析功能
- 实现GD32应用通知进入Bootloader流程
- 添加详细函数文档注释
refactor(ble): 优化BLE OTA服务端代码结构
- 为所有关键函数添加详细的Doxygen注释
- 改进固件大小验证逻辑,支持4字节对齐计算
- 优化数据块接收和处理流程
|
2026-05-26 02:44:57 +08:00 |
|
小龙虾
|
adb7dc65ca
|
refactor(app): 删除过时的app.js备份文件
移除 _assistant_backups 目录中的 app.js.bak_2026-05-05_0451 备份文件,
该文件包含完整的JavaScript应用程序代码,包括全局状态管理、工具函数、
日志系统、连接管理、CAN帧发送、文件处理、固件上传等功能模块。
|
2026-05-07 23:50:04 +08:00 |
|
小龙虾
|
6641ca4afd
|
feat(health_monitor): 移除电压监控功能并优化OTA健康检查
- 移除ESP32电压监控相关代码,因为ESP32-C3无内置电压传感器
- 更新健康监控模块,从"温度+电压+WiFi RSSI监控"改为"温度+WiFi RSSI监控"
- 修改OTA健康检查频率,从每次包处理改为每32个包检查一次
- 添加OTA期间WiFi RSSI采样年龄限制和更宽松的阈值
docs: 更新文档中的系统监控描述
- 从README.md、开发指南和设计文档中移除电压监控相关内容
- 更新WebUI接口文档中的状态查询描述
refactor(wifi_ota): 增加系统状态响应中的运行时间信息
- 在/system/status接口响应中添加uptime_sec字段
- 前端工具页面显示系统运行时间
feat(wifi_ota): 添加ESP32重启接口和前端控制
- 新增/restart HTTP POST接口用于重启ESP32
- 在前端界面添加重启按钮替代健康检查按钮
- 移除前端健康检查功能
perf(ota_relay): 调整OTA块大小提升传输性能
- 将OTA块大小从4096字节增加到8192字节
- 更新固件上传和存储相关的缓冲区大小配置
|
2026-05-05 21:55:29 +08:00 |
|
小龙虾
|
f598b9acb3
|
docs(readme): 更新调试日志与上位机通信说明
更新了 README.md 中关于调试日志与上位机通信的部分,详细说明了当
前通信架构分为两类:
1. 业务通信:HTTP 接口用于 WebUI 与 ESP32 通信
2. 调试镜像:UART0 + UDP 用于独立调试接收器
明确区分了 WebUI 使用的 HTTP 接口功能,并移除了不再需要的心跳包
说明。
refactor(health): 移除健康监控模块的备份文件
删除了 _assistant_backups 目录中的 health_monitor.cpp 和
health_monitor.h 备份文件,清理项目结构。
|
2026-05-05 04:48:31 +08:00 |
|
小龙虾
|
478e5e5a31
|
feat(ota-relay): 更新ESP32-C3 OTA中继固件配置和功能增强
- 修改WiFi配置默认为STA模式连接路由器,并调整相关参数
- 优化调试日志系统,添加环形缓冲区支持HTTP日志拉取功能
- 重构健康监控,提高温度监控频率至1秒并添加电压监控定时器
- 更新分区表配置以适应4MB Flash布局
- 添加OTA更新组件依赖和蓝牙支持
- 修复UDP socket延迟创建时机,确保网络接口初始化正确
- 调整WiFi信号强度告警阈值,提升连接稳定性
- 更新README文档中的IP地址配置示例
- 修改VSCode端口配置为COM13
|
2026-05-05 03:28:44 +08:00 |
|
小龙虾
|
064eb7e03f
|
feat(ota_relay): 实现WiFi/AP双模式和CANFD 3通道SPI协议
- 新增AP/STA双工作模式,通过app_config.h配置切换
- 实现CANFD 3通道SPI协议,支持主通信通道和备用通道
- 添加GD32命令ID定义和HTTP API接口
- 集成上位机WebUI,支持固件上传和CAN帧发送
refactor(debug_log): 支持UDP+UART双通道调试输出
- 新增UART0串口调试功能,TX=GPIO21, RX=GPIO20, 115200波特率
- 实现UDP socket延迟创建机制,避免网络初始化冲突
- 调试日志同时输出到UDP和UART双通道
docs(README): 更新项目文档和目录结构说明
- 更新硬件平台和模块功能描述
- 添加WiFi工作模式配置说明
- 补充CANFD协议和GD32命令定义
- 增加HTTP API和上位机WebUI使用指南
fix(health_monitor): 优化健康监控和系统状态报告
- 增强温度和电压监控的警告提示信息
- 添加WiFi RSSI监控和健康状态更新
- 修复安全关机触发条件和状态变更日志
style(main): 优化程序入口和任务创建流程
- 修复网络接口初始化顺序问题
- 添加任务创建结果检查和错误处理
- 增加系统启动信息和CPU频率显示
- 新增周期性状态监控任务,每10秒打印系统状态
|
2026-04-28 01:06:17 +08:00 |
|
小龙虾
|
47ffe1bd54
|
feat(wifi_ota): 添加CAN帧转发功能
添加了HTTP接口用于转发CAN帧,包括/can/send POST接口用于发送CAN帧,
以及/can/status GET接口用于查询CAN通道状态。同时集成了SPI master驱动
以支持与GD32之间的CANFD通信,并定义了完整的CAN帧格式和通道管理机制。
BREAKING CHANGE: 移除了OTA上位机工具脚本
|
2026-04-27 03:22:49 +08:00 |
|
小龙虾
|
7bb28cee1e
|
feat: 添加健康监控系统并重构代码结构
- 新增health_monitor模块,包含温度、电压、WiFi RSSI监控功能
- 移除旧的app_main.h/app_main.c和debug模块,将调试日志移动到monitor目录
- 在main.cpp中替换system_monitor_task为health_monitor_task
- 更新CMakeLists.txt依赖项,添加esp_driver_tsens和esp_driver_uart
- 修改WiFi配置参数,更新SSID和密码设置方式
- 在Python工具中修复OTA客户端重新连接逻辑
- 调整任务优先级分配,统一使用核心0以适配ESP32-C3单核架构
|
2026-04-27 02:34:47 +08:00 |
|
小龙虾
|
bcfe130451
|
feat: ESP32-C3 OTA 中继项目 initial commit
|
2026-04-27 00:42:26 +08:00 |
|