Skip to content
This repository was archived by the owner on May 23, 2023. It is now read-only.

Commit 93b7e32

Browse files
author
Jarkko Paso
committed
FHSS: superframe handlers separated
1 parent ff66ae9 commit 93b7e32

File tree

12 files changed

+81
-166
lines changed

12 files changed

+81
-166
lines changed

source/Service_Libs/fhss/fhss.c

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ static bool fhss_is_there_common_divisor(uint16_t i, uint8_t j);
4343
static fhss_failed_tx_t *fhss_failed_handle_find(fhss_structure_t *fhss_structure, uint8_t handle);
4444
static void fhss_failed_list_free(fhss_structure_t *fhss_structure);
4545
static void fhss_beacon_received(fhss_structure_t *fhss_structure, const uint8_t *synch_info, const uint32_t elapsed_time);
46+
static void fhss_superframe_handler(const fhss_api_t *fhss_api, uint16_t delay);
4647

4748
fhss_structure_t *fhss_enable(fhss_api_t *fhss_api, const fhss_configuration_t *fhss_configuration, const fhss_timer_t *fhss_timer, fhss_statistics_t *fhss_statistics)
4849
{
@@ -371,20 +372,20 @@ static int fhss_sync_with_beacon(fhss_structure_t *fhss_structure,
371372
fhss_structure->own_hop = payload->hop_count + 1;
372373
}
373374
fhss_stats_update(fhss_structure, STATS_FHSS_HOP_COUNT, fhss_structure->own_hop);
374-
fhss_structure->channel_list_counter = payload->channel_list_counter;
375+
fhss_structure->bs->channel_list_counter = payload->channel_list_counter;
375376
fhss_structure->current_channel_index = payload->channel_index;
376377
uint8_t mac_address[8];
377378
fhss_structure->callbacks.read_mac_address(fhss_structure->fhss_api, mac_address);
378379

379-
fhss_structure->uc_channel_index = fhss_calculate_uc_index(fhss_structure->current_channel_index, fhss_structure->number_of_channels,
380+
fhss_structure->bs->uc_channel_index = fhss_calculate_uc_index(fhss_structure->current_channel_index, fhss_structure->number_of_channels,
380381
payload->number_of_broadcast_channels) + fhss_get_offset(fhss_structure, mac_address);
381382

382383
// If current channel is not broadcast, fhss_update_channel will increase UC channel index, otherwise do it here
383384
if (fhss_is_current_channel_broadcast(fhss_structure) == true || (fhss_structure->fhss_state == FHSS_SYNCHRONIZED)) {
384-
fhss_structure->uc_channel_index += 1;
385+
fhss_structure->bs->uc_channel_index += 1;
385386
}
386-
if (fhss_structure->uc_channel_index >= (fhss_structure->number_of_channels - payload->number_of_broadcast_channels)) {
387-
fhss_structure->uc_channel_index -= (fhss_structure->number_of_channels - payload->number_of_broadcast_channels);
387+
if (fhss_structure->bs->uc_channel_index >= (fhss_structure->number_of_channels - payload->number_of_broadcast_channels)) {
388+
fhss_structure->bs->uc_channel_index -= (fhss_structure->number_of_channels - payload->number_of_broadcast_channels);
388389
}
389390

390391
fhss_structure->platform_functions.fhss_timer_stop(fhss_superframe_handler, fhss_structure->fhss_api);
@@ -646,7 +647,7 @@ static int fhss_reset(fhss_structure_t *fhss_structure)
646647
fhss_beacon_periodic_stop(fhss_structure);
647648
fhss_structure->current_superframe = 0;
648649
fhss_structure->current_channel_index = 0;
649-
fhss_structure->channel_list_counter = 0;
650+
fhss_structure->bs->channel_list_counter = 0;
650651
if (fhss_is_synch_root(fhss_structure) == false) {
651652
fhss_structure->own_hop = 0xff;
652653
}
@@ -773,7 +774,7 @@ static void fhss_handle_state_set(const fhss_api_t *api, fhss_states fhss_state,
773774
fhss_set_datarate(fhss_structure, datarate);
774775
uint8_t mac_address[8];
775776
fhss_structure->callbacks.read_mac_address(fhss_structure->fhss_api, mac_address);
776-
fhss_structure->uc_channel_index = fhss_get_offset(fhss_structure, mac_address);
777+
fhss_structure->bs->uc_channel_index = fhss_get_offset(fhss_structure, mac_address);
777778
// Get Beacon info from storage
778779
fhss_beacon_info_t *beacon_info = fhss_get_beacon_info(fhss_structure, pan_id);
779780
if (beacon_info) {
@@ -928,8 +929,8 @@ static void fhss_update_channel_callback(fhss_structure_t *fhss_structure)
928929
{
929930
if (fhss_structure->current_channel_index == 0) {
930931
fhss_structure->synch_infos_sent_counter = 0;
931-
if (++fhss_structure->channel_list_counter >= ((uint16_t) fhss_structure->number_of_channels * MAX_SCRAMBLE_TABLE_INDEXES)) {
932-
fhss_structure->channel_list_counter = 0;
932+
if (++fhss_structure->bs->channel_list_counter >= ((uint16_t) fhss_structure->number_of_channels * MAX_SCRAMBLE_TABLE_INDEXES)) {
933+
fhss_structure->bs->channel_list_counter = 0;
933934
}
934935
if (fhss_is_synch_root(fhss_structure) == false) {
935936
fhss_trig_event(fhss_structure, FHSS_COMPARE_SYNCH_PARENT);
@@ -1089,6 +1090,43 @@ static uint16_t fhss_get_retry_period_callback(const fhss_api_t *api, uint8_t *d
10891090
return retry_period;
10901091
}
10911092

1093+
static void fhss_superframe_handler(const fhss_api_t *fhss_api, uint16_t delay)
1094+
{
1095+
uint32_t timeout = 0;
1096+
fhss_structure_t *fhss_structure = fhss_get_object_with_api(fhss_api);
1097+
if (!fhss_structure) {
1098+
return;
1099+
}
1100+
1101+
timeout = fhss_get_sf_timeout_callback(fhss_structure);
1102+
1103+
fhss_start_timer(fhss_structure, timeout - (delay * fhss_structure->platform_functions.fhss_resolution_divider), fhss_superframe_handler);
1104+
1105+
if (fhss_structure->current_superframe++ >= (fhss_structure->synch_configuration.fhss_number_of_superframes - 1)) {
1106+
fhss_structure->current_superframe = 0;
1107+
if (++fhss_structure->current_channel_index >= fhss_structure->number_of_channels) {
1108+
fhss_structure->current_channel_index = 0;
1109+
}
1110+
fhss_update_channel_callback(fhss_structure);
1111+
}
1112+
fhss_superframe_callback(fhss_structure);
1113+
1114+
if (fhss_structure->fhss_timeout) {
1115+
fhss_structure->fhss_timer += fhss_structure->synch_configuration.fhss_superframe_length;
1116+
if (fhss_structure->fhss_timer >= fhss_structure->fhss_timeout) {
1117+
fhss_trig_event(fhss_structure, FHSS_TIMER_EVENT);
1118+
fhss_structure->fhss_timeout = 0;
1119+
fhss_structure->fhss_timer = 0;
1120+
}
1121+
}
1122+
}
1123+
1124+
uint32_t fhss_get_remaining_time_to_next_superframe(const fhss_structure_t *fhss_structure)
1125+
{
1126+
const uint32_t slots = fhss_structure->platform_functions.fhss_get_remaining_slots(fhss_superframe_handler, fhss_structure->fhss_api);
1127+
return (slots * fhss_structure->platform_functions.fhss_resolution_divider);
1128+
}
1129+
10921130
int fhss_set_callbacks(fhss_structure_t *fhss_structure)
10931131
{
10941132
// Set external API
@@ -1104,9 +1142,6 @@ int fhss_set_callbacks(fhss_structure_t *fhss_structure)
11041142
fhss_structure->fhss_api->get_retry_period = &fhss_get_retry_period_callback;
11051143
fhss_structure->fhss_api->write_synch_info = &fhss_write_synch_info_callback;
11061144
fhss_structure->fhss_api->init_callbacks = &fhss_init_callbacks_cb;
1107-
// Set internal API
1108-
fhss_structure->update_channel = fhss_update_channel_callback;
1109-
fhss_structure->update_superframe = fhss_superframe_callback;
1110-
fhss_structure->read_superframe_timeout = fhss_get_sf_timeout_callback;
1145+
11111146
return 0;
11121147
}

source/Service_Libs/fhss/fhss.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,22 @@ struct fhss_failed_tx
6060

6161
struct fhss_bs
6262
{
63+
uint8_t uc_channel_index;
64+
uint16_t channel_list_counter;
6365
fhss_configuration_t fhss_configuration;
6466
};
6567

6668
fhss_structure_t *fhss_enable(fhss_api_t *fhss_api, const fhss_configuration_t *fhss_configuration, const fhss_timer_t *fhss_timer, fhss_statistics_t *fhss_statistics);
6769
bool fhss_is_synch_root(fhss_structure_t *fhss_structure);
6870
void fhss_update_beacon_info_lifetimes(fhss_structure_t *fhss_structure, uint32_t timestamp);
6971
uint32_t fhss_get_tx_time(fhss_structure_t *fhss_structure, uint16_t bytes_to_send, uint8_t phy_header_length, uint8_t phy_tail_length);
72+
/**
73+
* Calculate time in microseconds to start of next superframe.
74+
*
75+
* @param fhss_struct FHSS structure
76+
* @return microseconds left to start of next superframe
77+
*/
78+
uint32_t fhss_get_remaining_time_to_next_superframe(const fhss_structure_t *fhss_struct);
7079
int fhss_set_callbacks(fhss_structure_t *fhss_structure);
7180

7281
#endif /* FHSS_H_ */

source/Service_Libs/fhss/fhss_beacon.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ int fhss_beacon_update_payload(fhss_structure_t *fhss_structure,
5050
// This assumes that the time is always in the range of 0..2**16, which
5151
// should be the case as the superframe length field is also in that range.
5252
payload->remaining_slots = (uint16_t) fhss_get_remaining_time_to_next_superframe(fhss_structure);
53-
payload->channel_list_counter = fhss_structure->channel_list_counter;
53+
payload->channel_list_counter = fhss_structure->bs->channel_list_counter;
5454

5555
payload->hop_count = fhss_structure->own_hop;
5656
payload->number_of_broadcast_channels = config->fhss_number_of_bc_channels;

source/Service_Libs/fhss/fhss_channel.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ bool fhss_change_to_next_channel(fhss_structure_t *fhss_structure)
114114

115115
uint16_t number_of_channels = fhss_structure->number_of_channels;
116116
uint8_t number_of_broadcast_channels = fhss_structure->synch_configuration.fhss_number_of_bc_channels;
117-
uint8_t unicast_channel_index = fhss_structure->uc_channel_index;
117+
uint8_t unicast_channel_index = fhss_structure->bs->uc_channel_index;
118118
uint8_t channel_index_tmp;
119119

120120
/* Get the channel number using channel index. Latter (number_of_broadcast_channels) indexes in channel table are broadcast channels and
@@ -129,14 +129,13 @@ bool fhss_change_to_next_channel(fhss_structure_t *fhss_structure)
129129
broadcast_channel = true;
130130
} else { /* Get unicast channel */
131131
channel_index_tmp = fhss_calc_channel_shuffle(unicast_channel_index, fhss_structure->number_of_channels, fhss_structure->synch_configuration.fhss_number_of_bc_channels);
132-
fhss_structure->uc_channel_index++;
133-
if (fhss_structure->uc_channel_index >= number_of_channels - number_of_broadcast_channels) {
134-
fhss_structure->uc_channel_index = 0;
132+
if (++fhss_structure->bs->uc_channel_index >= number_of_channels - number_of_broadcast_channels) {
133+
fhss_structure->bs->uc_channel_index = 0;
135134
}
136135
}
137136
// Reset Beacon received flag when channel has changed
138137
fhss_structure->beacon_received_on_this_bc_channel = false;
139-
channel_index_tmp = fhss_add_channel_list_counter(channel_index_tmp, fhss_structure->number_of_channels, fhss_structure->channel_list_counter, fhss_structure->fhss_scramble_table);
138+
channel_index_tmp = fhss_add_channel_list_counter(channel_index_tmp, fhss_structure->number_of_channels, fhss_structure->bs->channel_list_counter, fhss_structure->fhss_scramble_table);
140139
next_channel = channel_list_get_channel(fhss_structure->bs->fhss_configuration.channel_mask, channel_index_tmp);
141140

142141
fhss_structure->rx_channel = next_channel;
@@ -219,7 +218,7 @@ static uint8_t fhss_get_destination_channel(fhss_structure_t *fhss_structure, ui
219218
}
220219

221220
uc_index = fhss_calc_channel_shuffle(uc_index, fhss_structure->number_of_channels, fhss_structure->synch_configuration.fhss_number_of_bc_channels);
222-
uc_index = fhss_add_channel_list_counter(uc_index, fhss_structure->number_of_channels, fhss_structure->channel_list_counter, fhss_structure->fhss_scramble_table);
221+
uc_index = fhss_add_channel_list_counter(uc_index, fhss_structure->number_of_channels, fhss_structure->bs->channel_list_counter, fhss_structure->fhss_scramble_table);
223222
return channel_list_get_channel(fhss_structure->bs->fhss_configuration.channel_mask, uc_index);
224223
}
225224
return fhss_structure->rx_channel;
@@ -261,7 +260,7 @@ int fhss_change_to_parent_channel(fhss_structure_t *fhss_structure)
261260
uc_index -= (fhss_structure->number_of_channels - fhss_structure->synch_configuration.fhss_number_of_bc_channels);
262261
}
263262
uc_index = fhss_calc_channel_shuffle(uc_index, fhss_structure->number_of_channels, fhss_structure->synch_configuration.fhss_number_of_bc_channels);
264-
uc_index = fhss_add_channel_list_counter(uc_index, fhss_structure->number_of_channels, fhss_structure->channel_list_counter, fhss_structure->fhss_scramble_table);
263+
uc_index = fhss_add_channel_list_counter(uc_index, fhss_structure->number_of_channels, fhss_structure->bs->channel_list_counter, fhss_structure->fhss_scramble_table);
265264
destination_channel = channel_list_get_channel(fhss_structure->bs->fhss_configuration.channel_mask, uc_index);
266265
fhss_structure->callbacks.change_channel(fhss_structure->fhss_api, destination_channel);
267266
#ifdef FHSS_CHANNEL_DEBUG

source/Service_Libs/fhss/fhss_common.c

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -255,45 +255,3 @@ int fhss_compare_with_synch_parent_address(fhss_structure_t *fhss_structure, con
255255
}
256256
return ret_val;
257257
}
258-
259-
void fhss_superframe_handler(const fhss_api_t *fhss_api, uint16_t delay)
260-
{
261-
uint32_t timeout = 0;
262-
fhss_structure_t *fhss_structure = fhss_get_object_with_api(fhss_api);
263-
if (!fhss_structure) {
264-
return;
265-
}
266-
267-
if (fhss_structure->read_superframe_timeout) {
268-
timeout = fhss_structure->read_superframe_timeout(fhss_structure);
269-
}
270-
271-
fhss_start_timer(fhss_structure, timeout - (delay * fhss_structure->platform_functions.fhss_resolution_divider), fhss_superframe_handler);
272-
273-
if (fhss_structure->current_superframe++ >= (fhss_structure->synch_configuration.fhss_number_of_superframes - 1)) {
274-
fhss_structure->current_superframe = 0;
275-
if (++fhss_structure->current_channel_index >= fhss_structure->number_of_channels) {
276-
fhss_structure->current_channel_index = 0;
277-
}
278-
if (fhss_structure->update_channel) {
279-
fhss_structure->update_channel(fhss_structure);
280-
}
281-
}
282-
if (fhss_structure->update_superframe) {
283-
fhss_structure->update_superframe(fhss_structure);
284-
}
285-
if (fhss_structure->fhss_timeout) {
286-
fhss_structure->fhss_timer += fhss_structure->synch_configuration.fhss_superframe_length;
287-
if (fhss_structure->fhss_timer >= fhss_structure->fhss_timeout) {
288-
fhss_trig_event(fhss_structure, FHSS_TIMER_EVENT);
289-
fhss_structure->fhss_timeout = 0;
290-
fhss_structure->fhss_timer = 0;
291-
}
292-
}
293-
}
294-
295-
uint32_t fhss_get_remaining_time_to_next_superframe(const fhss_structure_t *fhss_structure)
296-
{
297-
const uint32_t slots = fhss_structure->platform_functions.fhss_get_remaining_slots(fhss_superframe_handler, fhss_structure->fhss_api);
298-
return (slots * fhss_structure->platform_functions.fhss_resolution_divider);
299-
}

source/Service_Libs/fhss/fhss_common.h

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,6 @@
2424

2525
typedef NS_LIST_HEAD(fhss_failed_tx_t, link) fhss_failed_tx_list_t;
2626

27-
/**
28-
* @brief Update listening channel.
29-
* @param fhss_structure FHSS structure.
30-
*/
31-
typedef void fhss_update_channel_cb(fhss_structure_t *fhss_structure);
32-
33-
/**
34-
* @brief Update superframe.
35-
* @param fhss_structure FHSS structure.
36-
*/
37-
typedef void fhss_update_superframe_cb(fhss_structure_t *fhss_structure);
38-
39-
/**
40-
* @brief Read next FHSS superframe timeout length.
41-
* @param fhss_structure FHSS structure.
42-
* @return timeout (us)
43-
*/
44-
typedef uint32_t fhss_read_superframe_timeout_cb(fhss_structure_t *fhss_structure);
45-
4627
struct fhss_structure
4728
{
4829
fhss_api_t *fhss_api;
@@ -52,18 +33,12 @@ struct fhss_structure
5233
fhss_synch_configuration_t synch_configuration;
5334

5435
uint8_t fhss_resolution_divider;
55-
/** Unicast channel index, [0..(number_of_channels-number_of_beacon_channels-1)] */
56-
uint8_t uc_channel_index;
5736
/** Current superframe number, [0..(fhss_number_of_superframes-1)] */
5837
uint8_t current_superframe;
5938
/** Current channel index, [0..(number_of channels-1)] */
6039
uint8_t current_channel_index;
61-
/** Current broadcast index, [0..(number_of_bc_channels-1)] */
62-
uint8_t broadcast_index;
6340
/** Number of channels (unicast and broadcast) */
6441
uint16_t number_of_channels;
65-
/** Channel list counter is increased every time channel list is gone through*/
66-
uint16_t channel_list_counter;
6742
/** This is used to store current RX channel*/
6843
uint8_t rx_channel;
6944
/** Own hop count*/
@@ -104,9 +79,6 @@ struct fhss_structure
10479

10580
struct fhss_bs *bs;
10681
struct fhss_ws *ws;
107-
fhss_update_channel_cb *update_channel; /**< Update listening channel */
108-
fhss_update_superframe_cb *update_superframe; /**< Update superframe */
109-
fhss_read_superframe_timeout_cb *read_superframe_timeout; /**< Read next FHSS superframe timeout length */
11082
};
11183

11284
fhss_structure_t *fhss_allocate_instance(fhss_api_t *fhss_api, const fhss_timer_t *fhss_timer);
@@ -122,12 +94,4 @@ int fhss_update_synch_parent_address(fhss_structure_t *fhss_structure);
12294
void fhss_trig_event(fhss_structure_t *fhss_structure, uint8_t event_type);
12395
int fhss_get_parent_address(fhss_structure_t *fhss_structure, uint8_t *p_addr);
12496
int fhss_compare_with_synch_parent_address(fhss_structure_t *fhss_structure, const uint8_t *source_addr);
125-
void fhss_superframe_handler(const fhss_api_t *fhss_api, uint16_t delay);
126-
/**
127-
* Calculate time in microseconds to start of next superframe.
128-
*
129-
* @param fhss_struct FHSS structure
130-
* @return microseconds left to start of next superframe
131-
*/
132-
uint32_t fhss_get_remaining_time_to_next_superframe(const fhss_structure_t *fhss_struct);
13397
#endif /*FHSS_COMMON_H_*/

source/Service_Libs/fhss/fhss_ws.c

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#define DEF_2E16 16777216
3737

3838
static void fhss_ws_update_uc_channel_callback(fhss_structure_t *fhss_structure);
39+
static void fhss_unicast_handler(const fhss_api_t *fhss_api, uint16_t delay);
3940

4041
fhss_structure_t *fhss_ws_enable(fhss_api_t *fhss_api, const fhss_ws_configuration_t *fhss_configuration, const fhss_timer_t *fhss_timer)
4142
{
@@ -133,7 +134,7 @@ static uint32_t fhss_ws_calculate_ufsi(fhss_structure_t *fhss_structure, uint32_
133134
cur_slot = fhss_structure->number_of_channels;
134135
}
135136
cur_slot--;
136-
uint32_t remaining_time = (fhss_structure->platform_functions.fhss_get_remaining_slots(fhss_superframe_handler, fhss_structure->fhss_api) / 1000);
137+
uint32_t remaining_time = (fhss_structure->platform_functions.fhss_get_remaining_slots(fhss_unicast_handler, fhss_structure->fhss_api) / 1000);
137138
uint32_t time_to_tx = (tx_time - fhss_structure->fhss_api->read_timestamp(fhss_structure->fhss_api)) / 1000;
138139
uint32_t ms_since_seq_start = (cur_slot * dwell_time) + (dwell_time-remaining_time) + time_to_tx;
139140
ms_since_seq_start %= (dwell_time*fhss_structure->number_of_channels);
@@ -176,18 +177,13 @@ static void fhss_ws_handle_state_set(const fhss_api_t *api, fhss_states fhss_sta
176177
}
177178
// Start unicast schedule
178179
fhss_ws_update_uc_channel_callback(fhss_structure);
179-
fhss_start_timer(fhss_structure, fhss_structure->ws->fhss_configuration.fhss_uc_dwell_interval*1000, fhss_superframe_handler);
180+
fhss_start_timer(fhss_structure, fhss_structure->ws->fhss_configuration.fhss_uc_dwell_interval*1000, fhss_unicast_handler);
180181
}
181182

182183
fhss_structure->fhss_state = fhss_state;
183184
return;
184185
}
185186

186-
static void fhss_ws_superframe_callback(fhss_structure_t *fhss_structure)
187-
{
188-
(void) fhss_structure;
189-
}
190-
191187
static void fhss_ws_update_uc_channel_callback(fhss_structure_t *fhss_structure)
192188
{
193189
uint8_t mac_address[8];
@@ -304,6 +300,18 @@ static void fhss_ws_receive_frame_callback(const fhss_api_t *api, uint16_t pan_i
304300
(void) frame_type;
305301
}
306302

303+
static void fhss_unicast_handler(const fhss_api_t *fhss_api, uint16_t delay)
304+
{
305+
uint32_t timeout = 0;
306+
fhss_structure_t *fhss_structure = fhss_get_object_with_api(fhss_api);
307+
if (!fhss_structure) {
308+
return;
309+
}
310+
timeout = fhss_ws_get_sf_timeout_callback(fhss_structure);
311+
fhss_start_timer(fhss_structure, timeout - (delay * fhss_structure->platform_functions.fhss_resolution_divider), fhss_unicast_handler);
312+
fhss_ws_update_uc_channel_callback(fhss_structure);
313+
}
314+
307315
int fhss_ws_set_callbacks(fhss_structure_t *fhss_structure)
308316
{
309317
// Set external API
@@ -319,9 +327,5 @@ int fhss_ws_set_callbacks(fhss_structure_t *fhss_structure)
319327
fhss_structure->fhss_api->get_retry_period = NULL;
320328
fhss_structure->fhss_api->write_synch_info = &fhss_ws_write_synch_info_callback;
321329
fhss_structure->fhss_api->init_callbacks = &fhss_init_callbacks_cb;
322-
// Set internal API
323-
fhss_structure->update_channel = fhss_ws_update_uc_channel_callback;
324-
fhss_structure->update_superframe = fhss_ws_superframe_callback;
325-
fhss_structure->read_superframe_timeout = fhss_ws_get_sf_timeout_callback;
326330
return 0;
327331
}

test/nanostack/unittest/service_libs/fhss/fhsstest.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ TEST(fhss, test_fhss_event_timer_cb)
4444
CHECK(test_fhss_event_timer_cb());
4545
}
4646

47-
TEST(fhss, test_fhss_superframe_handler)
48-
{
49-
CHECK(test_fhss_superframe_handler());
50-
}
51-
5247
TEST(fhss, test_fhss_update_synch_parent_address)
5348
{
5449
CHECK(test_fhss_update_synch_parent_address());

0 commit comments

Comments
 (0)