feat(ethercat): 添加ESP32使能控制功能通过EtherCAT SDO
添加0x2503对象字典项用于通过EtherCAT SDO控制ESP32 WiFi使能信号, 解决WiFi关断后无法重新开启的问题。同时添加sys/esp32_en.h/.cpp文件 提供GPIO控制接口。 SPI诊断命令(0xA2)扩展支持ESP32 EN引脚控制,用于诊断备援。 ESP32掉电重启后自动清理SPI链路状态,防止通信异常。
This commit is contained in:
@@ -89,6 +89,15 @@ public:
|
||||
* 0xB0 进 BOOT 等路径需公开调用,避免 0xC1 残留盖住 ACK。 */
|
||||
void cancelRing();
|
||||
|
||||
/**
|
||||
* @brief ESP32 掉电/重上电后复位 SPI 链路(PC9 翻转时调用)。
|
||||
*
|
||||
* ESP32 被 EN 拉低时可能死在半笔 CS 事务里:session/序号/按铃/DMA 都会脏。
|
||||
* 重上电 HELLO 前必须清干净,否则首帧对不齐 → 永远建不起 v2 会话。
|
||||
* 清 session(HELLO 会重建)、取消按铃、re-arm DMA、释放 DATA_READY。
|
||||
*/
|
||||
void resetEsp32Link();
|
||||
|
||||
static constexpr uint16_t kRxBufSize = CONFIG_SPI_RX_BUF_SIZE;
|
||||
static constexpr uint16_t kTxBufSize = CONFIG_SPI_TX_BUF_SIZE;
|
||||
static constexpr uint16_t kLogBufSize = CONFIG_SPI_LOG_BUF_SIZE;
|
||||
|
||||
Reference in New Issue
Block a user