Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
- Enhancement: Advanced TLO Calibration option. Here you can set the offset to use from tool setter, and/or the number of repeat probings to use
- Enhancement: Added a warning popup if the controller version is lower than the firmware. This is not a supported config
- Enhancement: Added Auto Ext. Out toggle to spindle dropdown and Config and Run screen. This can be used to automatically run a vacuum or compressor when the spindle is running
- Fixed: Resume-at-line no longer treats the non-modal G53 command as the active work coordinate system
- Fixed: Restore Keyboard Jogging state after Probing Popup is closed
- Fixed: Repeated firmware checks now happen just once
- Fixed: UI widget updates from the SerialMonitor() now dispatched via the main thread. This should reduce the number of RecycleView related crashes
Expand Down
1 change: 0 additions & 1 deletion carveracontroller/Controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -1121,7 +1121,6 @@ def playStartLineCommand(self, filename, start_line, preview=False, lines=None,

# Search for WCS coordinate space - find the last one used
wcs_commands = [
("G53", self._find_command_line_number(lines, start_line, "G53")),
("G54", self._find_command_line_number(lines, start_line, "G54")),
("G55", self._find_command_line_number(lines, start_line, "G55")),
("G56", self._find_command_line_number(lines, start_line, "G56")),
Expand Down
20 changes: 20 additions & 0 deletions tests/unit/test_resume_wcs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
"""Tests for resume-at-line work coordinate system recovery."""

from carveracontroller.Controller import Controller


def test_g53_does_not_replace_active_work_coordinate_system():
controller = Controller.__new__(Controller)
controller._get_line_position_from_gcode_viewer = lambda _line: (None, None, None, None)
lines = [
"G55\n",
"G53 G0 Z-2\n",
"G1 X10 F100\n",
"G1 X20\n",
]

commands = controller.playStartLineCommand("job.nc", 4, preview=True, lines=lines)

assert "buffer G55" in commands
assert "buffer G53" not in commands
assert "buffer G53 G0 Z-2" in commands
Loading