-
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): integrated with module control #8586
refactor(emulation): integrated with module control #8586
Conversation
Codecov Report
@@ Coverage Diff @@
## emulation-refactor-phase-2 #8586 +/- ##
==============================================================
+ Coverage 75.14% 75.22% +0.07%
==============================================================
Files 1797 1801 +4
Lines 47668 47720 +52
Branches 4648 4648
==============================================================
+ Hits 35820 35897 +77
+ Misses 11047 11022 -25
Partials 801 801
Flags with carried forward coverage won't be shown. Click here to find out more.
|
5d6c134
to
4b3e6b2
Compare
12fff3b
to
6ae4a1e
Compare
4b3e6b2
to
dfe0d68
Compare
605723d
to
042ff36
Compare
e5ffa15
to
b1c2391
Compare
f8047fa
to
5903b8c
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.
It looks good to me but since it does include changes to core hardware control code we should test it on hardware
if not api_instance.is_simulator: | ||
await mc_instance.register_modules(mc_instance.scan()) | ||
api_instance.loop.create_task( |
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.
So does this get instantiated in true hardware controllers running in the server on an actual OT2?
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.
It does. What do you think? Is there possibly a reason to have emulated modules + real modules?
Happy to disable on robot.
* 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.
* proxy. run_emulator * Linting/Formatting * emulator * integration tests pass. * lint passes. * gcode parsing. * gcode parsing uses process for emulator. * run_emulator_client retries. * wait for emulator connection method. * scripts. * utils * g-code-testing lint * refactor(emulation): integrated with module control (#8586) * 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. * don't listen for emulators on robot. * chore(gcode): reduce time of gcode-testing (#8683) * faster g-code-tests in ci * reduce hold time. * use dev folder in s3 * wait. Co-authored-by: Derek Maggio <[email protected]>
Overview
This PR completes refactor of how our module emulation works.
This is part 2. The hardware controller connects to
ModuleServer
to discover emulated modules.This is part 1
This PR opens up hot plugging modules and "multiples of a module" in emulation.
Changelog
Review requests
Tests will not pass due to g-code-testing. The way emulators connect is no longer 100% predictable. This means variation in g-codes.
Risk assessment
None. This is a PR into a feature branch.