Skip to content

Commit 6cde17a

Browse files
author
Jarkko Paso
authored
Iotthd 3963 2 (ARMmbed#2301)
* WS bootstrap: Use UC fixed channel in discovery, configured in EAPOL * Single function for ws fhss configure
1 parent b9187da commit 6cde17a

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

source/6LoWPAN/ws/ws_bootstrap.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ static uint16_t ws_randomize_fixed_channel(uint16_t configured_fixed_channel, ui
506506
}
507507
}
508508

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)
510510
{
511511
// Read configuration of existing FHSS and start using the default values for any network
512512
fhss_ws_configuration_t fhss_configuration;
@@ -515,8 +515,12 @@ static int8_t ws_fhss_discovery_configure(protocol_interface_info_entry_t *cur)
515515
if (ns_fhss_ws_configuration_get(cur->ws_info->fhss_api)) {
516516
memcpy(&fhss_configuration, ns_fhss_ws_configuration_get(cur->ws_info->fhss_api), sizeof(fhss_ws_configuration_t));
517517
}
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+
}
520524
fhss_configuration.ws_bc_channel_function = WS_FIXED_CHANNEL;
521525
fhss_configuration.fhss_broadcast_interval = 0;
522526
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
22802284
cur->ws_info->network_pan_id = 0xffff;
22812285

22822286
ws_common_regulatory_domain_config(cur);
2283-
ws_fhss_discovery_configure(cur);
2287+
ws_fhss_configure(cur, true);
22842288

22852289
//Set Network names, Pan information configure, hopping schedule & GTKHash
22862290
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)
29372941
cur->ws_info->trickle_pc_running = false;
29382942
cur->ws_info->trickle_pas_running = false;
29392943
cur->ws_info->trickle_pcs_running = false;
2940-
2944+
ws_fhss_configure(cur, false);
29412945
ws_bootstrap_start_authentication(cur);
29422946
break;
29432947
case ER_RPL_SCAN:

0 commit comments

Comments
 (0)