1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/net/link_layer/ieee802154/Kconfig

191 lines
6.0 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2020 HAW Hamburg
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
menuconfig MODULE_IEEE802154
bool "IEEE 802.15.4 support"
depends on TEST_KCONFIG
if MODULE_IEEE802154
config MODULE_IEEE802154_SECURITY
bool "IEEE 802.15.4 security"
select MODULE_CRYPTO
select MODULE_CIPHER_MODES
help
IEEE 802.15.4 security interface
config MODULE_IEEE802154_SUBMAC
bool "IEEE 802.15.4 submac"
select ZTIMER_USEC
help
This module defines a common layer for handling the lower part of the IEEE 802.15.4 MAC layer.
endif # MODULE_IEEE802154
menuconfig KCONFIG_USEMODULE_IEEE802154
bool "Configure IEEE802.15.4"
depends on USEMODULE_IEEE802154
help
Configure IEEE802.15.4 module using Kconfig
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
config IEEE802154_DEFAULT_SUBGHZ_PAGE
int "IEEE802.15.4 default sub-GHZ page"
default 2
config IEEE802154_DEFAULT_CHANNEL
int "IEEE802.15.4 default channel"
default 26
config IEEE802154_DEFAULT_PANID
hex "IEEE802.15.4 default PANID"
default 0x0023
range 0x0 0xFFFF
config IEEE802154_DEFAULT_TXPOWER
int "IEEE802.15.4 default TX power (in dBm)"
default 0
config IEEE802154_DEFAULT_CSMA_CA_MIN
int "IEEE802.15.4 default CSMA-CA minimum backoff exponent"
default 3
config IEEE802154_DEFAULT_CSMA_CA_RETRIES
int "IEEE802.15.4 default CSMA-CA maximum number of retries"
default 4
config IEEE802154_DEFAULT_CSMA_CA_MAX
int "IEEE802.15.4 default CSMA-CA maximum backoff exponent"
default 5
config IEEE802154_DEFAULT_MAX_FRAME_RETRANS
int "IEEE802.15.4 default maximum frame retransmissions"
default 4
config IEEE802154_AUTO_ACK_DISABLE
2022-06-29 11:15:08 +02:00
bool "Disable Auto ACK support" if (!USEPKG_OPENWSN && !USEPKG_OPENDSME)
default y if (USEPKG_OPENWSN || USEPKG_OPENDSME)
config IEEE802154_DSME_CAP_REDUCTION
bool "Enable CAP reduction" if USEPKG_OPENDSME
default n if USEPKG_OPENDSME
config IEEE802154_DSME_SUPERFRAME_ORDER
int "Set the DSME superframe order" if USEPKG_OPENDSME
default 3
help
The SO sets the slot duration to `60 * symbol_time_us * 2^SO` usecs.
E.g for O-QPSK an SO=3 renders a slot duration of `60 * 16 * 8` = 7.6 ms and
a superframe duration of 122.88 ms.
Settings this value to 3 allows to transmit full IEEE 802.15.4 O-QPSK frames
(127 bytes).
config IEEE802154_DSME_MULTISUPERFRAME_ORDER
int "Set the DSME multisuperframe order" if USEPKG_OPENDSME
default 3
help
The MO sets the number of superframes per multisuperframe to `2^(MO-SO)`.
config IEEE802154_DSME_BEACON_ORDER
int "Set the DSME beacon order" if USEPKG_OPENDSME
default 3
help
The BO sets the beacon interval to `2^(BO-SO)` superframes.
config IEEE802154_DSME_STATIC_GTS
bool "Use static GTS allocation" if USEPKG_OPENDSME
default 0
help
When set, the MAC implementation will not use scheduling functions.
This requires that the upper layer allocates slots manually using NETOPT_GTS_ALLOC.
config IEEE802154_DSME_GTS_EXPIRATION
int "Set expiration time of DSME GTS slot" if USEPKG_OPENDSME
default 16
help
Sets the expiration time of DSME GTS slot (in number of idle slots). If DSME
detects no activity, it will deallocate the GTS slot.
config IEEE802154_DSME_MAC_RESPONSE_WAIT_TIME
int "Set expiration time of DSME GTS slot" if USEPKG_OPENDSME
default 244
help
This configuration sets the maximum wait times for MAC commands (association,
DSME GTS allocation, etc).
The unit is "base superframe duration" (60 * symbol_time_us).
config IEEE802154_DSME_SCAN_DURATION
int "Set the scan duration" if USEPKG_OPENDSME
default 4
help
Set the scan duration for each channel to `60 * symbol_time_us *
(2^scanDuration + 1)`
config IEEE802154_DSME_MIN_COORD_LQI
int "Set the minimum LQI to consider a beacon from a coordinator valid" if USEPKG_OPENDSME
default 100
config IEEE802154_DEFAULT_ACK_REQ
bool "Request ACKs by default"
default y
menuconfig KCONFIG_USEMODULE_IEEE802154_SECURITY
bool "Configure IEEE802.15.4 Security"
depends on USEMODULE_IEEE802154_SECURITY
help
Configure IEEE802.15.4 security module using Kconfig
config IEEE802154_SEC_DEFAULT_KEY
string "Default key to be used for encryption and decryption (>=16B)"
default "pizza_margherita"
depends on KCONFIG_USEMODULE_IEEE802154_SECURITY
endif # KCONFIG_USEMODULE_IEEE802154