cancel
Showing results for 
Search instead for 
Did you mean: 

How to get the correct sending duty-cycle in i-cube-LoraWan software?

SBour.9
Associate II

I set the dutycycle to 10 s :

#define APP_TX_DUTYCYCLE 10000

But when i run the program i get this :

0690X00000Bue4OQAR.png

I join the network at first emission. Then i got two emissions at 150 s and 320 s and finally it becomes periodic but with a period of 50 s not 10 s.

It looks like the MCU is waking up every 10 s but it doesn't send data every time.

What is the problem and is there a way to fix it?

1 ACCEPTED SOLUTION

Accepted Solutions
JLall
Associate II

There is a regulation (region dependent) on the time the radio can spend emitting called duty cycle:

https://lora.readthedocs.io/en/latest/#duty-cycle-time-on-air-toa

The emission time is dependent on the data rate selected.

The higher the data rate, the smaller the emission time, the more often you can send messages.

The error code indicates you're bumping in this limit.

View solution in original post

4 REPLIES 4
SBour.9
Associate II

When the function send is called (every wake up / 10 sec) and nothing is send, I get the status LORAMAC_STATUS_DUTYCYCLE_RESTRICTED

JLall
Associate II

There is a regulation (region dependent) on the time the radio can spend emitting called duty cycle:

https://lora.readthedocs.io/en/latest/#duty-cycle-time-on-air-toa

The emission time is dependent on the data rate selected.

The higher the data rate, the smaller the emission time, the more often you can send messages.

The error code indicates you're bumping in this limit.

SBour.9
Associate II

Thanks for your answer.

If i understand well i can solve it by:

  • reducing my payload length by seeding less informations
  • increasing my duty cycle
  • getting the lowest spreading factor

I found this site to calculate the time on air and the lost duty cycle: https://www.loratools.nl/#/airtime

In the i-cube-lorawan software, do the message have an explicit header and a CRC ? It affects the size of the message and therefor the minimum dutycycle allowed!

JLall
Associate II

Yes, the messages have the header and CRC.

You're right with the way to solve your issue.

Note that reducing the payload will not help as much as getting the fastest possible data rate.

You can look at the Adaptive Data Rate (ADR) feature of LoRa, it helps in automating the use of the best data rate given the transmission quality.

Note that it happens after a given number of messages is received by the server and it needs a message from the server to instruct the device to adapt its data rate.