Skip to content

Commit 506925f

Browse files
author
Antti Kauppila
committed
LoRA: Code cleanup + doxygen updates
- Internal changes only - reset function is created to LoRaPHY to reset LoRaMAC parameters with default values - Doxygen updates for newly created functions
1 parent 9ba0c1b commit 506925f

File tree

10 files changed

+154
-157
lines changed

10 files changed

+154
-157
lines changed

features/lorawan/LoRaWANStack.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,21 +87,15 @@ lorawan_status_t LoRaWANStack::set_application_port(uint8_t port)
8787
LoRaWANStack::LoRaWANStack()
8888
: _loramac(_lora_time), _lora_phy(_lora_time),
8989
_device_current_state(DEVICE_STATE_NOT_INITIALIZED), _mac_handlers(NULL),
90-
_num_retry(1), _queue(NULL), _duty_cycle_on(MBED_CONF_LORA_DUTY_CYCLE_ON)
90+
_num_retry(1), _queue(NULL), _duty_cycle_on(MBED_CONF_LORA_DUTY_CYCLE_ON),
91+
_app_port(INVALID_PORT)
9192
{
9293
#ifdef MBED_CONF_LORA_APP_PORT
93-
// is_port_valid() is not virtual, so we can call it in constructor
9494
if (is_port_valid(MBED_CONF_LORA_APP_PORT)) {
9595
_app_port = MBED_CONF_LORA_APP_PORT;
9696
} else {
9797
tr_error("User defined port in .json is illegal.");
98-
_app_port = INVALID_PORT;
9998
}
100-
101-
#else
102-
// initialize it to INVALID_PORT (255) an illegal port number.
103-
// user should set the port
104-
_app_port = INVALID_PORT;
10599
#endif
106100

107101
memset(&_lw_session, 0, sizeof(_lw_session));

features/lorawan/LoRaWANStack.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,10 +455,10 @@ class LoRaWANStack: private mbed::NonCopyable<LoRaWANStack> {
455455
lorawan_session_t _lw_session;
456456
loramac_tx_message_t _tx_msg;
457457
loramac_rx_message_t _rx_msg;
458-
uint8_t _app_port;
459458
uint8_t _num_retry;
460459
events::EventQueue *_queue;
461460
bool _duty_cycle_on;
461+
uint8_t _app_port;
462462

463463

464464
#if defined(LORAWAN_COMPLIANCE_TEST)

features/lorawan/lorastack/mac/LoRaMac.cpp

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,21 +1274,7 @@ void LoRaMac::reset_mac_parameters(void)
12741274

12751275
_params.is_rx_window_enabled = true;
12761276

1277-
_params.sys_params.channel_tx_power = lora_phy->get_default_tx_power();
1278-
1279-
_params.sys_params.channel_data_rate = lora_phy->get_default_tx_datarate();
1280-
1281-
_params.sys_params.rx1_dr_offset = lora_phy->get_default_datarate1_offset();
1282-
1283-
_params.sys_params.rx2_channel.frequency = lora_phy->get_default_rx2_frequency();
1284-
1285-
_params.sys_params.rx2_channel.datarate = lora_phy->get_default_rx2_datarate();
1286-
1287-
_params.sys_params.uplink_dwell_time = lora_phy->get_default_uplink_dwell_time();
1288-
1289-
_params.sys_params.max_eirp = lora_phy->get_default_max_eirp();
1290-
1291-
_params.sys_params.antenna_gain = lora_phy->get_default_antenna_gain();
1277+
lora_phy->reset_to_default_values(&_params, false);
12921278

12931279
_params.is_node_ack_requested = false;
12941280
_params.is_srv_ack_requested = false;
@@ -1632,35 +1618,7 @@ lorawan_status_t LoRaMac::initialize(loramac_primitives_t *primitives,
16321618
_params.timers.aggregated_last_tx_time = 0;
16331619
_params.timers.aggregated_timeoff = 0;
16341620

1635-
_params.is_dutycycle_on = lora_phy->duty_cycle_enabled();
1636-
1637-
_params.sys_params.channel_tx_power = lora_phy->get_default_tx_power();
1638-
1639-
_params.sys_params.channel_data_rate = lora_phy->get_default_tx_datarate();
1640-
1641-
_params.sys_params.max_rx_win_time = lora_phy->get_maximum_receive_window_duration();
1642-
1643-
_params.sys_params.recv_delay1 = lora_phy->get_window1_receive_delay();
1644-
1645-
_params.sys_params.recv_delay2 = lora_phy->get_window2_receive_delay();
1646-
1647-
_params.sys_params.join_accept_delay1 = lora_phy->get_window1_join_accept_delay();
1648-
1649-
_params.sys_params.join_accept_delay2 = lora_phy->get_window2_join_accept_delay();
1650-
1651-
_params.sys_params.rx1_dr_offset = lora_phy->get_default_datarate1_offset();
1652-
1653-
_params.sys_params.rx2_channel.frequency = lora_phy->get_default_rx2_frequency();
1654-
1655-
_params.sys_params.rx2_channel.datarate = lora_phy->get_default_rx2_datarate();
1656-
1657-
_params.sys_params.uplink_dwell_time = lora_phy->get_default_uplink_dwell_time();
1658-
1659-
_params.sys_params.downlink_dwell_time = lora_phy->get_default_downlink_dwell_time();
1660-
1661-
_params.sys_params.max_eirp = lora_phy->get_default_max_eirp();
1662-
1663-
_params.sys_params.antenna_gain = lora_phy->get_default_antenna_gain();
1621+
lora_phy->reset_to_default_values(&_params, true);
16641622

16651623
// Init parameters which are not set in function ResetMacParameters
16661624
_params.sys_params.max_sys_rx_error = 10;
@@ -1909,7 +1867,7 @@ lorawan_status_t LoRaMac::mlme_request( loramac_mlme_req_t *mlmeRequest )
19091867

19101868
if (!lora_phy->verify_nb_join_trials(mlmeRequest->req.join.nb_trials)) {
19111869
// Value not supported, get default
1912-
_params.max_join_request_trials = lora_phy->get_nb_join_trials(true);
1870+
_params.max_join_request_trials = MBED_CONF_LORA_NB_TRIALS;
19131871
}
19141872
// Reset variable JoinRequestTrials
19151873
_params.join_request_trial_counter = 0;

features/lorawan/lorastack/mac/LoRaMacChannelPlan.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ class LoRaMacChannelPlan {
5454
* Stores pointers to PHY layer MIB subsystem
5555
*
5656
* @param phy pointer to PHY layer
57-
* @param mib pointer to MIB subsystem
5857
*/
5958
void activate_channelplan_subsystem(LoRaPHY *phy);
6059

@@ -75,13 +74,13 @@ class LoRaMacChannelPlan {
7574
*
7675
* Used to get active channel plan.
7776
*
78-
* @param plan a reference to application provided channel plan structure
79-
* which gets filled in with active channel plan data.
77+
* @param plan a reference to application provided channel plan structure
78+
* which gets filled in with active channel plan data.
8079
*
81-
* @param params pointer to active MAC layer parameters.
80+
* @param mib_confirm pointer to MIB request structure containing channel information
8281
*
83-
* @return LORAWAN_STATUS_OK if everything goes well otherwise
84-
* a negative error code is returned.
82+
* @return LORAWAN_STATUS_OK if everything goes well otherwise
83+
* a negative error code is returned.
8584
*/
8685
lorawan_status_t get_plan(lorawan_channelplan_t& plan, const loramac_mib_req_confirm_t *mib_confirm);
8786

features/lorawan/lorastack/mac/LoRaMacCommand.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ class LoRaMacCommand {
125125
/**
126126
* @brief Check if MAC command buffer has commands to be sent in next TX
127127
*
128-
* @return status True: buffer has MAC commands to be sent, false: no commands in buffer]
128+
* @return status True: buffer has MAC commands to be sent, false: no commands in buffer
129129
*/
130130
bool is_mac_command_in_next_tx() const;
131131

@@ -137,7 +137,7 @@ class LoRaMacCommand {
137137
/**
138138
* @brief Check if MAC command buffer contains sticky commands
139139
*
140-
* @return status True: buffer has sticky MAC commands in it, false: no sticky commands in buffer]
140+
* @return status True: buffer has sticky MAC commands in it, false: no sticky commands in buffer
141141
*/
142142
bool has_sticky_mac_cmd() const;
143143

features/lorawan/lorastack/mac/LoRaMacMcps.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ class LoRaMacMcps {
5757
/** Activating MCPS subsystem
5858
*
5959
* Stores pointers to MAC and PHY layer handles
60-
*
61-
* @param mac pointer to MAC layer
62-
* @param phy pointer to PHY layer
6360
*/
6461
void activate_mcps_subsystem();
6562

features/lorawan/lorastack/mac/LoRaMacMib.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ class LoRaMacMib {
5353
*
5454
* Stores pointers to MAC and PHY layer handles
5555
*
56-
* @param mac pointer to MAC layer
5756
* @param phy pointer to PHY layer
5857
*/
5958
void activate_mib_subsystem(LoRaPHY *phy);

features/lorawan/lorastack/mac/LoRaMacMlme.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ class LoRaMacMlme {
5858
*
5959
* Stores pointers to MAC and PHY layer handles
6060
*
61-
* @param mac pointer to MAC layer
6261
* @param phy pointer to PHY layer
6362
*/
6463
void activate_mlme_subsystem(LoRaPHY *phy);
@@ -75,6 +74,15 @@ class LoRaMacMlme {
7574
*/
7675
loramac_mlme_indication_t& get_indication();
7776

77+
/**
78+
* @brief set_tx_continuous_wave Puts the system in continuous transmission mode
79+
* @param [in] channel A Channel to use
80+
* @param [in] datarate A datarate to use
81+
* @param [in] tx_power A RF output power to use
82+
* @param [in] max_eirp A maximum possible EIRP to use
83+
* @param [in] antenna_gain Antenna gain to use
84+
* @param [in] timeout Time in seconds while the radio is kept in continuous wave mode
85+
*/
7886
void set_tx_continuous_wave(uint8_t channel, int8_t datarate, int8_t tx_power,
7987
float max_eirp, float antenna_gain, uint16_t timeout);
8088

features/lorawan/lorastack/phy/LoRaPHY.cpp

Lines changed: 37 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -487,14 +487,48 @@ uint8_t LoRaPHY::enabled_channel_count(bool joined, uint8_t datarate,
487487
return count;
488488
}
489489

490-
uint32_t LoRaPHY::get_next_lower_tx_datarate(int8_t datarate)
490+
void LoRaPHY::reset_to_default_values(loramac_protocol_params *params, bool init)
491+
{
492+
if (init) {
493+
params->is_dutycycle_on = phy_params.duty_cycle_enabled;
494+
495+
params->sys_params.max_rx_win_time = phy_params.max_rx_window;
496+
497+
params->sys_params.recv_delay1 = phy_params.recv_delay1;
498+
499+
params->sys_params.recv_delay2 = phy_params.recv_delay2;
500+
501+
params->sys_params.join_accept_delay1 = phy_params.join_accept_delay1;
502+
503+
params->sys_params.join_accept_delay2 = phy_params.join_accept_delay2;
504+
505+
params->sys_params.downlink_dwell_time = phy_params.dl_dwell_time_setting;
506+
}
507+
508+
params->sys_params.channel_tx_power = get_default_tx_power();
509+
510+
params->sys_params.channel_data_rate = get_default_tx_datarate();
511+
512+
params->sys_params.rx1_dr_offset = phy_params.default_rx1_dr_offset;
513+
514+
params->sys_params.rx2_channel.frequency = get_default_rx2_frequency();
515+
516+
params->sys_params.rx2_channel.datarate = get_default_rx2_datarate();
517+
518+
params->sys_params.uplink_dwell_time = phy_params.ul_dwell_time_setting;
519+
520+
params->sys_params.max_eirp = phy_params.default_max_eirp;
521+
522+
params->sys_params.antenna_gain = phy_params.default_antenna_gain;
523+
}
524+
525+
int8_t LoRaPHY::get_next_lower_tx_datarate(int8_t datarate)
491526
{
492527
if (phy_params.ul_dwell_time_setting == 0) {
493528
return get_next_lower_dr(datarate, phy_params.min_tx_datarate);
494529
}
495530

496-
return get_next_lower_dr(
497-
datarate, phy_params.dwell_limit_datarate);
531+
return get_next_lower_dr(datarate, phy_params.dwell_limit_datarate);
498532

499533
}
500534

@@ -540,36 +574,6 @@ uint8_t LoRaPHY::get_max_payload(uint8_t datarate, bool use_repeater)
540574
return payload_table[datarate];
541575
}
542576

543-
bool LoRaPHY::duty_cycle_enabled()
544-
{
545-
return phy_params.duty_cycle_enabled;
546-
}
547-
548-
uint16_t LoRaPHY::get_maximum_receive_window_duration()
549-
{
550-
return phy_params.max_rx_window;
551-
}
552-
553-
uint16_t LoRaPHY::get_window1_receive_delay()
554-
{
555-
return phy_params.recv_delay1;
556-
}
557-
558-
uint16_t LoRaPHY::get_window2_receive_delay()
559-
{
560-
return phy_params.recv_delay2;
561-
}
562-
563-
uint16_t LoRaPHY::get_window1_join_accept_delay()
564-
{
565-
return phy_params.join_accept_delay1;
566-
}
567-
568-
uint16_t LoRaPHY::get_window2_join_accept_delay()
569-
{
570-
return phy_params.join_accept_delay2;
571-
}
572-
573577
uint16_t LoRaPHY::get_maximum_frame_counter_gap()
574578
{
575579
return phy_params.max_fcnt_gap;
@@ -582,11 +586,6 @@ uint32_t LoRaPHY::get_ack_timeout()
582586
+ get_random(-ack_timeout_rnd, ack_timeout_rnd));
583587
}
584588

585-
uint8_t LoRaPHY::get_default_datarate1_offset()
586-
{
587-
return phy_params.default_rx1_dr_offset;
588-
}
589-
590589
uint32_t LoRaPHY::get_default_rx2_frequency()
591590
{
592591
return phy_params.rx_window2_frequency;
@@ -620,32 +619,6 @@ bool LoRaPHY::is_custom_channel_plan_supported()
620619
return phy_params.custom_channelplans_supported;
621620
}
622621

623-
uint8_t LoRaPHY::get_default_uplink_dwell_time()
624-
{
625-
return phy_params.ul_dwell_time_setting;
626-
}
627-
628-
uint8_t LoRaPHY::get_default_downlink_dwell_time()
629-
{
630-
return phy_params.dl_dwell_time_setting;
631-
}
632-
633-
float LoRaPHY::get_default_max_eirp()
634-
{
635-
return phy_params.default_max_eirp;
636-
}
637-
638-
float LoRaPHY::get_default_antenna_gain()
639-
{
640-
return phy_params.default_antenna_gain;
641-
}
642-
643-
uint8_t LoRaPHY::get_nb_join_trials(bool get_default)
644-
{
645-
(void)get_default;
646-
return MBED_CONF_LORA_NB_TRIALS;
647-
}
648-
649622
void LoRaPHY::restore_default_channels()
650623
{
651624
// Restore channels default mask

0 commit comments

Comments
 (0)