From 0cd3deb74ce1b47fd3007f2c4c6d84799b51b1dc Mon Sep 17 00:00:00 2001 From: Jean Pierre Dudey Date: Thu, 4 Feb 2021 19:35:37 +0100 Subject: [PATCH] net/ieee802154: add PHY mode configuration Signed-off-by: Jean Pierre Dudey --- sys/include/net/ieee802154.h | 23 ++++++++++++++++ sys/net/link_layer/ieee802154/Kconfig | 38 +++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/sys/include/net/ieee802154.h b/sys/include/net/ieee802154.h index 68640d47fe..17769ea4c7 100644 --- a/sys/include/net/ieee802154.h +++ b/sys/include/net/ieee802154.h @@ -26,6 +26,7 @@ #include "byteorder.h" #include "net/eui64.h" +#include "kernel_defines.h" #ifdef __cplusplus extern "C" { @@ -207,6 +208,28 @@ extern const uint8_t ieee802154_addr_bcast[IEEE802154_ADDR_BCAST_LEN]; * @ingroup config * @{ */ +/** + * @brief IEEE802.15.4 default PHY mode + * @{ + */ +#if IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_BPSK) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_BPSK +#elif IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_ASK) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_ASK +#elif IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_OQPSK) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_OQPSK +#elif IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_MR_OQPSK) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_MR_OQPSK +#elif IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_MR_OFDM) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_MR_OFDM +#elif IS_ACTIVE(CONFIG_IEEE802154_DEFAULT_PHY_MR_FSK) +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_MR_FSK +#endif + +#ifndef CONFIG_IEEE802154_DEFAULT_PHY_MODE +#define CONFIG_IEEE802154_DEFAULT_PHY_MODE IEEE802154_PHY_OQPSK +#endif +/** @} */ /** * @brief IEEE802.15.4 default sub-GHZ channel */ diff --git a/sys/net/link_layer/ieee802154/Kconfig b/sys/net/link_layer/ieee802154/Kconfig index 5a35677e01..8201fa3c55 100644 --- a/sys/net/link_layer/ieee802154/Kconfig +++ b/sys/net/link_layer/ieee802154/Kconfig @@ -12,6 +12,44 @@ menuconfig KCONFIG_USEMODULE_IEEE802154 if KCONFIG_USEMODULE_IEEE802154 + choice + bool "IEEE802.15.4 default PHY mode" + default IEEE802154_DEFAULT_PHY_OQPSK + help + IEEE802.15.4 default mode + + config IEEE802154_DEFAULT_PHY_BPSK + bool "BPSK" + help + Binary Phase Shift Keying + + config IEEE802154_DEFAULT_PHY_ASK + bool "ASK" + help + Amplitude-Shift Keying + + config IEEE802154_DEFAULT_PHY_OQPSK + bool "O-QPSK" + help + Offset Quadrature Phase-Shift Keying + + config IEEE802154_DEFAULT_PHY_MR_OQPSK + bool "MR-O-QPSK" + help + Multi-Rate Offset Quadrature Phase-Shift Keying + + config IEEE802154_DEFAULT_PHY_MR_OFDM + bool "MR-OFDM" + help + Multi-Rate Orthogonal Frequency-Division Multiplexing + + config IEEE802154_DEFAULT_PHY_MR_FSK + bool "MR-FSK" + help + Multi-Rate Frequency Shift Keying + + endchoice # IEEE802.15.4 default PHY mode + config IEEE802154_DEFAULT_SUBGHZ_CHANNEL int "IEEE802.15.4 default sub-GHZ channel" default 5