/* USB-Serial-JTAG 命令链路的 ESP 胶水(A13)。只在 IDF 目标里有;说明在 ulink_esp.c 文件头。 */ #ifndef ULINK_ESP_H #define ULINK_ESP_H #include #include "hal_err.h" /* 装驱动、挂日志钩子。要在命令队列建好之后、任务起来之前调。 失败不 abort:USB 命令链路不可用,WiFi 链路(A14)与五路供电照常(§10.2)。 */ hal_err_t ulink_esp_init(void); /* 链路任务每圈调一次:最多等 wait_ms 收一包,切出的命令投进 cmd_queue。 */ void ulink_esp_poll(uint32_t wait_ms); typedef struct { uint32_t rx_cmds; uint32_t rx_ignored; uint32_t rx_errors; /* 超长 + CRC 错 + 坏字节 */ uint32_t tx_frames; uint32_t tx_short; /* 没写全的帧(上位机那边是一条 CRC 错的行) */ } ulink_esp_stats_t; void ulink_esp_stats(ulink_esp_stats_t *st); #endif /* ULINK_ESP_H */