added ruff test
This commit is contained in:
@@ -112,6 +112,17 @@ calls them:
|
||||
|
||||
- **Motion is refused** while the bus is not initialised, while the axis is
|
||||
unknown, or on a non-finite target — with a reason, never a silent no-op.
|
||||
- **A pose move is refused before the first axis moves** if any part of it is wrong:
|
||||
a target past the P0 limit — millimetres for x/y/z, **degrees** for yaw/pitch, so a
|
||||
400° stage turn cannot pass a 100 mm check — an axis mapping that is incomplete,
|
||||
points outside the drive range, or claims one drive twice, or a rotary role on an
|
||||
axis with no user-units-per-degree calibration. A sequence that stopped halfway
|
||||
would leave the machine in a pose nobody simulated, so every check runs first.
|
||||
- **A move is stepped, not looped.** The drives are commanded one at a time from the
|
||||
poll snapshots; a step that stalls (idle but short of its target), times out or
|
||||
raises an alarm aborts the rest. That is also what makes **stop** work — it is an
|
||||
ordinary command, so it runs at the next poll tick, and the queue is cancelled
|
||||
before it is sent so no later axis is commanded.
|
||||
- **Homing needs a configured mode.** The vendor example pre-fills `17`, which
|
||||
is one specific drive's mode; AutoCal starts at `0` and refuses, so the
|
||||
operator chooses for the drive in front of them instead of inheriting a number
|
||||
|
||||
Reference in New Issue
Block a user