@@ -127,6 +127,10 @@ lorawan_status_t LoRaWANStack::initialize_mac_layer(EventQueue *queue)
127
127
128
128
lorawan_status_t LoRaWANStack::set_lora_callbacks (const lorawan_app_callbacks_t *callbacks)
129
129
{
130
+ if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
131
+ return LORAWAN_STATUS_NOT_INITIALIZED;
132
+ }
133
+
130
134
if (!callbacks || !callbacks->events ) {
131
135
return LORAWAN_STATUS_PARAMETER_INVALID;
132
136
}
@@ -148,7 +152,6 @@ lorawan_status_t LoRaWANStack::set_lora_callbacks(const lorawan_app_callbacks_t
148
152
lorawan_status_t LoRaWANStack::connect ()
149
153
{
150
154
if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
151
- tr_error (" Stack not initialized!" );
152
155
return LORAWAN_STATUS_NOT_INITIALIZED;
153
156
}
154
157
@@ -164,7 +167,6 @@ lorawan_status_t LoRaWANStack::connect()
164
167
lorawan_status_t LoRaWANStack::connect (const lorawan_connect_t &connect)
165
168
{
166
169
if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
167
- tr_error (" Stack not initialized!" );
168
170
return LORAWAN_STATUS_NOT_INITIALIZED;
169
171
}
170
172
@@ -186,7 +188,6 @@ lorawan_status_t LoRaWANStack::connect(const lorawan_connect_t &connect)
186
188
lorawan_status_t LoRaWANStack::add_channels (const lorawan_channelplan_t &channel_plan)
187
189
{
188
190
if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
189
- tr_error (" Stack not initialized!" );
190
191
return LORAWAN_STATUS_NOT_INITIALIZED;
191
192
}
192
193
@@ -196,7 +197,6 @@ lorawan_status_t LoRaWANStack::add_channels(const lorawan_channelplan_t &channel
196
197
lorawan_status_t LoRaWANStack::remove_a_channel (uint8_t channel_id)
197
198
{
198
199
if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
199
- tr_error (" Stack not initialized!" );
200
200
return LORAWAN_STATUS_NOT_INITIALIZED;
201
201
}
202
202
@@ -206,7 +206,6 @@ lorawan_status_t LoRaWANStack::remove_a_channel(uint8_t channel_id)
206
206
lorawan_status_t LoRaWANStack::drop_channel_list ()
207
207
{
208
208
if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
209
- tr_error (" Stack not initialized!" );
210
209
return LORAWAN_STATUS_NOT_INITIALIZED;
211
210
}
212
211
@@ -216,7 +215,6 @@ lorawan_status_t LoRaWANStack::drop_channel_list()
216
215
lorawan_status_t LoRaWANStack::get_enabled_channels (lorawan_channelplan_t & channel_plan)
217
216
{
218
217
if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
219
- tr_error (" Stack not initialized!" );
220
218
return LORAWAN_STATUS_NOT_INITIALIZED;
221
219
}
222
220
@@ -225,6 +223,10 @@ lorawan_status_t LoRaWANStack::get_enabled_channels(lorawan_channelplan_t& chann
225
223
226
224
lorawan_status_t LoRaWANStack::set_confirmed_msg_retry (uint8_t count)
227
225
{
226
+ if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
227
+ return LORAWAN_STATUS_NOT_INITIALIZED;
228
+ }
229
+
228
230
if (count >= MAX_CONFIRMED_MSG_RETRIES) {
229
231
return LORAWAN_STATUS_PARAMETER_INVALID;
230
232
}
@@ -236,9 +238,7 @@ lorawan_status_t LoRaWANStack::set_confirmed_msg_retry(uint8_t count)
236
238
237
239
lorawan_status_t LoRaWANStack::set_channel_data_rate (uint8_t data_rate)
238
240
{
239
- if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state)
240
- {
241
- tr_error (" Stack not initialized!" );
241
+ if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
242
242
return LORAWAN_STATUS_NOT_INITIALIZED;
243
243
}
244
244
@@ -248,11 +248,10 @@ lorawan_status_t LoRaWANStack::set_channel_data_rate(uint8_t data_rate)
248
248
249
249
lorawan_status_t LoRaWANStack::enable_adaptive_datarate (bool adr_enabled)
250
250
{
251
- if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED)
252
- {
253
- tr_error (" Stack not initialized!" );
251
+ if (_device_current_state == DEVICE_STATE_NOT_INITIALIZED) {
254
252
return LORAWAN_STATUS_NOT_INITIALIZED;
255
253
}
254
+
256
255
_loramac.enable_adaptive_datarate (adr_enabled);
257
256
return LORAWAN_STATUS_OK;
258
257
}
@@ -410,6 +409,10 @@ int16_t LoRaWANStack::handle_rx(uint8_t* data, uint16_t length, uint8_t& port, i
410
409
411
410
lorawan_status_t LoRaWANStack::set_link_check_request ()
412
411
{
412
+ if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
413
+ return LORAWAN_STATUS_NOT_INITIALIZED;
414
+ }
415
+
413
416
_link_check_requested = true ;
414
417
if (!_callbacks.link_check_resp ) {
415
418
tr_error (" Must assign a callback function for link check request. " );
@@ -427,11 +430,19 @@ void LoRaWANStack::remove_link_check_request()
427
430
428
431
lorawan_status_t LoRaWANStack::shutdown ()
429
432
{
433
+ if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
434
+ return LORAWAN_STATUS_NOT_INITIALIZED;
435
+ }
436
+
430
437
return state_controller (DEVICE_STATE_SHUTDOWN);
431
438
}
432
439
433
440
lorawan_status_t LoRaWANStack::set_device_class (const device_class_t & device_class)
434
441
{
442
+ if (DEVICE_STATE_NOT_INITIALIZED == _device_current_state) {
443
+ return LORAWAN_STATUS_NOT_INITIALIZED;
444
+ }
445
+
435
446
if (device_class == CLASS_B) {
436
447
return LORAWAN_STATUS_UNSUPPORTED;
437
448
}
0 commit comments