Added more info to doxygen G-Codes

This commit is contained in:
3d-gussner 2019-11-06 11:14:06 +01:00
parent e6eeafd20c
commit 5bd995b21b
1 changed files with 139 additions and 30 deletions

View File

@ -3510,7 +3510,6 @@ void process_commands()
--------------------------------------------------------------------------------- ---------------------------------------------------------------------------------
### M117 - Display Message <a href="https://reprap.org/wiki/G-code#M117:_Display_Message">M117: Display Message</a> ### M117 - Display Message <a href="https://reprap.org/wiki/G-code#M117:_Display_Message">M117: Display Message</a>
This causes the given message to be shown in the status line on an attached LCD. This causes the given message to be shown in the status line on an attached LCD.
It is also used by internal to display status messages on LCD. It is also used by internal to display status messages on LCD.
@ -3643,9 +3642,11 @@ void process_commands()
### PRUSA - Internal command set <a href="https://reprap.org/wiki/G-code#G98:_Activate_farm_mode">G98: Activate farm mode - Notes</a> ### PRUSA - Internal command set <a href="https://reprap.org/wiki/G-code#G98:_Activate_farm_mode">G98: Activate farm mode - Notes</a>
Set of internal PRUSA commands Set of internal PRUSA commands
#### Usage
P RUSA [ Ping | PRN | FAN | fn | thx | uvlo | fsensor_recover | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | Beat | FR ] P RUSA [ Ping | PRN | FAN | fn | thx | uvlo | fsensor_recover | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | Beat | FR ]
#### Parameters
- `Ping` - `Ping`
- `PRN` - Prints revision of the printer - `PRN` - Prints revision of the printer
- `FAN` - Prints fan details - `FAN` - Prints fan details
@ -3859,7 +3860,20 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF);
/*! /*!
--------------------------------------------------------------------------------- ---------------------------------------------------------------------------------
# G Codes # G Codes
### G0, G1 - Coordinated movement X Y Z E <a href="https://reprap.org/wiki/G-code#G0_.26_G1:_Move">G0 & G1: Move</a> ### G0, G1 - Coordinated movement X Y Z E <a href="https://reprap.org/wiki/G-code#G0_.26_G1:_Move">G0 & G1: Move</a>
In Prusa Frimware G0 and G1 are the same.
#### Usage
G0 [ X | Y | Z | E | F | S ]
G1 [ X | Y | Z | E | F | S ]
#### Parameters
- `X` - The position to move to on the X axis
- `Y` - The position to move to on the Y axis
- `Z` - The position to move to on the Z axis
- `E` - The amount to extrude between the starting point and ending point
- `F` - The feedrate per minute of the move between the starting point and ending point (if supplied)
*/ -------------------------------------- */ --------------------------------------
case 0: // G0 -> G1 case 0: // G0 -> G1
case 1: // G1 case 1: // G1
@ -4060,7 +4074,21 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
break; break;
/*! /*!
### G2 - CW ARC <a href="https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move">G2 & G3: Controlled Arc Move</a> ### G2, G3 - Controlled Arc Move <a href="https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move">G2 & G3: Controlled Arc Move</a>
#### Usage
G2 [ X | Y | I | E | F ] (Clockwise Arc)
G3 [ X | Y | I | E | F ] (Counter-Clockwise Arc)
#### Parameters
- `X` - The position to move to on the X axis
- `Y` - The position to move to on the Y axis
- `I` - The point in X space from the current X position to maintain a constant distance from
- `J` - The point in Y space from the current Y position to maintain a constant distance from
- `E` - The amount to extrude between the starting point and ending point
- `F` - The feedrate per minute of the move between the starting point and ending point (if supplied)
*/ ------------------------------ */ ------------------------------
case 2: case 2:
if(Stopped == false) { if(Stopped == false) {
@ -4069,10 +4097,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
} }
break; break;
// -------------------------------
/*!
### G3 - CCW ARC <a href="https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move">G2 & G3: Controlled Arc Move</a>
*/ -------------------------------
case 3: case 3:
if(Stopped == false) { if(Stopped == false) {
get_arc_coordinates(); get_arc_coordinates();
@ -4083,6 +4108,16 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G4 - Dwell <a href="https://reprap.org/wiki/G-code#G4:_Dwell">G4: Dwell</a> ### G4 - Dwell <a href="https://reprap.org/wiki/G-code#G4:_Dwell">G4: Dwell</a>
Pause the machine for a period of time.
#### Usage
G4 [ P | S ]
#### Parameters
- `P` - Time to wait, in milliseconds
- `S` - Time to wait, in seconds
*/ ------------------------------- */ -------------------------------
case 4: case 4:
codenum = 0; codenum = 0;
@ -4103,6 +4138,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G10 - Retract <a href="https://reprap.org/wiki/G-code#G10:_Retract">G10: Retract</a> ### G10 - Retract <a href="https://reprap.org/wiki/G-code#G10:_Retract">G10: Retract</a>
Retracts filament according to settings of `M207`
#### Usage
G10
*/ ------------------------------ */ ------------------------------
case 10: case 10:
#if EXTRUDERS > 1 #if EXTRUDERS > 1
@ -4116,6 +4157,11 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G11 - Retract recover <a href="https://reprap.org/wiki/G-code#G11:_Unretract">G11: Unretract</a> ### G11 - Retract recover <a href="https://reprap.org/wiki/G-code#G11:_Unretract">G11: Unretract</a>
Unretracts/recovers filament according to settings of `M208`
#### Usage
G11
*/ ----------------------------- */ -----------------------------
case 11: case 11:
#if EXTRUDERS > 1 #if EXTRUDERS > 1
@ -4129,10 +4175,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G28 - Home all Axis one at a time <a href="https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29">G28: Move to Origin (Home)</a> ### G28 - Home all Axis one at a time <a href="https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29">G28: Move to Origin (Home)</a>
Unsing G28 without any paramters will perfom on the Prusa i3 printers home AND mesh bed leveling, while the default G-code G28 is just homeing the printer Unsing `G28` without any paramters will perfom on the Prusa i3 printers home AND mesh bed leveling, while `G28 W` will just home the printer
#### Usage
G28 [ X | Y | Z | W | C ] G28 [ X | Y | Z | W | C ]
#### Parameters
- `X` - Flag to go back to the X axis origin - `X` - Flag to go back to the X axis origin
- `Y` - Flag to go back to the Y axis origin - `Y` - Flag to go back to the Y axis origin
- `Z` - Flag to go back to the Z axis origin - `Z` - Flag to go back to the Z axis origin
@ -4173,7 +4221,9 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G29 - Detailed Z-Probe <a href="https://reprap.org/wiki/G-code#G29:_Detailed_Z-Probe">G29: Detailed Z-Probe</a> ### G29 - Detailed Z-Probe <a href="https://reprap.org/wiki/G-code#G29:_Detailed_Z-Probe">G29: Detailed Z-Probe</a>
See G81 In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
See `G81`
*/ -------------------------------- */ --------------------------------
case 29: case 29:
{ {
@ -4321,6 +4371,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G30 - Single Z Probe <a href="https://reprap.org/wiki/G-code#G30:_Single_Z-Probe">G30: Single Z-Probe</a> ### G30 - Single Z Probe <a href="https://reprap.org/wiki/G-code#G30:_Single_Z-Probe">G30: Single Z-Probe</a>
In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ ------------------------------------ */ ------------------------------------
case 30: case 30:
{ {
@ -4347,6 +4398,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G31 - Dock the sled <a href="https://reprap.org/wiki/G-code#G31:_Dock_Z_Probe_sled">G31: Dock Z Probe sled</a> ### G31 - Dock the sled <a href="https://reprap.org/wiki/G-code#G31:_Dock_Z_Probe_sled">G31: Dock Z Probe sled</a>
In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ --------------------------- */ ---------------------------
case 31: case 31:
dock_sled(true); dock_sled(true);
@ -4355,6 +4407,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G32 - Undock the sled <a href="https://reprap.org/wiki/G-code#G32:_Undock_Z_Probe_sled">G32: Undock Z Probe sled</a> ### G32 - Undock the sled <a href="https://reprap.org/wiki/G-code#G32:_Undock_Z_Probe_sled">G32: Undock Z Probe sled</a>
In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ ---------------------------- */ ----------------------------
case 32: case 32:
dock_sled(false); dock_sled(false);
@ -4386,6 +4439,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G75 - Print temperature interpolation <a href="https://reprap.org/wiki/G-code#G75:_Print_temperature_interpolation">G75: Print temperature interpolation</a> ### G75 - Print temperature interpolation <a href="https://reprap.org/wiki/G-code#G75:_Print_temperature_interpolation">G75: Print temperature interpolation</a>
Show/print PINDA temperature interpolating. Show/print PINDA temperature interpolating.
#### Usage
G75
*/ --------------------------------------------- */ ---------------------------------------------
case 75: case 75:
{ {
@ -4401,6 +4458,21 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
The PINDAv2 sensor has a built-in thermistor which has the advantage that the calibration can be done once for all materials. The PINDAv2 sensor has a built-in thermistor which has the advantage that the calibration can be done once for all materials.
The Original i3 Prusa MK2/s uses PINDAv1 and this calibration improves the temperature drift, but not as good as the PINDAv2. The Original i3 Prusa MK2/s uses PINDAv1 and this calibration improves the temperature drift, but not as good as the PINDAv2.
#### Usage
G76
#### Example
```
G76
echo PINDA probe calibration start
echo start temperature: 35.0°
echo ...
echo PINDA temperature -- Z shift (mm): 0.---
```
*/ */
------------------------------------------------ ------------------------------------------------
case 76: case 76:
@ -4663,15 +4735,17 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G80 - Mesh-based Z probe <a href="https://reprap.org/wiki/G-code#G80:_Mesh-based_Z_probe">G80: Mesh-based Z probe</a> ### G80 - Mesh-based Z probe <a href="https://reprap.org/wiki/G-code#G80:_Mesh-based_Z_probe">G80: Mesh-based Z probe</a>
Default 3x3 grid can be changed on MK2.5/s and MK3/s to 7x7 grid. Default 3x3 grid can be changed on MK2.5/s and MK3/s to 7x7 grid.
#### Usage
G80 [ N | R | V | L | R | F | B ] G80 [ N | R | V | L | R | F | B ]
#### Parameters
- `N` - Number of mesh points on x axis. Default is 3. Valid values are 3 and 7. - `N` - Number of mesh points on x axis. Default is 3. Valid values are 3 and 7.
- `R` - Probe retries. Default 3 max. 10 - `R` - Probe retries. Default 3 max. 10
- `V` - Verbosity level 1=low, 10=mid, 20=high. It can be only used if firmware has been compiled with SUPPORT_VERBOSITY active. - `V` - Verbosity level 1=low, 10=mid, 20=high. It can be only used if firmware has been compiled with SUPPORT_VERBOSITY active.
Using the following parameters enables additional "manual" bed leveling correction. Valid values are -100 microns to 100 microns. Using the following parameters enables additional "manual" bed leveling correction. Valid values are -100 microns to 100 microns.
#### Additional Parameters
- `L` - Left Bed Level correct value in um. - `L` - Left Bed Level correct value in um.
- `R` - Right Bed Level correct value in um. - `R` - Right Bed Level correct value in um.
- `F` - Front Bed Level correct value in um. - `F` - Front Bed Level correct value in um.
@ -5107,13 +5181,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G81 - Mesh bed leveling status <a href="https://reprap.org/wiki/G-code#G81:_Mesh_bed_leveling_status">G81: Mesh bed leveling status</a> ### G81 - Mesh bed leveling status <a href="https://reprap.org/wiki/G-code#G81:_Mesh_bed_leveling_status">G81: Mesh bed leveling status</a>
Prints mesh bed leveling status and bed profile if activated. Prints mesh bed leveling status and bed profile if activated.
#### Usage
G81
*/ ----------------------------------------- */ -----------------------------------------
/*
* Prints mesh bed leveling status and bed profile if activated
*/
case 81: case 81:
if (mbl.active) { if (mbl.active) {
SERIAL_PROTOCOLPGM("Num X,Y: "); SERIAL_PROTOCOLPGM("Num X,Y: ");
@ -5140,7 +5213,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
### G82: Single Z probe at current location - Not active <a href="https://reprap.org/wiki/G-code#G82:_Single_Z_probe_at_current_location">G82: Single Z probe at current location</a> ### G82: Single Z probe at current location - Not active <a href="https://reprap.org/wiki/G-code#G82:_Single_Z_probe_at_current_location">G82: Single Z probe at current location</a>
WARNING! USE WITH CAUTION! If you'll try to probe where is no leveling pad, nasty things can happen! WARNING! USE WITH CAUTION! If you'll try to probe where is no leveling pad, nasty things can happen!
*/ In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ -----------------------------------------
case 82: case 82:
SERIAL_PROTOCOLLNPGM("Finding bed "); SERIAL_PROTOCOLLNPGM("Finding bed ");
int l_feedmultiply = setup_for_endstop_move(); int l_feedmultiply = setup_for_endstop_move();
@ -5151,9 +5225,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
SERIAL_PROTOCOLPGM("\n"); SERIAL_PROTOCOLPGM("\n");
break; break;
/*! /*!
### G83: Babystep in Z and store to EEPROM - Not active <a href="https://reprap.org/wiki/G-code#G83:_Babystep_in_Z_and_store_to_EEPROM">G83: Babystep in Z and store to EEPROM</a> ### G83: Babystep in Z and store to EEPROM - Not active <a href="https://reprap.org/wiki/G-code#G83:_Babystep_in_Z_and_store_to_EEPROM">G83: Babystep in Z and store to EEPROM</a>
*/ In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ -----------------------------------------
case 83: case 83:
{ {
int babystepz = code_seen('S') ? code_value() : 0; int babystepz = code_seen('S') ? code_value() : 0;
@ -5178,7 +5253,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
break; break;
/*! /*!
### G84: UNDO Babystep Z (move Z axis back) - Not active <a href="https://reprap.org/wiki/G-code#G84:_UNDO_Babystep_Z_.28move_Z_axis_back.29">G84: UNDO Babystep Z (move Z axis back)</a> ### G84: UNDO Babystep Z (move Z axis back) - Not active <a href="https://reprap.org/wiki/G-code#G84:_UNDO_Babystep_Z_.28move_Z_axis_back.29">G84: UNDO Babystep Z (move Z axis back)</a>
*/ In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ -----------------------------------------
case 84: case 84:
babystepsTodoZsubtract(babystepLoadZ); babystepsTodoZsubtract(babystepLoadZ);
// babystepLoadZ = 0; // babystepLoadZ = 0;
@ -5186,7 +5262,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G85: Pick best babystep - Not active <a href="https://reprap.org/wiki/G-code#G85:_Pick_best_babystep>G85: Pick best babystep</a> ### G85: Pick best babystep - Not active <a href="https://reprap.org/wiki/G-code#G85:_Pick_best_babystep>G85: Pick best babystep</a>
*/ In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
*/ -----------------------------------------
case 85: case 85:
lcd_pick_babystep(); lcd_pick_babystep();
break; break;
@ -5206,7 +5283,6 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G87 - Enable babystep correction after home <a href="https://reprap.org/wiki/G-code#G87:_Enable_babystep_correction_after_home">G87: Enable babystep correction after home</a> ### G87 - Enable babystep correction after home <a href="https://reprap.org/wiki/G-code#G87:_Enable_babystep_correction_after_home">G87: Enable babystep correction after home</a>
This G-code will be performed at the end of a calibration script. This G-code will be performed at the end of a calibration script.
(Prusa3D specific) (Prusa3D specific)
*/ */
@ -5214,7 +5290,6 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
calibration_status_store(CALIBRATION_STATUS_CALIBRATED); calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
break; break;
/*! /*!
### G88 - Reserved <a href="https://reprap.org/wiki/G-code#G88:_Reserved">G88: Reserved</a> ### G88 - Reserved <a href="https://reprap.org/wiki/G-code#G88:_Reserved">G88: Reserved</a>
@ -5231,19 +5306,42 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G90 - Switch off relative mode <a href="https://reprap.org/wiki/G-code#G90:_Set_to_Absolute_Positioning">G90: Set to Absolute Positioning</a> ### G90 - Switch off relative mode <a href="https://reprap.org/wiki/G-code#G90:_Set_to_Absolute_Positioning">G90: Set to Absolute Positioning</a>
#### Usage
G90
All coordinates from now on are absolute relative to the origin of the machine.
*/ ------------------------------- */ -------------------------------
case 90: case 90:
relative_mode = false; relative_mode = false;
break; break;
/*! ### G91 - Switch on relative mode <a href="https://reprap.org/wiki/G-code#G91:_Set_to_Relative_Positioning">G91: Set to Relative Positioning</a> /*! ### G91 - Switch on relative mode <a href="https://reprap.org/wiki/G-code#G91:_Set_to_Relative_Positioning">G91: Set to Relative Positioning</a>
*/ ------------------------------- #### Usage
G91
All coordinates from now on are relative to the last position.
*/ -------------------------------
case 91: case 91:
relative_mode = true; relative_mode = true;
break; break;
/*! /*!
### G92 - Set position <a href="https://reprap.org/wiki/G-code#G92:_Set_Position">G92: Set Position</a> ### G92 - Set position <a href="https://reprap.org/wiki/G-code#G92:_Set_Position">G92: Set Position</a>
#### Usage
G92 [ X | Y | Z | E ]
#### Parameters
- `X` - new X axis position
- `Y` - new Y axis position
- `Z` - new Z axis position
- `E` - new extruder position
Allows programming of absolute zero point, by reseting the current position to the values specified. This would set the machine's X coordinate to 10, and the extrude coordinate to 90. No physical motion will occur.
A G92 without coordinates will reset all axes to zero on some firmware.
*/ ----------------------------- */ -----------------------------
case 92: case 92:
if(!code_seen(axis_codes[E_AXIS])) if(!code_seen(axis_codes[E_AXIS]))
@ -5265,6 +5363,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
/*! /*!
### G98 - Activate farm mode <a href="https://reprap.org/wiki/G-code#G98:_Activate_farm_mode">G98: Activate farm mode</a> ### G98 - Activate farm mode <a href="https://reprap.org/wiki/G-code#G98:_Activate_farm_mode">G98: Activate farm mode</a>
Enable Prusa-specific Farm functions and g-code.
#### Usage
G98
See Internal Prusa commands
*/ ----------------------------------- */ -----------------------------------
case 98: case 98:
farm_mode = 1; farm_mode = 1;
@ -5277,7 +5381,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
break; break;
/*! ### G99 - Deactivate farm mode <a href="https://reprap.org/wiki/G-code#G99:_Deactivate_farm_mode">G99: Deactivate farm mode</a> /*! ### G99 - Deactivate farm mode <a href="https://reprap.org/wiki/G-code#G99:_Deactivate_farm_mode">G99: Deactivate farm mode</a>
*/ ------------------------------------- Disables Prusa-specific Farm functions and g-code.
#### Usage
G99
*/ -------------------------------------
case 99: case 99:
farm_mode = 0; farm_mode = 0;
lcd_printer_connected(); lcd_printer_connected();
@ -5292,7 +5401,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
gcode_in_progress = 0; gcode_in_progress = 0;
} // end if(code_seen('G')) } // end if(code_seen('G'))
/*! /*!
#### End of G-Codes ### End of G-Codes
*/ */
/*! /*!