@@ -650,11 +650,19 @@ static int stm32wba_802154_driver_init(const struct device *dev)
650
650
k_fifo_init (& stm32wba_802154_data .rx_fifo );
651
651
k_sem_init (& stm32wba_802154_data .tx_wait , 0 , 1 );
652
652
k_sem_init (& stm32wba_802154_data .cca_wait , 0 , 1 );
653
-
653
+ #if defined(CONFIG_NET_L2_OPENTHREAD )
654
+ stm32wba_802154_ral_set_config_lib_params (1 , 0 );
655
+ #else
656
+ stm32wba_802154_ral_set_config_lib_params (0 , 1 );
657
+ #endif
654
658
stm32wba_802154_ral_init ();
655
659
stm32wba_802154_ral_promiscuous_set (false);
656
-
660
+ #if !defined( CONFIG_NET_L2_CUSTOM_IEEE802154_STM32WBA ) && !defined( CONFIG_NET_L2_OPENTHREAD )
657
661
stm32wba_802154_data .rx_on_when_idle = true;
662
+ #else
663
+ stm32wba_802154_data .rx_on_when_idle = false;
664
+ #endif
665
+ stm32wba_802154_ral_set_continuous_reception (stm32wba_802154_data .rx_on_when_idle );
658
666
659
667
k_thread_create (& stm32wba_802154_data .rx_thread , stm32wba_802154_data .rx_stack ,
660
668
CONFIG_IEEE802154_STM32WBA_RX_STACK_SIZE ,
@@ -851,6 +859,11 @@ static int stm32wba_802154_configure(const struct device *dev,
851
859
stm32wba_802154_data .event_handler = config -> event_handler ;
852
860
break ;
853
861
862
+ case IEEE802154_CONFIG_RX_ON_WHEN_IDLE :
863
+ stm32wba_802154_data .rx_on_when_idle = config -> rx_on_when_idle ;
864
+ stm32wba_802154_ral_set_continuous_reception (config -> rx_on_when_idle );
865
+ break ;
866
+
854
867
default :
855
868
#if defined(CONFIG_NET_L2_CUSTOM_IEEE802154 )
856
869
ret = stm32wba_802154_configure_extended (
0 commit comments