From 4db4d443043c69441893d9ab13bdd019cc9a8f1b Mon Sep 17 00:00:00 2001 From: Jose Alamos Date: Thu, 10 Sep 2020 13:42:20 +0200 Subject: [PATCH 1/2] ieee802154_hal: remove misplaced note --- sys/include/net/ieee802154/radio.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/include/net/ieee802154/radio.h b/sys/include/net/ieee802154/radio.h index a1a25a712e..e18a0507d5 100644 --- a/sys/include/net/ieee802154/radio.h +++ b/sys/include/net/ieee802154/radio.h @@ -627,9 +627,6 @@ struct ieee802154_radio_ops { * * @pre the device is on * - * @note this function pointer can be NULL if the device doesn't support - * hardware address filtering. - * * @param[in] dev IEEE802.15.4 device descriptor * @param[in] short_addr the IEEE802.15.4 short address. If NULL, the short * address is not altered.. From 4944d136c2c77a36f75fb765c820f63afc5da4d5 Mon Sep 17 00:00:00 2001 From: Jose Alamos Date: Thu, 10 Sep 2020 13:42:51 +0200 Subject: [PATCH 2/2] ieee802154_hal: add cap for register retention during off --- sys/include/net/ieee802154/radio.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/include/net/ieee802154/radio.h b/sys/include/net/ieee802154/radio.h index e18a0507d5..f831b84e6f 100644 --- a/sys/include/net/ieee802154/radio.h +++ b/sys/include/net/ieee802154/radio.h @@ -110,6 +110,10 @@ typedef enum { * It's assumed that @ref IEEE802154_CAP_FRAME_RETRANS is present. */ IEEE802154_CAP_FRAME_RETRANS_INFO, + /** + * @brief the device retains all register values when off. + */ + IEEE802154_CAP_REG_RETENTION, } ieee802154_rf_caps_t; /** @@ -484,6 +488,18 @@ struct ieee802154_radio_ops { * @pre call to @ref ieee802154_radio_ops::request_on was successful. * * @post the transceiver state is @ref IEEE802154_TRX_STATE_TRX_OFF + * During boot or in case the radio doesn't support @ref + * IEEE802154_CAP_REG_RETENTION when @ref off was called, the + * Physical Information Base will be undefined. Thus, take into + * consideration that the following functions should be called right after + * the radio is turned on again: + * - @ref set_cca_threshold + * - @ref set_cca_mode + * - @ref config_phy + * - @ref set_csma_params + * - @ref set_rx_mode + * - @ref set_hw_addr_filter + * - @ref set_frame_retrans (if available) * * @param[in] dev IEEE802.15.4 device descriptor *