From 570676d265dece9b3497b9e79c12a620292b22b7 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Sep 2016 07:50:11 -0500 Subject: [PATCH] Include requirements in "Implemented Codes" --- Marlin/Marlin_main.cpp | 217 ++++++++++++++++++++--------------------- 1 file changed, 108 insertions(+), 109 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 15149f2570..03e97a1479 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -128,124 +128,123 @@ * M1 - Same as M0 * M17 - Enable/Power all stepper motors * M18 - Disable all stepper motors; same as M84 - * M20 - List SD card - * M21 - Init SD card - * M22 - Release SD card - * M23 - Select SD file (M23 filename.g) - * M24 - Start/resume SD print - * M25 - Pause SD print - * M26 - Set SD position in bytes (M26 S12345) - * M27 - Report SD print status - * M28 - Start SD write (M28 filename.g) - * M29 - Stop SD write - * M30 - Delete file from SD (M30 filename.g) - * M31 - Output time since last M109 or SD card start to serial - * M32 - Select file and start SD print (Can be used _while_ printing from SD card files): - * syntax "M32 /path/filename#", or "M32 S !filename#" - * Call gcode file : "M32 P !filename#" and return to caller file after finishing (similar to #include). + * M20 - List SD card. (Requires SDSUPPORT) + * M21 - Init SD card. (Requires SDSUPPORT) + * M22 - Release SD card. (Requires SDSUPPORT) + * M23 - Select SD file: "M23 /path/file.gco". (Requires SDSUPPORT) + * M24 - Start/resume SD print. (Requires SDSUPPORT) + * M25 - Pause SD print. (Requires SDSUPPORT) + * M26 - Set SD position in bytes: "M26 S12345". (Requires SDSUPPORT) + * M27 - Report SD print status. (Requires SDSUPPORT) + * M28 - Start SD write: "M28 /path/file.gco". (Requires SDSUPPORT) + * M29 - Stop SD write. (Requires SDSUPPORT) + * M30 - Delete file from SD: "M30 /path/file.gco" + * M31 - Report time since last M109 or SD card start to serial. + * M32 - Select file and start SD print: "M32 [S] !/path/file.gco#". (Requires SDSUPPORT) + * Use P to run other files as sub-programs: "M32 P !filename#" * The '#' is necessary when calling from within sd files, as it stops buffer prereading - * M33 - Get the longname version of a path - * M42 - Change pin status via gcode Use M42 Px Sy to set pin x to value y, when omitting Px the onboard led will be used. - * M48 - Measure Z_Probe repeatability. M48 [P # of points] [X position] [Y position] [V_erboseness #] [E_ngage Probe] [L # of legs of travel] - * M75 - Start the print job timer - * M76 - Pause the print job timer - * M77 - Stop the print job timer - * M78 - Show statistical information about the print jobs - * M80 - Turn on Power Supply - * M81 - Turn off Power Supply - * M82 - Set E codes absolute (default) - * M83 - Set E codes relative while in Absolute Coordinates (G90) mode - * M84 - Disable steppers until next move, - * or use S to specify an inactivity timeout, after which the steppers will be disabled. S0 to disable the timeout. + * M33 - Get the longname version of a path. (Requires LONG_FILENAME_HOST_SUPPORT) + * M42 - Change pin status via gcode: M42 P S. LED pin assumed if P is omitted. + * M48 - Measure Z Probe repeatability: M48 P X Y V E L. (Requires Z_MIN_PROBE_REPEATABILITY_TEST) + * M75 - Start the print job timer. + * M76 - Pause the print job timer. + * M77 - Stop the print job timer. + * M78 - Show statistical information about the print jobs. (Requires PRINTCOUNTER) + * M80 - Turn on Power Supply. (Requires POWER_SUPPLY) + * M81 - Turn off Power Supply. (Requires POWER_SUPPLY) + * M82 - Set E codes absolute (default). + * M83 - Set E codes relative while in Absolute (G90) mode. + * M84 - Disable steppers until next move, or use S to specify an idle + * duration after which steppers should turn off. S0 disables the timeout. * M85 - Set inactivity shutdown timer with parameter S. To disable set zero (default) - * M92 - Set planner.axis_steps_per_mm - same syntax as G92 - * M104 - Set extruder target temp - * M105 - Read current temp - * M106 - Fan on - * M107 - Fan off - * M108 - Stop the waiting for heaters in M109, M190, M303. Does not affect the target temperature. + * M92 - Set planner.axis_steps_per_mm for one or more axes. + * M104 - Set extruder target temp. + * M105 - Report current temperatures. + * M106 - Fan on. + * M107 - Fan off. + * M108 - Break out of heating loops (M109, M190, M303). With no controller, breaks out of M0/M1. (Requires EMERGENCY_PARSER) * M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating * Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling * IF AUTOTEMP is enabled, S B F. Exit autotemp by any M109 without F - * M110 - Set the current line number - * M111 - Set debug flags with S. See flag bits defined in enum.h. - * M112 - Emergency stop - * M113 - Get or set the timeout interval for Host Keepalive "busy" messages - * M114 - Output current position to serial port - * M115 - Capabilities string - * M117 - Display a message on the controller screen - * M119 - Output Endstop status to serial port - * M120 - Enable endstop detection - * M121 - Disable endstop detection - * M126 - Solenoid Air Valve Open (BariCUDA support by jmil) - * M127 - Solenoid Air Valve Closed (BariCUDA vent to atmospheric pressure by jmil) - * M128 - EtoP Open (BariCUDA EtoP = electricity to air pressure transducer by jmil) - * M129 - EtoP Closed (BariCUDA EtoP = electricity to air pressure transducer by jmil) - * M140 - Set bed target temp - * M145 - Set the heatup state H B F for S (0=PLA, 1=ABS) - * M149 - Set temperature units - * M150 - Set BlinkM Color Output R: Red<0-255> U(!): Green<0-255> B: Blue<0-255> over i2c, G for green does not work. - * M163 - Set a single proportion for a mixing extruder. Requires MIXING_EXTRUDER. - * M164 - Save the mix as a virtual extruder. Requires MIXING_EXTRUDER and MIXING_VIRTUAL_TOOLS. - * M165 - Set the proportions for a mixing extruder. Use parameters ABCDHI to set the mixing factors. Requires MIXING_EXTRUDER. - * M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating - * Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling + * M110 - Set the current line number. (Used by host printing) + * M111 - Set debug flags: "M111 S". See flag bits defined in enum.h. + * M112 - Emergency stop. + * M113 - Get or set the timeout interval for Host Keepalive "busy" messages. (Requires HOST_KEEPALIVE_FEATURE) + * M114 - Report current position. + * M115 - Report capabilities. + * M117 - Display a message on the controller screen. (Requires an LCD) + * M119 - Report endstops status. + * M120 - Enable endstops detection. + * M121 - Disable endstops detection. + * M126 - Solenoid Air Valve Open. (Requires BARICUDA) + * M127 - Solenoid Air Valve Closed. (Requires BARICUDA) + * M128 - EtoP Open. (Requires BARICUDA) + * M129 - EtoP Closed. (Requires BARICUDA) + * M140 - Set bed target temp. S + * M145 - Set heatup values for materials on the LCD. H B F for S (0=PLA, 1=ABS) + * M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT) + * M150 - Set BlinkM Color R U B. Values 0-255. (Requires BLINKM) + * M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER) + * M164 - Save the mix as a virtual extruder. (Requires MIXING_EXTRUDER and MIXING_VIRTUAL_TOOLS) + * M165 - Set the proportions for a mixing extruder. Use parameters ABCDHI to set the mixing factors. (Requires MIXING_EXTRUDER) + * M190 - Sxxx Wait for bed current temp to reach target temp. ** Waits only when heating! ** + * Rxxx Wait for bed current temp to reach target temp. ** Waits for heating or cooling. ** * M200 - Set filament diameter, D, 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 X1000 Y1000) - * M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!! - * M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in units/sec - * M204 - Set default acceleration: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel (non printing) moves (ex. M204 P800 T3000 R9000) in units/sec^2 + * M201 - Set max acceleration in units/s^2 for print moves: "M201 X Y Z E" + * M202 - Set max acceleration in units/s^2 for travel moves: "M202 X Y Z E" ** UNUSED IN MARLIN! ** + * M203 - Set maximum feedrate: "M203 X Y Z E" in units/sec. + * M204 - Set default acceleration in units/sec^2: P R T * M205 - Set advanced settings. Current units apply: S T minimum speeds B X, Z, E - * M206 - Set additional homing offset - * M207 - Set Retract Length: S, Feedrate: F, and Z lift: Z - * M208 - Set Recover (unretract) Additional (!) Length: S and Feedrate: F - * M209 - Turn Automatic Retract Detection on/off: S (For slicers that don't support G10/11). + * M206 - Set additional homing offset. + * M207 - Set Retract Length: S, Feedrate: F, and Z lift: Z. (Requires FWRETRACT) + * M208 - Set Recover (unretract) Additional (!) Length: S and Feedrate: F. (Requires FWRETRACT) + * M209 - Turn Automatic Retract Detection on/off: S<0|1> (For slicers that don't support G10/11). (Requires FWRETRACT) Every normal extrude-only move will be classified as retract depending on the direction. - * M211 - Enable, Disable, and/or Report software endstops: [S] - * M218 - Set a tool offset: T X Y - * M220 - Set Feedrate Percentage: S ("FR" on your LCD) - * M221 - Set Flow Percentage: S - * M226 - Wait until the specified pin reaches the state required: P S - * M240 - Trigger a camera to take a photograph - * M250 - Set LCD contrast C (value 0..63) - * M280 - Set servo position absolute. P: servo index, S: angle or microseconds + * M211 - Enable, Disable, and/or Report software endstops: S<0|1> + * M218 - Set a tool offset: "M218 T X Y". (Requires 2 or more extruders) + * M220 - Set Feedrate Percentage: "M220 S" (i.e., "FR" on the LCD) + * M221 - Set Flow Percentage: "M221 S" + * M226 - Wait until a pin is in a given state: "M226 P S" + * M240 - Trigger a camera to take a photograph. (Requires CHDK or PHOTOGRAPH_PIN) + * M250 - Set LCD contrast: "M250 C" (0-63). (Requires LCD support) + * M280 - Set servo position absolute: "M280 P S". (Requires servos) * M300 - Play beep sound S P - * M301 - Set PID parameters P I and D - * M302 - Allow cold extrudes, or set the minimum extrude S. - * M303 - PID relay autotune S sets the target temperature. (default target temperature = 150C) - * M304 - Set bed PID parameters P I and D - * M380 - Activate solenoid on active extruder - * M381 - Disable all solenoids - * M400 - Finish all moves - * M401 - Lower Z probe if present - * M402 - Raise Z probe if present - * M404 - Display or set the Nominal Filament Width: [ N ] - * M405 - Enable Filament Sensor extrusion control. Optional delay between sensor and extruder: D - * M406 - Disable Filament Sensor extrusion control - * M407 - Display measured filament diameter in millimeters - * M410 - Quickstop. Abort all the planned moves - * M420 - Enable/Disable Mesh Leveling (with current values) S1=enable S0=disable - * M421 - Set a single Z coordinate in the Mesh Leveling grid. X Y Z - * M428 - Set the home_offset logically based on the current_position - * M500 - Store parameters in EEPROM - * M501 - Read parameters from EEPROM (if you need reset them after you changed them temporarily). - * M502 - Revert to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. - * M503 - Print the current settings (from memory not from EEPROM). Use S0 to leave off headings. - * M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) - * M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] - * M665 - Set delta configurations: L R S - * M666 - Set delta endstop adjustment - * M605 - Set dual x-carriage movement mode: S [ X R ] - * M851 - Set Z probe's Z offset in current units. (Negative values apply to probes that extend below the nozzle.) - * M907 - Set digital trimpot motor current using axis codes. - * M908 - Control digital trimpot directly. - * M909 - DAC_STEPPER_CURRENT: Print digipot/DAC current value - * M910 - DAC_STEPPER_CURRENT: Commit digipot/DAC value to external EEPROM via I2C - * M350 - Set microstepping mode. - * M351 - Toggle MS1 MS2 pins directly. + * M301 - Set PID parameters P I and D. (Requires PIDTEMP) + * M302 - Allow cold extrudes, or set the minimum extrude S. (Requires PREVENT_COLD_EXTRUSION) + * M303 - PID relay autotune S sets the target temperature. Default 150C. (Requires PIDTEMP) + * M304 - Set bed PID parameters P I and D. (Requires PIDTEMPBED) + * M380 - Activate solenoid on active extruder. (Requires EXT_SOLENOID) + * M381 - Disable all solenoids. (Requires EXT_SOLENOID) + * M400 - Finish all moves. + * M401 - Lower Z probe. (Requires a probe) + * M402 - Raise Z probe. (Requires a probe) + * M404 - Display or set the Nominal Filament Width: "W". (Requires FILAMENT_WIDTH_SENSOR) + * M405 - Enable Filament Sensor flow control. "M405 D". (Requires FILAMENT_WIDTH_SENSOR) + * M406 - Disable Filament Sensor flow control. (Requires FILAMENT_WIDTH_SENSOR) + * M407 - Display measured filament diameter in millimeters. (Requires FILAMENT_WIDTH_SENSOR) + * M410 - Quickstop. Abort all planned moves. + * M420 - Enable/Disable Mesh Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING) + * M421 - Set a single Z coordinate in the Mesh Leveling grid. X Y Z (Requires MESH_BED_LEVELING) + * M428 - Set the home_offset based on the current_position. Nearest edge applies. + * 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". S0 specifies compact output. + * M540 - Enable/disable SD card abort on endstop hit: "M540 S". (Requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) + * M600 - Pause for filament change: "M600 X Y Z E L". (Requires FILAMENT_CHANGE_FEATURE) + * M665 - Set delta configurations: "M665 L R S" (Requires DELTA) + * M666 - Set delta endstop adjustment. (Requires DELTA) + * M605 - Set dual x-carriage movement mode: "M605 S [X] [R]". (Requires DUAL_X_CARRIAGE) + * M851 - Set Z probe's Z offset in current units. (Negative = below the nozzle.) + * 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) + * M350 - Set microstepping mode. (Requires digital microstepping pins.) + * M351 - Toggle MS1 MS2 pins directly. (Requires digital microstepping pins.) * * ************ SCARA Specific - This can change to suit future G-code regulations * M360 - SCARA calibration: Move to cal-position ThetaA (0 deg calibration) @@ -256,13 +255,13 @@ * ************* SCARA End *************** * * ************ Custom codes - This can change to suit future G-code regulations - * M100 - Watch Free Memory (For Debugging Only) - * M928 - Start SD logging (M928 filename.g) - ended by M29 + * M100 - Watch Free Memory (For Debugging). (Requires M100_FREE_MEMORY_WATCHER) + * M928 - Start SD logging: "M928 filename.gco". Stop with M29. (Requires SDSUPPORT) * M999 - Restart after being stopped by error * * "T" Codes * - * T0-T3 - Select a tool by index (usually an extruder) [ F ] + * T0-T3 - Select an extruder (tool) by index: "T F" * */