From 3781876ff57ab158976e8514a2312d0de2871d06 Mon Sep 17 00:00:00 2001 From: Kyle Husmann Date: Tue, 24 Dec 2024 17:49:02 -0800 Subject: [PATCH] update readme with tnc_send_data issue --- README.md | 19 ++++++++++++++++--- src/benlink/__init__.py | 19 ++++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b540794..e239671 100644 --- a/README.md +++ b/README.md @@ -75,13 +75,26 @@ asyncio.run(main()) To see what else you can do with this library, check out the examples in the `benlink.client` module documentation. +## Known issues + +If you try to send any data with `benlink.client.RadioClient.send_tnc_data` it +will immediately reply with a `INCORRECT_STATE` error. If you immediately retry +the command within two seconds, it will work. I have no idea why it does this. +In all of my btsnoop logs of the official app, the command appears to work on +the first try. If anyone can figure out what's going on here, please reply to +[this open issue](https://github.com/khusmann/benlink/issues/1)! + +In any case, at some point I plan to add a higher-level interface for sending / +receiving TNC data that will automatically retry failed commands and queue / +combine message fragments. + ## Roadmap -Things to do, in no particular order: +Things to do: +- [ ] Make a higher-level interface for sending / receiving TNC data (auto + retry, queue message fragments) - [ ] Implement more commands and settings -- [ ] Make a higher-level interface for sending / receiving TNC data (right now - you have to break it into fragments) - [ ] Find more radios that use this protocol and test them with this library - [ ] Figure out firmware flashing process / protocol (this is key for long-term independence from the HT app) diff --git a/src/benlink/__init__.py b/src/benlink/__init__.py index 567f47e..260e9be 100644 --- a/src/benlink/__init__.py +++ b/src/benlink/__init__.py @@ -68,13 +68,26 @@ async def main(): To see what else you can do with this library, check out the examples in the `benlink.client` module documentation. +# Known issues + +If you try to send any data with `benlink.client.RadioClient.send_tnc_data` it +will immediately reply with a `INCORRECT_STATE` error. If you immediately retry +the command within two seconds, it will work. I have no idea why it does this. +In all of my btsnoop logs of the official app, the command appears to work on +the first try. If anyone can figure out what's going on here, please reply to +[this open issue](https://github.com/khusmann/benlink/issues/1)! + +In any case, at some point I plan to add a higher-level interface for sending / +receiving TNC data that will automatically retry failed commands and queue / +combine message fragments. + # Roadmap -Things to do, in no particular order: +Things to do: +- [ ] Make a higher-level interface for sending / receiving TNC data (auto + retry, queue message fragments) - [ ] Implement more commands and settings -- [ ] Make a higher-level interface for sending / receiving TNC data (right now - you have to break it into fragments) - [ ] Find more radios that use this protocol and test them with this library - [ ] Figure out firmware flashing process / protocol (this is key for long-term independence from the HT app)