Rx window enlargement

Dear Community,
Kindly let me know if there is any way we can enlarge the Rx window duration in class A mode. I am using MCCI LMIC library ( 1.0.3).

You can, but it’s tricky and if you’re not careful you may actually make it shorter.

The timeout is ultimately measured in symbols, which have different duration by datarate.

The catch is that the full width value is spread over at least 3 registers having parts of the SymbTimeout value. If you don’t set them all, increasing the intended value can actually decrease the effective one.

Typically when making the window larger you also want to move its start earlier (by about half as much), that’s software timed relative to whatever timing source the MCU provides.

Kindly explain the procedure to enlarge the Rx window

Kindly see the Timing section of the README.md of the library you said you are using

Dear community,
Kindly let me know how to operate in class A mode in MCCI LMIC 1.0.3. Also, please tell me how to know the RX window durations and how to increase or decrease the RX window duration.

Class A mode is what it does by default.

As for the RX window question you already posted, as explained before the information you seek is already in the README.md of the MCCI LMiC repo.

fffff
Only this much information is given in the README.md of the library. I have also gone through the library documentation but found no command related to RX window timing setup. Also, the timing section of README.md is difficult to understand for a beginner. Kindly tell me where I need to make changes for RX window enlargement/reduction.

Typically you should not be trying to change RX window timing at all.

There’s far more information about this in the repo’s README.md than you are acknowledging. Including discussion of the limited reason why it would ever make sense to change it, and the specific mechanism which should be used when changing it for that reason.

As pointed out in my first response on this here, it’s a rather complicated topic, and you can’t just make one change but have to make several coordinated changes, which the procedure discussed in the repo’s README.md explains how to do in the necessary coordinated fashion.

Why do you feel that changing the timing would be helpful?

You say that you are a beginner at this, and as such, you really should be using an embedded platform known to work well with that repo (it has some suggestions), and not trying to modify its delicate workings at all - or at least not until you have a well developed understanding of what it is trying to do, why it is doing that, and what the consequences of doing something different would be.

Showing up, ignoring the existing resources and demanding the creation of custom instructions to do an odd and likely unnecessary task is not likely to achieve the result you desire.

2 Likes

The latest MCCI LMIC version is v4.x
It is preferred to use v4.x (or at least v3.x) with the V3 stack.

Assuming you want to enlarge the RX window from 1s to 5s:

When using OTAA the 5s RX window should be configured automatically (via a MAC command from the network server) on the node after being joined.
For ABP I’m not sure about exactly when the MAC command for setting the RX window will be send.
For proper MAC command support you will need a recent version of MCCI LMIC.

The question was about changing the duration not the delay (“enlarge the Rx window duration”) though typically if you increase the duration you want to also schedule it early by half that.

Once again the README.md in the repo explains…

Maybe, maybe an English as a foreign language issue.