Scott Lahteine
7 years ago
52 changed files with 709 additions and 1719 deletions
@ -0,0 +1,129 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../Marlin.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M200: Set filament diameter and set E axis units to cubic units |
|||
* |
|||
* T<extruder> - Optional extruder number. Current extruder if omitted. |
|||
* D<linear> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis. |
|||
*/ |
|||
void GcodeSuite::M200() { |
|||
|
|||
if (get_target_extruder_from_command()) return; |
|||
|
|||
if (parser.seen('D')) { |
|||
// setting any extruder filament size disables volumetric on the assumption that
|
|||
// slicers either generate in extruder values as cubic mm or as as filament feeds
|
|||
// for all extruders
|
|||
if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0.0)) ) |
|||
planner.set_filament_size(target_extruder, parser.value_linear_units()); |
|||
} |
|||
planner.calculate_volumetric_multipliers(); |
|||
} |
|||
|
|||
/**
|
|||
* M201: Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000) |
|||
* |
|||
* With multiple extruders use T to specify which one. |
|||
*/ |
|||
void GcodeSuite::M201() { |
|||
|
|||
GET_TARGET_EXTRUDER(); |
|||
|
|||
LOOP_XYZE(i) { |
|||
if (parser.seen(axis_codes[i])) { |
|||
const uint8_t a = i + (i == E_AXIS ? TARGET_EXTRUDER : 0); |
|||
planner.max_acceleration_mm_per_s2[a] = parser.value_axis_units((AxisEnum)a); |
|||
} |
|||
} |
|||
// steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
|
|||
planner.reset_acceleration_rates(); |
|||
} |
|||
|
|||
/**
|
|||
* M203: Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in units/sec |
|||
* |
|||
* With multiple extruders use T to specify which one. |
|||
*/ |
|||
void GcodeSuite::M203() { |
|||
|
|||
GET_TARGET_EXTRUDER(); |
|||
|
|||
LOOP_XYZE(i) |
|||
if (parser.seen(axis_codes[i])) { |
|||
const uint8_t a = i + (i == E_AXIS ? TARGET_EXTRUDER : 0); |
|||
planner.max_feedrate_mm_s[a] = parser.value_axis_units((AxisEnum)a); |
|||
} |
|||
} |
|||
|
|||
/**
|
|||
* M204: Set Accelerations in units/sec^2 (M204 P1200 R3000 T3000) |
|||
* |
|||
* P = Printing moves |
|||
* R = Retract only (no X, Y, Z) moves |
|||
* T = Travel (non printing) moves |
|||
* |
|||
* Also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate |
|||
*/ |
|||
void GcodeSuite::M204() { |
|||
if (parser.seen('S')) { // Kept for legacy compatibility. Should NOT BE USED for new developments.
|
|||
planner.travel_acceleration = planner.acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Print and Travel Acceleration: ", planner.acceleration); |
|||
} |
|||
if (parser.seen('P')) { |
|||
planner.acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Print Acceleration: ", planner.acceleration); |
|||
} |
|||
if (parser.seen('R')) { |
|||
planner.retract_acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Retract Acceleration: ", planner.retract_acceleration); |
|||
} |
|||
if (parser.seen('T')) { |
|||
planner.travel_acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Travel Acceleration: ", planner.travel_acceleration); |
|||
} |
|||
} |
|||
|
|||
/**
|
|||
* M205: Set Advanced Settings |
|||
* |
|||
* S = Min Feed Rate (units/s) |
|||
* T = Min Travel Feed Rate (units/s) |
|||
* B = Min Segment Time (µs) |
|||
* X = Max X Jerk (units/sec^2) |
|||
* Y = Max Y Jerk (units/sec^2) |
|||
* Z = Max Z Jerk (units/sec^2) |
|||
* E = Max E Jerk (units/sec^2) |
|||
*/ |
|||
void GcodeSuite::M205() { |
|||
if (parser.seen('S')) planner.min_feedrate_mm_s = parser.value_linear_units(); |
|||
if (parser.seen('T')) planner.min_travel_feedrate_mm_s = parser.value_linear_units(); |
|||
if (parser.seen('B')) planner.min_segment_time = parser.value_millis(); |
|||
if (parser.seen('X')) planner.max_jerk[X_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('Y')) planner.max_jerk[Y_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('Z')) planner.max_jerk[Z_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('E')) planner.max_jerk[E_AXIS] = parser.value_linear_units(); |
|||
} |
@ -1,45 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../Marlin.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M200: Set filament diameter and set E axis units to cubic units |
|||
* |
|||
* T<extruder> - Optional extruder number. Current extruder if omitted. |
|||
* D<linear> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis. |
|||
*/ |
|||
void GcodeSuite::M200() { |
|||
|
|||
if (get_target_extruder_from_command()) return; |
|||
|
|||
if (parser.seen('D')) { |
|||
// setting any extruder filament size disables volumetric on the assumption that
|
|||
// slicers either generate in extruder values as cubic mm or as as filament feeds
|
|||
// for all extruders
|
|||
if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0.0)) ) |
|||
planner.set_filament_size(target_extruder, parser.value_linear_units()); |
|||
} |
|||
planner.calculate_volumetric_multipliers(); |
|||
} |
@ -1,43 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M201: Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000) |
|||
* |
|||
* With multiple extruders use T to specify which one. |
|||
*/ |
|||
void GcodeSuite::M201() { |
|||
|
|||
GET_TARGET_EXTRUDER(); |
|||
|
|||
LOOP_XYZE(i) { |
|||
if (parser.seen(axis_codes[i])) { |
|||
const uint8_t a = i + (i == E_AXIS ? TARGET_EXTRUDER : 0); |
|||
planner.max_acceleration_mm_per_s2[a] = parser.value_axis_units((AxisEnum)a); |
|||
} |
|||
} |
|||
// steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
|
|||
planner.reset_acceleration_rates(); |
|||
} |
@ -1,40 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M203: Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in units/sec |
|||
* |
|||
* With multiple extruders use T to specify which one. |
|||
*/ |
|||
void GcodeSuite::M203() { |
|||
|
|||
GET_TARGET_EXTRUDER(); |
|||
|
|||
LOOP_XYZE(i) |
|||
if (parser.seen(axis_codes[i])) { |
|||
const uint8_t a = i + (i == E_AXIS ? TARGET_EXTRUDER : 0); |
|||
planner.max_feedrate_mm_s[a] = parser.value_axis_units((AxisEnum)a); |
|||
} |
|||
} |
@ -1,52 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M204: Set Accelerations in units/sec^2 (M204 P1200 R3000 T3000) |
|||
* |
|||
* P = Printing moves |
|||
* R = Retract only (no X, Y, Z) moves |
|||
* T = Travel (non printing) moves |
|||
* |
|||
* Also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate |
|||
*/ |
|||
void GcodeSuite::M204() { |
|||
if (parser.seen('S')) { // Kept for legacy compatibility. Should NOT BE USED for new developments.
|
|||
planner.travel_acceleration = planner.acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Print and Travel Acceleration: ", planner.acceleration); |
|||
} |
|||
if (parser.seen('P')) { |
|||
planner.acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Print Acceleration: ", planner.acceleration); |
|||
} |
|||
if (parser.seen('R')) { |
|||
planner.retract_acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Retract Acceleration: ", planner.retract_acceleration); |
|||
} |
|||
if (parser.seen('T')) { |
|||
planner.travel_acceleration = parser.value_linear_units(); |
|||
SERIAL_ECHOLNPAIR("Setting Travel Acceleration: ", planner.travel_acceleration); |
|||
} |
|||
} |
@ -1,45 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/planner.h" |
|||
|
|||
/**
|
|||
* M205: Set Advanced Settings |
|||
* |
|||
* S = Min Feed Rate (units/s) |
|||
* T = Min Travel Feed Rate (units/s) |
|||
* B = Min Segment Time (µs) |
|||
* X = Max X Jerk (units/sec^2) |
|||
* Y = Max Y Jerk (units/sec^2) |
|||
* Z = Max Z Jerk (units/sec^2) |
|||
* E = Max E Jerk (units/sec^2) |
|||
*/ |
|||
void GcodeSuite::M205() { |
|||
if (parser.seen('S')) planner.min_feedrate_mm_s = parser.value_linear_units(); |
|||
if (parser.seen('T')) planner.min_travel_feedrate_mm_s = parser.value_linear_units(); |
|||
if (parser.seen('B')) planner.min_segment_time = parser.value_millis(); |
|||
if (parser.seen('X')) planner.max_jerk[X_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('Y')) planner.max_jerk[Y_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('Z')) planner.max_jerk[Z_AXIS] = parser.value_linear_units(); |
|||
if (parser.seen('E')) planner.max_jerk[E_AXIS] = parser.value_linear_units(); |
|||
} |
@ -1,39 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if DISABLED(EMERGENCY_PARSER) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../Marlin.h" // for wait_for_heatup |
|||
|
|||
/**
|
|||
* M108: Stop the waiting for heaters in M109, M190, M303. Does not affect the target temperature. |
|||
*/ |
|||
void GcodeSuite::M108() { |
|||
|
|||
wait_for_heatup = false; |
|||
|
|||
} |
|||
|
|||
#endif // !EMERGENCY_PARSER
|
@ -1,39 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if DISABLED(EMERGENCY_PARSER) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../Marlin.h" // for kill |
|||
|
|||
/**
|
|||
* M112: Emergency Stop |
|||
*/ |
|||
void GcodeSuite::M112() { |
|||
|
|||
kill(PSTR(MSG_KILLED)); |
|||
|
|||
} |
|||
|
|||
#endif // !EMERGENCY_PARSER
|
@ -1,33 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../lcd/ultralcd.h" |
|||
#include "../../Marlin.h" |
|||
|
|||
/**
|
|||
* M17: Enable power on all stepper motors |
|||
*/ |
|||
void GcodeSuite::M17() { |
|||
LCD_MESSAGEPGM(MSG_NO_MOVE); |
|||
enable_all_steppers(); |
|||
} |
@ -1,55 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT) |
|||
|
|||
#include "../../gcode.h" |
|||
|
|||
#if HAS_DIGIPOTSS |
|||
#include "../../../module/stepper.h" |
|||
#endif |
|||
|
|||
#if ENABLED(DAC_STEPPER_CURRENT) |
|||
#include "../../../feature/dac/stepper_dac.h" |
|||
#endif |
|||
|
|||
/**
|
|||
* M908: Control digital trimpot directly (M908 P<pin> S<current>) |
|||
*/ |
|||
void GcodeSuite::M908() { |
|||
#if HAS_DIGIPOTSS |
|||
stepper.digitalPotWrite( |
|||
parser.intval('P'), |
|||
parser.intval('S') |
|||
); |
|||
#endif |
|||
#if ENABLED(DAC_STEPPER_CURRENT) |
|||
dac_current_raw( |
|||
parser.byteval('P', -1), |
|||
parser.ushortval('S', 0) |
|||
); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HAS_DIGIPOTSS || DAC_STEPPER_CURRENT
|
@ -1,36 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(DAC_STEPPER_CURRENT) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/dac/stepper_dac.h" |
|||
|
|||
void GcodeSuite::M909() { |
|||
|
|||
dac_print_values(); |
|||
|
|||
} |
|||
|
|||
#endif // DAC_STEPPER_CURRENT
|
@ -1,36 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(DAC_STEPPER_CURRENT) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/dac/stepper_dac.h" |
|||
|
|||
void GcodeSuite::M910() { |
|||
|
|||
dac_commit_eeprom(); |
|||
|
|||
} |
|||
|
|||
#endif // DAC_STEPPER_CURRENT
|
@ -1,45 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(FWRETRACT) |
|||
|
|||
#include "../../../feature/fwretract.h" |
|||
#include "../../gcode.h" |
|||
|
|||
/**
|
|||
* M207: Set firmware retraction values |
|||
* |
|||
* S[+units] retract_length |
|||
* W[+units] swap_retract_length (multi-extruder) |
|||
* F[units/min] retract_feedrate_mm_s |
|||
* Z[units] retract_zlift |
|||
*/ |
|||
void GcodeSuite::M207() { |
|||
if (parser.seen('S')) fwretract.retract_length = parser.value_axis_units(E_AXIS); |
|||
if (parser.seen('F')) fwretract.retract_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS)); |
|||
if (parser.seen('Z')) fwretract.retract_zlift = parser.value_linear_units(); |
|||
if (parser.seen('W')) fwretract.swap_retract_length = parser.value_axis_units(E_AXIS); |
|||
} |
|||
|
|||
#endif // FWRETRACT
|
@ -1,44 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(FWRETRACT) |
|||
|
|||
#include "../../../feature/fwretract.h" |
|||
#include "../../gcode.h" |
|||
|
|||
/**
|
|||
* M209: Enable automatic retract (M209 S1) |
|||
* For slicers that don't support G10/11, reversed extrude-only |
|||
* moves will be classified as retraction. |
|||
*/ |
|||
void GcodeSuite::M209() { |
|||
if (MIN_AUTORETRACT <= MAX_AUTORETRACT) { |
|||
if (parser.seen('S')) { |
|||
fwretract.autoretract_enabled = parser.value_bool(); |
|||
for (uint8_t i = 0; i < EXTRUDERS; i++) fwretract.retracted[i] = false; |
|||
} |
|||
} |
|||
} |
|||
|
|||
#endif // FWRETRACT
|
@ -1,45 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1 |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/mixing.h" |
|||
|
|||
/**
|
|||
* M164: Store the current mix factors as a virtual tool. |
|||
* |
|||
* S[index] The virtual tool to store |
|||
* |
|||
*/ |
|||
void GcodeSuite::M164() { |
|||
const int tool_index = parser.intval('S'); |
|||
if (tool_index < MIXING_VIRTUAL_TOOLS) { |
|||
normalize_mix(); |
|||
for (uint8_t i = 0; i < MIXING_STEPPERS; i++) |
|||
mixing_virtual_tool_mix[tool_index][i] = mixing_factor[i]; |
|||
} |
|||
} |
|||
|
|||
#endif // MIXING_EXTRUDER && MIXING_VIRTUAL_TOOLS > 1
|
@ -1,45 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(DIRECT_MIXING_IN_G1) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/mixing.h" |
|||
|
|||
/**
|
|||
* M165: Set multiple mix factors for a mixing extruder. |
|||
* Factors that are left out will be set to 0. |
|||
* All factors together must add up to 1.0. |
|||
* |
|||
* A[factor] Mix factor for extruder stepper 1 |
|||
* B[factor] Mix factor for extruder stepper 2 |
|||
* C[factor] Mix factor for extruder stepper 3 |
|||
* D[factor] Mix factor for extruder stepper 4 |
|||
* H[factor] Mix factor for extruder stepper 5 |
|||
* I[factor] Mix factor for extruder stepper 6 |
|||
* |
|||
*/ |
|||
void GcodeSuite::M165() { gcode_get_mix(); } |
|||
|
|||
#endif // DIRECT_MIXING_IN_G1
|
@ -0,0 +1,155 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(HAVE_TMC2130) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/tmc2130.h" |
|||
#include "../../../module/stepper_indirection.h" |
|||
|
|||
inline void tmc2130_report_otpw(TMC2130Stepper &st, const char name) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" axis temperature prewarn triggered: "); |
|||
serialprintPGM(st.getOTPW() ? PSTR("true") : PSTR("false")); |
|||
SERIAL_EOL(); |
|||
} |
|||
|
|||
/**
|
|||
* M911: Report TMC2130 stepper driver overtemperature pre-warn flag |
|||
* The flag is held by the library and persist until manually cleared by M912 |
|||
*/ |
|||
void GcodeSuite::M911() { |
|||
const bool reportX = parser.seen('X'), reportY = parser.seen('Y'), reportZ = parser.seen('Z'), reportE = parser.seen('E'), |
|||
reportAll = (!reportX && !reportY && !reportZ && !reportE) || (reportX && reportY && reportZ && reportE); |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (reportX || reportAll) tmc2130_report_otpw(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (reportY || reportAll) tmc2130_report_otpw(stepperY, 'Y'); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (reportZ || reportAll) tmc2130_report_otpw(stepperZ, 'Z'); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (reportE || reportAll) tmc2130_report_otpw(stepperE0, 'E'); |
|||
#endif |
|||
} |
|||
|
|||
inline void tmc2130_clear_otpw(TMC2130Stepper &st, const char name) { |
|||
st.clear_otpw(); |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOLNPGM(" prewarn flag cleared"); |
|||
} |
|||
|
|||
/**
|
|||
* M912: Clear TMC2130 stepper driver overtemperature pre-warn flag held by the library |
|||
*/ |
|||
void GcodeSuite::M912() { |
|||
const bool clearX = parser.seen('X'), clearY = parser.seen('Y'), clearZ = parser.seen('Z'), clearE = parser.seen('E'), |
|||
clearAll = (!clearX && !clearY && !clearZ && !clearE) || (clearX && clearY && clearZ && clearE); |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (clearX || clearAll) tmc2130_clear_otpw(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (clearY || clearAll) tmc2130_clear_otpw(stepperY, 'Y'); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (clearZ || clearAll) tmc2130_clear_otpw(stepperZ, 'Z'); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (clearE || clearAll) tmc2130_clear_otpw(stepperE0, 'E'); |
|||
#endif |
|||
} |
|||
|
|||
#if ENABLED(HYBRID_THRESHOLD) |
|||
|
|||
#include "../../../module/planner.h" |
|||
|
|||
inline void tmc2130_get_pwmthrs(TMC2130Stepper &st, const char name, const uint16_t spmm) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" stealthChop max speed set to "); |
|||
SERIAL_ECHOLN(12650000UL * st.microsteps() / (256 * st.stealth_max_speed() * spmm)); |
|||
} |
|||
inline void tmc2130_set_pwmthrs(TMC2130Stepper &st, const char name, const int32_t thrs, const uint32_t spmm) { |
|||
st.stealth_max_speed(12650000UL * st.microsteps() / (256 * thrs * spmm)); |
|||
tmc2130_get_pwmthrs(st, name, spmm); |
|||
} |
|||
|
|||
/**
|
|||
* M913: Set HYBRID_THRESHOLD speed. |
|||
*/ |
|||
void GcodeSuite::M913() { |
|||
uint16_t values[XYZE]; |
|||
LOOP_XYZE(i) |
|||
values[i] = parser.intval(axis_codes[i]); |
|||
|
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (values[X_AXIS]) tmc2130_set_pwmthrs(stepperX, 'X', values[X_AXIS], planner.axis_steps_per_mm[X_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperX, 'X', planner.axis_steps_per_mm[X_AXIS]); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (values[Y_AXIS]) tmc2130_set_pwmthrs(stepperY, 'Y', values[Y_AXIS], planner.axis_steps_per_mm[Y_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperY, 'Y', planner.axis_steps_per_mm[Y_AXIS]); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (values[Z_AXIS]) tmc2130_set_pwmthrs(stepperZ, 'Z', values[Z_AXIS], planner.axis_steps_per_mm[Z_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperZ, 'Z', planner.axis_steps_per_mm[Z_AXIS]); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (values[E_AXIS]) tmc2130_set_pwmthrs(stepperE0, 'E', values[E_AXIS], planner.axis_steps_per_mm[E_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperE0, 'E', planner.axis_steps_per_mm[E_AXIS]); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HYBRID_THRESHOLD
|
|||
|
|||
#if ENABLED(SENSORLESS_HOMING) |
|||
|
|||
inline void tmc2130_get_sgt(TMC2130Stepper &st, const char name) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" driver homing sensitivity set to "); |
|||
SERIAL_ECHOLN(st.sgt()); |
|||
} |
|||
inline void tmc2130_set_sgt(TMC2130Stepper &st, const char name, const int8_t sgt_val) { |
|||
st.sgt(sgt_val); |
|||
tmc2130_get_sgt(st, name); |
|||
} |
|||
|
|||
/**
|
|||
* M914: Set SENSORLESS_HOMING sensitivity. |
|||
*/ |
|||
void GcodeSuite::M914() { |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (parser.seen(axis_codes[X_AXIS])) tmc2130_set_sgt(stepperX, 'X', parser.value_int()); |
|||
else tmc2130_get_sgt(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (parser.seen(axis_codes[Y_AXIS])) tmc2130_set_sgt(stepperY, 'Y', parser.value_int()); |
|||
else tmc2130_get_sgt(stepperY, 'Y'); |
|||
#endif |
|||
} |
|||
|
|||
#endif // SENSORLESS_HOMING
|
|||
|
|||
#endif // HAVE_TMC2130
|
@ -1,59 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(HAVE_TMC2130) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/tmc2130.h" |
|||
#include "../../../module/stepper_indirection.h" |
|||
|
|||
inline void tmc2130_report_otpw(TMC2130Stepper &st, const char name) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" axis temperature prewarn triggered: "); |
|||
serialprintPGM(st.getOTPW() ? PSTR("true") : PSTR("false")); |
|||
SERIAL_EOL(); |
|||
} |
|||
|
|||
/**
|
|||
* M911: Report TMC2130 stepper driver overtemperature pre-warn flag |
|||
* The flag is held by the library and persist until manually cleared by M912 |
|||
*/ |
|||
void GcodeSuite::M911() { |
|||
const bool reportX = parser.seen('X'), reportY = parser.seen('Y'), reportZ = parser.seen('Z'), reportE = parser.seen('E'), |
|||
reportAll = (!reportX && !reportY && !reportZ && !reportE) || (reportX && reportY && reportZ && reportE); |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (reportX || reportAll) tmc2130_report_otpw(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (reportY || reportAll) tmc2130_report_otpw(stepperY, 'Y'); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (reportZ || reportAll) tmc2130_report_otpw(stepperZ, 'Z'); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (reportE || reportAll) tmc2130_report_otpw(stepperE0, 'E'); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HAVE_TMC2130
|
@ -1,57 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(HAVE_TMC2130) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/tmc2130.h" |
|||
#include "../../../module/stepper_indirection.h" |
|||
|
|||
inline void tmc2130_clear_otpw(TMC2130Stepper &st, const char name) { |
|||
st.clear_otpw(); |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOLNPGM(" prewarn flag cleared"); |
|||
} |
|||
|
|||
/**
|
|||
* M912: Clear TMC2130 stepper driver overtemperature pre-warn flag held by the library |
|||
*/ |
|||
void GcodeSuite::M912() { |
|||
const bool clearX = parser.seen('X'), clearY = parser.seen('Y'), clearZ = parser.seen('Z'), clearE = parser.seen('E'), |
|||
clearAll = (!clearX && !clearY && !clearZ && !clearE) || (clearX && clearY && clearZ && clearE); |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (clearX || clearAll) tmc2130_clear_otpw(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (clearY || clearAll) tmc2130_clear_otpw(stepperY, 'Y'); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (clearZ || clearAll) tmc2130_clear_otpw(stepperZ, 'Z'); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (clearE || clearAll) tmc2130_clear_otpw(stepperE0, 'E'); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HAVE_TMC2130
|
@ -1,68 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(HAVE_TMC2130) && ENABLED(HYBRID_THRESHOLD) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/tmc2130.h" |
|||
#include "../../../module/planner.h" |
|||
#include "../../../module/stepper_indirection.h" |
|||
|
|||
inline void tmc2130_get_pwmthrs(TMC2130Stepper &st, const char name, const uint16_t spmm) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" stealthChop max speed set to "); |
|||
SERIAL_ECHOLN(12650000UL * st.microsteps() / (256 * st.stealth_max_speed() * spmm)); |
|||
} |
|||
inline void tmc2130_set_pwmthrs(TMC2130Stepper &st, const char name, const int32_t thrs, const uint32_t spmm) { |
|||
st.stealth_max_speed(12650000UL * st.microsteps() / (256 * thrs * spmm)); |
|||
tmc2130_get_pwmthrs(st, name, spmm); |
|||
} |
|||
|
|||
/**
|
|||
* M913: Set HYBRID_THRESHOLD speed. |
|||
*/ |
|||
void GcodeSuite::M913() { |
|||
uint16_t values[XYZE]; |
|||
LOOP_XYZE(i) |
|||
values[i] = parser.intval(axis_codes[i]); |
|||
|
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (values[X_AXIS]) tmc2130_set_pwmthrs(stepperX, 'X', values[X_AXIS], planner.axis_steps_per_mm[X_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperX, 'X', planner.axis_steps_per_mm[X_AXIS]); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (values[Y_AXIS]) tmc2130_set_pwmthrs(stepperY, 'Y', values[Y_AXIS], planner.axis_steps_per_mm[Y_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperY, 'Y', planner.axis_steps_per_mm[Y_AXIS]); |
|||
#endif |
|||
#if ENABLED(Z_IS_TMC2130) |
|||
if (values[Z_AXIS]) tmc2130_set_pwmthrs(stepperZ, 'Z', values[Z_AXIS], planner.axis_steps_per_mm[Z_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperZ, 'Z', planner.axis_steps_per_mm[Z_AXIS]); |
|||
#endif |
|||
#if ENABLED(E0_IS_TMC2130) |
|||
if (values[E_AXIS]) tmc2130_set_pwmthrs(stepperE0, 'E', values[E_AXIS], planner.axis_steps_per_mm[E_AXIS]); |
|||
else tmc2130_get_pwmthrs(stepperE0, 'E', planner.axis_steps_per_mm[E_AXIS]); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HAVE_TMC2130 && HYBRID_THRESHOLD
|
@ -1,55 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(HAVE_TMC2130) && ENABLED(SENSORLESS_HOMING) |
|||
|
|||
#include "../../gcode.h" |
|||
#include "../../../feature/tmc2130.h" |
|||
#include "../../../module/stepper_indirection.h" |
|||
|
|||
inline void tmc2130_get_sgt(TMC2130Stepper &st, const char name) { |
|||
SERIAL_CHAR(name); |
|||
SERIAL_ECHOPGM(" driver homing sensitivity set to "); |
|||
SERIAL_ECHOLN(st.sgt()); |
|||
} |
|||
inline void tmc2130_set_sgt(TMC2130Stepper &st, const char name, const int8_t sgt_val) { |
|||
st.sgt(sgt_val); |
|||
tmc2130_get_sgt(st, name); |
|||
} |
|||
|
|||
/**
|
|||
* M914: Set SENSORLESS_HOMING sensitivity. |
|||
*/ |
|||
void GcodeSuite::M914() { |
|||
#if ENABLED(X_IS_TMC2130) |
|||
if (parser.seen(axis_codes[X_AXIS])) tmc2130_set_sgt(stepperX, 'X', parser.value_int()); |
|||
else tmc2130_get_sgt(stepperX, 'X'); |
|||
#endif |
|||
#if ENABLED(Y_IS_TMC2130) |
|||
if (parser.seen(axis_codes[Y_AXIS])) tmc2130_set_sgt(stepperY, 'Y', parser.value_int()); |
|||
else tmc2130_get_sgt(stepperY, 'Y'); |
|||
#endif |
|||
} |
|||
|
|||
#endif // HAVE_TMC2130 && SENSORLESS_HOMING
|
@ -1,51 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if HAS_M206_COMMAND |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/motion.h" |
|||
|
|||
/**
|
|||
* M206: Set Additional Homing Offset (X Y Z). SCARA aliases T=X, P=Y |
|||
* |
|||
* *** @thinkyhead: I recommend deprecating M206 for SCARA in favor of M665. |
|||
* *** M206 for SCARA will remain enabled in 1.1.x for compatibility. |
|||
* *** In the 2.0 release, it will simply be disabled by default. |
|||
*/ |
|||
void GcodeSuite::M206() { |
|||
LOOP_XYZ(i) |
|||
if (parser.seen(axis_codes[i])) |
|||
set_home_offset((AxisEnum)i, parser.value_linear_units()); |
|||
|
|||
#if ENABLED(MORGAN_SCARA) |
|||
if (parser.seen('T')) set_home_offset(A_AXIS, parser.value_linear_units()); // Theta
|
|||
if (parser.seen('P')) set_home_offset(B_AXIS, parser.value_linear_units()); // Psi
|
|||
#endif |
|||
|
|||
SYNC_PLAN_POSITION_KINEMATIC(); |
|||
report_current_position(); |
|||
} |
|||
|
|||
#endif // HAS_M206_COMMAND
|
@ -0,0 +1,191 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
#include "../../module/printcounter.h" |
|||
#include "../../module/stepper.h" |
|||
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
#include "../../feature/pause.h" |
|||
#include "../queue.h" |
|||
#endif |
|||
|
|||
/**
|
|||
* M20: List SD card to serial output |
|||
*/ |
|||
void GcodeSuite::M20() { |
|||
SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST); |
|||
card.ls(); |
|||
SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST); |
|||
} |
|||
|
|||
/**
|
|||
* M21: Init SD Card |
|||
*/ |
|||
void GcodeSuite::M21() { card.initsd(); } |
|||
|
|||
/**
|
|||
* M22: Release SD Card |
|||
*/ |
|||
void GcodeSuite::M22() { card.release(); } |
|||
|
|||
/**
|
|||
* M23: Open a file |
|||
*/ |
|||
void GcodeSuite::M23() { |
|||
// Simplify3D includes the size, so zero out all spaces (#7227)
|
|||
for (char *fn = parser.string_arg; *fn; ++fn) if (*fn == ' ') *fn = '\0'; |
|||
card.openFile(parser.string_arg, true); |
|||
} |
|||
|
|||
/**
|
|||
* M24: Start or Resume SD Print |
|||
*/ |
|||
void GcodeSuite::M24() { |
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
resume_print(); |
|||
#endif |
|||
|
|||
card.startFileprint(); |
|||
print_job_timer.start(); |
|||
} |
|||
|
|||
/**
|
|||
* M25: Pause SD Print |
|||
*/ |
|||
void GcodeSuite::M25() { |
|||
card.pauseSDPrint(); |
|||
print_job_timer.pause(); |
|||
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
enqueue_and_echo_commands_P(PSTR("M125")); // Must be enqueued with pauseSDPrint set to be last in the buffer
|
|||
#endif |
|||
} |
|||
|
|||
/**
|
|||
* M26: Set SD Card file index |
|||
*/ |
|||
void GcodeSuite::M26() { |
|||
if (card.cardOK && parser.seenval('S')) |
|||
card.setIndex(parser.value_long()); |
|||
} |
|||
|
|||
/**
|
|||
* M27: Get SD Card status |
|||
*/ |
|||
void GcodeSuite::M27() { card.getStatus(); } |
|||
|
|||
/**
|
|||
* M28: Start SD Write |
|||
*/ |
|||
void GcodeSuite::M28() { card.openFile(parser.string_arg, false); } |
|||
|
|||
/**
|
|||
* M29: Stop SD Write |
|||
* Processed in write to file routine |
|||
*/ |
|||
void GcodeSuite::M29() { |
|||
// card.saving = false;
|
|||
} |
|||
|
|||
/**
|
|||
* M30 <filename>: Delete SD Card file |
|||
*/ |
|||
void GcodeSuite::M30() { |
|||
if (card.cardOK) { |
|||
card.closefile(); |
|||
card.removeFile(parser.string_arg); |
|||
} |
|||
} |
|||
|
|||
/**
|
|||
* M32: Select file and start SD Print |
|||
*/ |
|||
void GcodeSuite::M32() { |
|||
if (IS_SD_PRINTING) |
|||
stepper.synchronize(); |
|||
|
|||
char* namestartpos = parser.string_arg; |
|||
const bool call_procedure = parser.boolval('P'); |
|||
|
|||
if (card.cardOK) { |
|||
card.openFile(namestartpos, true, call_procedure); |
|||
|
|||
if (parser.seenval('S')) |
|||
card.setIndex(parser.value_long()); |
|||
|
|||
card.startFileprint(); |
|||
|
|||
// Procedure calls count as normal print time.
|
|||
if (!call_procedure) print_job_timer.start(); |
|||
} |
|||
} |
|||
|
|||
#if ENABLED(LONG_FILENAME_HOST_SUPPORT) |
|||
|
|||
/**
|
|||
* M33: Get the long full path of a file or folder |
|||
* |
|||
* Parameters: |
|||
* <dospath> Case-insensitive DOS-style path to a file or folder |
|||
* |
|||
* Example: |
|||
* M33 miscel~1/armchair/armcha~1.gco |
|||
* |
|||
* Output: |
|||
* /Miscellaneous/Armchair/Armchair.gcode |
|||
*/ |
|||
void GcodeSuite::M33() { |
|||
card.printLongPath(parser.string_arg); |
|||
} |
|||
|
|||
#endif // LONG_FILENAME_HOST_SUPPORT
|
|||
|
|||
#if ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE) |
|||
|
|||
/**
|
|||
* M34: Set SD Card Sorting Options |
|||
*/ |
|||
void GcodeSuite::M34() { |
|||
if (parser.seen('S')) card.setSortOn(parser.value_bool()); |
|||
if (parser.seenval('F')) { |
|||
const int v = parser.value_long(); |
|||
card.setSortFolders(v < 0 ? -1 : v > 0 ? 1 : 0); |
|||
} |
|||
//if (parser.seen('R')) card.setSortReverse(parser.value_bool());
|
|||
} |
|||
|
|||
#endif // SDCARD_SORT_ALPHA && SDSORT_GCODE
|
|||
|
|||
/**
|
|||
* M928: Start SD Write |
|||
*/ |
|||
void GcodeSuite::M928() { |
|||
card.openLogFile(parser.string_arg); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,39 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M20: List SD card to serial output |
|||
*/ |
|||
void GcodeSuite::M20() { |
|||
SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST); |
|||
card.ls(); |
|||
SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,35 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M21: Init SD Card |
|||
*/ |
|||
void GcodeSuite::M21() { card.initsd(); } |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,35 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M22: Release SD Card |
|||
*/ |
|||
void GcodeSuite::M22() { card.release(); } |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,39 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M23: Open a file |
|||
*/ |
|||
void GcodeSuite::M23() { |
|||
// Simplify3D includes the size, so zero out all spaces (#7227)
|
|||
for (char *fn = parser.string_arg; *fn; ++fn) if (*fn == ' ') *fn = '\0'; |
|||
card.openFile(parser.string_arg, true); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,47 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
#include "../../module/printcounter.h" |
|||
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
#include "../../feature/pause.h" |
|||
#endif |
|||
|
|||
/**
|
|||
* M24: Start or Resume SD Print |
|||
*/ |
|||
void GcodeSuite::M24() { |
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
resume_print(); |
|||
#endif |
|||
|
|||
card.startFileprint(); |
|||
print_job_timer.start(); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,47 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
#include "../../module/printcounter.h" |
|||
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
#include "../queue.h" |
|||
#endif |
|||
|
|||
/**
|
|||
* M25: Pause SD Print |
|||
*/ |
|||
void GcodeSuite::M25() { |
|||
card.pauseSDPrint(); |
|||
print_job_timer.pause(); |
|||
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE) |
|||
enqueue_and_echo_commands_P(PSTR("M125")); // Must be enqueued with pauseSDPrint set to be last in the buffer
|
|||
#endif |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,38 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M26: Set SD Card file index |
|||
*/ |
|||
void GcodeSuite::M26() { |
|||
if (card.cardOK && parser.seenval('S')) |
|||
card.setIndex(parser.value_long()); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,35 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M27: Get SD Card status |
|||
*/ |
|||
void GcodeSuite::M27() { card.getStatus(); } |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,35 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M28: Start SD Write |
|||
*/ |
|||
void GcodeSuite::M28() { card.openFile(parser.string_arg, false); } |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,38 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M29: Stop SD Write |
|||
* Processed in write to file routine above |
|||
*/ |
|||
void GcodeSuite::M29() { |
|||
// card.saving = false;
|
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,40 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M30 <filename>: Delete SD Card file |
|||
*/ |
|||
void GcodeSuite::M30() { |
|||
if (card.cardOK) { |
|||
card.closefile(); |
|||
card.removeFile(parser.string_arg); |
|||
} |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,55 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
#include "../../module/stepper.h" |
|||
#include "../../module/printcounter.h" |
|||
|
|||
/**
|
|||
* M32: Select file and start SD Print |
|||
*/ |
|||
void GcodeSuite::M32() { |
|||
if (IS_SD_PRINTING) |
|||
stepper.synchronize(); |
|||
|
|||
char* namestartpos = parser.string_arg; |
|||
const bool call_procedure = parser.boolval('P'); |
|||
|
|||
if (card.cardOK) { |
|||
card.openFile(namestartpos, true, call_procedure); |
|||
|
|||
if (parser.seenval('S')) |
|||
card.setIndex(parser.value_long()); |
|||
|
|||
card.startFileprint(); |
|||
|
|||
// Procedure calls count as normal print time.
|
|||
if (!call_procedure) print_job_timer.start(); |
|||
} |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,46 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) && ENABLED(LONG_FILENAME_HOST_SUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M33: Get the long full path of a file or folder |
|||
* |
|||
* Parameters: |
|||
* <dospath> Case-insensitive DOS-style path to a file or folder |
|||
* |
|||
* Example: |
|||
* M33 miscel~1/armchair/armcha~1.gco |
|||
* |
|||
* Output: |
|||
* /Miscellaneous/Armchair/Armchair.gcode |
|||
*/ |
|||
void GcodeSuite::M33() { |
|||
card.printLongPath(parser.string_arg); |
|||
} |
|||
|
|||
#endif // SDSUPPORT && LONG_FILENAME_HOST_SUPPORT
|
@ -1,42 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) && ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M34: Set SD Card Sorting Options |
|||
*/ |
|||
void GcodeSuite::M34() { |
|||
if (parser.seen('S')) card.setSortOn(parser.value_bool()); |
|||
if (parser.seenval('F')) { |
|||
const int v = parser.value_long(); |
|||
card.setSortFolders(v < 0 ? -1 : v > 0 ? 1 : 0); |
|||
} |
|||
//if (parser.seen('R')) card.setSortReverse(parser.value_bool());
|
|||
} |
|||
|
|||
#endif // SDSUPPORT && SDCARD_SORT_ALPHA && SDSORT_GCODE
|
@ -1,37 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(SDSUPPORT) |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../sd/cardreader.h" |
|||
|
|||
/**
|
|||
* M928: Start SD Write |
|||
*/ |
|||
void GcodeSuite::M928() { |
|||
card.openLogFile(parser.string_arg); |
|||
} |
|||
|
|||
#endif // SDSUPPORT
|
@ -1,39 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/printcounter.h" |
|||
|
|||
/**
|
|||
* M75: Start print timer |
|||
*/ |
|||
void GcodeSuite::M75() { print_job_timer.start(); } |
|||
|
|||
/**
|
|||
* M76: Pause print timer |
|||
*/ |
|||
void GcodeSuite::M76() { print_job_timer.pause(); } |
|||
|
|||
/**
|
|||
* M77: Stop print timer |
|||
*/ |
|||
void GcodeSuite::M77() { print_job_timer.stop(); } |
@ -1,75 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/temperature.h" |
|||
#include "../../module/motion.h" |
|||
#include "../../module/planner.h" |
|||
#include "../../lcd/ultralcd.h" |
|||
|
|||
#if ENABLED(PRINTJOB_TIMER_AUTOSTART) |
|||
#include "../../module/printcounter.h" |
|||
#endif |
|||
|
|||
/**
|
|||
* M104: Set hot end temperature |
|||
*/ |
|||
void GcodeSuite::M104() { |
|||
if (get_target_extruder_from_command()) return; |
|||
if (DEBUGGING(DRYRUN)) return; |
|||
|
|||
const uint8_t e = target_extruder; |
|||
|
|||
#if ENABLED(SINGLENOZZLE) |
|||
if (e != active_extruder) return; |
|||
#endif |
|||
|
|||
if (parser.seenval('S')) { |
|||
const int16_t temp = parser.value_celsius(); |
|||
thermalManager.setTargetHotend(temp, e); |
|||
|
|||
#if ENABLED(DUAL_X_CARRIAGE) |
|||
if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && e == 0) |
|||
thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1); |
|||
#endif |
|||
|
|||
#if ENABLED(PRINTJOB_TIMER_AUTOSTART) |
|||
/**
|
|||
* Stop the timer at the end of print. Start is managed by 'heat and wait' M109. |
|||
* We use half EXTRUDE_MINTEMP here to allow nozzles to be put into hot |
|||
* standby mode, for instance in a dual extruder setup, without affecting |
|||
* the running print timer. |
|||
*/ |
|||
if (parser.value_celsius() <= (EXTRUDE_MINTEMP) / 2) { |
|||
print_job_timer.stop(); |
|||
LCD_MESSAGEPGM(WELCOME_MSG); |
|||
} |
|||
#endif |
|||
|
|||
if (parser.value_celsius() > thermalManager.degHotend(e)) |
|||
lcd_status_printf_P(0, PSTR("E%i %s"), e + 1, MSG_HEATING); |
|||
} |
|||
|
|||
#if ENABLED(AUTOTEMP) |
|||
planner.autotemp_M104_M109(); |
|||
#endif |
|||
} |
@ -1,38 +0,0 @@ |
|||
/**
|
|||
* Marlin 3D Printer Firmware |
|||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|||
* |
|||
* Based on Sprinter and grbl. |
|||
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if HAS_HEATER_BED && HAS_TEMP_BED |
|||
|
|||
#include "../gcode.h" |
|||
#include "../../module/temperature.h" |
|||
|
|||
/**
|
|||
* M140: Set bed temperature |
|||
*/ |
|||
void GcodeSuite::M140() { |
|||
if (DEBUGGING(DRYRUN)) return; |
|||
if (parser.seenval('S')) thermalManager.setTargetBed(parser.value_celsius()); |
|||
} |
|||
|
|||
#endif // HAS_HEATER_BED && HAS_TEMP_BED
|
Loading…
Reference in new issue