-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lorawan: Fix Join Request retransmission timing (Interop test) #15227
lorawan: Fix Join Request retransmission timing (Interop test) #15227
Conversation
@zul00, thank you for your changes. |
On interop test 1.2.2.4, Join Request retransmission is expected to be 6 s + worst case air transmission. This delay is to accommodate for JoinAccept through RX2. The `call_in` in process_reception_timeout of RX2-window adds 500 ms delay between RX2 symbol-interrupt-timeout and the next join request retransmission. This is an isolated change and only affect the retransmission of Join Request. Adding this delay improves the chance of succeeding test 1.2.2.4 (subset of 1.2.2)
c0542a7
to
61f8374
Compare
state_controller(DEVICE_STATE_JOINING); | ||
const int ret = _queue->call_in( | ||
500, this, &LoRaWANStack::state_controller, DEVICE_STATE_JOINING); | ||
MBED_ASSERT(ret != 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lot of errors in this stack are reported just via tr_error
. Should this be the same?
or just use error() instead of assert in this case
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the other locations, failure from EventQueue::call
which indicates failure in allocating the event, would be handled by assertion. for example:
mbed-os/connectivity/lorawan/source/LoRaWANStack.cpp
Lines 514 to 516 in 61f8374
const int ret = _queue->call(this, &LoRaWANStack::process_transmission); | |
MBED_ASSERT(ret != 0); | |
(void)ret; |
So I am following the same pattern.
@zul00, thank you for your changes. |
CI started |
@0xc0170, I see you already approved it and removed In my opinion, this PR has an isolated impact compared to the other one. But, I am open to opinions from others regarding this patch. |
Jenkins CI Test : ✔️ SUCCESSBuild Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
Summary of changes
Fixes #15226
On interop test 1.2.2.4, Join Request retransmission is expected to be 6 s + worst case air transmission. This delay is to accommodate for JoinAccept through RX2.
The
call_in
in process_reception_timeout of RX2-window adds 500 ms delay between RX2 symbol-interrupt-timeout and the next join request retransmission. This is an isolated change and only affect the retransmission of Join Request.Adding this delay improves the chance of succeeding test 1.2.2.4 (subset of 1.2.2)
Impact of changes
The retransmission of Join Request will be delayed by 500 ms. This modification improve the chance of succeeding Interop Test 1.2.2.
Migration actions required
Documentation
None
Pull request type
Test results
Reviewers
@hasnainvirk, as you were the original maintainer of it, can you give your opinion on it?