Skip to content

Commit 0feb0ef

Browse files
author
Hasnain Virk
committed
Adding checks for stack initialization
Metadata APIs should return an error if the stack is not initialized yet.
1 parent 3020d65 commit 0feb0ef

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

features/lorawan/LoRaWANStack.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,10 @@ lorawan_status_t LoRaWANStack::set_device_class(const device_class_t& device_cla
441441

442442
lorawan_status_t LoRaWANStack::acquire_tx_metadata(lorawan_tx_metadata &tx_metadata)
443443
{
444+
if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
445+
return LORAWAN_STATUS_NOT_INITIALIZED;
446+
}
447+
444448
if (!_tx_metadata.stale) {
445449
tx_metadata = _tx_metadata;
446450
_tx_metadata.stale = true;
@@ -452,6 +456,10 @@ lorawan_status_t LoRaWANStack::acquire_tx_metadata(lorawan_tx_metadata &tx_meta
452456

453457
lorawan_status_t LoRaWANStack::acquire_rx_metadata(lorawan_rx_metadata &metadata)
454458
{
459+
if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
460+
return LORAWAN_STATUS_NOT_INITIALIZED;
461+
}
462+
455463
if (!_rx_metadata.stale) {
456464
metadata = _rx_metadata;
457465
_rx_metadata.stale = true;
@@ -463,6 +471,10 @@ lorawan_status_t LoRaWANStack::acquire_rx_metadata(lorawan_rx_metadata &metadata
463471

464472
lorawan_status_t LoRaWANStack::acquire_backoff_metadata(int& backoff)
465473
{
474+
if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
475+
return LORAWAN_STATUS_NOT_INITIALIZED;
476+
}
477+
466478
int id = _loramac.get_backoff_timer_event_id();
467479

468480
if (_loramac.get_backoff_timer_event_id() > 0) {

0 commit comments

Comments
 (0)