update code base to Marlin 2.0.9.2
This commit is contained in:
377
Marlin/src/gcode/gcode.h
Executable file → Normal file
377
Marlin/src/gcode/gcode.h
Executable file → Normal file
@@ -16,24 +16,20 @@
|
||||
* 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/>.
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* gcode.h - Temporary container for all gcode handlers
|
||||
*/
|
||||
|
||||
/**
|
||||
* -----------------
|
||||
* G-Codes in Marlin
|
||||
* -----------------
|
||||
*
|
||||
* Helpful G-code references:
|
||||
* - http://marlinfw.org/meta/gcode
|
||||
* - https://marlinfw.org/meta/gcode
|
||||
* - https://reprap.org/wiki/G-code
|
||||
* - http://linuxcnc.org/docs/html/gcode.html
|
||||
* - https://linuxcnc.org/docs/html/gcode.html
|
||||
*
|
||||
* Help to document Marlin's G-codes online:
|
||||
* - https://github.com/MarlinFirmware/MarlinDocumentation
|
||||
@@ -65,6 +61,7 @@
|
||||
* G32 - Undock sled (Z_PROBE_SLED only)
|
||||
* G33 - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION)
|
||||
* G34 - Z Stepper automatic alignment using probe: I<iterations> T<accuracy> A<amplification> (Requires Z_STEPPER_AUTO_ALIGN)
|
||||
* G35 - Read bed corners to help adjust bed screws: T<screw_thread> (Requires ASSISTED_TRAMMING)
|
||||
* G38 - Probe in any direction using the Z_MIN_PROBE (Requires G38_PROBE_TARGET)
|
||||
* G42 - Coordinated move to a mesh point (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BLINEAR, or AUTO_BED_LEVELING_UBL)
|
||||
* G60 - Save current position. (Requires SAVED_POSITIONS)
|
||||
@@ -85,6 +82,8 @@
|
||||
* M7 - Turn mist coolant ON. (Requires COOLANT_CONTROL)
|
||||
* M8 - Turn flood coolant ON. (Requires COOLANT_CONTROL)
|
||||
* M9 - Turn coolant OFF. (Requires COOLANT_CONTROL)
|
||||
* M10 - Turn Vacuum or Blower motor ON (Requires AIR_EVACUATION)
|
||||
* M11 - Turn Vacuum or Blower motor OFF (Requires AIR_EVACUATION)
|
||||
* M12 - Set up closed loop control system. (Requires EXTERNAL_CLOSED_LOOP_CONTROLLER)
|
||||
* M16 - Expected printer check. (Requires EXPECTED_PRINTER_CHECK)
|
||||
* M17 - Enable/Power all stepper motors
|
||||
@@ -108,7 +107,7 @@
|
||||
* The '#' is necessary when calling from within sd files, as it stops buffer prereading
|
||||
* M33 - Get the longname version of a path. (Requires LONG_FILENAME_HOST_SUPPORT)
|
||||
* M34 - Set SD Card sorting options. (Requires SDCARD_SORT_ALPHA)
|
||||
* M42 - Change pin status via gcode: M42 P<pin> S<value>. LED pin assumed if P is omitted.
|
||||
* M42 - Change pin status via gcode: M42 P<pin> S<value>. LED pin assumed if P is omitted. (Requires DIRECT_PIN_CONTROL)
|
||||
* M43 - Display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
|
||||
* M48 - Measure Z Probe repeatability: M48 P<points> X<pos> Y<pos> V<level> E<engage> L<legs> S<chizoid>. (Requires Z_MIN_PROBE_REPEATABILITY_TEST)
|
||||
* M73 - Set the progress percentage. (Requires LCD_SET_PROGRESS_MANUALLY)
|
||||
@@ -152,9 +151,11 @@
|
||||
* M129 - EtoP Closed. (Requires BARICUDA)
|
||||
* M140 - Set bed target temp. S<temp>
|
||||
* M141 - Set heated chamber target temp. S<temp> (Requires a chamber heater)
|
||||
* M143 - Set cooler target temp. S<temp> (Requires a laser cooling device)
|
||||
* M145 - Set heatup values for materials on the LCD. H<hotend> B<bed> F<fan speed> for S<material> (0=PLA, 1=ABS)
|
||||
* M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT)
|
||||
* M150 - Set Status LED Color as R<red> U<green> B<blue> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632).
|
||||
* M150 - Set Status LED Color as R<red> U<green> B<blue> W<white> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632).
|
||||
* M154 - Auto-report position with interval of S<seconds>. (Requires AUTO_REPORT_POSITION)
|
||||
* M155 - Auto-report temperatures with interval of S<seconds>. (Requires AUTO_REPORT_TEMPERATURES)
|
||||
* M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER)
|
||||
* M164 - Commit the mix and save to a virtual tool (current, or as specified by 'S'). (Requires MIXING_EXTRUDER)
|
||||
@@ -162,6 +163,7 @@
|
||||
* M166 - Set the Gradient Mix for the mixing extruder. (Requires GRADIENT_MIX)
|
||||
* M190 - S<temp> Wait for bed current temp to reach target temp. ** Wait only when heating! **
|
||||
* R<temp> Wait for bed current temp to reach target temp. ** Wait for heating or cooling. **
|
||||
* M193 - R<temp> Wait for cooler temp to reach target temp. ** Wait for cooling. **
|
||||
* M200 - Set filament diameter, D<diameter>, setting E axis units to cubic. (Use S0 to revert to linear units.)
|
||||
* M201 - Set max acceleration in units/s^2 for print moves: "M201 X<accel> Y<accel> Z<accel> E<accel>"
|
||||
* M202 - Set max acceleration in units/s^2 for travel moves: "M202 X<accel> Y<accel> Z<accel> E<accel>" ** UNUSED IN MARLIN! **
|
||||
@@ -180,15 +182,17 @@
|
||||
* M217 - Set filament swap parameters: "M217 S<length> P<feedrate> R<feedrate>". (Requires SINGLENOZZLE)
|
||||
* M218 - Set/get a tool offset: "M218 T<index> X<offset> Y<offset>". (Requires 2 or more extruders)
|
||||
* M220 - Set Feedrate Percentage: "M220 S<percent>" (i.e., "FR" on the LCD)
|
||||
* Use "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it. (Requires PRUSA_MMU2)
|
||||
* Use "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it. (Requires an MMU_MODEL version 2 or 2S)
|
||||
* M221 - Set Flow Percentage: "M221 S<percent>"
|
||||
* M226 - Wait until a pin is in a given state: "M226 P<pin> S<state>"
|
||||
* M226 - Wait until a pin is in a given state: "M226 P<pin> S<state>" (Requires DIRECT_PIN_CONTROL)
|
||||
* M240 - Trigger a camera to take a photograph. (Requires PHOTO_GCODE)
|
||||
* M250 - Set LCD contrast: "M250 C<contrast>" (0-63). (Requires LCD support)
|
||||
* M256 - Set LCD brightness: "M256 B<brightness>" (0-255). (Requires an LCD with brightness control)
|
||||
* M260 - i2c Send Data (Requires EXPERIMENTAL_I2CBUS)
|
||||
* M261 - i2c Request Data (Requires EXPERIMENTAL_I2CBUS)
|
||||
* M280 - Set servo position absolute: "M280 P<index> S<angle|µs>". (Requires servos)
|
||||
* M281 - Set servo min|max position: "M281 P<index> L<min> U<max>". (Requires EDITABLE_SERVO_ANGLES)
|
||||
* M282 - Detach servo: "M282 P<index>". (Requires SERVO_DETACH_GCODE)
|
||||
* M290 - Babystepping (Requires BABYSTEPPING)
|
||||
* M300 - Play beep sound S<frequency Hz> P<duration ms>
|
||||
* M301 - Set PID parameters P I and D. (Requires PIDTEMP)
|
||||
@@ -196,6 +200,7 @@
|
||||
* M303 - PID relay autotune S<temperature> sets the target temperature. Default 150C. (Requires PIDTEMP)
|
||||
* M304 - Set bed PID parameters P I and D. (Requires PIDTEMPBED)
|
||||
* M305 - Set user thermistor parameters R T and P. (Requires TEMP_SENSOR_x 1000)
|
||||
* M309 - Set chamber PID parameters P I and D. (Requires PIDTEMPCHAMBER)
|
||||
* M350 - Set microstepping mode. (Requires digital microstepping pins.)
|
||||
* M351 - Toggle MS1 MS2 pins directly. (Requires digital microstepping pins.)
|
||||
* M355 - Set Case Light on/off and set brightness. (Requires CASE_LIGHT_PIN)
|
||||
@@ -212,28 +217,39 @@
|
||||
* M410 - Quickstop. Abort all planned moves.
|
||||
* M412 - Enable / Disable Filament Runout Detection. (Requires FILAMENT_RUNOUT_SENSOR)
|
||||
* M413 - Enable / Disable Power-Loss Recovery. (Requires POWER_LOSS_RECOVERY)
|
||||
* M414 - Set language by index. (Requires LCD_LANGUAGE_2...)
|
||||
* M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL)
|
||||
* M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units> (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL)
|
||||
* M422 - Set Z Stepper automatic alignment position using probe. X<units> Y<units> A<axis> (Requires Z_STEPPER_AUTO_ALIGN)
|
||||
* M425 - Enable/Disable and tune backlash correction. (Requires BACKLASH_COMPENSATION and BACKLASH_GCODE)
|
||||
* M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA)
|
||||
* M430 - Read the system current, voltage, and power (Requires POWER_MONITOR_CURRENT, POWER_MONITOR_VOLTAGE, or POWER_MONITOR_FIXED_VOLTAGE)
|
||||
* M486 - Identify and cancel objects. (Requires CANCEL_OBJECTS)
|
||||
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
|
||||
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
|
||||
* M502 - Revert to the default "factory settings". ** Does not write them to EEPROM! **
|
||||
* M503 - Print the current settings (in memory): "M503 S<verbose>". S0 specifies compact output.
|
||||
* M504 - Validate EEPROM contents. (Requires EEPROM_SETTINGS)
|
||||
* M510 - Lock Printer
|
||||
* M511 - Unlock Printer
|
||||
* M512 - Set/Change/Remove Password
|
||||
* M524 - Abort the current SD print job started with M24. (Requires SDSUPPORT)
|
||||
* M540 - Enable/disable SD card abort on endstop hit: "M540 S<state>". (Requires SD_ABORT_ON_ENDSTOP_HIT)
|
||||
* M552 - Get or set IP address. Enable/disable network interface. (Requires enabled Ethernet port)
|
||||
* M553 - Get or set IP netmask. (Requires enabled Ethernet port)
|
||||
* M554 - Get or set IP gateway. (Requires enabled Ethernet port)
|
||||
* M569 - Enable stealthChop on an axis. (Requires at least one _DRIVER_TYPE to be TMC2130/2160/2208/2209/5130/5160)
|
||||
* M575 - Change the serial baud rate. (Requires BAUD_RATE_GCODE)
|
||||
* M600 - Pause for filament change: "M600 X<pos> Y<pos> Z<raise> E<first_retract> L<later_retract>". (Requires ADVANCED_PAUSE_FEATURE)
|
||||
* M603 - Configure filament change: "M603 T<tool> U<unload_length> L<load_length>". (Requires ADVANCED_PAUSE_FEATURE)
|
||||
* M605 - Set Dual X-Carriage movement mode: "M605 S<mode> [X<x_offset>] [R<temp_offset>]". (Requires DUAL_X_CARRIAGE)
|
||||
* M665 - Set delta configurations: "M665 H<delta height> L<diagonal rod> R<delta radius> S<segments/s> B<calibration radius> X<Alpha angle trim> Y<Beta angle trim> Z<Gamma angle trim> (Requires DELTA)
|
||||
* Set SCARA configurations: "M665 S<segments-per-second> P<theta-psi-offset> T<theta-offset> Z<z-offset> (Requires MORGAN_SCARA or MP_SCARA)
|
||||
* M666 - Set/get offsets for delta (Requires DELTA) or dual endstops. (Requires [XYZ]_DUAL_ENDSTOPS)
|
||||
* M672 - Set/Reset Duet Smart Effector's sensitivity. (Requires SMART_EFFECTOR and SMART_EFFECTOR_MOD_PIN)
|
||||
* M672 - Set/Reset Duet Smart Effector's sensitivity. (Requires DUET_SMART_EFFECTOR and SMART_EFFECTOR_MOD_PIN)
|
||||
* M701 - Load filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
|
||||
* M702 - Unload filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
|
||||
* M808 - Set or Goto a Repeat Marker (Requires GCODE_REPEAT_MARKERS)
|
||||
* M810-M819 - Define/execute a G-code macro (Requires GCODE_MACROS)
|
||||
* M851 - Set Z probe's XYZ offsets in current units. (Negative values: X=left, Y=front, Z=below)
|
||||
* M852 - Set skew factors: "M852 [I<xy>] [J<xz>] [K<yz>]". (Requires SKEW_CORRECTION_GCODE, and SKEW_CORRECTION_FOR_Z for IJ)
|
||||
@@ -248,13 +264,14 @@
|
||||
* M868 - Report or set position encoder module error correction threshold.
|
||||
* M869 - Report position encoder module error.
|
||||
* M871 - Print/reset/clear first layer temperature offset values. (Requires PROBE_TEMP_COMPENSATION)
|
||||
* M192 - Wait for probe temp (Requires PROBE_TEMP_COMPENSATION)
|
||||
* M876 - Handle Prompt Response. (Requires HOST_PROMPT_SUPPORT and not EMERGENCY_PARSER)
|
||||
* M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE)
|
||||
* M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660 or L6470)
|
||||
* M907 - Set digital trimpot motor current using axis codes. (Requires a board with digital trimpots)
|
||||
* M908 - Control digital trimpot directly. (Requires DAC_STEPPER_CURRENT or DIGIPOTSS_PIN)
|
||||
* M909 - Print digipot/DAC current value. (Requires DAC_STEPPER_CURRENT)
|
||||
* M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires DAC_STEPPER_CURRENT)
|
||||
* M908 - Control digital trimpot directly. (Requires HAS_MOTOR_CURRENT_DAC or DIGIPOTSS_PIN)
|
||||
* M909 - Print digipot/DAC current value. (Requires HAS_MOTOR_CURRENT_DAC)
|
||||
* M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires HAS_MOTOR_CURRENT_DAC)
|
||||
* M911 - Report stepper driver overtemperature pre-warn condition. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)
|
||||
* M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)
|
||||
* M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD)
|
||||
@@ -274,13 +291,17 @@
|
||||
* ************ Custom codes - This can change to suit future G-code regulations
|
||||
* G425 - Calibrate using a conductive object. (Requires CALIBRATION_GCODE)
|
||||
* M928 - Start SD logging: "M928 filename.gco". Stop with M29. (Requires SDSUPPORT)
|
||||
* M993 - Backup SPI Flash to SD
|
||||
* M994 - Load a Backup from SD to SPI Flash
|
||||
* M995 - Touch screen calibration for TFT display
|
||||
* M997 - Perform in-application firmware update
|
||||
* M999 - Restart after being stopped by error
|
||||
* D... - Custom Development G-code. Add hooks to 'gcode_D.cpp' for developers to test features. (Requires MARLIN_DEV_MODE)
|
||||
* D576 - Set buffer monitoring options. (Requires BUFFER_MONITORING)
|
||||
*
|
||||
* "T" Codes
|
||||
*
|
||||
* T0-T3 - Select an extruder (tool) by index: "T<n> F<units/min>"
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../inc/MarlinConfig.h"
|
||||
@@ -290,31 +311,50 @@
|
||||
#include "../feature/encoder_i2c.h"
|
||||
#endif
|
||||
|
||||
enum AxisRelative : uint8_t { REL_X, REL_Y, REL_Z, REL_E, E_MODE_ABS, E_MODE_REL };
|
||||
#if IS_SCARA || defined(G0_FEEDRATE)
|
||||
#define HAS_FAST_MOVES 1
|
||||
#endif
|
||||
|
||||
enum AxisRelative : uint8_t {
|
||||
LOGICAL_AXIS_LIST(REL_E, REL_X, REL_Y, REL_Z, REL_I, REL_J, REL_K)
|
||||
#if HAS_EXTRUDERS
|
||||
, E_MODE_ABS, E_MODE_REL
|
||||
#endif
|
||||
};
|
||||
|
||||
extern const char G28_STR[];
|
||||
|
||||
class GcodeSuite {
|
||||
public:
|
||||
|
||||
static uint8_t axis_relative;
|
||||
static axis_bits_t axis_relative;
|
||||
|
||||
static inline bool axis_is_relative(const AxisEnum a) {
|
||||
if (a == E_AXIS) {
|
||||
if (TEST(axis_relative, E_MODE_REL)) return true;
|
||||
if (TEST(axis_relative, E_MODE_ABS)) return false;
|
||||
}
|
||||
#if HAS_EXTRUDERS
|
||||
if (a == E_AXIS) {
|
||||
if (TEST(axis_relative, E_MODE_REL)) return true;
|
||||
if (TEST(axis_relative, E_MODE_ABS)) return false;
|
||||
}
|
||||
#endif
|
||||
return TEST(axis_relative, a);
|
||||
}
|
||||
static inline void set_relative_mode(const bool rel) {
|
||||
axis_relative = rel ? _BV(REL_X) | _BV(REL_Y) | _BV(REL_Z) | _BV(REL_E) : 0;
|
||||
}
|
||||
static inline void set_e_relative() {
|
||||
CBI(axis_relative, E_MODE_ABS);
|
||||
SBI(axis_relative, E_MODE_REL);
|
||||
}
|
||||
static inline void set_e_absolute() {
|
||||
CBI(axis_relative, E_MODE_REL);
|
||||
SBI(axis_relative, E_MODE_ABS);
|
||||
axis_relative = rel ? (0 LOGICAL_AXIS_GANG(
|
||||
| _BV(REL_E),
|
||||
| _BV(REL_X), | _BV(REL_Y), | _BV(REL_Z),
|
||||
| _BV(REL_I), | _BV(REL_J), | _BV(REL_K)
|
||||
)) : 0;
|
||||
}
|
||||
#if HAS_EXTRUDERS
|
||||
static inline void set_e_relative() {
|
||||
CBI(axis_relative, E_MODE_ABS);
|
||||
SBI(axis_relative, E_MODE_REL);
|
||||
}
|
||||
static inline void set_e_absolute() {
|
||||
CBI(axis_relative, E_MODE_REL);
|
||||
SBI(axis_relative, E_MODE_ABS);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(CNC_WORKSPACE_PLANES)
|
||||
/**
|
||||
@@ -332,8 +372,22 @@ public:
|
||||
static bool select_coordinate_system(const int8_t _new);
|
||||
#endif
|
||||
|
||||
static millis_t previous_move_ms;
|
||||
FORCE_INLINE static void reset_stepper_timeout() { previous_move_ms = millis(); }
|
||||
static millis_t previous_move_ms, max_inactive_time, stepper_inactive_time;
|
||||
FORCE_INLINE static void reset_stepper_timeout(const millis_t ms=millis()) { previous_move_ms = ms; }
|
||||
FORCE_INLINE static bool stepper_max_timed_out(const millis_t ms=millis()) {
|
||||
return max_inactive_time && ELAPSED(ms, previous_move_ms + max_inactive_time);
|
||||
}
|
||||
FORCE_INLINE static bool stepper_inactive_timeout(const millis_t ms=millis()) {
|
||||
return ELAPSED(ms, previous_move_ms + stepper_inactive_time);
|
||||
}
|
||||
|
||||
static void report_echo_start(const bool forReplay);
|
||||
static void report_heading(const bool forReplay, PGM_P const pstr, const bool eol=true);
|
||||
static inline void report_heading_etc(const bool forReplay, PGM_P const pstr, const bool eol=true) {
|
||||
report_heading(forReplay, pstr, eol);
|
||||
report_echo_start(forReplay);
|
||||
}
|
||||
static void say_units();
|
||||
|
||||
static int8_t get_target_extruder_from_command();
|
||||
static int8_t get_target_e_stepper_from_command();
|
||||
@@ -346,12 +400,11 @@ public:
|
||||
static void process_subcommands_now_P(PGM_P pgcode);
|
||||
static void process_subcommands_now(char * gcode);
|
||||
|
||||
static inline void home_all_axes() {
|
||||
extern const char G28_STR[];
|
||||
process_subcommands_now_P(G28_STR);
|
||||
static inline void home_all_axes(const bool keep_leveling=false) {
|
||||
process_subcommands_now_P(keep_leveling ? G28_STR : TERN(CAN_SET_LEVELING_AFTER_G28, PSTR("G28L0"), G28_STR));
|
||||
}
|
||||
|
||||
#if HAS_AUTO_REPORTING || ENABLED(HOST_KEEPALIVE_FEATURE)
|
||||
#if EITHER(HAS_AUTO_REPORTING, HOST_KEEPALIVE_FEATURE)
|
||||
static bool autoreport_paused;
|
||||
static inline bool set_autoreport_paused(const bool p) {
|
||||
const bool was = autoreport_paused;
|
||||
@@ -380,6 +433,7 @@ public:
|
||||
static uint8_t host_keepalive_interval;
|
||||
|
||||
static void host_keepalive();
|
||||
static inline bool host_keepalive_is_paused() { return busy_state >= PAUSED_FOR_USER; }
|
||||
|
||||
#define KEEPALIVE_STATE(N) REMEMBER(_KA_, gcode.busy_state, gcode.N)
|
||||
#else
|
||||
@@ -390,11 +444,13 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
static void G0_G1(
|
||||
#if IS_SCARA || defined(G0_FEEDRATE)
|
||||
const bool fast_move=false
|
||||
#endif
|
||||
);
|
||||
friend class MarlinSettings;
|
||||
|
||||
#if ENABLED(MARLIN_DEV_MODE)
|
||||
static void D(const int16_t dcode);
|
||||
#endif
|
||||
|
||||
static void G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move=false));
|
||||
|
||||
#if ENABLED(ARC_SUPPORT)
|
||||
static void G2_G3(const bool clockwise);
|
||||
@@ -406,6 +462,10 @@ private:
|
||||
static void G5();
|
||||
#endif
|
||||
|
||||
#if ENABLED(DIRECT_STEPPING)
|
||||
static void G6();
|
||||
#endif
|
||||
|
||||
#if ENABLED(FWRETRACT)
|
||||
static void G10();
|
||||
static void G11();
|
||||
@@ -438,6 +498,8 @@ private:
|
||||
|
||||
#if HAS_LEVELING
|
||||
#if ENABLED(G29_RETRY_AND_RECOVER)
|
||||
static void event_probe_failure();
|
||||
static void event_probe_recover();
|
||||
static void G29_with_retry();
|
||||
#define G29_TYPE bool
|
||||
#else
|
||||
@@ -458,9 +520,17 @@ private:
|
||||
static void G33();
|
||||
#endif
|
||||
|
||||
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||
#if ANY(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN, MECHANICAL_GANTRY_CALIBRATION)
|
||||
static void G34();
|
||||
#endif
|
||||
|
||||
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||
static void M422();
|
||||
static void M422_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(ASSISTED_TRAMMING)
|
||||
static void G35();
|
||||
#endif
|
||||
|
||||
#if ENABLED(G38_PROBE_TARGET)
|
||||
@@ -509,16 +579,23 @@ private:
|
||||
static void M5();
|
||||
#endif
|
||||
|
||||
#if ENABLED(COOLANT_CONTROL)
|
||||
#if ENABLED(COOLANT_MIST)
|
||||
static void M7();
|
||||
#endif
|
||||
#if ENABLED(COOLANT_FLOOD)
|
||||
static void M8();
|
||||
#endif
|
||||
#if ENABLED(COOLANT_MIST)
|
||||
static void M7();
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_FLOOD)
|
||||
static void M8();
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_CONTROL)
|
||||
static void M9();
|
||||
#endif
|
||||
|
||||
#if ENABLED(AIR_EVACUATION)
|
||||
static void M10();
|
||||
static void M11();
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
|
||||
static void M12();
|
||||
#endif
|
||||
@@ -548,7 +625,9 @@ private:
|
||||
static void M31();
|
||||
|
||||
#if ENABLED(SDSUPPORT)
|
||||
static void M32();
|
||||
#if HAS_MEDIA_SUBCALLS
|
||||
static void M32();
|
||||
#endif
|
||||
#if ENABLED(LONG_FILENAME_HOST_SUPPORT)
|
||||
static void M33();
|
||||
#endif
|
||||
@@ -557,8 +636,9 @@ private:
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static void M42();
|
||||
|
||||
#if ENABLED(DIRECT_PIN_CONTROL)
|
||||
static void M42();
|
||||
#endif
|
||||
#if ENABLED(PINS_DEBUGGING)
|
||||
static void M43();
|
||||
#endif
|
||||
@@ -582,25 +662,30 @@ private:
|
||||
#if ENABLED(PSU_CONTROL)
|
||||
static void M80();
|
||||
#endif
|
||||
|
||||
static void M81();
|
||||
static void M82();
|
||||
static void M83();
|
||||
|
||||
#if HAS_EXTRUDERS
|
||||
static void M82();
|
||||
static void M83();
|
||||
#endif
|
||||
|
||||
static void M85();
|
||||
static void M92();
|
||||
static void M92_report(const bool forReplay=true, const int8_t e=-1);
|
||||
|
||||
#if ENABLED(M100_FREE_MEMORY_WATCHER)
|
||||
static void M100();
|
||||
#endif
|
||||
|
||||
#if EXTRUDERS
|
||||
static void M104();
|
||||
static void M109();
|
||||
#if HAS_EXTRUDERS
|
||||
static void M104_M109(const bool isM109);
|
||||
FORCE_INLINE static void M104() { M104_M109(false); }
|
||||
FORCE_INLINE static void M109() { M104_M109(true); }
|
||||
#endif
|
||||
|
||||
static void M105();
|
||||
|
||||
#if FAN_COUNT > 0
|
||||
#if HAS_FAN
|
||||
static void M106();
|
||||
static void M107();
|
||||
#endif
|
||||
@@ -623,7 +708,11 @@ private:
|
||||
|
||||
static void M114();
|
||||
static void M115();
|
||||
static void M117();
|
||||
|
||||
#if HAS_STATUS_MESSAGE
|
||||
static void M117();
|
||||
#endif
|
||||
|
||||
static void M118();
|
||||
static void M119();
|
||||
static void M120();
|
||||
@@ -645,8 +734,9 @@ private:
|
||||
#endif
|
||||
|
||||
#if HAS_HEATED_BED
|
||||
static void M140();
|
||||
static void M190();
|
||||
static void M140_M190(const bool isM190);
|
||||
FORCE_INLINE static void M140() { M140_M190(false); }
|
||||
FORCE_INLINE static void M190() { M140_M190(true); }
|
||||
#endif
|
||||
|
||||
#if HAS_HEATED_CHAMBER
|
||||
@@ -654,19 +744,30 @@ private:
|
||||
static void M191();
|
||||
#endif
|
||||
|
||||
#if HOTENDS && HAS_LCD_MENU
|
||||
#if HAS_COOLER
|
||||
static void M143();
|
||||
static void M193();
|
||||
#endif
|
||||
|
||||
#if PREHEAT_COUNT
|
||||
static void M145();
|
||||
static void M145_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(TEMPERATURE_UNITS_SUPPORT)
|
||||
static void M149();
|
||||
static void M149_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_COLOR_LEDS
|
||||
static void M150();
|
||||
#endif
|
||||
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES) && HAS_TEMP_SENSOR
|
||||
#if ENABLED(AUTO_REPORT_POSITION)
|
||||
static void M154();
|
||||
#endif
|
||||
|
||||
#if BOTH(AUTO_REPORT_TEMPERATURES, HAS_TEMP_SENSOR)
|
||||
static void M155();
|
||||
#endif
|
||||
|
||||
@@ -681,46 +782,62 @@ private:
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static void M200();
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
static void M200();
|
||||
static void M200_report(const bool forReplay=true);
|
||||
#endif
|
||||
static void M201();
|
||||
static void M201_report(const bool forReplay=true);
|
||||
|
||||
#if 0
|
||||
static void M202(); // Not used for Sprinter/grbl gen6
|
||||
#endif
|
||||
|
||||
static void M203();
|
||||
static void M203_report(const bool forReplay=true);
|
||||
static void M204();
|
||||
static void M204_report(const bool forReplay=true);
|
||||
static void M205();
|
||||
static void M205_report(const bool forReplay=true);
|
||||
|
||||
#if HAS_M206_COMMAND
|
||||
static void M206();
|
||||
static void M206_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(FWRETRACT)
|
||||
static void M207();
|
||||
static void M207_report(const bool forReplay=true);
|
||||
static void M208();
|
||||
static void M208_report(const bool forReplay=true);
|
||||
#if ENABLED(FWRETRACT_AUTORETRACT)
|
||||
static void M209();
|
||||
static void M209_report(const bool forReplay=true);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static void M211();
|
||||
static void M211_report(const bool forReplay=true);
|
||||
|
||||
#if EXTRUDERS > 1
|
||||
#if HAS_MULTI_EXTRUDER
|
||||
static void M217();
|
||||
static void M217_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_HOTEND_OFFSET
|
||||
static void M218();
|
||||
static void M218_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
static void M220();
|
||||
|
||||
#if EXTRUDERS
|
||||
#if HAS_EXTRUDERS
|
||||
static void M221();
|
||||
#endif
|
||||
|
||||
static void M226();
|
||||
#if ENABLED(DIRECT_PIN_CONTROL)
|
||||
static void M226();
|
||||
#endif
|
||||
|
||||
#if ENABLED(PHOTO_GCODE)
|
||||
static void M240();
|
||||
@@ -728,6 +845,12 @@ private:
|
||||
|
||||
#if HAS_LCD_CONTRAST
|
||||
static void M250();
|
||||
static void M250_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_LCD_BRIGHTNESS
|
||||
static void M256();
|
||||
static void M256_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXPERIMENTAL_I2CBUS)
|
||||
@@ -739,6 +862,10 @@ private:
|
||||
static void M280();
|
||||
#if ENABLED(EDITABLE_SERVO_ANGLES)
|
||||
static void M281();
|
||||
static void M281_report(const bool forReplay=true);
|
||||
#endif
|
||||
#if ENABLED(SERVO_DETACH_GCODE)
|
||||
static void M282();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -752,6 +879,7 @@ private:
|
||||
|
||||
#if ENABLED(PIDTEMP)
|
||||
static void M301();
|
||||
static void M301_report(const bool forReplay=true E_OPTARG(const int8_t eindex=-1));
|
||||
#endif
|
||||
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
@@ -764,21 +892,31 @@ private:
|
||||
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
static void M304();
|
||||
static void M304_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_USER_THERMISTORS
|
||||
static void M305();
|
||||
#endif
|
||||
|
||||
#if ENABLED(PIDTEMPCHAMBER)
|
||||
static void M309();
|
||||
static void M309_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_MICROSTEPS
|
||||
static void M350();
|
||||
static void M351();
|
||||
#endif
|
||||
|
||||
#if HAS_CASE_LIGHT
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
static void M355();
|
||||
#endif
|
||||
|
||||
#if ENABLED(REPETIER_GCODE_M360)
|
||||
static void M360();
|
||||
#endif
|
||||
|
||||
#if ENABLED(MORGAN_SCARA)
|
||||
static bool M360();
|
||||
static bool M361();
|
||||
@@ -799,7 +937,7 @@ private:
|
||||
static void M402();
|
||||
#endif
|
||||
|
||||
#if ENABLED(PRUSA_MMU2)
|
||||
#if HAS_PRUSA_MMU2
|
||||
static void M403();
|
||||
#endif
|
||||
|
||||
@@ -812,21 +950,33 @@ private:
|
||||
|
||||
#if HAS_FILAMENT_SENSOR
|
||||
static void M412();
|
||||
static void M412_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_MULTI_LANGUAGE
|
||||
static void M414();
|
||||
static void M414_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_LEVELING
|
||||
static void M420();
|
||||
static void M420_report(const bool forReplay=true);
|
||||
static void M421();
|
||||
#endif
|
||||
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
static void M425();
|
||||
static void M425_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_M206_COMMAND
|
||||
static void M428();
|
||||
#endif
|
||||
|
||||
#if HAS_POWER_MONITOR
|
||||
static void M430();
|
||||
#endif
|
||||
|
||||
#if ENABLED(CANCEL_OBJECTS)
|
||||
static void M486();
|
||||
#endif
|
||||
@@ -841,6 +991,16 @@ private:
|
||||
static void M504();
|
||||
#endif
|
||||
|
||||
#if ENABLED(PASSWORD_FEATURE)
|
||||
static void M510();
|
||||
#if ENABLED(PASSWORD_UNLOCK_GCODE)
|
||||
static void M511();
|
||||
#endif
|
||||
#if ENABLED(PASSWORD_CHANGE_GCODE)
|
||||
static void M512();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(SDSUPPORT)
|
||||
static void M524();
|
||||
#endif
|
||||
@@ -849,6 +1009,20 @@ private:
|
||||
static void M540();
|
||||
#endif
|
||||
|
||||
#if HAS_ETHERNET
|
||||
static void M552();
|
||||
static void M552_report();
|
||||
static void M553();
|
||||
static void M553_report();
|
||||
static void M554();
|
||||
static void M554_report();
|
||||
#endif
|
||||
|
||||
#if HAS_STEALTHCHOP
|
||||
static void M569();
|
||||
static void M569_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(BAUD_RATE_GCODE)
|
||||
static void M575();
|
||||
#endif
|
||||
@@ -856,6 +1030,7 @@ private:
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
static void M600();
|
||||
static void M603();
|
||||
static void M603_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_DUPLICATION_MODE
|
||||
@@ -864,13 +1039,15 @@ private:
|
||||
|
||||
#if IS_KINEMATIC
|
||||
static void M665();
|
||||
static void M665_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(DELTA) || HAS_EXTRA_ENDSTOPS
|
||||
#if EITHER(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
static void M666();
|
||||
static void M666_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD)
|
||||
#if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD)
|
||||
static void M672();
|
||||
#endif
|
||||
|
||||
@@ -879,16 +1056,22 @@ private:
|
||||
static void M702();
|
||||
#endif
|
||||
|
||||
#if ENABLED(GCODE_REPEAT_MARKERS)
|
||||
static void M808();
|
||||
#endif
|
||||
|
||||
#if ENABLED(GCODE_MACROS)
|
||||
static void M810_819();
|
||||
#endif
|
||||
|
||||
#if HAS_BED_PROBE
|
||||
static void M851();
|
||||
static void M851_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(SKEW_CORRECTION_GCODE)
|
||||
static void M852();
|
||||
static void M852_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if ENABLED(I2C_POSITION_ENCODERS)
|
||||
@@ -905,28 +1088,30 @@ private:
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBE_TEMP_COMPENSATION)
|
||||
static void M192();
|
||||
static void M871();
|
||||
#endif
|
||||
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
static void M900();
|
||||
static void M900_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
static void M122();
|
||||
static void M906();
|
||||
#if HAS_STEALTHCHOP
|
||||
static void M569();
|
||||
#endif
|
||||
static void M906_report(const bool forReplay=true);
|
||||
#if ENABLED(MONITOR_DRIVER_STATUS)
|
||||
static void M911();
|
||||
static void M912();
|
||||
#endif
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
static void M913();
|
||||
static void M913_report(const bool forReplay=true);
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
#if ENABLED(USE_SENSORLESS)
|
||||
static void M914();
|
||||
static void M914_report(const bool forReplay=true);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -938,16 +1123,19 @@ private:
|
||||
static void M918();
|
||||
#endif
|
||||
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || EITHER(DIGIPOT_I2C, DAC_STEPPER_CURRENT)
|
||||
#if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM || HAS_MOTOR_CURRENT_I2C || HAS_MOTOR_CURRENT_DAC
|
||||
static void M907();
|
||||
#if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT)
|
||||
static void M908();
|
||||
#if ENABLED(DAC_STEPPER_CURRENT)
|
||||
static void M909();
|
||||
static void M910();
|
||||
#endif
|
||||
#if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM
|
||||
static void M907_report(const bool forReplay=true);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_DAC
|
||||
static void M908();
|
||||
#endif
|
||||
#if HAS_MOTOR_CURRENT_DAC
|
||||
static void M909();
|
||||
static void M910();
|
||||
#endif
|
||||
|
||||
#if ENABLED(SDSUPPORT)
|
||||
static void M928();
|
||||
@@ -957,6 +1145,15 @@ private:
|
||||
static void M951();
|
||||
#endif
|
||||
|
||||
#if ENABLED(TOUCH_SCREEN_CALIBRATION)
|
||||
static void M995();
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_SPI_FLASH, SDSUPPORT)
|
||||
static void M993();
|
||||
static void M994();
|
||||
#endif
|
||||
|
||||
#if ENABLED(PLATFORM_M997_SUPPORT)
|
||||
static void M997();
|
||||
#endif
|
||||
@@ -965,6 +1162,7 @@ private:
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
static void M413();
|
||||
static void M413_report(const bool forReplay=true);
|
||||
static void M1000();
|
||||
#endif
|
||||
|
||||
@@ -972,15 +1170,24 @@ private:
|
||||
static void M1001();
|
||||
#endif
|
||||
|
||||
#if ENABLED(DGUS_LCD_UI_MKS)
|
||||
static void M1002();
|
||||
#endif
|
||||
|
||||
#if ENABLED(UBL_MESH_WIZARD)
|
||||
static void M1004();
|
||||
#endif
|
||||
|
||||
#if ENABLED(MAX7219_GCODE)
|
||||
static void M7219();
|
||||
#endif
|
||||
|
||||
#if ENABLED(CONTROLLER_FAN_EDITABLE)
|
||||
static void M710();
|
||||
static void M710_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
static void T(const uint8_t tool_index);
|
||||
static void T(const int8_t tool_index);
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user