diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp
index f943b4a3..1f902c5e 100644
--- a/Firmware/Dcodes.cpp
+++ b/Firmware/Dcodes.cpp
@@ -635,6 +635,98 @@ void dcode_12()
}
+#ifdef HEATBED_ANALYSIS
+ /*!
+ ### D80 - Bed check D80: Bed check
+ This command will log data to SD card file "mesh.txt".
+ #### Usage
+
+ D80 [ E | F | G | H | I | J ]
+
+ #### Parameters
+ - `E` - Dimension X (default 40)
+ - `F` - Dimention Y (default 40)
+ - `G` - Points X (default 40)
+ - `H` - Points Y (default 40)
+ - `I` - Offset X (default 74)
+ - `J` - Offset Y (default 34)
+ */
+void dcode_80()
+{
+ float dimension_x = 40;
+ float dimension_y = 40;
+ int points_x = 40;
+ int points_y = 40;
+ float offset_x = 74;
+ float offset_y = 33;
+
+ if (code_seen('E')) dimension_x = code_value();
+ if (code_seen('F')) dimension_y = code_value();
+ if (code_seen('G')) {points_x = code_value(); }
+ if (code_seen('H')) {points_y = code_value(); }
+ if (code_seen('I')) {offset_x = code_value(); }
+ if (code_seen('J')) {offset_y = code_value(); }
+ printf_P(PSTR("DIM X: %f\n"), dimension_x);
+ printf_P(PSTR("DIM Y: %f\n"), dimension_y);
+ printf_P(PSTR("POINTS X: %d\n"), points_x);
+ printf_P(PSTR("POINTS Y: %d\n"), points_y);
+ printf_P(PSTR("OFFSET X: %f\n"), offset_x);
+ printf_P(PSTR("OFFSET Y: %f\n"), offset_y);
+ bed_check(dimension_x,dimension_y,points_x,points_y,offset_x,offset_y);
+}
+
+
+ /*!
+ ### D81 - Bed analysis D80: Bed analysis
+ This command will log data to SD card file "wldsd.txt".
+ #### Usage
+
+ D81 [ E | F | G | H | I | J ]
+
+ #### Parameters
+ - `E` - Dimension X (default 40)
+ - `F` - Dimention Y (default 40)
+ - `G` - Points X (default 40)
+ - `H` - Points Y (default 40)
+ - `I` - Offset X (default 74)
+ - `J` - Offset Y (default 34)
+ */
+void dcode_81()
+{
+ float dimension_x = 40;
+ float dimension_y = 40;
+ int points_x = 40;
+ int points_y = 40;
+ float offset_x = 74;
+ float offset_y = 33;
+
+ if (code_seen('E')) dimension_x = code_value();
+ if (code_seen('F')) dimension_y = code_value();
+ if (code_seen("G")) { strchr_pointer+=1; points_x = code_value(); }
+ if (code_seen("H")) { strchr_pointer+=1; points_y = code_value(); }
+ if (code_seen("I")) { strchr_pointer+=1; offset_x = code_value(); }
+ if (code_seen("J")) { strchr_pointer+=1; offset_y = code_value(); }
+
+ bed_analysis(dimension_x,dimension_y,points_x,points_y,offset_x,offset_y);
+
+}
+
+#endif //HEATBED_ANALYSIS
+
+ /*!
+ ### D106 - Print measured fan speed for different pwm values D106: Print measured fan speed for different pwm values
+ */
+void dcode_106()
+{
+ for (int i = 255; i > 0; i = i - 5) {
+ fanSpeed = i;
+ //delay_keep_alive(2000);
+ for (int j = 0; j < 100; j++) {
+ delay_keep_alive(100);
+ }
+ printf_P(_N("%d: %d\n"), i, fan_speed[1]);
+ }
+}
#ifdef TMC2130
#include "planner.h"
diff --git a/Firmware/Dcodes.h b/Firmware/Dcodes.h
index eaf849ed..894cba52 100644
--- a/Firmware/Dcodes.h
+++ b/Firmware/Dcodes.h
@@ -2,26 +2,40 @@
#define DCODES_H
extern void dcode__1(); //D-1 - Endless loop (to simulate deadlock)
-
extern void dcode_0(); //D0 - Reset
extern void dcode_1(); //D1 - Clear EEPROM
extern void dcode_2(); //D2 - Read/Write RAM
+
+#ifdef DEBUG_DCODE3
extern void dcode_3(); //D3 - Read/Write EEPROM
+#endif //DEBUG_DCODE3
+
extern void dcode_4(); //D4 - Read/Write PIN
+
+#ifdef DEBUG_DCODE5
extern void dcode_5(); //D5 - Read/Write FLASH
+#endif //DEBUG_DCODE5
+
extern void dcode_6(); //D6 - Read/Write external FLASH
extern void dcode_7(); //D7 - Read/Write Bootloader
extern void dcode_8(); //D8 - Read/Write PINDA
extern void dcode_9(); //D9 - Read/Write ADC (Write=enable simulated, Read=disable simulated)
-
extern void dcode_10(); //D10 - XYZ calibration = OK
+extern void dcode_12(); //D12 - Log time. Writes the current time in the log file.
+
+#ifdef HEATBED_ANALYSIS
+extern void dcode_80(); //D80 - Bed check. This command will log data to SD card file "mesh.txt".
+extern void dcode_81(); //D81 - Bed analysis. This command will log data to SD card file "wldsd.txt".
+#endif //HEATBED_ANALYSIS
+
+ extern void dcode_106(); //D106 - Print measured fan speed for different pwm values
#ifdef TMC2130
-extern void dcode_2130(); //D2130 - TMC2130
+ extern void dcode_2130(); //D2130 - TMC2130
#endif //TMC2130
#ifdef PAT9125
-extern void dcode_9125(); //D9125 - PAT9125
+ extern void dcode_9125(); //D9125 - PAT9125
#endif //PAT9125
diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 6802815a..8b3d4a73 100755
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -8984,28 +8984,7 @@ Sigma_Exit:
- `J` - Offset Y (default 34)
*/
case 80:
- {
- float dimension_x = 40;
- float dimension_y = 40;
- int points_x = 40;
- int points_y = 40;
- float offset_x = 74;
- float offset_y = 33;
-
- if (code_seen('E')) dimension_x = code_value();
- if (code_seen('F')) dimension_y = code_value();
- if (code_seen('G')) {points_x = code_value(); }
- if (code_seen('H')) {points_y = code_value(); }
- if (code_seen('I')) {offset_x = code_value(); }
- if (code_seen('J')) {offset_y = code_value(); }
- printf_P(PSTR("DIM X: %f\n"), dimension_x);
- printf_P(PSTR("DIM Y: %f\n"), dimension_y);
- printf_P(PSTR("POINTS X: %d\n"), points_x);
- printf_P(PSTR("POINTS Y: %d\n"), points_y);
- printf_P(PSTR("OFFSET X: %f\n"), offset_x);
- printf_P(PSTR("OFFSET Y: %f\n"), offset_y);
- bed_check(dimension_x,dimension_y,points_x,points_y,offset_x,offset_y);
- }break;
+ dcode_80(); break;
/*!
### D81 - Bed analysis D80: Bed analysis
@@ -9023,24 +9002,7 @@ Sigma_Exit:
- `J` - Offset Y (default 34)
*/
case 81:
- {
- float dimension_x = 40;
- float dimension_y = 40;
- int points_x = 40;
- int points_y = 40;
- float offset_x = 74;
- float offset_y = 33;
-
- if (code_seen('E')) dimension_x = code_value();
- if (code_seen('F')) dimension_y = code_value();
- if (code_seen("G")) { strchr_pointer+=1; points_x = code_value(); }
- if (code_seen("H")) { strchr_pointer+=1; points_y = code_value(); }
- if (code_seen("I")) { strchr_pointer+=1; offset_x = code_value(); }
- if (code_seen("J")) { strchr_pointer+=1; offset_y = code_value(); }
-
- bed_analysis(dimension_x,dimension_y,points_x,points_y,offset_x,offset_y);
-
- } break;
+ dcode_81(); break;
#endif //HEATBED_ANALYSIS
#ifdef DEBUG_DCODES
@@ -9049,17 +9011,7 @@ Sigma_Exit:
### D106 - Print measured fan speed for different pwm values D106: Print measured fan speed for different pwm values
*/
case 106:
- {
- for (int i = 255; i > 0; i = i - 5) {
- fanSpeed = i;
- //delay_keep_alive(2000);
- for (int j = 0; j < 100; j++) {
- delay_keep_alive(100);
-
- }
- printf_P(_N("%d: %d\n"), i, fan_speed[1]);
- }
- }break;
+ dcode_106(); break;
#ifdef TMC2130
/*!