2020-02-07 11:55:46 +01:00
|
|
|
# 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.
|
|
|
|
|
2021-08-10 11:41:12 +02:00
|
|
|
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"
|
2023-01-17 11:50:19 +01:00
|
|
|
select ZTIMER_USEC
|
2021-08-10 11:41:12 +02:00
|
|
|
help
|
|
|
|
This module defines a common layer for handling the lower part of the IEEE 802.15.4 MAC layer.
|
|
|
|
|
|
|
|
endif # MODULE_IEEE802154
|
|
|
|
|
2020-08-31 09:33:35 +02:00
|
|
|
menuconfig KCONFIG_USEMODULE_IEEE802154
|
2020-02-07 11:55:46 +01:00
|
|
|
bool "Configure IEEE802.15.4"
|
2020-08-31 09:33:35 +02:00
|
|
|
depends on USEMODULE_IEEE802154
|
2020-02-07 11:55:46 +01:00
|
|
|
help
|
|
|
|
Configure IEEE802.15.4 module using Kconfig
|
|
|
|
|
2020-08-31 09:33:35 +02:00
|
|
|
if KCONFIG_USEMODULE_IEEE802154
|
2020-02-07 11:55:46 +01:00
|
|
|
|
2021-02-04 19:35:37 +01:00
|
|
|
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
|
|
|
|
|
2020-02-07 11:55:46 +01:00
|
|
|
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
|
|
|
|
|
2020-08-31 14:29:10 +02:00
|
|
|
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
|
2022-06-27 14:49:06 +02:00
|
|
|
|
|
|
|
config IEEE802154_DEFAULT_MAX_FRAME_RETRANS
|
|
|
|
int "IEEE802.15.4 default maximum frame retransmissions"
|
|
|
|
default 4
|
|
|
|
|
2020-11-18 13:52:53 +01:00
|
|
|
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
|
2020-08-31 14:29:10 +02:00
|
|
|
|
2022-12-14 16:01:57 +01:00
|
|
|
config IEEE802154_DEFAULT_ACK_REQ
|
|
|
|
bool "Request ACKs by default"
|
|
|
|
default y
|
|
|
|
|
2021-05-31 10:32:01 +02:00
|
|
|
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
|
|
|
|
|
2020-08-31 09:33:35 +02:00
|
|
|
endif # KCONFIG_USEMODULE_IEEE802154
|