mirror of
https://github.com/espressif/openthread.git
synced 2026-09-10 19:20:06 +00:00
[posix] use enumerations for RCP bus (#4871)
This commit changes the way to define RCP bus type. It now defines two enumerations for UART and SPI. This ensures only a single bus type is enabled, and helps keep compatible with projects using UART bus.
This commit is contained in:
+2
-2
@@ -74,9 +74,9 @@ OPENTHREAD_PUBLIC_CFLAGS += -DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1
|
||||
endif
|
||||
|
||||
ifeq ($(USE_OT_RCP_BUS), spi)
|
||||
OPENTHREAD_PUBLIC_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE=1
|
||||
OPENTHREAD_PUBLIC_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_SPI
|
||||
else
|
||||
OPENTHREAD_PUBLIC_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE=1
|
||||
OPENTHREAD_PUBLIC_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_UART
|
||||
endif
|
||||
|
||||
# Enable all optional features for CI tests.
|
||||
|
||||
@@ -103,10 +103,10 @@ ifneq ($(READLINE),)
|
||||
configure_OPTIONS += --with-readline=$(READLINE)
|
||||
endif
|
||||
|
||||
ifeq ($(RCP_SPI),1)
|
||||
COMMONCFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE=1
|
||||
ifeq ($(RCP_BUS),spi)
|
||||
COMMONCFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_SPI
|
||||
else
|
||||
COMMONCFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE=1
|
||||
COMMONCFLAGS += -DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_UART
|
||||
endif
|
||||
|
||||
ifeq ($(VIRTUAL_TIME),1)
|
||||
|
||||
+3
-3
@@ -124,7 +124,7 @@ static const struct option kOptions[] = {{"debug-level", required_argument, NULL
|
||||
{"ncp-dataset", no_argument, NULL, ARG_RESTORE_NCP_DATASET},
|
||||
{"time-speed", required_argument, NULL, 's'},
|
||||
{"verbose", no_argument, NULL, 'v'},
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
{"gpio-int-dev", required_argument, NULL, ARG_SPI_GPIO_INT_DEV},
|
||||
{"gpio-int-line", required_argument, NULL, ARG_SPI_GPIO_INT_LINE},
|
||||
{"gpio-reset-dev", required_argument, NULL, ARG_SPI_GPIO_RESET_DEV},
|
||||
@@ -135,7 +135,7 @@ static const struct option kOptions[] = {{"debug-level", required_argument, NULL
|
||||
{"spi-reset-delay", required_argument, NULL, ARG_SPI_RESET_DELAY},
|
||||
{"spi-align-allowance", required_argument, NULL, ARG_SPI_ALIGN_ALLOWANCE},
|
||||
{"spi-small-packet", required_argument, NULL, ARG_SPI_SMALL_PACKET},
|
||||
#endif
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
{0, 0, 0, 0}};
|
||||
|
||||
static void PrintUsage(const char *aProgramName, FILE *aStream, int aExitCode)
|
||||
@@ -154,7 +154,7 @@ static void PrintUsage(const char *aProgramName, FILE *aStream, int aExitCode)
|
||||
" -s --time-speed factor Time speed up factor.\n"
|
||||
" -v --verbose Also log to stderr.\n",
|
||||
aProgramName);
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
fprintf(aStream,
|
||||
" --gpio-int-dev[=gpio-device-path]\n"
|
||||
" Specify a path to the Linux sysfs-exported GPIO device for the\n"
|
||||
|
||||
@@ -45,7 +45,7 @@ endif()
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES
|
||||
"OPENTHREAD_POSIX=1"
|
||||
"OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE=1"
|
||||
"OPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_UART"
|
||||
)
|
||||
|
||||
set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE)
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
#endif // __APPLE__
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_UART
|
||||
|
||||
using ot::Spinel::SpinelInterface;
|
||||
|
||||
@@ -644,4 +644,4 @@ void HdlcInterface::HandleHdlcFrame(otError aError)
|
||||
|
||||
} // namespace Posix
|
||||
} // namespace ot
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_UART
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
#include "lib/hdlc/hdlc.hpp"
|
||||
#include "lib/spinel/spinel_interface.hpp"
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_UART
|
||||
|
||||
namespace ot {
|
||||
namespace Posix {
|
||||
@@ -224,5 +224,5 @@ private:
|
||||
} // namespace Posix
|
||||
} // namespace ot
|
||||
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_UART
|
||||
#endif // POSIX_APP_HDLC_INTERFACE_HPP_
|
||||
|
||||
@@ -57,26 +57,6 @@
|
||||
#define OPENTHREAD_POSIX_CONFIG_DAEMON_SOCKET_BASENAME "/tmp/openthread"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
*
|
||||
* Define as 1 to enable UART interface to RCP.
|
||||
*
|
||||
*/
|
||||
#ifndef OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
*
|
||||
* Define as 1 to enable SPI interface to RCP.
|
||||
*
|
||||
*/
|
||||
#ifndef OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE
|
||||
*
|
||||
@@ -87,4 +67,28 @@
|
||||
#define OPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* RCP bus UART.
|
||||
*
|
||||
* @note This value is also for simulated UART bus.
|
||||
*
|
||||
*/
|
||||
#define OT_POSIX_RCP_BUS_UART 1
|
||||
|
||||
/**
|
||||
* RCP bus SPI.
|
||||
*
|
||||
*/
|
||||
#define OT_POSIX_RCP_BUS_SPI 2
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_POSIX_CONFIG_RCP_BUS
|
||||
*
|
||||
* This setting configures what type of RCP bus to use.
|
||||
*
|
||||
*/
|
||||
#ifndef OPENTHREAD_POSIX_CONFIG_RCP_BUS
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_BUS OT_POSIX_RCP_BUS_UART
|
||||
#endif
|
||||
|
||||
#endif // OPENTHREAD_PLATFORM_CONFIG_H_
|
||||
|
||||
@@ -34,23 +34,21 @@
|
||||
#include "platform-posix.h"
|
||||
#include "lib/spinel/radio_spinel.hpp"
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_UART
|
||||
#include "hdlc_interface.hpp"
|
||||
#elif OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#include "spi_interface.hpp"
|
||||
#else
|
||||
#error "Please enable either OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE or OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE."
|
||||
#endif
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
#if OPENTHREAD_POSIX_VIRTUAL_TIME
|
||||
static ot::Spinel::RadioSpinel<ot::Posix::HdlcInterface, Event> sRadioSpinel;
|
||||
#else
|
||||
static ot::Spinel::RadioSpinel<ot::Posix::HdlcInterface, RadioProcessContext> sRadioSpinel;
|
||||
#endif // OPENTHREAD_POSIX_VIRTUAL_TIME
|
||||
#elif OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#elif OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
#include "spi_interface.hpp"
|
||||
|
||||
static ot::Spinel::RadioSpinel<ot::Posix::SpiInterface, RadioProcessContext> sRadioSpinel;
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#else
|
||||
#error "OPENTHREAD_POSIX_CONFIG_RCP_BUS only allows OT_POSIX_RCP_BUS_UART and OT_POSIX_RCP_BUS_SPI!"
|
||||
#endif
|
||||
|
||||
void otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
||||
{
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/spi/spidev.h>
|
||||
@@ -792,4 +792,4 @@ void SpiInterface::LogStats(void)
|
||||
} // namespace Posix
|
||||
} // namespace ot
|
||||
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
#include <openthread/openthread-system.h>
|
||||
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#if OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
|
||||
#include "ncp/ncp_spi.hpp"
|
||||
|
||||
@@ -231,5 +231,5 @@ private:
|
||||
} // namespace Posix
|
||||
} // namespace ot
|
||||
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_SPI_ENABLE
|
||||
#endif // OPENTHREAD_POSIX_CONFIG_RCP_BUS == OT_POSIX_RCP_BUS_SPI
|
||||
#endif // POSIX_APP_SPI_INTERFACE_HPP_
|
||||
|
||||
@@ -61,12 +61,6 @@
|
||||
*/
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_PTY_ENABLE 1
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE
|
||||
*
|
||||
* Define as 1 to enable UART interface to RCP.
|
||||
*
|
||||
*/
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_UART_ENABLE 1
|
||||
#define OPENTHREAD_POSIX_CONFIG_RCP_BUS OT_POSIX_RCP_BUS_UART
|
||||
|
||||
#endif /* OPENTHREAD_CORE_TORANJ_CONFIG_POSIX_H_ */
|
||||
|
||||
Reference in New Issue
Block a user