Repository navigation
Conversation
Jobs are mapped with the device's scale and swap_xy before being sent, but Device.move passes coordinates straight to the protocol, so the joystick moves along the machine's raw axes instead. On a device whose axes are swapped, such as a Silhouette Cameo, the left and right arrows drive the media in and out rather than moving across it, and the same device config ends up meaning two different things depending on whether you are cutting or jogging. Map each jog step from the direction the user sees into the device's axes before moving, in the order Job.create uses: mirror, then swap. The mapping is the identity for a device with no mirror or swap set, so nothing changes for configurations that behave correctly today. This is done in the joystick rather than Device.move because job paths arrive already mapped and would otherwise be transformed twice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Collaborator
|
Needs rebased |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jobs are mapped with the device's scale and
swap_xybefore being sent, butDevice.movepasses coordinates straight through, so the joystick follows the machine's raw axes. On a device with swapped axes the left and right arrows drive the media in and out instead of moving across it, so the same config means different things depending on whether you're cutting or jogging.Maps each jog step into the device's axes first, in the order
Job.createuses: mirror, then swap.This is the identity for a device with no mirror or swap set, so nothing changes for configurations that work today. Done in the joystick rather than
Device.movebecause job paths arrive already mapped.