feat(openthread) Add custom transport to OpenThread

- add a custom transport with Tx() and Rx() callbacks in OpenThread config
  - OpenThread calls Tx() to transmit, Rx() to receive data
  - external driver provides the transport for sending data between OT RCP and Host
- add an OpenThread call used by external driver to send a signal to OpenThread when there is incoming data
This commit is contained in:
Soh Kam Yung
2026-06-16 13:28:20 +08:00
committed by sohkamyung
parent 09d2eacbef
commit 8c87790e47
16 changed files with 818 additions and 23 deletions
+7
View File
@@ -90,6 +90,13 @@ elseif(CONFIG_OPENTHREAD_RCP_SPI)
if(CONFIG_OPENTHREAD_NCP_VENDOR_HOOK)
list(APPEND rcp_srcs src/ncp/esp_openthread_ncp_spi.cpp)
endif()
elseif(CONFIG_OPENTHREAD_RCP_CUSTOM)
list(APPEND rcp_srcs
openthread/src/ncp/ncp_hdlc.cpp
src/port/esp_openthread_transport_rcp.c)
if(CONFIG_OPENTHREAD_NCP_VENDOR_HOOK)
list(APPEND rcp_srcs src/ncp/esp_openthread_ncp_hdlc.cpp)
endif()
endif()
if(CONFIG_OPENTHREAD_NCP_VENDOR_HOOK AND CONFIG_OPENTHREAD_RCP_SPINEL_CONSOLE)