-
Notifications
You must be signed in to change notification settings - Fork 178
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
refactor(emulation): emulation refactor #8587
Conversation
Codecov Report
@@ Coverage Diff @@
## edge #8587 +/- ##
==========================================
+ Coverage 75.22% 75.36% +0.13%
==========================================
Files 1208 1830 +622
Lines 37931 48595 +10664
Branches 2792 4706 +1914
==========================================
+ Hits 28535 36622 +8087
- Misses 8995 11173 +2178
- Partials 401 800 +399
Flags with carried forward coverage won't be shown. Click here to find out more.
|
12fff3b
to
6ae4a1e
Compare
e5ffa15
to
b1c2391
Compare
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.
Nice, I like it. It's a little weird to me that you have to write code to specify which modules get loaded but I guess that's in the followup pr and also not hard to change.
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.
Reviewed this last week and forgot to approve. My bad
* Module control refactors * new package. * start module control integration. * tests for module control integration. * implement connection listener. * module server integrated into module control. * lint * g-code-testing * redo docker compose to deal with separate emulator apps. * usb port. * expand module emulation settings. * update docker readme. * format-js * lint * go back to threadings. I don't want to debug windows nonsense. * fix bug. * redo gcode testing's emulator setup. * documentation. * clean up.
3198269
to
c58e5eb
Compare
Overview
This PR refactors how our module emulation works.
This is part 1. While the connection model has changed, the emulator module discovery has NOT changed. The hardware controller still relies on environment variables to connect to emulated modules.
This is part 2
Changelog
ModuleStatusServer
that notifies clients of available emulators over a socket. This is the emulator's equivalent of aionotify module discovery on the robot.Review requests
While almost all of the changes only relate to emulation, there are a few changes to hardware controller that will require some testing:
Risk assessment
Very low