mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #7399 from hasnainvirk/bug_fix_recv_window
Bug fix for receive windowspull/7421/head
commit
87b3faeff0
|
@ -868,12 +868,8 @@ void LoRaMac::open_rx1_window(void)
|
|||
|
||||
_mcps_indication.rx_datarate = _params.rx_window1_config.datarate;
|
||||
|
||||
if (_lora_phy.rx_config(&_params.rx_window1_config)) {
|
||||
_lora_phy.rx_config(&_params.rx_window1_config);
|
||||
_lora_phy.handle_receive();
|
||||
} else {
|
||||
tr_error("Receive failed. Radio is not IDLE");
|
||||
return;
|
||||
}
|
||||
|
||||
tr_debug("Opening RX1 Window");
|
||||
}
|
||||
|
@ -888,8 +884,6 @@ void LoRaMac::open_rx2_window()
|
|||
_params.rx_window2_config.frequency = _params.sys_params.rx2_channel.frequency;
|
||||
_params.rx_window2_config.dl_dwell_time = _params.sys_params.downlink_dwell_time;
|
||||
_params.rx_window2_config.is_repeater_supported = _params.is_repeater_supported;
|
||||
_params.rx_window2_config.rx_slot = _params.rx_window2_config.is_rx_continuous ?
|
||||
RX_SLOT_WIN_CLASS_C : RX_SLOT_WIN_2;
|
||||
|
||||
if (get_device_class() == CLASS_C) {
|
||||
_params.rx_window2_config.is_rx_continuous = true;
|
||||
|
@ -897,15 +891,14 @@ void LoRaMac::open_rx2_window()
|
|||
_params.rx_window2_config.is_rx_continuous = false;
|
||||
}
|
||||
|
||||
_params.rx_window2_config.rx_slot = _params.rx_window2_config.is_rx_continuous ?
|
||||
RX_SLOT_WIN_CLASS_C : RX_SLOT_WIN_2;
|
||||
|
||||
_mcps_indication.rx_datarate = _params.rx_window2_config.datarate;
|
||||
|
||||
if (_lora_phy.rx_config(&_params.rx_window2_config)) {
|
||||
_lora_phy.rx_config(&_params.rx_window2_config);
|
||||
_lora_phy.handle_receive();
|
||||
_params.rx_slot = _params.rx_window2_config.rx_slot;
|
||||
} else {
|
||||
tr_error("Receive failed. Radio is not IDLE");
|
||||
return;
|
||||
}
|
||||
|
||||
tr_debug("Opening RX2 Window, Frequency = %lu", _params.rx_window2_config.frequency);
|
||||
}
|
||||
|
|
|
@ -813,15 +813,6 @@ bool LoRaPHY::rx_config(rx_config_params_t *rx_conf)
|
|||
uint8_t phy_dr = 0;
|
||||
uint32_t frequency = rx_conf->frequency;
|
||||
|
||||
_radio->lock();
|
||||
|
||||
if (_radio->get_status() != RF_IDLE) {
|
||||
_radio->unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
_radio->unlock();
|
||||
|
||||
if (rx_conf->rx_slot == RX_SLOT_WIN_1) {
|
||||
// Apply window 1 frequency
|
||||
frequency = phy_params.channels.channel_list[rx_conf->channel].frequency;
|
||||
|
|
Loading…
Reference in New Issue