|
35 | 35 | /** |
36 | 36 | * G61: Return to saved position |
37 | 37 | * |
38 | | - * F<rate> - Feedrate (optional) for the move back. |
39 | | - * S<slot> - Slot # (0-based) to restore from (default 0). |
40 | | - * X Y Z E - Axes to restore. At least one is required. |
| 38 | + * F<rate> - Feedrate (optional) for the move back. |
| 39 | + * S<slot> - Slot # (0-based) to restore from (default 0). |
| 40 | + * X<offset> - Restore X axis, applying the given offset (default 0) |
| 41 | + * Y<offset> - Restore Y axis, applying the given offset (default 0) |
| 42 | + * Z<offset> - Restore Z axis, applying the given offset (default 0) |
41 | 43 | * |
42 | | - * If XYZE are not given, default restore uses the smart blocking move. |
| 44 | + * If there is an Extruder: |
| 45 | + * E<offset> - Restore E axis, applying the given offset (default 0) |
| 46 | + * |
| 47 | + * With extra axes using default names: |
| 48 | + * A<offset> - Restore 4th axis, applying the given offset (default 0) |
| 49 | + * B<offset> - Restore 5th axis, applying the given offset (default 0) |
| 50 | + * C<offset> - Restore 6th axis, applying the given offset (default 0) |
| 51 | + * U<offset> - Restore 7th axis, applying the given offset (default 0) |
| 52 | + * V<offset> - Restore 8th axis, applying the given offset (default 0) |
| 53 | + * W<offset> - Restore 9th axis, applying the given offset (default 0) |
| 54 | + * |
| 55 | + * If no axes are specified then all axes are restored. |
43 | 56 | */ |
44 | 57 | void GcodeSuite::G61() { |
45 | 58 |
|
@@ -71,7 +84,7 @@ void GcodeSuite::G61() { |
71 | 84 | if (parser.seen(STR_AXES_MAIN)) { |
72 | 85 | DEBUG_ECHOPGM(STR_RESTORING_POS " S", slot); |
73 | 86 | LOOP_NUM_AXES(i) { |
74 | | - destination[i] = parser.seenval(AXIS_CHAR(i)) |
| 87 | + destination[i] = parser.seen(AXIS_CHAR(i)) |
75 | 88 | ? stored_position[slot][i] + parser.value_axis_units((AxisEnum)i) |
76 | 89 | : current_position[i]; |
77 | 90 | DEBUG_CHAR(' ', AXIS_CHAR(i)); |
|
0 commit comments