Skip to content
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

Rewrite MAC parser, debug, pass compliance #378

Merged
merged 27 commits into from
Aug 24, 2019
Merged

Conversation

terrillmoore
Copy link
Member

@terrillmoore terrillmoore commented Aug 22, 2019

With this change set, the LMIC passes EU compliance test V1.5 (without optional DR), and Korea compliance test V1.1, using RedwoodComm's RWC5020A and version 1.170 of the app and firmware.

The counter `LMIC.txCnt` was not being reset at the right time; thus
we sometimes treated an ACK or a POLL as a retry. With the latest
changes, even more so.
Renaming makes sense, because from the LMIC's point of view, logging
functions are provided by the OS/HAL. It might make further sense to
move the LOG function from the compliance test script to the OS/HAL,
so the logging can be used by any script without makeing them recreate
the facility. On the other hand, that would make it more of a headache
to override the default in the normal case.
@terrillmoore terrillmoore self-assigned this Aug 22, 2019
@terrillmoore terrillmoore added this to In progress in Pass pre-compliance tests via automation Aug 22, 2019
@terrillmoore
Copy link
Member Author

This is now good enough to bring onto HEAD. With the code, we pass KR and EU compliance. Running US tests again this evening, with luck.

@terrillmoore terrillmoore changed the title Rewrite MAC parser, and debug Rewrite MAC parser, debug, pass compliance Aug 23, 2019
Fix #382: after receiveing a message with `FHDR.FCnt.ACK` == 0, check
whether we requested confirmation on the last uplink. If so, treat as
a NACK and retransmit.

Fix #238: Rewrite `processDnData()` to eliminate `goto`s, which were
really only tail recursion and therefore both unneeded and confusing
(to me, anyway).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

1 participant