@@ -191,6 +191,7 @@ static int8_t ws_enable_fhss(protocol_interface_info_entry_t *cur)
191
191
if (cur -> bootsrap_mode == ARM_NWK_BOOTSRAP_MODE_6LoWPAN_BORDER_ROUTER ) {
192
192
fhss_configuration .fhss_bc_dwell_interval = cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval ;
193
193
fhss_configuration .fhss_broadcast_interval = cur -> ws_info -> hopping_schdule .fhss_broadcast_interval ;
194
+ fhss_configuration .bsi = cur -> ws_info -> hopping_schdule .fhss_bsi ;
194
195
}
195
196
fhss_api = ns_fhss_ws_create (& fhss_configuration , cur -> ws_info -> fhss_timer_ptr );
196
197
if (!fhss_api ) {
@@ -208,6 +209,7 @@ static int8_t ws_enable_fhss(protocol_interface_info_entry_t *cur)
208
209
cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval = fhss_configuration -> fhss_bc_dwell_interval ;
209
210
cur -> ws_info -> hopping_schdule .fhss_broadcast_interval = fhss_configuration -> fhss_broadcast_interval ;
210
211
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 ;
211
213
}
212
214
// Set neighbor info callback
213
215
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
566
568
cur -> ws_info -> hopping_schdule .fhss_bc_dwell_interval = ws_bs_ie .dwell_interval ;
567
569
568
570
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
+
570
579
ns_fhss_ws_set_parent (cur -> ws_info -> fhss_api , data -> SrcAddr , & neighbor_info .ws_neighbor -> fhss_data .bc_timing_info );
571
580
572
581
if (!cur -> ws_info -> configuration_learned ) {
0 commit comments