固件 0.1.14~0.1.16-c5:Hub 按需启停(hubctl)、开机长按统一 5 s

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
zhou yang
2026-10-04 19:24:31 +08:00
共同撰写人 Claude Opus 5.5
父节点 92f38c2328
当前提交 c41d1ec931
共修改 21 个文件,包含 764 行新增和 18 行删除
+7
查看文件
@@ -5,6 +5,8 @@
#include "cmd_priv.h"
#include "evlog.h"
#include "hal_time.h"
#include "hubctl.h"
/* ---- 名字表(线上用的,全 ASCII) ---------------------------------------- */
@@ -14,6 +16,7 @@ static const char *const k_names[CMD_COUNT] = {
[CMD_VBUS] = "vbus", [CMD_FAN] = "fan", [CMD_EVENTS] = "events",
[CMD_POWER] = "power", [CMD_WIFI] = "wifi", [CMD_MQTT] = "mqtt",
[CMD_NET] = "net", [CMD_OTA] = "ota", [CMD_FLASH_MODE] = "flash_mode",
[CMD_HUB] = "hub",
};
static const char *const k_errs[CMD_ERR_COUNT] = {
@@ -106,6 +109,7 @@ static const handler_t k_handlers[CMD_COUNT] = {
[CMD_VBUS] = do_vbus, [CMD_FAN] = do_fan, [CMD_EVENTS] = do_events,
[CMD_POWER] = do_power, [CMD_WIFI] = do_wifi, [CMD_MQTT] = do_mqtt,
[CMD_NET] = do_net, [CMD_OTA] = do_ota, [CMD_FLASH_MODE] = do_flash_mode,
[CMD_HUB] = do_hub,
};
static cmd_id_t lookup(const char *name)
@@ -154,6 +158,9 @@ static size_t reply(char *out, size_t len, bool has_seq, uint32_t seq, cmd_err_t
size_t cmd_handle_line(cmd_link_t link, const char *line, char *out, size_t out_len)
{
s_stats.lines++;
if (link == CMD_LINK_USB) {
hubctl_touch(hal_time_now_ms()); /* 解析得过得不过都算:有人正对着 USB 敲 */
}
/* 两块大缓冲放静态区:处理器只在执行器任务里跑(cmd.h),不可重入,
而 1.5 KB 放在那个任务的栈上就是把栈顶到头。 */