-
Notifications
You must be signed in to change notification settings - Fork 8
Implement debug tab and notification support #27
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
base: main
Are you sure you want to change the base?
Conversation
philgweber
left a comment
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'll be providing API for notification registration shortly as well, then we can add that.
47e06dc to
2d6161e
Compare
3cb2a3f to
c3d0277
Compare
The merge-base changed after approval.
91a423c to
b3d35b3
Compare
|
Updated this to include notification support as part of the PR since the initial development of it is tightly linked to the debug tab. Included source for the mock-bin allowing it to be built instead of including the binary directly. |
philgweber
left a comment
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.
Thanks for cleaning up some of the boundary race conditions. I was still thinking through all the variants of multiple people calling in at the same time. I'll review in a bit more detail as well, but this will catch several of them.
No problem, this was mainly only an issue when the app is closed which isn't a huge deal but it was just bugging me a bit. |
0cff29b to
e074145
Compare
|
@felipebalbi @williampMSFT Would you mind taking another look at this? Believe I've addresses most of the concerns. |
This PR implements the TUI for the Debug service. Allows for parsing of defmt logs assuming correct ELF file is provided, then displays logs in a scrolling view. Also allows arbitrary text commands to be sent to the service or to be handled by the TUI if applicable.
Mock uses an actual ELF containing defmt strings (
mock-bin) and manually generates raw defmt frames that correspond to appropriate strings in.defmt. This should be built from themock-bin-srcfolder and ideally placed in/rustroot (though doesn't have to be).Introduces Rust notification handling library that safely wraps C library and fixes a few race conditions found in the C library.
Other minor changes:
renderto accept&mut selfto allowrenderto update state (since log area needs to know change in render area to handle scrolling correctly)title()to return ownedStringto allow for change at runtime (so debug tab can display binary name)Some issues need to be resolved within the secure partition and EC side before this is fully useable, but from the app perspective most things should be functional.
Resolves #31