Pārlūkot izejas kodu

Added more info to doxygen G-Codes

3d-gussner 5 gadi atpakaļ
vecāks
revīzija
5bd995b21b
1 mainītis faili ar 139 papildinājumiem un 30 dzēšanām
  1. 139 30
      Firmware/Marlin_main.cpp

+ 139 - 30
Firmware/Marlin_main.cpp

@@ -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>
-  
   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.
@@ -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>
     
     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 ]
-      
+    
+	#### Parameters
       - `Ping` 
       - `PRN` - Prints revision of the printer
       - `FAN` - Prints fan details
@@ -3859,7 +3860,20 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF);
     /*!
     ---------------------------------------------------------------------------------
 	 # 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 1: // G1
@@ -4060,7 +4074,21 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
       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: 
       if(Stopped == false) {
@@ -4069,10 +4097,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
       }
       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: 
       if(Stopped == false) {
         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>
+	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: 
       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>
+	Retracts filament according to settings of `M207`
+	
+	#### Usage
+	
+	      G10
+	
     */ ------------------------------
     case 10: 
        #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>
+	Unretracts/recovers filament according to settings of `M208`
+	#### Usage
+	
+	      G11
+	
     */ ----------------------------- 
     case 11: 
        #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>
-    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 ]
     
+	#### Parameters
      - `X` - Flag to go back to the X axis origin
      - `Y` - Flag to go back to the Y 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>
-	See G81
+	In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
+	
+	See `G81`
     */ --------------------------------    
     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>
+	In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
     */ ------------------------------------        
     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>
+	In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
     */ ---------------------------
     case 31: 
         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>
+	In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
     */ ----------------------------     
     case 32: 
         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>
   Show/print PINDA temperature interpolating.
+  #### Usage
+  
+        G75
+  
   */ ---------------------------------------------
 	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 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: 
@@ -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>
     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 ]
       
+	#### Parameters
       - `N` - Number of mesh points on x axis. Default is 3. Valid values are 3 and 7.
       - `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.
       
       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.
       - `R` - Right 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>
-        
 		Prints mesh bed leveling status and bed profile if activated.
+		#### Usage
+		
+			  G81
+		
 		*/ -----------------------------------------
-
-         /*
-         * Prints mesh bed leveling status and bed profile if activated
-         */
         case 81:
             if (mbl.active) {
                 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>
         
         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:
             SERIAL_PROTOCOLLNPGM("Finding bed ");
             int l_feedmultiply = setup_for_endstop_move();
@@ -5151,9 +5225,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
             SERIAL_PROTOCOLPGM("\n");
             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:
         {
             int babystepz = code_seen('S') ? code_value() : 0;
@@ -5178,7 +5253,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
         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>
-        */
+		In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
+		*/ -----------------------------------------
         case 84:
             babystepsTodoZsubtract(babystepLoadZ);
             // 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>
-        */
+		In Prusa Firmware this G-code is deactivated by default, must be turned on in the source code.
+		*/ -----------------------------------------
         case 85:
             lcd_pick_babystep();
             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>
         
-        
 		This G-code will be performed at the end of a calibration script.
         (Prusa3D specific)
         */
@@ -5214,7 +5290,6 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
 			calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
             break;
 
-
         /*!
         ### 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>
+	#### Usage
+	
+	      G90
+	
+	All coordinates from now on are absolute relative to the origin of the machine.
     */ -------------------------------
     case 90:
       relative_mode = false;
       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>
-    */ -------------------------------
+	#### Usage
+	
+	      G91
+	
+    All coordinates from now on are relative to the last position. 
+	*/ -------------------------------
     case 91:
       relative_mode = true;
       break;
 
     /*!
 	### 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:
       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>
+	Enable Prusa-specific Farm functions and g-code.
+	#### Usage
+	
+		  G98
+	
+	See Internal Prusa commands
     */ -----------------------------------    
 	case 98:
 		farm_mode = 1;
@@ -5277,7 +5381,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
 		break;
 
     /*! ### 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:
 		farm_mode = 0;
 		lcd_printer_connected();
@@ -5292,7 +5401,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
 	gcode_in_progress = 0;
   } // end if(code_seen('G'))
   /*!
-  #### End of G-Codes
+  ### End of G-Codes
   */
 
   /*!