-
Notifications
You must be signed in to change notification settings - Fork 7
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
Fix ash decoder when running late on EZSP/ASH frames input #52
Comments
Reproduced after refactoring ASH decoder in 228d764
|
Maybe related to issue #62 |
Also implies duplicated reports.
The library runs late on the EZSP sequence (does not ack the report). |
We can also reproduce the "wrong ack num" message by simultaneously releasing the button of two known sensors during a MSP channel switch procedure. |
Both scenarios are linked to the same issue: a loss of sync for ASH frames between the host and NCP (either on ezsp sequence number or on lost bytes). When this occurs, if we try to send a new EZSP command to the NCP, we will get an "ASH timeout while connected" log. |
ASH decoder fails to decode properly.
To reproduce this, run the lib in a debugger, break on the initialization of the lib (anywhere between start() and the run state).
If more than GP report is received, you will get an ASH decoding error.
This is either because multiple frames are sent to the decoder at once (low probability) or because frames are not acknowledges by the lib and thus retransmitted several times by the NCP (more likely).
The text was updated successfully, but these errors were encountered: