Skip to content

Commit c6cf180

Browse files
author
Antti Kauppila
committed
LoRa: get_phy_params() refactored
- get_phy_params function was very heavy weight and needed to be refactored. - switch-case clauses have been refactored to be functions now and the complexity of the usage has been improved a lot. - There are no functional changes, this is internal only change
1 parent 25d1e2c commit c6cf180

13 files changed

+401
-788
lines changed

features/lorawan/LoRaWANStack.cpp

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -224,19 +224,14 @@ lorawan_status_t LoRaWANStack::send_compliance_test_frame_to_mac()
224224
{
225225
loramac_mcps_req_t mcps_req;
226226

227-
get_phy_params_t phy_params;
228-
phy_param_t default_datarate;
229-
phy_params.attribute = PHY_DEF_TX_DR;
230-
default_datarate = _lora_phy.get_phy_params(&phy_params);
231-
232227
prepare_special_tx_frame(_compliance_test.app_port);
233228

234229
if (!_compliance_test.is_tx_confirmed) {
235230
mcps_req.type = MCPS_UNCONFIRMED;
236231
mcps_req.req.unconfirmed.fport = _compliance_test.app_port;
237232
mcps_req.f_buffer = _tx_msg.f_buffer;
238233
mcps_req.f_buffer_size = _tx_msg.f_buffer_size;
239-
mcps_req.req.unconfirmed.data_rate = default_datarate.value;
234+
mcps_req.req.unconfirmed.data_rate = _lora_phy.get_default_tx_datarate();
240235

241236
tr_info("Transmit unconfirmed compliance test frame %d bytes.", mcps_req.f_buffer_size);
242237

@@ -249,7 +244,7 @@ lorawan_status_t LoRaWANStack::send_compliance_test_frame_to_mac()
249244
mcps_req.f_buffer = _tx_msg.f_buffer;
250245
mcps_req.f_buffer_size = _tx_msg.f_buffer_size;
251246
mcps_req.req.confirmed.nb_trials = _num_retry;
252-
mcps_req.req.confirmed.data_rate = default_datarate.value;
247+
mcps_req.req.confirmed.data_rate = _lora_phy.get_default_tx_datarate();
253248

254249
tr_info("Transmit confirmed compliance test frame %d bytes.", mcps_req.f_buffer_size);
255250

@@ -286,11 +281,6 @@ lorawan_status_t LoRaWANStack::send_frame_to_mac()
286281
lorawan_status_t status;
287282
loramac_mib_req_confirm_t mib_get_params;
288283

289-
get_phy_params_t phy_params;
290-
phy_param_t default_datarate;
291-
phy_params.attribute = PHY_DEF_TX_DR;
292-
default_datarate = _lora_phy.get_phy_params(&phy_params);
293-
294284
mcps_req.type = _tx_msg.type;
295285

296286
if (MCPS_UNCONFIRMED == mcps_req.type) {
@@ -302,7 +292,7 @@ lorawan_status_t LoRaWANStack::send_frame_to_mac()
302292
mib_get_params.type = MIB_CHANNELS_DATARATE;
303293
if(mib_get_request(&mib_get_params) != LORAWAN_STATUS_OK) {
304294
tr_debug("Couldn't get MIB parameters: Using default data rate");
305-
mcps_req.req.unconfirmed.data_rate = default_datarate.value;
295+
mcps_req.req.unconfirmed.data_rate = _lora_phy.get_default_tx_datarate();
306296
} else {
307297
mcps_req.req.unconfirmed.data_rate = mib_get_params.param.channel_data_rate;
308298
}
@@ -316,7 +306,7 @@ lorawan_status_t LoRaWANStack::send_frame_to_mac()
316306
mib_get_params.type = MIB_CHANNELS_DATARATE;
317307
if(mib_get_request(&mib_get_params) != LORAWAN_STATUS_OK) {
318308
tr_debug("Couldn't get MIB parameters: Using default data rate");
319-
mcps_req.req.confirmed.data_rate = default_datarate.value;
309+
mcps_req.req.confirmed.data_rate = _lora_phy.get_default_tx_datarate();
320310
} else {
321311
mcps_req.req.confirmed.data_rate = mib_get_params.param.channel_data_rate;
322312
}
@@ -328,7 +318,7 @@ lorawan_status_t LoRaWANStack::send_frame_to_mac()
328318
mib_get_params.type = MIB_CHANNELS_DATARATE;
329319
if(mib_get_request(&mib_get_params) != LORAWAN_STATUS_OK) {
330320
tr_debug("Couldn't get MIB parameters: Using default data rate");
331-
mcps_req.req.proprietary.data_rate = default_datarate.value;
321+
mcps_req.req.proprietary.data_rate = _lora_phy.get_default_tx_datarate();
332322
} else {
333323
mcps_req.req.proprietary.data_rate = mib_get_params.param.channel_data_rate;
334324
}

0 commit comments

Comments
 (0)