-
Notifications
You must be signed in to change notification settings - Fork 2
Checkpoint before demo with apps team #3
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
Conversation
john-michaelburke
commented
Feb 1, 2021
- Tracking -> Signals tab receives and displays data using nested vector capnproto comms.
- Solution -> Velocity tab displays horizontal error in addition to vert now as well as a split row (filler list here for now).
- Ability to read in file from produced binary (not rate throttled)
…velocity) to velocity chart.
@silverjam Lot's of crude 'not cleaned up' code but should provide a decent demo for the apps team. |
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.
A few comments, nothing that needs to be resolved before the demo though, with one exception: it would also be nice to show that we can keep resource usage in check, is there a way that we can only update the tab that's being shown? The memory usage doesn't look too bad, but CPU usage has gone up from 0.5% to about 1.5% on my machine.
Also, I can't close the app, on my machine, it keeps re-opening the main window, I need to close the app 6-7 times before it goes away.
Overall... it looks good enough for the demo, though the tracking view is pretty hard to read at the moment, so I'm not sure how we're going to frame that:
[tasks.freeze] | ||
dependencies = ["copy-capnp", "generate-resources"] | ||
script = ''' | ||
pip install -e ./console_backend |
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.
Freeze should not use -e
since it installs in dev mode-- should probably also clean the target
dir (or at least the freeze dir within the target
dir).
@@ -1,4 +1,8 @@ | |||
@0xe7871c33e8243ee4; | |||
@0xc3bf8e2ae9033064; |
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.
Do we need to rev this for every commit? According to the discussion here: capnproto/capnproto#96 -- the file id should only be revved when the protocols are not backwards compatible... granted since this is an in process only protocol we'll probably never need to deal with backwards compatibility.
__pycache__ | ||
target | ||
.mypy_cache | ||
.vscode |
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.
Any reason not to keep vscode settings? This can configure common settings for the project.
If you have different settings maybe we could use the suggestion here: https://stackoverflow.com/a/48387809
@@ -0,0 +1,16 @@ | |||
import QtQuick 2.0 |
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.
Do we need this? EDIT: I see that it's used in the solution tab, I'm assuming this would be how we eventually displayed the same stats that the current console does?
} | ||
}); | ||
let client_send_clone2 = client_send.clone(); | ||
// let client_send_clone2 = client_send.clone(); |
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.
Can probably just kill this code now
I added a guard that doesn't update the plots if the tab isn't show, this help reduce the CPU load if that particular tab isn't shown. |
} | ||
} | ||
for (var idx = 0; idx < lines.length; idx++) { | ||
tracking_signals_points.fill_series(lines[idx], idx); |
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.
Since there's usually a significant cost in transitioning languages (JavaScript->Python in this case) you generally want to keep the number of calls you make between languages to a minimum. Is there a way we could pass the entire lines
array to Python and have it fill the whole thing?
@john-michaelburke going to close this one, please re-open if it's still needed |