Skip to content

Commit 316b007

Browse files
author
Jarkko Paso
committed
FHSS: removed unnecessary state set handler
1 parent 19c4be6 commit 316b007

File tree

9 files changed

+22
-80
lines changed

9 files changed

+22
-80
lines changed

source/Service_Libs/fhss/fhss.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -728,12 +728,16 @@ void fhss_failed_list_free(fhss_structure_t *fhss_structure)
728728
}
729729
}
730730

731-
static int fhss_handle_state_set(fhss_structure_t *fhss_structure, fhss_states fhss_state, uint16_t pan_id)
731+
static void fhss_handle_state_set(const fhss_api_t *api, fhss_states fhss_state, uint16_t pan_id)
732732
{
733+
fhss_structure_t *fhss_structure = fhss_get_object_with_api(api);
734+
if (!fhss_structure) {
735+
return;
736+
}
733737
// State is already set
734738
if (fhss_structure->fhss_state == fhss_state) {
735739
tr_debug("Synch same state %u", fhss_state);
736-
return -1;
740+
return;
737741
}
738742

739743
if (fhss_state == FHSS_UNSYNCHRONIZED) {
@@ -747,12 +751,12 @@ static int fhss_handle_state_set(fhss_structure_t *fhss_structure, fhss_states f
747751
// Do not synchronize to current pan
748752
if (fhss_structure->synch_panid == pan_id) {
749753
tr_debug("Synch same panid %u", pan_id);
750-
return -1;
754+
return;
751755
}
752756
if (fhss_structure->fhss_scramble_table == NULL) {
753757
if (fhss_generate_scramble_table(fhss_structure)) {
754758
tr_error("Failed to generate scramble table");
755-
return -1;
759+
return;
756760
}
757761
}
758762
uint32_t datarate = fhss_structure->callbacks.read_datarate(fhss_structure->fhss_api);
@@ -778,10 +782,11 @@ static int fhss_handle_state_set(fhss_structure_t *fhss_structure, fhss_states f
778782
fhss_start_timer(fhss_structure, fhss_structure->synch_configuration.fhss_superframe_length, fhss_superframe_handler);
779783
} else {
780784
tr_error("Synch info not found");
781-
return -1;
785+
return;
782786
}
783787
}
784-
return 0;
788+
fhss_structure->fhss_state = fhss_state;
789+
return;
785790
}
786791

787792
static void fhss_destroy_scramble_table(fhss_structure_t *fhss_structure)
@@ -959,7 +964,7 @@ int fhss_set_callbacks(fhss_structure_t *fhss_structure)
959964
fhss_structure->fhss_api->receive_frame = &fhss_receive_frame_cb;
960965
fhss_structure->fhss_api->data_tx_done = &fhss_data_tx_done_callback;
961966
fhss_structure->fhss_api->data_tx_fail = &fhss_data_tx_fail_cb;
962-
fhss_structure->fhss_api->synch_state_set = &fhss_synch_state_set_cb;
967+
fhss_structure->fhss_api->synch_state_set = &fhss_handle_state_set;
963968
fhss_structure->fhss_api->read_timestamp = &fhss_read_timestamp_cb;
964969
fhss_structure->fhss_api->get_retry_period = &fhss_get_retry_period_cb;
965970
fhss_structure->fhss_api->write_synch_info = &fhss_write_synch_info_callback;
@@ -968,6 +973,5 @@ int fhss_set_callbacks(fhss_structure_t *fhss_structure)
968973
fhss_structure->update_channel = fhss_update_channel_callback;
969974
fhss_structure->update_superframe = fhss_superframe_callback;
970975
fhss_structure->read_superframe_timeout = fhss_get_sf_timeout_callback;
971-
fhss_structure->handle_state_set = fhss_handle_state_set;
972976
return 0;
973977
}

source/Service_Libs/fhss/fhss_common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ int8_t fhss_disable(fhss_structure_t *fhss_structure)
152152
if (!fhss_structure) {
153153
return -1;
154154
}
155-
fhss_structure->handle_state_set(fhss_structure, FHSS_UNSYNCHRONIZED, 0);
155+
fhss_structure->fhss_api->synch_state_set(fhss_structure->fhss_api, FHSS_UNSYNCHRONIZED, 0);
156156
ns_dyn_mem_free(fhss_structure->ws);
157157
ns_dyn_mem_free(fhss_structure);
158158
fhss_structure = 0;

source/Service_Libs/fhss/fhss_common.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,6 @@ typedef void fhss_update_superframe_cb(fhss_structure_t *fhss_structure);
4343
*/
4444
typedef uint32_t fhss_read_superframe_timeout_cb(fhss_structure_t *fhss_structure);
4545

46-
/**
47-
* @brief Set FHSS state.
48-
* @param fhss_structure FHSS structure.
49-
* @param fhss_state FHSS state to set.
50-
* @param pan_id Network PAN id.
51-
* @return 0 Success, -1 Failure.
52-
*/
53-
typedef int fhss_handle_state_set_cb(fhss_structure_t *fhss_structure, fhss_states fhss_state, uint16_t pan_id);
54-
5546
union fhss_conf {
5647
fhss_configuration_t fhss_configuration;
5748
fhss_ws_configuration_t fhss_ws_configuration;
@@ -121,7 +112,6 @@ struct fhss_structure
121112
fhss_update_channel_cb *update_channel; /**< Update listening channel */
122113
fhss_update_superframe_cb *update_superframe; /**< Update superframe */
123114
fhss_read_superframe_timeout_cb *read_superframe_timeout; /**< Read next FHSS superframe timeout length */
124-
fhss_handle_state_set_cb *handle_state_set; /**< Set FHSS state */
125115
};
126116

127117
fhss_structure_t *fhss_allocate_instance(fhss_api_t *fhss_api, const fhss_timer_t *fhss_timer);

source/Service_Libs/fhss/fhss_mac_interface.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,18 +123,6 @@ bool fhss_data_tx_fail_cb(const fhss_api_t *api, uint8_t handle, int frame_type)
123123
return true;
124124
}
125125

126-
void fhss_synch_state_set_cb(const fhss_api_t *api, fhss_states fhss_state, uint16_t pan_id)
127-
{
128-
fhss_structure_t *fhss_structure = fhss_get_object_with_api(api);
129-
if (!fhss_structure) {
130-
return;
131-
}
132-
if (fhss_structure->handle_state_set) {
133-
fhss_structure->handle_state_set(fhss_structure, fhss_state, pan_id);
134-
}
135-
fhss_structure->fhss_state = fhss_state;
136-
}
137-
138126
uint32_t fhss_read_timestamp_cb(const fhss_api_t *api)
139127
{
140128
fhss_structure_t *fhss_structure = fhss_get_object_with_api(api);

source/Service_Libs/fhss/fhss_mac_interface.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ bool fhss_is_broadcast_channel_cb(const fhss_api_t *api);
2222
bool fhss_use_broadcast_queue_cb(const fhss_api_t *api, bool is_broadcast_addr, int frame_type);
2323
void fhss_receive_frame_cb(const fhss_api_t *api, uint16_t pan_id, uint8_t *source_address, uint32_t timestamp, uint8_t *synch_info, int frame_type);
2424
bool fhss_data_tx_fail_cb(const fhss_api_t *api, uint8_t handle, int frame_type);
25-
void fhss_synch_state_set_cb(const fhss_api_t *api, fhss_states fhss_state, uint16_t pan_id);
2625
uint32_t fhss_read_timestamp_cb(const fhss_api_t *api);
2726
uint16_t fhss_get_retry_period_cb(const fhss_api_t *api, uint8_t *destination_address, uint16_t phy_mtu);
2827
int fhss_init_callbacks_cb(const fhss_api_t *api, fhss_callback_t *callbacks);

source/Service_Libs/fhss/fhss_ws.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,13 @@ static uint32_t fhss_ws_get_sf_timeout_callback(fhss_structure_t *fhss_structure
107107
return fhss_structure->fhss_conf.fhss_ws_configuration.fhss_uc_dwell_interval * 1000;
108108
}
109109

110-
static int fhss_ws_handle_state_set(fhss_structure_t *fhss_structure, fhss_states fhss_state, uint16_t pan_id)
110+
static void fhss_ws_handle_state_set(const fhss_api_t *api, fhss_states fhss_state, uint16_t pan_id)
111111
{
112112
(void) pan_id;
113+
fhss_structure_t *fhss_structure = fhss_get_object_with_api(api);
114+
if (!fhss_structure) {
115+
return;
116+
}
113117
if (fhss_state == FHSS_SYNCHRONIZED) {
114118
uint32_t fhss_broadcast_interval = fhss_structure->fhss_conf.fhss_ws_configuration.fhss_broadcast_interval;
115119
uint8_t fhss_bc_dwell_interval = fhss_structure->fhss_conf.fhss_ws_configuration.fhss_bc_dwell_interval;
@@ -123,7 +127,7 @@ static int fhss_ws_handle_state_set(fhss_structure_t *fhss_structure, fhss_state
123127
}
124128

125129
fhss_structure->fhss_state = fhss_state;
126-
return 0;
130+
return;
127131
}
128132

129133
static void fhss_ws_superframe_callback(fhss_structure_t *fhss_structure)
@@ -239,7 +243,7 @@ int fhss_ws_set_callbacks(fhss_structure_t *fhss_structure)
239243
fhss_structure->fhss_api->receive_frame = &fhss_receive_frame_cb;
240244
fhss_structure->fhss_api->data_tx_done = &fhss_ws_data_tx_done_callback;
241245
fhss_structure->fhss_api->data_tx_fail = &fhss_data_tx_fail_cb;
242-
fhss_structure->fhss_api->synch_state_set = &fhss_synch_state_set_cb;
246+
fhss_structure->fhss_api->synch_state_set = &fhss_ws_handle_state_set;
243247
fhss_structure->fhss_api->read_timestamp = &fhss_read_timestamp_cb;
244248
fhss_structure->fhss_api->get_retry_period = &fhss_get_retry_period_cb;
245249
fhss_structure->fhss_api->write_synch_info = &fhss_ws_write_synch_info_callback;
@@ -248,7 +252,6 @@ int fhss_ws_set_callbacks(fhss_structure_t *fhss_structure)
248252
fhss_structure->update_channel = fhss_ws_update_uc_channel_callback;
249253
fhss_structure->update_superframe = fhss_ws_superframe_callback;
250254
fhss_structure->read_superframe_timeout = fhss_ws_get_sf_timeout_callback;
251-
fhss_structure->handle_state_set = fhss_ws_handle_state_set;
252255
fhss_structure->ws = ns_dyn_mem_alloc(sizeof(fhss_ws_t));
253256
if (!fhss_structure->ws) {
254257
return -1;

test/nanostack/unittest/service_libs/fhss_mac_interface/fhssmaciftest.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@ TEST(fhss_mac_if, test_fhss_data_tx_fail_cb)
4949
CHECK(test_fhss_data_tx_fail_cb());
5050
}
5151

52-
TEST(fhss_mac_if, test_fhss_synch_state_set_cb)
53-
{
54-
CHECK(test_fhss_synch_state_set_cb());
55-
}
56-
5752
TEST(fhss_mac_if, test_fhss_read_timestamp_cb)
5853
{
5954
CHECK(test_fhss_read_timestamp_cb());

test/nanostack/unittest/service_libs/fhss_mac_interface/test_fhss_mac_interface.c

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ bool test_fhss_data_tx_fail_cb()
124124
{
125125
fhss_api_t fhss_api;
126126
uint8_t handle = 1;
127+
fhss_stub.fhss_struct.fhss_state = FHSS_SYNCHRONIZED;
127128

128129
// By setting bool value false, fhss_struct can not be found
129130
fhss_stub.bool_value = false;
@@ -158,44 +159,6 @@ bool test_fhss_data_tx_fail_cb()
158159

159160
return true;
160161
}
161-
bool test_fhss_synch_state_set_cb()
162-
{
163-
uint16_t panid = 0xacdc;
164-
fhss_api_t fhss_api;
165-
fhss_timer_t platform_functions;
166-
fhss_stub.fhss_struct.callbacks.read_datarate = mac_read_phy_datarate;
167-
fhss_stub.fhss_struct.callbacks.read_mac_address = mac_read_64bit_mac_address;
168-
fhss_stub.fhss_struct.synch_panid = 0;
169-
fhss_stub.fhss_struct.own_hop = 1;
170-
platform_functions.fhss_get_timestamp = fhss_get_timestamp_stub;
171-
fhss_stub.fhss_struct.platform_functions = platform_functions;
172-
fhss_api.read_timestamp = fhss_read_timestamp_cb;
173-
174-
// By setting bool value false, fhss_struct can not be found
175-
fhss_stub.bool_value = false;
176-
fhss_synch_state_set_cb(&fhss_api, FHSS_UNSYNCHRONIZED, 0);
177-
// By setting bool value true, fhss_struct can be found
178-
fhss_stub.bool_value = true;
179-
// Test setting current state again
180-
fhss_stub.fhss_struct.fhss_state = FHSS_SYNCHRONIZED;
181-
fhss_synch_state_set_cb(&fhss_api, FHSS_SYNCHRONIZED, 0);
182-
// Test setting unsynchronized state
183-
fhss_synch_state_set_cb(&fhss_api, FHSS_UNSYNCHRONIZED, 0);
184-
// Test setting synchronized state
185-
fhss_stub.fhss_struct.fhss_state = FHSS_UNSYNCHRONIZED;
186-
fhss_synch_state_set_cb(&fhss_api, FHSS_SYNCHRONIZED, 0);
187-
// Test finding beacon info
188-
fhss_stub.beacon_info.pan_id = panid;
189-
fhss_synch_state_set_cb(&fhss_api, FHSS_SYNCHRONIZED, panid);
190-
// Test if device is synch root
191-
fhss_stub.fhss_struct.own_hop = 0;
192-
fhss_stub.fhss_struct.synch_panid = 0;
193-
fhss_stub.beacon_info.pan_id = 1;
194-
fhss_stub.fhss_struct.fhss_state = FHSS_UNSYNCHRONIZED;
195-
fhss_synch_state_set_cb(&fhss_api, FHSS_SYNCHRONIZED, panid);
196-
197-
return true;
198-
}
199162
bool test_fhss_read_timestamp_cb()
200163
{
201164
fhss_api_t fhss_api;

test/nanostack/unittest/stub/fhss_stub.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ int fhss_generate_scramble_table(fhss_structure_t *fhss_structure)
190190
return 0;
191191
}
192192

193-
int fhss_handle_state_set(fhss_structure_t *fhss_structure, fhss_states fhss_state, uint16_t pan_id)
193+
int fhss_handle_state_set(const fhss_api_t *api, fhss_states fhss_state, uint16_t pan_id)
194194
{
195195
return 0;
196196
}

0 commit comments

Comments
 (0)