feat(factory): support USB CDC alongside UART CLI

This commit is contained in:
chenjintao
2026-10-27 15:04:14 +08:00
parent 6116a67d5f
commit 002967b21f
13 changed files with 583 additions and 69 deletions
+9 -1
View File
@@ -243,7 +243,8 @@ esp_err_t platform_write_device_identity(const char *device_id, const char *seri
* @brief 工厂 CLI 使用的串口行传输原语。
* Console (UART) line-transport primitives for the factory CLI.
*
* 这些接口不保存命令状态。install 可重复调用;read 返回读取字节数,超时返回0,
* 这些接口不保存命令状态。install 可重复调用,安装锁最多等待100ms;至少一路可用即成功。
* 原有read/write_line操作UART0;read 返回读取字节数,超时返回0,
* 错误返回负数。零超时表示轮询一次,负超时无效。
* Stateless primitives over the console UART. `platform_console_install()` is
* idempotent (a pre-existing console driver is treated as success).
@@ -254,6 +255,13 @@ esp_err_t platform_console_install(void);
int platform_console_read_bytes(uint8_t *buf, size_t len, int timeout_ms);
void platform_console_write_line(const char *line);
/** 独立USB Serial/JTAG CDC端点:read语义同UART,禁用/不可用返回负数。
* write为尽力发送(共250ms入队预算,超时可能已发送部分),不切换或广播到UART。
* 两路输入必须由同一个CLI任务消费,并各自维护行缓冲。驱动常驻,不随CLI stop卸载。
*/
int platform_console_read_cdc_bytes(uint8_t *buf, size_t len, int timeout_ms);
void platform_console_write_cdc_line(const char *line);
/**
* @brief 基于 NVS 的通用持久化键值存储原语。
* Generic persistent key/value blob storage (NVS-backed).