Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1929 +/- ##
==========================================
- Coverage 99.05% 99.02% -0.04%
==========================================
Files 312 314 +2
Lines 11754 11837 +83
==========================================
+ Hits 11643 11721 +78
- Misses 111 116 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Sorry to jump in here, but I am working on a Secondly, I don't think you should be altering the existing |
Change calculate_motion_profile to start at the neareset omega
jacob720
left a comment
There was a problem hiding this comment.
Looks good! Logic is clean and easy to follow
| self.omega = Motor(prefix + omega_infix) | ||
| real_motor = Motor(prefix + omega_infix) | ||
| self.omega = real_motor | ||
| self.omega_axis = WrappedAxis(self.omega) |
There was a problem hiding this comment.
Should something similar be added to XYZThetaStage or anything else with a rotational axis?
| set_mock_value(stage.omega.user_readback, real_value) | ||
| offset, phase = await stage.omega_axis.offset_and_phase.get_value() | ||
| assert 0 <= expected_phase < 360 | ||
| assert math.isclose(phase, expected_phase, abs_tol=1e-6) |
There was a problem hiding this comment.
Could: add expected offset to this test
Required for
Introduces a
mod_360_motorparameter to the init method forXYZOmegaStage; when set to True this replaces the standard omega motor with an instance ofModMotorwhich delegates motion to the underlying omega motor with the difference that the omega values are remapped to 0<=omega<360.When making an absolute move on the ModMotor:
Instructions to reviewer on how to test:
Checks for reviewer
dodal connect ${BEAMLINE}