-
Notifications
You must be signed in to change notification settings - Fork 237
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
rom_funcs results output over USB instead of UART #413
base: main
Are you sure you want to change the base?
Conversation
camrbuss
commented
Aug 7, 2022
- Added f64 tests for chips with rom_version>1
- Output results over USB Serial instead of hardware UART
I like the idea, but just replacing the UART output with USB-UART output doesn't really improve the situation. |
index: usize, | ||
} | ||
|
||
// write_str from https://stackoverflow.com/a/39491059 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know, the default license of subscriber content published on stack overflow doesn't allow redistribution under MIT / Apache-2 license.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh my, I didn't realize that. How should I rectify the situation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps just use https://docs.rs/heapless/0.7.16/heapless/struct.Vec.html or https://docs.rs/heapless/0.7.16/heapless/struct.String.html instead of implementing your own buffer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be a dumb question, but why are we buffering anyway?
Can't you push this straight into the SerialPort?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe usbd_serial implements write_str
Is there another way that I am not seeing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was assuming it wouldn't be difficult to build a wrapper struct for usbd_serial and implement write_str on that, but I think the generics would be a pain.
Maybe it would be easier to make a PR to get usbd_serial to (conditionally) impl write_str
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at rust-embedded-community/usbd-serial#16, seems this has already been proposed and declined since the blocking call would have to poll the USB device (which it can't).
So: would really require having some logger/stdin+stdout functionality, which would possibly also be part of how we could resolve #456