@@ -506,7 +506,7 @@ static uint16_t ws_randomize_fixed_channel(uint16_t configured_fixed_channel, ui
506
506
}
507
507
}
508
508
509
- static int8_t ws_fhss_discovery_configure (protocol_interface_info_entry_t * cur )
509
+ static int8_t ws_fhss_configure (protocol_interface_info_entry_t * cur , bool discovery )
510
510
{
511
511
// Read configuration of existing FHSS and start using the default values for any network
512
512
fhss_ws_configuration_t fhss_configuration ;
@@ -515,8 +515,12 @@ static int8_t ws_fhss_discovery_configure(protocol_interface_info_entry_t *cur)
515
515
if (ns_fhss_ws_configuration_get (cur -> ws_info -> fhss_api )) {
516
516
memcpy (& fhss_configuration , ns_fhss_ws_configuration_get (cur -> ws_info -> fhss_api ), sizeof (fhss_ws_configuration_t ));
517
517
}
518
-
519
- fhss_configuration .ws_uc_channel_function = (fhss_ws_channel_functions )cur -> ws_info -> fhss_uc_channel_function ;
518
+ // Discovery is done using fixed channel
519
+ if (discovery ) {
520
+ fhss_configuration .ws_uc_channel_function = WS_FIXED_CHANNEL ;
521
+ } else {
522
+ fhss_configuration .ws_uc_channel_function = (fhss_ws_channel_functions )cur -> ws_info -> fhss_uc_channel_function ;
523
+ }
520
524
fhss_configuration .ws_bc_channel_function = WS_FIXED_CHANNEL ;
521
525
fhss_configuration .fhss_broadcast_interval = 0 ;
522
526
uint8_t tmp_uc_fixed_channel = ws_randomize_fixed_channel (cur -> ws_info -> fhss_uc_fixed_channel , cur -> ws_info -> hopping_schdule .number_of_channels );
@@ -2280,7 +2284,7 @@ static void ws_bootstrap_network_discovery_configure(protocol_interface_info_ent
2280
2284
cur -> ws_info -> network_pan_id = 0xffff ;
2281
2285
2282
2286
ws_common_regulatory_domain_config (cur );
2283
- ws_fhss_discovery_configure (cur );
2287
+ ws_fhss_configure (cur , true );
2284
2288
2285
2289
//Set Network names, Pan information configure, hopping schedule & GTKHash
2286
2290
ws_llc_set_network_name (cur , (uint8_t * )cur -> ws_info -> network_name , strlen (cur -> ws_info -> network_name ));
@@ -2937,7 +2941,7 @@ void ws_bootstrap_state_machine(protocol_interface_info_entry_t *cur)
2937
2941
cur -> ws_info -> trickle_pc_running = false;
2938
2942
cur -> ws_info -> trickle_pas_running = false;
2939
2943
cur -> ws_info -> trickle_pcs_running = false;
2940
-
2944
+ ws_fhss_configure ( cur , false);
2941
2945
ws_bootstrap_start_authentication (cur );
2942
2946
break ;
2943
2947
case ER_RPL_SCAN :
0 commit comments