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

zmodem2 crate #90

Open
jarkkojs opened this issue Nov 29, 2023 · 3 comments
Open

zmodem2 crate #90

jarkkojs opened this issue Nov 29, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@jarkkojs
Copy link

Hi just want to race awareness that I've started work on a new ZMODEM crate recently: https://github.com/jarkkojs/zmodem2. It is progressing rapidly as can be witnessed from the Git log. I've also listed issues that I want to reach for my personal uses and purposes for this: https://github.com/jarkkojs/zmodem2/issues.

Would be interesting to see how this could eventually integrated to the serial monitor. Most likely at least https://github.com/jarkkojs/zmodem2/issues/5 and https://github.com/jarkkojs/zmodem2/issues/1 need to be completed before this is doable.

@hacknus
Copy link
Owner

hacknus commented Nov 29, 2023

this sounds great, keep me updated!

@jarkkojs
Copy link
Author

jarkkojs commented Dec 2, 2023

this sounds great, keep me updated!

I'll ping next time when I get it integrated to my terminal client! So if possible, let's keep this open. I'll try to get a legit usage example in addition to the crate.

@hacknus hacknus added the enhancement New feature or request label Dec 2, 2023
@jarkkojs
Copy link
Author

Almost ready for 0.1 release: https://github.com/jarkkojs/zmodem2/issues

Does not have async in the first release but it is per-protocol-frame sequential so you can quite easily implement progress metering etc.

I'll plan to however refactor outside facing API to mimic TryNext so that it is easy to glue async later on similarly as I have std specific gluing in std.rs. There's one issue for this for more elaborate description. You don't want hard bind a crate to async which might be useful e.g. in a boot loader because it is pretty heavy on how much code it generates and all the shenanigans to manage the thread pool but it can be of course supported as a feature later on.

Not rushing with the release just yet though. I'm on hold with one PR for hex crate.

Also I might implement cancel protocol to it. You can already of course cancel. That protocol is for notifying the other side of that event.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants