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

Implement independent ASHv2 protocol parsing #606

Merged
merged 46 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0655b37
Implement independent ASHv2 protocol parsing
puddly Jan 2, 2024
585ffc6
Implement dynamic timeout computation
puddly Jan 2, 2024
951eb4f
Use a semaphore instead of a lock to allow concurrent sending of un-A…
puddly Jan 2, 2024
937f159
Replace current ASH+EZSP implementation
puddly Jan 3, 2024
d8349c5
Increase max concurrency to match ASH
puddly Jan 3, 2024
4e5df94
Allow setting the ACK mode as host or NCP
puddly Jan 3, 2024
d155888
[TEST] Shut down the event loop with a separate exception
puddly Jan 3, 2024
515d7db
Re-implement a CLI tool to parse ASH frames from debug logs
puddly Feb 2, 2024
93b4c21
Remove `host` handling of timeouts
puddly Feb 3, 2024
c2481f4
Properly send ACKs in response to re-transmitted frames
puddly Feb 3, 2024
2fb1f32
Set maximum command concurrency to 1
puddly Feb 3, 2024
5aaf785
Get ASH TX and NAK handling working reliably
puddly Feb 3, 2024
b92e977
Fix RStackFrame `to_bytes()`
puddly Feb 4, 2024
cb87ade
Merge branch 'dev' into puddly/ash-rewrite
puddly Apr 14, 2024
8646ecb
Bump flake8
puddly Apr 14, 2024
471e2cc
Optimize command logging for readability
puddly Apr 14, 2024
79a8adc
Get unit tests passing again
puddly Apr 14, 2024
afa4d23
Revert "[TEST] Shut down the event loop with a separate exception"
puddly Apr 14, 2024
4c36481
Fix startup reset unit test
puddly Apr 15, 2024
ce3da98
Use strict `zip`
puddly Apr 15, 2024
c11000a
Use better parsing errors
puddly Apr 15, 2024
2038c53
Revert "Use strict `zip`"
puddly Apr 15, 2024
863d869
Implement both sides of ASH to make testing easier
puddly Apr 15, 2024
ef3c3c1
Only pop the pending frame future if the frame number was actually as…
puddly Apr 15, 2024
7f604e0
Move NCP ASH implementation into tests
puddly Apr 15, 2024
082d370
Ensure tests pass with 3.8
puddly Apr 15, 2024
630ece7
Properly handle cancel and substitute bytes
puddly Apr 29, 2024
8aef3ba
Add a unit test
puddly Apr 29, 2024
ce0316c
Merge branch 'dev' into puddly/ash-rewrite
puddly Apr 29, 2024
a020473
Simulate NAK state during end-to-end testing
puddly Apr 29, 2024
e83e715
Ensure transports are resilient when it comes to framing
puddly Apr 29, 2024
bfb7800
Introduce random loss testing as well
puddly Apr 29, 2024
20472c2
Add more tests
puddly Apr 29, 2024
c4de177
Add more tests
puddly Apr 29, 2024
1acb4a0
Cancel all pending frames when receiving a NAK
puddly Apr 30, 2024
7d3735d
Move reserved bytes into an enum
puddly Apr 30, 2024
bb40910
Send a `CANCEL` byte before the reset frame
puddly Apr 30, 2024
d221d59
Improve logging
puddly Apr 30, 2024
547d974
Fix unit tests
puddly Apr 30, 2024
58b41bd
Ensure codebase works with 3.8
puddly Apr 30, 2024
5c9bb44
Almost at 100% coverage
puddly Apr 30, 2024
9a5a75d
Merge branch 'dev' into puddly/ash-rewrite
puddly May 2, 2024
2746492
Merge branch 'dev' into puddly/ash-rewrite
puddly May 2, 2024
61658a5
Unit test UART callbacks
puddly May 2, 2024
20378f6
Get coverage up to 100%
puddly May 2, 2024
087d682
Make tests less flaky
puddly May 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ repos:
- --quiet

- repo: https://github.com/pycqa/flake8
rev: 6.0.0
rev: 7.0.0
hooks:
- id: flake8
entry: pflake8
additional_dependencies:
- Flake8-pyproject==1.2.3
- pyproject-flake8==7.0.0

- repo: https://github.com/PyCQA/isort
rev: 5.12.0
Expand Down
Loading
Loading