diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 3aedc1fb8a..673b74c8c0 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/Marlin/src/lcd/e3v2/proui/custom_gcodes.cpp b/Marlin/src/lcd/e3v2/proui/custom_gcodes.cpp
index 59e367e854..02c38007b1 100644
--- a/Marlin/src/lcd/e3v2/proui/custom_gcodes.cpp
+++ b/Marlin/src/lcd/e3v2/proui/custom_gcodes.cpp
@@ -33,7 +33,7 @@
#include "custom_gcodes.h"
#if ALL(PROUI_EX, HAS_MEDIA)
- #include "file_header.h"
+ #include "gcode_preview.h"
#endif
//=============================================================================
@@ -84,7 +84,7 @@ void C108() {
}
// Enable or disable preview screen
-#if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+#if HAS_GCODE_PREVIEW
void C250() {
if (parser.seenval('P')) {
HMI_data.EnablePreview = !!parser.value_byte();
@@ -120,7 +120,7 @@ void custom_gcode(const int16_t codenum) {
case 35: C35(); break; // Launch bed tramming wizard
#endif
case 108: C108(); break; // Cancel a Wait for User without an Emergecy Parser
- #if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+ #if HAS_GCODE_PREVIEW
case 250: C250(); break; // Enable or disable preview screen
#endif
#if HAS_LOCKSCREEN
diff --git a/Marlin/src/lcd/e3v2/proui/cv_laser_module.h b/Marlin/src/lcd/e3v2/proui/cv_laser_module.h
index 2807e865b5..ef80d719e0 100644
--- a/Marlin/src/lcd/e3v2/proui/cv_laser_module.h
+++ b/Marlin/src/lcd/e3v2/proui/cv_laser_module.h
@@ -34,7 +34,7 @@
#include "../../../inc/MarlinConfig.h"
#if HAS_MEDIA
- #include "file_header.h"
+ #include "gcode_preview.h"
#define LASER_XMIN fileprop.minx
#define LASER_XMAX fileprop.maxx
#define LASER_YMIN fileprop.miny
diff --git a/Marlin/src/lcd/e3v2/proui/dwin.cpp b/Marlin/src/lcd/e3v2/proui/dwin.cpp
index d0b93f22ff..5ecd78d6e8 100644
--- a/Marlin/src/lcd/e3v2/proui/dwin.cpp
+++ b/Marlin/src/lcd/e3v2/proui/dwin.cpp
@@ -59,7 +59,7 @@
#include "../../../feature/host_actions.h"
#endif
-#if HAS_MESH || HAS_BED_PROBE
+#if ANY(HAS_MESH, HAS_BED_PROBE)
#include "../../../feature/bedlevel/bedlevel.h"
#include "bedlevel_tools.h"
#endif
@@ -96,11 +96,8 @@
#include "../../../feature/tmc_util.h"
#endif
-#if HAS_GCODE_PREVIEW
- #include "file_header.h"
+#if ANY(HAS_GCODE_PREVIEW, CV_LASER_MODULE)
#include "gcode_preview.h"
-#elif HAS_GCODE_PREVIEW_NOPRO
- #include "gcode_preview_nopro.h"
#endif
#if HAS_TOOLBAR
@@ -630,12 +627,6 @@ void Draw_PrintDone() {
DWINUI::ClearMainArea();
DWIN_Print_Header(nullptr);
#if HAS_GCODE_PREVIEW
- const bool haspreview = Preview_Valid();
- if (haspreview) {
- Preview_Show();
- DWINUI::Draw_Button(BTN_Continue, 86, 295, true);
- }
- #elif HAS_GCODE_PREVIEW_NOPRO
const bool haspreview = preview.valid();
if (haspreview) {
preview.show();
@@ -1843,14 +1834,13 @@ void DWIN_LevelingDone() {
// Started a Print Job
void DWIN_Print_Started() {
DEBUG_ECHOLNPGM("DWIN_Print_Started: ", SD_Printing());
- TERN_(HAS_GCODE_PREVIEW, if (Host_Printing()) { Preview_Invalidate(); })
- TERN_(HAS_GCODE_PREVIEW_NOPRO, if (Host_Printing()) { preview.invalidate(); })
+ TERN_(HAS_GCODE_PREVIEW, if (Host_Printing()) { preview.invalidate(); })
ui.progress_reset();
ui.reset_remaining_time();
HMI_flag.pause_flag = false;
HMI_flag.abort_flag = false;
select_print.reset();
- #if PROUI_EX
+ #if PROUI_EX && HAS_GCODE_PREVIEW
if (!fileprop.isConfig) { Goto_PrintProcess(); }
#else
Goto_PrintProcess();
@@ -1876,7 +1866,7 @@ void DWIN_Print_Finished() {
HMI_flag.abort_flag = false;
HMI_flag.pause_flag = false;
wait_for_heatup = false;
- #if PROUI_EX
+ #if PROUI_EX && HAS_GCODE_PREVIEW
if (!fileprop.isConfig) { Goto_PrintDone(); }
else { fileprop.isConfig = false; }
#else
@@ -2039,7 +2029,7 @@ void DWIN_SetDataDefaults() {
#endif
#endif
TERN_(ADAPTIVE_STEP_SMOOTHING, HMI_data.AdaptiveStepSmoothing = true;)
- #if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+ #if HAS_GCODE_PREVIEW
HMI_data.EnablePreview = true;
#endif
#if PROUI_EX
@@ -2279,7 +2269,7 @@ void DWIN_RedrawScreen() {
#endif // HAS_LOCKSCREEN
-#if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+#if HAS_GCODE_PREVIEW
void SetPreview() { Toggle_Chkb_Line(HMI_data.EnablePreview); }
@@ -2297,11 +2287,11 @@ void DWIN_RedrawScreen() {
#endif
void Goto_ConfirmToPrint() {
- #if PROUI_EX
- fileprop.clear();
- fileprop.setname(card.filename);
+ #if PROUI_EX && HAS_GCODE_PREVIEW
+ fileprop.clears();
+ fileprop.setnames(card.filename);
card.openFileRead(fileprop.name, 100);
- getFileHeader();
+ //getFileHeader(); // no idea what this does
card.closefile();
if (fileprop.isConfig) return card.openAndPrintFile(card.filename);
#endif
@@ -2316,8 +2306,6 @@ void Goto_ConfirmToPrint() {
LaserOn(false); // If it is not laser file turn off laser mode
#endif
#if HAS_GCODE_PREVIEW
- if (HMI_data.EnablePreview) return Goto_Popup(Preview_DrawFromSD, onClick_ConfirmToPrint);
- #elif HAS_GCODE_PREVIEW_NOPRO
if (HMI_data.EnablePreview) return Goto_Popup(preview.drawFromSD, onClick_ConfirmToPrint);
#endif
card.openAndPrintFile(card.filename); // Direct print SD file
@@ -4520,7 +4508,7 @@ void Draw_AdvancedSettings_Menu() {
EDIT_ITEM(ICON_Sound, MSG_TICK, onDrawChkbMenu, SetEnableTick, &ui.tick_on);
EDIT_ITEM(ICON_Sound, MSG_SOUND, onDrawChkbMenu, SetEnableSound, &ui.sound_on);
#endif
- #if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+ #if HAS_GCODE_PREVIEW
EDIT_ITEM(ICON_File, MSG_HAS_PREVIEW, onDrawChkbMenu, SetPreview, &HMI_data.EnablePreview);
#endif
#if ENABLED(BAUD_RATE_GCODE)
@@ -4575,7 +4563,7 @@ void Draw_Advanced_Menu() { // From Control_Menu (Control) || Default-NP Advance
EDIT_ITEM(ICON_Sound, MSG_TICK, onDrawChkbMenu, SetEnableTick, &ui.tick_on);
EDIT_ITEM(ICON_Sound, MSG_SOUND, onDrawChkbMenu, SetEnableSound, &ui.sound_on);
#endif
- #if HAS_GCODE_PREVIEW || HAS_GCODE_PREVIEW_NOPRO
+ #if HAS_GCODE_PREVIEW
EDIT_ITEM(ICON_File, MSG_HAS_PREVIEW, onDrawChkbMenu, SetPreview, &HMI_data.EnablePreview);
#endif
#if ENABLED(BAUD_RATE_GCODE)
diff --git a/Marlin/src/lcd/e3v2/proui/file_header.h b/Marlin/src/lcd/e3v2/proui/file_header.h
deleted file mode 100644
index ba1ef79df6..0000000000
--- a/Marlin/src/lcd/e3v2/proui/file_header.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * DWIN G-code File header utility
- * Author: Miguel A. Risco-Castillo
- * version: 2.2.3
- * Date: 2023/05/04
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- *
- * For commercial applications additional licenses can be requested
- */
-
-#pragma once
-
-typedef struct {
- char name[13]; //8.3
- bool isConfig;
- bool isLaser;
- uint32_t thumbstart;
- uint16_t thumbsize;
- uint8_t thumbheight;
- uint8_t thumbwidth;
- uint8_t *thumbdata;
- float time;
- float filament;
- float layer;
- float minx;
- float maxx;
- float miny;
- float maxy;
- float minz;
- float maxz;
- float width() { return maxx - minx; }
- float length() { return maxy - miny; }
- float height() { return maxz - minz + layer; }
- void setname(const char * const fn);
- void clear();
-} fileprop_t;
-extern fileprop_t fileprop;
-
-void getLine(char *buf, const uint8_t bufsize);
-bool getValue(char *buf, const char * const key, float &value);
-void getFileHeader();
diff --git a/Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.cpp b/Marlin/src/lcd/e3v2/proui/gcode_preview.cpp
similarity index 82%
rename from Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.cpp
rename to Marlin/src/lcd/e3v2/proui/gcode_preview.cpp
index 5e78053c79..540a4641f0 100644
--- a/Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.cpp
+++ b/Marlin/src/lcd/e3v2/proui/gcode_preview.cpp
@@ -29,14 +29,13 @@
#include "../../../inc/MarlinConfigPre.h"
-#if ALL(DWIN_LCD_PROUI, HAS_GCODE_PREVIEW_NOPRO)
+#if ALL(DWIN_LCD_PROUI, HAS_GCODE_PREVIEW)
-#include "gcode_preview_nopro.h"
+#include "gcode_preview.h"
#include "../../../core/types.h"
#include "../../marlinui.h"
#include "../../../sd/cardreader.h"
-#include "../../../MarlinCore.h" // for wait_for_user
#include "dwin.h"
#include "dwin_popup.h"
#include "base64.h"
@@ -44,38 +43,27 @@
#define THUMBWIDTH 200
#define THUMBHEIGHT 200
-Preview preview;
-
-typedef struct {
- char name[13] = ""; // 8.3 + null
- uint32_t thumbstart = 0;
- int thumbsize = 0;
- int thumbheight = 0, thumbwidth = 0;
- float time = 0;
- float filament = 0;
- float layer = 0;
- float width = 0, height = 0, length = 0;
-
- void setname(const char * const fn) {
- const uint8_t len = _MIN(sizeof(name) - 1, strlen(fn));
- memcpy(name, fn, len);
- name[len] = '\0';
- }
-
- void clear() {
- name[0] = '\0';
- thumbstart = 0;
- thumbsize = 0;
- thumbheight = thumbwidth = 0;
- time = 0;
- filament = 0;
- layer = 0;
- height = width = length = 0;
- }
+// When `getLine`, `getValue`, `getFileHeader` are enabled - uncomment this
+// ??? what they do... Maybe Laser related?
+//IF_DISABLED(PROUI_EX, fileprop_t fileprop;)
+fileprop_t fileprop;
-} fileprop_t;
+void fileprop_t::setnames(const char * const fn) {
+ const uint8_t len = _MIN(sizeof(name) - 1, strlen(fn));
+ memcpy(name, fn, len);
+ name[len] = '\0';
+}
-fileprop_t fileprop;
+void fileprop_t::clears() {
+ name[0] = '\0';
+ thumbstart = 0;
+ thumbsize = 0;
+ thumbheight = thumbwidth = 0;
+ time = 0;
+ filament = 0;
+ layer = 0;
+ height = width = length = 0;
+}
void getValue(const char * const buf, PGM_P const key, float &value) {
if (value != 0.0f) return;
@@ -102,8 +90,8 @@ bool Preview::hasPreview() {
uint32_t indx = 0;
float tmp = 0;
- fileprop.clear();
- fileprop.setname(card.filename);
+ fileprop.clears();
+ fileprop.setnames(card.filename);
card.openFileRead(fileprop.name);
@@ -181,11 +169,7 @@ bool Preview::hasPreview() {
}
void Preview::drawFromSD() {
- if (!hasPreview()) {
- HMI_flag.select_flag = 1;
- wait_for_user = false;
- return;
- }
+ hasPreview();
MString<45> buf;
DWIN_Draw_Rectangle(1, HMI_data.Background_Color, 0, 0, DWIN_WIDTH, STATUS_Y - 1);
@@ -205,10 +189,18 @@ void Preview::drawFromSD() {
buf.set(F("Volume: "), p_float_t(fileprop.width, 1), 'x', p_float_t(fileprop.length, 1), 'x', p_float_t(fileprop.height, 1), F(" mm"));
DWINUI::Draw_String(20, 70, &buf);
}
+
+ if (!fileprop.thumbsize) {
+ const uint8_t xpos = ((DWIN_WIDTH) / 2) - 55, // 55 = iconW/2
+ ypos = ((DWIN_HEIGHT) / 2) - 125;
+ DWINUI::Draw_Icon(ICON_Info_0, xpos, ypos);
+ buf.set(PSTR("No " STRINGIFY(THUMBWIDTH) "x" STRINGIFY(THUMBHEIGHT) " Thumbnail"));
+ DWINUI::Draw_CenteredString(false, (DWINUI::fontid*3), DWINUI::textcolor, DWINUI::backcolor, 0, DWIN_WIDTH, (DWIN_HEIGHT / 2), &buf);
+ }
DWINUI::Draw_Button(BTN_Print, 26, 290);
DWINUI::Draw_Button(BTN_Cancel, 146, 290);
- show();
- Draw_Select_Highlight(true, 290);
+ if (fileprop.thumbsize) show();
+ Draw_Select_Highlight(false, 290);
DWIN_UpdateLCD();
}
diff --git a/Marlin/src/lcd/e3v2/proui/gcode_preview.h b/Marlin/src/lcd/e3v2/proui/gcode_preview.h
index 5de4f953f6..6a63302fa4 100644
--- a/Marlin/src/lcd/e3v2/proui/gcode_preview.h
+++ b/Marlin/src/lcd/e3v2/proui/gcode_preview.h
@@ -1,12 +1,13 @@
/**
- * DWIN G-code thumbnail preview
- * Author: Miguel A. Risco-Castillo
- * version: 3.5.3
- * Date: 2023/04/25
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License, or
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@@ -14,15 +15,53 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU Lesser General Public License
+ * You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * For commercial applications additional licenses can be requested
*/
-
#pragma once
-void Preview_DrawFromSD();
-void Preview_Invalidate();
-bool Preview_Valid();
-void Preview_Show();
+/**
+ * DWIN G-code thumbnail preview
+ * Author: Miguel A. Risco-Castillo
+ * version: 3.1.2
+ * Date: 2022/09/03
+ */
+
+class Preview {
+public:
+ static void drawFromSD();
+ static void invalidate();
+ static bool valid();
+ static void show();
+private:
+ static bool hasPreview();
+};
+extern Preview preview;
+
+typedef struct {
+ bool isConfig;
+ bool isLaser;
+ char name[13] = ""; // 8.3 + null
+ uint32_t thumbstart;
+ int thumbsize, thumbheight, thumbwidth;
+ float time,
+ filament,
+ layer,
+ width, height, length,
+ minx,
+ maxx,
+ miny,
+ maxy;
+
+ void setnames(const char * const fn);
+ void clears();
+
+} fileprop_t;
+
+extern fileprop_t fileprop;
+
+// These can be enabled, but function use is unknown
+//void getLine(char *buf, const uint8_t bufsize);
+//bool //void getValue(const char *buf, const char * const key, float &value);
+//void getFileHeader();
diff --git a/Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.h b/Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.h
deleted file mode 100644
index 9146642447..0000000000
--- a/Marlin/src/lcd/e3v2/proui/gcode_preview_nopro.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Marlin 3D Printer Firmware
- * Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
- *
- * Based on Sprinter and grbl.
- * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * 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 .
- *
- */
-#pragma once
-
-/**
- * DWIN G-code thumbnail preview
- * Author: Miguel A. Risco-Castillo
- * version: 3.1.2
- * Date: 2022/09/03
- */
-
-class Preview {
-public:
- static void drawFromSD();
- static void invalidate();
- static bool valid();
- static void show();
-private:
- static bool hasPreview();
-};
-
-extern Preview preview;
diff --git a/configurations/Andrew427/Configuration.h b/configurations/Andrew427/Configuration.h
index 5b79a4004f..7e9625cc74 100644
--- a/configurations/Andrew427/Configuration.h
+++ b/configurations/Andrew427/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/BTT-SKR_Mini_E3_V2/ConfigurationMM.h b/configurations/BTT-SKR_Mini_E3_V2/ConfigurationMM.h
index 05358283ea..edf5dd333e 100644
--- a/configurations/BTT-SKR_Mini_E3_V2/ConfigurationMM.h
+++ b/configurations/BTT-SKR_Mini_E3_V2/ConfigurationMM.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/BTT-SKR_Mini_E3_V2/ConfigurationUBL.h b/configurations/BTT-SKR_Mini_E3_V2/ConfigurationUBL.h
index 335da5e57d..a780832732 100644
--- a/configurations/BTT-SKR_Mini_E3_V2/ConfigurationUBL.h
+++ b/configurations/BTT-SKR_Mini_E3_V2/ConfigurationUBL.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/BTT-SKR_Mini_E3_V3/ConfigurationMM.h b/configurations/BTT-SKR_Mini_E3_V3/ConfigurationMM.h
index 80f135bb97..059cf4d6f9 100644
--- a/configurations/BTT-SKR_Mini_E3_V3/ConfigurationMM.h
+++ b/configurations/BTT-SKR_Mini_E3_V3/ConfigurationMM.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/BTT-SKR_Mini_E3_V3/ConfigurationUBL.h b/configurations/BTT-SKR_Mini_E3_V3/ConfigurationUBL.h
index 51cb06cf1a..e7c5039f02 100644
--- a/configurations/BTT-SKR_Mini_E3_V3/ConfigurationUBL.h
+++ b/configurations/BTT-SKR_Mini_E3_V3/ConfigurationUBL.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Creality Ender/BLT/Configuration.h b/configurations/Creality Ender/BLT/Configuration.h
index 72a7cbc044..7bb549c9ce 100644
--- a/configurations/Creality Ender/BLT/Configuration.h
+++ b/configurations/Creality Ender/BLT/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Creality Ender/Default-NP/Configuration.h b/configurations/Creality Ender/Default-NP/Configuration.h
index 0be6ec504d..a0544a8ea8 100644
--- a/configurations/Creality Ender/Default-NP/Configuration.h
+++ b/configurations/Creality Ender/Default-NP/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
//#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Creality Ender/MM/Configuration.h b/configurations/Creality Ender/MM/Configuration.h
index 2cf604f39a..c8da7410f2 100644
--- a/configurations/Creality Ender/MM/Configuration.h
+++ b/configurations/Creality Ender/MM/Configuration.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Creality Ender/UBL/Configuration.h b/configurations/Creality Ender/UBL/Configuration.h
index 28089bb385..ace591a0b1 100644
--- a/configurations/Creality Ender/UBL/Configuration.h
+++ b/configurations/Creality Ender/UBL/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila 427/BLT/Configuration.h b/configurations/Voxelab Aquila 427/BLT/Configuration.h
index 0eb4ae314a..5fa3fe712f 100644
--- a/configurations/Voxelab Aquila 427/BLT/Configuration.h
+++ b/configurations/Voxelab Aquila 427/BLT/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila 427/Default-NP/Configuration.h b/configurations/Voxelab Aquila 427/Default-NP/Configuration.h
index 82d1eebc40..36ae9c3223 100644
--- a/configurations/Voxelab Aquila 427/Default-NP/Configuration.h
+++ b/configurations/Voxelab Aquila 427/Default-NP/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
//#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila 427/MM/Configuration.h b/configurations/Voxelab Aquila 427/MM/Configuration.h
index b2c397c856..b493444308 100644
--- a/configurations/Voxelab Aquila 427/MM/Configuration.h
+++ b/configurations/Voxelab Aquila 427/MM/Configuration.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila 427/UBL/Configuration.h b/configurations/Voxelab Aquila 427/UBL/Configuration.h
index 1889f1f88e..f4a0e0372b 100644
--- a/configurations/Voxelab Aquila 427/UBL/Configuration.h
+++ b/configurations/Voxelab Aquila 427/UBL/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/BLT/Configuration.h b/configurations/Voxelab Aquila/BLT/Configuration.h
index d94664dc47..29110249c1 100644
--- a/configurations/Voxelab Aquila/BLT/Configuration.h
+++ b/configurations/Voxelab Aquila/BLT/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
//#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/BLT/ConfigurationPro.h b/configurations/Voxelab Aquila/BLT/ConfigurationPro.h
index 3aedc1fb8a..673b74c8c0 100644
--- a/configurations/Voxelab Aquila/BLT/ConfigurationPro.h
+++ b/configurations/Voxelab Aquila/BLT/ConfigurationPro.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/Default-NP/Configuration.h b/configurations/Voxelab Aquila/Default-NP/Configuration.h
index 0c1a2a9c46..3db0a324a0 100644
--- a/configurations/Voxelab Aquila/Default-NP/Configuration.h
+++ b/configurations/Voxelab Aquila/Default-NP/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
//#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/MM/Configuration.h b/configurations/Voxelab Aquila/MM/Configuration.h
index daf50dd7a5..334311fb7e 100644
--- a/configurations/Voxelab Aquila/MM/Configuration.h
+++ b/configurations/Voxelab Aquila/MM/Configuration.h
@@ -3416,11 +3416,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/UBL/Configuration.h b/configurations/Voxelab Aquila/UBL/Configuration.h
index acc5dbc948..850893d4d6 100644
--- a/configurations/Voxelab Aquila/UBL/Configuration.h
+++ b/configurations/Voxelab Aquila/UBL/Configuration.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
//#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/UBL/ConfigurationPro.h b/configurations/Voxelab Aquila/UBL/ConfigurationPro.h
index 813270c82e..1f63dc8bb8 100644
--- a/configurations/Voxelab Aquila/UBL/ConfigurationPro.h
+++ b/configurations/Voxelab Aquila/UBL/ConfigurationPro.h
@@ -3417,11 +3417,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)
diff --git a/configurations/Voxelab Aquila/X3/Configuration.h b/configurations/Voxelab Aquila/X3/Configuration.h
index c4ab277c42..fb5620a0f1 100644
--- a/configurations/Voxelab Aquila/X3/Configuration.h
+++ b/configurations/Voxelab Aquila/X3/Configuration.h
@@ -3419,11 +3419,9 @@
// Professional firmware features:
#define PROUI_EX 1 // Extended UI features (15152 bytes of flash)
#ifdef PROUI_EX
- #define HAS_GCODE_PREVIEW 1
#define HAS_TOOLBAR 1
- #else
- #define HAS_GCODE_PREVIEW_NOPRO 1
#endif
+ #define HAS_GCODE_PREVIEW 1
#define DISABLE_TUNING_GRAPH 0// Temp plot graph - PID/MPC Tuning (1624 bytes of flash)
#define HAS_ESDIAG 1 // View End-stop switch continuity (560 bytes of flash)
#define HAS_CGCODE 1 // Extra Gcode options (3320 bytes of flash)