Skip to content

Conversation

john-michaelburke
Copy link
Collaborator

  • 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)

@john-michaelburke
Copy link
Collaborator Author

@silverjam Lot's of crude 'not cleaned up' code but should provide a decent demo for the apps team.

Copy link
Contributor

@silverjam silverjam left a 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:

image

[tasks.freeze]
dependencies = ["copy-capnp", "generate-resources"]
script = '''
pip install -e ./console_backend
Copy link
Contributor

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;
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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();
Copy link
Contributor

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

@silverjam
Copy link
Contributor

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.

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);
Copy link
Contributor

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?

@silverjam
Copy link
Contributor

@john-michaelburke going to close this one, please re-open if it's still needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants