Skip to content

Commit d66eb54

Browse files
committed
added positioning mode (move) to Grbl Control tab
1 parent 17634cf commit d66eb54

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

octoprint_bettergrblsupport/__init__.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -950,11 +950,13 @@ def hook_gcode_sending(self, comm_instance, phase, cmd, cmd_type, gcode, *args,
950950
if "G90" in cmd.upper():
951951
# absolute positioning
952952
self.positioning = 0
953+
self._plugin_manager.send_plugin_message(self._identifier, dict(type="grbl_state", positioning=self.positioning))
953954

954955
# we need to track relative position mode for "RUN" position updates
955956
if "G91" in cmd.upper():
956957
# relative positioning
957958
self.positioning = 1
959+
self._plugin_manager.send_plugin_message(self._identifier, dict(type="grbl_state", positioning=self.positioning))
958960

959961
# save our G command for shorthand post processors
960962
if cmd.upper().startswith("G"):
@@ -1096,7 +1098,9 @@ def hook_gcode_received(self, comm_instance, line, *args, **kwargs):
10961098
y=self.grblY,
10971099
z=self.grblZ,
10981100
speed=self.grblSpeed,
1099-
power=self.grblPowerLevel))
1101+
power=self.grblPowerLevel,
1102+
coord=self.grblCoordinateSystem,
1103+
positioning=self.positioning))
11001104

11011105
# odd edge case where a machine could be asleep or holding while connecting
11021106
if not self._printer.is_operational() and self.grblState.upper().strip() in ("SLEEP", "HOLD:0", "HOLD:1", "DOOR:0", "DOOR:1"):
@@ -1121,7 +1125,7 @@ def hook_gcode_received(self, comm_instance, line, *args, **kwargs):
11211125

11221126
return self.pick_a_response(response)
11231127

1124-
if line.startswith('Grbl'):
1128+
if line.strip().startswith('Grbl'):
11251129
# Hack to make Arduino based GRBL work.
11261130
# When the serial port is opened, it resets and the "hello" command
11271131
# is not processed.
@@ -1172,7 +1176,8 @@ def hook_gcode_received(self, comm_instance, line, *args, **kwargs):
11721176
self._plugin_manager.send_plugin_message(self._identifier, dict(type="grbl_state",
11731177
speed=self.grblSpeed,
11741178
power=self.grblPowerLevel,
1175-
coord=self.grblCoordinateSystem))
1179+
coord=self.grblCoordinateSystem,
1180+
positioning=self.positioning))
11761181

11771182
return self.pick_a_response(None)
11781183

octoprint_bettergrblsupport/static/js/bettergrblsupport.js

+9
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ $(function() {
5050
self.zPos = ko.observable("N/A");
5151
self.power = ko.observable("N/A");
5252
self.speed = ko.observable("N/A");
53+
self.positioning = ko.observable("N/A");
5354

5455
self.feedRate = ko.observable(undefined);
5556
self.plungeRate = ko.observable(undefined);
@@ -503,6 +504,14 @@ $(function() {
503504
}
504505

505506
if (data.coord != undefined) self.coordinate_system(data.coord);
507+
508+
if (data.positioning != undefined) {
509+
if (data.positioning == 0) {
510+
self.positioning("Absolute");
511+
} else {
512+
self.positioning("Relative");
513+
}
514+
}
506515
// console.log("mode=" + data.mode + " state=" + data.state + " x=" + data.x + " y=" + data.y + " z=" + data.z + " power=" + data.power + " speed=" + data.speed);
507516
return
508517
}

octoprint_bettergrblsupport/templates/bettergrblsupport_tab.jinja2

+5
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@
6161
<td style="padding: 3px 10px 5px 5px;" align="right" valign="middle">Speed</td>
6262
<td style="padding: 3px 5px 5px 5px;" align="right" valign="middle"><strong data-bind="text: speed()"></strong></td>
6363
</tr>
64+
<tr>
65+
<td style="padding: 3px 10px 5px 5px;" align="right" valign="middle">Move</td>
66+
<td style="padding: 3px 5px 5px 5px;" align="right" valign="middle"><strong data-bind="text: positioning()"></strong></td>
67+
</tr>
68+
6469
</table>
6570
</span>
6671

0 commit comments

Comments
 (0)