Skip to main content
Ibra Ibrahim
Visitor II
Jul 3, 2018 12:10 PM UTC
Question

B-L072Z-LRWAN1 (soft End Node I-CUBE-LRWAN)

Posted on July 03, 2018 at 14:10

Hello ,

I use this demo board B-L072Z-LRWAN1 with the soft End Node I-CUBE-LRWAN

But I don’t understand why I can’t send the data once when I want with function send() or LORA_send() in the main or in the while(1) ? and not with a timer (TX_ON_TIMER) or (TX_ON_EVENT).

int main( void )

{ … … LORA_Init( &LoRaMainCallbacks, &LoRaParamInit); LORA_Join(); //LoraStartTx( TX_ON_TIMER) ; send();

while(1) { DISABLE_IRQ( ); /* if an interrupt has occurred after DISABLE_IRQ, it is kept pending * and cortex will not enter low power anyway */ #ifndef LOW_POWER_DISABLE LPM_EnterLowPower( ); #endif ENABLE_IRQ();

}

}

Thank you.

#b-l072z-lrwan1 #b-l072z #lora
This topic has been closed for replies.

1 reply

Maxime DEWASMES
Associate
Jul 26, 2018 3:13 PM UTC

That behaviour is denied by the LoRa stack which calculate the Time on Air used by your last message pushed, even if you do try to send a message using LORA_send, the actual message won't be sent because there is a case where it checks wether or not you have waited the correct time in the LoRa_mac.c file.

For your information, regulation in Europe about subGHz network impose nodes to use the network less than 1%, so that limitation come from here.

Also, that program you are using is pretty much dependant on duty_cycle, the whole sleep/send program revolve around these kind of timers, and trying to modify this behaviour can be a bit tricky, so i would suggest to get a better understanding of how the program works when connecting to a network prior to try to tweak this.