cancel
Showing results for 
Search instead for 
Did you mean: 

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

Ibra Ibrahim
Associate
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
1 REPLY 1
Maxime DEWASMES
Associate II

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.