|
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