Skip to content

Commit 5c81b36

Browse files
author
Juha Heiskanen
committed
ws FHSS synch fix
Fixed channel mode not update bc_slot and set 0 allways. Clear preivous synch at un synch state. Change-Id: I34b4b2be8bff7dc44214fc3a135728d9a79471fd
1 parent 9dfe724 commit 5c81b36

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

source/Service_Libs/fhss/fhss_ws.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,8 @@ static int16_t fhss_ws_synch_state_set_callback(const fhss_api_t *api, fhss_stat
395395
fhss_ws_start_timer(fhss_structure, MS_TO_US(fhss_structure->ws->fhss_configuration.fhss_uc_dwell_interval), fhss_unicast_handler);
396396
fhss_structure->ws->unicast_timer_running = true;
397397
}
398+
} else if (fhss_state == FHSS_UNSYNCHRONIZED) {
399+
fhss_structure->ws->synchronization_time = 0;
398400
}
399401

400402
fhss_structure->fhss_state = fhss_state;
@@ -794,7 +796,11 @@ int fhss_ws_set_parent(fhss_structure_t *fhss_structure, const uint8_t eui64[8],
794796
fhss_structure->ws->fhss_configuration.fhss_bc_dwell_interval = bc_timing_info->broadcast_dwell_interval;
795797
fhss_structure->ws->fhss_configuration.fhss_broadcast_interval = bc_timing_info->broadcast_interval;
796798
fhss_set_txrx_slot_length(fhss_structure);
797-
fhss_structure->ws->bc_slot = bc_timing_info->broadcast_slot + slots_since_reception;
799+
if (fhss_structure->ws->fhss_configuration.ws_bc_channel_function == WS_FIXED_CHANNEL) {
800+
fhss_structure->ws->bc_slot = 0;
801+
} else {
802+
fhss_structure->ws->bc_slot = bc_timing_info->broadcast_slot + slots_since_reception;
803+
}
798804
if (fhss_structure->ws->fhss_configuration.ws_bc_channel_function == WS_TR51CF) {
799805
fhss_structure->ws->bc_slot %= fhss_structure->number_of_channels;
800806
}

0 commit comments

Comments
 (0)