@@ -191,6 +191,7 @@ static int8_t ws_enable_fhss(protocol_interface_info_entry_t *cur)
191191 if (cur -> bootsrap_mode == ARM_NWK_BOOTSRAP_MODE_6LoWPAN_BORDER_ROUTER ) {
192192 fhss_configuration .fhss_bc_dwell_interval = cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval ;
193193 fhss_configuration .fhss_broadcast_interval = cur -> ws_info -> hopping_schdule .fhss_broadcast_interval ;
194+ fhss_configuration .bsi = cur -> ws_info -> hopping_schdule .fhss_bsi ;
194195 }
195196 fhss_api = ns_fhss_ws_create (& fhss_configuration , cur -> ws_info -> fhss_timer_ptr );
196197 if (!fhss_api ) {
@@ -208,6 +209,7 @@ static int8_t ws_enable_fhss(protocol_interface_info_entry_t *cur)
208209 cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval = fhss_configuration -> fhss_bc_dwell_interval ;
209210 cur -> ws_info -> hopping_schdule .fhss_broadcast_interval = fhss_configuration -> fhss_broadcast_interval ;
210211 cur -> ws_info -> hopping_schdule .fhss_uc_dwell_interval = fhss_configuration -> fhss_uc_dwell_interval ;
212+ cur -> ws_info -> hopping_schdule .fhss_bsi = fhss_configuration -> bsi ;
211213 }
212214 // Set neighbor info callback
213215 if (ns_fhss_set_neighbor_info_fp (fhss_api , & ws_get_neighbor_info )) {
@@ -566,7 +568,14 @@ static void ws_bootstrap_pan_config_analyse(struct protocol_interface_info_entry
566568 cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval = ws_bs_ie .dwell_interval ;
567569
568570 cur -> ws_info -> hopping_schdule .channel_function = ws_bs_ie .channel_function ;
569- // TODO: Restart unicast schedule if configuration changed
571+
572+ fhss_ws_configuration_t fhss_configuration ;
573+ memcpy (& fhss_configuration , ns_fhss_ws_configuration_get (cur -> ws_info -> fhss_api ), sizeof (fhss_ws_configuration_t ));
574+ fhss_configuration .fhss_uc_dwell_interval = neighbor_info .ws_neighbor -> fhss_data .uc_timing_info .unicast_dwell_interval ;
575+ fhss_configuration .ws_channel_function = neighbor_info .ws_neighbor -> fhss_data .uc_timing_info .unicast_channel_function ;
576+ fhss_configuration .bsi = neighbor_info .ws_neighbor -> fhss_data .bc_timing_info .broadcast_schedule_id ;
577+ ns_fhss_ws_configuration_set (cur -> ws_info -> fhss_api , & fhss_configuration );
578+
570579 ns_fhss_ws_set_parent (cur -> ws_info -> fhss_api , data -> SrcAddr , & neighbor_info .ws_neighbor -> fhss_data .bc_timing_info );
571580
572581 if (!cur -> ws_info -> configuration_learned ) {
0 commit comments