mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-15 17:43:51 +01:00
ieee802154: add DSME configs
This commit is contained in:
parent
99b13cbb1b
commit
efc0d3d3d9
@ -327,6 +327,116 @@ extern const uint8_t ieee802154_addr_bcast[IEEE802154_ADDR_BCAST_LEN];
|
|||||||
#define CONFIG_IEEE802154_DEFAULT_ACK_REQ 1
|
#define CONFIG_IEEE802154_DEFAULT_ACK_REQ 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Enable DSME CAP reduction
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_CAP_REDUCTION
|
||||||
|
#define CONFIG_IEEE802154_DSME_CAP_REDUCTION 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the maximum DSME MAC response wait time
|
||||||
|
*
|
||||||
|
* 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).
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_MAC_RESPONSE_WAIT_TIME
|
||||||
|
#define CONFIG_IEEE802154_DSME_MAC_RESPONSE_WAIT_TIME (244U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the scan duration
|
||||||
|
*
|
||||||
|
* Set the scan duration for each channel to `60 * symbol_time_us *
|
||||||
|
* (2^scanDuration + 1)`
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_SCAN_DURATION
|
||||||
|
#define CONFIG_IEEE802154_DSME_SCAN_DURATION (4U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set IEEE 802.15.4 DSME Superframe Order (SO)
|
||||||
|
* 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).
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_SUPERFRAME_ORDER
|
||||||
|
#define CONFIG_IEEE802154_DSME_SUPERFRAME_ORDER (3U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set IEEE 802.15.4 DSME Multisuperframe Order (MO)
|
||||||
|
*
|
||||||
|
* The MO sets the number of superframes per multisuperframe to `2^(MO-SO)`.
|
||||||
|
*
|
||||||
|
* @see @ref CONFIG_IEEE802154_DSME_SUPERFRAME_ORDER
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_MULTISUPERFRAME_ORDER
|
||||||
|
#define CONFIG_IEEE802154_DSME_MULTISUPERFRAME_ORDER (3U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set IEEE 802.15.4 DSME Beacon Order (BO)
|
||||||
|
*
|
||||||
|
* The BO sets the beacon interval to `2^(BO-SO)` superframes.
|
||||||
|
*
|
||||||
|
* @see @ref CONFIG_IEEE802154_DSME_SUPERFRAME_ORDER
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_BEACON_ORDER
|
||||||
|
#define CONFIG_IEEE802154_DSME_BEACON_ORDER (3U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Use static GTS allocation
|
||||||
|
*
|
||||||
|
* When set, the MAC implementation will not use scheduling functions.
|
||||||
|
* This requires that the upper layer allocates slots manually using @ref NETOPT_GTS_ALLOC.
|
||||||
|
*
|
||||||
|
* @see @ref CONFIG_IEEE802154_DSME_STATIC_GTS
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifdef DOXYGEN
|
||||||
|
#define CONFIG_IEEE802154_DSME_STATIC_GTS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set expiration time of DSME GTS slot
|
||||||
|
*
|
||||||
|
* Sets the expiration time of DSME GTS slot (in number of idle slots). If DSME
|
||||||
|
* detects no activity, it will deallocate the GTS slot.
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_GTS_EXPIRATION
|
||||||
|
#define CONFIG_IEEE802154_DSME_GTS_EXPIRATION (16U)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the minimum LQI to consider a beacon from a coordinator valid.
|
||||||
|
*
|
||||||
|
* @note For the moment, this is only valid for @ref pkg_opendsme
|
||||||
|
*/
|
||||||
|
#ifndef CONFIG_IEEE802154_DSME_MIN_COORD_LQI
|
||||||
|
#define CONFIG_IEEE802154_DSME_MIN_COORD_LQI (100U)
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Initializes an IEEE 802.15.4 MAC frame header in @p buf.
|
* @brief Initializes an IEEE 802.15.4 MAC frame header in @p buf.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -109,8 +109,68 @@ if KCONFIG_USEMODULE_IEEE802154
|
|||||||
default 4
|
default 4
|
||||||
|
|
||||||
config IEEE802154_AUTO_ACK_DISABLE
|
config IEEE802154_AUTO_ACK_DISABLE
|
||||||
bool "Disable Auto ACK support" if !USEPKG_OPENWSN
|
bool "Disable Auto ACK support" if (!USEPKG_OPENWSN && !USEPKG_OPENDSME)
|
||||||
default y if USEPKG_OPENWSN
|
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
|
config IEEE802154_DEFAULT_ACK_REQ
|
||||||
bool "Request ACKs by default"
|
bool "Request ACKs by default"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user