diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index e723a660d0..965633de26 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -6,10 +6,10 @@
*/
//#define MachineEnder2
-//#define MachineEnder3
+#define MachineEnder3
//#define MachineEnder4
//#define MachineEnder5
-#define MachineEnder5Plus
+//#define MachineEnder5Plus
//#define MachineMini
//#define MachineCR20 //Buzzer doesnt work
//#define MachineCR20Pro
@@ -21,7 +21,6 @@
//#define MachineS4
//#define MachineS5
-//#define MachineCR10Orig // Forces Melzi board
/*
Enabled this for linear advance instead of mesh leveling on a melzi board
@@ -32,12 +31,16 @@
//#define Big_UI // Lightweight status screen
-//#define GraphicLCD //Full graphics LCD for Ender 4, CR-X or CR10SPro
+#define GraphicLCD //Full graphics LCD for Ender 4, CR-X or CR10SPro
//#define ForceCRXDisplay
#define Force10SProDisplay
+
//#define AddonFilSensor //Adds a filamnt runout sensor to the CR20 or Ender 4
//#define lerdgeFilSensor //Using lerdge filament sensor, which is opposite polarity to stock
//#define DualFilSensors //Using dual filament sensors on XMax and YMAX
+
+//#define MachineCR10Orig // Forces Melzi board
+#define Melzi_To_SBoardUpgrade // Upgrade Melzi board to 10S board
//#define SKR13 // 32 bit board - assumes 2208 drivers
//#define SKR13_2209
//#define SKR13_UART // Configure SKR board with drivers in UART mode
@@ -275,7 +278,7 @@
#endif
-#if ENABLED(MachineEnder2) || ENABLED(MachineEnder3) || ENABLED(MachineCR10)
+#if ANY(MachineEnder2, MachineEnder3, MachineCR10) && NONE(Melzi_To_SBoardUpgrade, SKR13)
#define MachineCR10Orig
#endif
@@ -450,7 +453,7 @@
#ifndef MOTHERBOARD
#if ENABLED(SKR13)
#define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3
- #elif(ENABLED(MachineCR10Orig))
+ #elif (ENABLED(MachineCR10Orig) && DISABLED(Melzi_To_SBoardUpgrade))
#define MOTHERBOARD BOARD_MELZI_CREALITY
#else
#define MOTHERBOARD BOARD_RAMPS_CREALITY
@@ -1164,7 +1167,13 @@
#define EStepsmm 95
#endif
-#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, EStepsmm }
+#if ENABLED(MachineEnder5Plus)
+ #define ZStepsmm 800
+#else
+ #define ZStepsmm 400
+#endif
+
+#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, ZStepsmm, EStepsmm }
/**
* Default Max Feed Rate (mm/s)
@@ -1915,8 +1924,12 @@
#if ENABLED(MeshFast)
#define GRID_MAX_POINTS_X 3
-#elif (ENABLED(MeshStd) )
- #define GRID_MAX_POINTS_X 5
+#elif ENABLED(MeshStd)
+ #if ENABLED(ABL_UBL)
+ #define GRID_MAX_POINTS_X 6
+ #else
+ #define GRID_MAX_POINTS_X 5
+ #endif
#elif ENABLED( MeshFine)
#define GRID_MAX_POINTS_X 8
#elif ENABLED(MeshExtreme)
@@ -1968,7 +1981,7 @@
//===========================================================================
//========================= Unified Bed Leveling ============================
//===========================================================================
-
+ #define MESH_INSET 1
#if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD) || ENABLED(GraphicLCD)
#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
#endif
@@ -2002,7 +2015,6 @@
*/
#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL)
-#define MESH_INSET 15
#if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder4) || ENABLED(GraphicLCD)
#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
#endif
@@ -2532,8 +2544,8 @@
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
-#if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard))
-#define SPEAKER
+#if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineCR10Orig) || ENABLED(GraphicLCD)
+ #define SPEAKER
#endif
//
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index c885ff156d..d7f191b707 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -2416,9 +2416,9 @@
#endif
#define USER_DESC_1 "Setup"
#if (ENABLED(ABL_UBL))
- #define USER_GCODE_1 "M190S" CommBedTmp "\nG28\nG29P1\nG29P3\nM109S215\nG29S1\nG29S0\nG29F0.0\nG29A\nG28\nG1X150Y150F5000\nG1Z0\nM500\nM400\nM117 Set Z Offset"
+ #define USER_GCODE_1 "M190S" CommBedTmp "\nG28\nG29P1\nG29P3\nG29S1\nG29S0\nG29F0.0\nG29A\nM104S215\nG28\nM109S215\nG1X150Y150F5000\nG1Z0\nM500\nM400\nM117 Set Z Offset"
#elif ENABLED(ABL_BI)
- #define USER_GCODE_1 "M190S" CommBedTmp "\nG28\nG29\nM400\nM109S215\nG28\nM420S1\nG1X100Y100F5000\nG1Z0\nM500\nM117 Set Z Offset"
+ #define USER_GCODE_1 "M190S" CommBedTmp "\nG28\nG29\nM400\nM104S215\nG28\nM109S215\nM420S1\nG1X100Y100F5000\nG1Z0\nM500\nM117 Set Z Offset"
#endif
#define USER_DESC_2 "PID Tune"
diff --git a/Marlin/_Bootscreen.h b/Marlin/_Bootscreen.h
new file mode 100644
index 0000000000..13da762696
--- /dev/null
+++ b/Marlin/_Bootscreen.h
@@ -0,0 +1,94 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 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 .
+ *
+ */
+
+/**
+ * Custom Bitmap for splashscreen
+ *
+ * You may use one of the following tools to generate the C++ bitmap array from
+ * a black and white image:
+ *
+ * - http://www.marlinfw.org/tools/u8glib/converter.html
+ * - http://www.digole.com/tools/PicturetoC_Hex_converter.php
+ */
+#include
+
+#define CUSTOM_BOOTSCREEN_TIMEOUT 2500
+#define CUSTOM_BOOTSCREEN_BMPWIDTH 128
+#define CUSTOM_BOOTSCREEN_INVERTED
+
+const unsigned char custom_start_bmp[] PROGMEM = {
+ B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,B11111111,B11111111,B11111111,
+ B11111110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111111,
+ B11111100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,
+ B11111100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
+ B11111110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000101,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,
+ B11111100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000110,B00000111,B11000000,B00000000,B00000001,B11110000,B00111111,
+ B11111110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000100,B00001010,B00100000,B00000000,B00000010,B00001000,B00011111,
+ B11111100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000110,B00010100,B00010000,B00000000,B00000101,B00000100,B00111111,
+ B11111110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000100,B00101000,B00001000,B00000000,B00001010,B00000010,B00011111,
+ B11111100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000110,B01010100,B00000100,B00000000,B00010101,B00000001,B00111111,
+ B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111,
+ B11111100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101110,B01010000,B00000100,B00000000,B00010100,B00000001,B00111111,
+ B11111110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010100,B01100000,B00000100,B00000000,B00011000,B00000001,B00011111,
+ B11111100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100110,B01010100,B00000100,B00011100,B00010101,B00000001,B00111111,
+ B11111110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010100,B00101000,B00001000,B00101010,B00001010,B00000010,B00011111,
+ B11111100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101110,B00010100,B00010000,B01010001,B00000101,B00000100,B00111111,
+ B11111110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00001010,B00100000,B01100001,B00000010,B10001000,B00011111,
+ B11111100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000110,B00000111,B11000000,B01010001,B00000001,B11110000,B00111111,
+ B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000100,B00000000,B00000000,B00101010,B00000000,B00000000,B00011111,
+ B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111110,B00000000,B00000000,B00011100,B00000000,B00000000,B00111111,
+ B11111110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010100,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,
+ B11111100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
+ B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111,
+ B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000110,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111,
+ B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
+ B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000110,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111,
+ B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000100,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
+ B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111100,B11000100,B00010000,B01000001,B00000100,B00010001,B10111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000110,B10000100,B00010000,B01000001,B00000100,B00010000,B10011111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010100,B11010101,B01010101,B01010101,B01010101,B01010101,B10111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B11111111,B11111111,B11111111,B11111111,B11111111,B10011111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111101,B01010101,B01010101,B01010101,B01010101,B01010101,B01011111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
+ B11100000,B00101110,B11111011,B01111101,B11111011,B11111011,B11001111,B11000001,B11011111,B10111011,B00111110,B11000000,B11100001,B11111110,B00111100,B00011111,
+ B11111101,B11101110,B01111011,B00111001,B11111001,B11110011,B11001111,B10011110,B11011111,B10111011,B00111110,B11011111,B11011110,B11111100,B11011101,B11100111,
+ B11111101,B11101110,B00111011,B10111011,B11111001,B11101011,B11010111,B10111111,B01011111,B10111011,B01011110,B11011111,B11011110,B11111101,B11101101,B11110111,
+ B11111101,B11101110,B10111011,B11010011,B11111010,B11101011,B10110111,B00111111,B11011111,B10111011,B01001110,B11011111,B11011111,B11111111,B11001101,B11110011,
+ B11111101,B11101110,B11011011,B11000111,B11111010,B11101011,B10111011,B01111111,B11000000,B00111011,B01101110,B11000000,B11100011,B11111111,B00011101,B11110011,
+ B11111101,B11101110,B11001011,B11101111,B11111010,B11011011,B10111011,B01111111,B11011111,B10111011,B01100110,B11011111,B11111000,B11111111,B11001101,B11110011,
+ B11111101,B11101110,B11101011,B11101111,B11111011,B01011011,B00000011,B00111111,B01011111,B10111011,B01110110,B11011111,B11111110,B01111111,B11101101,B11110011,
+ B11111101,B11101110,B11110011,B11101111,B11111011,B01011011,B01111001,B10111110,B11011111,B10111011,B01111010,B11011111,B11011110,B01111101,B11101101,B11110111,
+ B11111101,B11101110,B11110011,B11101111,B11111011,B10111010,B11111101,B10011110,B11011111,B10111011,B01111100,B11011111,B11011110,B11111101,B11001101,B11100111,
+ B11111101,B11101110,B11111011,B11101111,B11111011,B10111010,B11111101,B11000001,B11011111,B10111011,B01111110,B11000000,B11100000,B11111110,B00011100,B00011111
+};
diff --git a/Marlin/_Statusscreen.h b/Marlin/_Statusscreen.h
new file mode 100644
index 0000000000..d0450837ab
--- /dev/null
+++ b/Marlin/_Statusscreen.h
@@ -0,0 +1,74 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 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 .
+ *
+ */
+
+/**
+ * Custom Status Screen bitmap
+ *
+ * Place this file in the root with your configuration files
+ * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
+ *
+ * Use the Marlin Bitmap Converter to make your own:
+ * http://marlinfw.org/tools/u8glib/converter.html
+ */
+
+//
+// Status Screen Logo bitmap
+//
+#define STATUS_LOGO_Y 3
+#define STATUS_LOGO_WIDTH 24
+
+const unsigned char status_logo_bmp[] PROGMEM = {
+ B11111111,B11111111,B11111111,
+ B10000000,B00000000,B00000001,
+ B10001110,B00000000,B11100001,
+ B10011111,B00000001,B11110001,
+ B10010011,B10000001,B00111001,
+ B10011111,B10000001,B11111001,
+ B10011111,B10000001,B11111001,
+ B10011111,B10111001,B11111001,
+ B10001111,B00101000,B11110001,
+ B10000000,B00111000,B00000001,
+ B10000000,B00000000,B00000001,
+ B10011111,B11111111,B11111001,
+ B10010001,B01110100,B10011001,
+ B10011011,B00000110,B10101001,
+ B10011011,B01010100,B10101001,
+ B10011011,B01010110,B10101001,
+ B10011011,B01010100,B10011001,
+ B10011111,B11111111,B11111001,
+ B11111111,B11111111,B11111111
+};
+
+//
+// Use default bitmaps
+//
+#define STATUS_HOTEND_ANIM
+#define STATUS_BED_ANIM
+#if HOTENDS < 2
+ #define STATUS_LOGO_X 8
+ #define STATUS_HEATERS_X 40
+ #define STATUS_BED_X 72
+#else
+ #define STATUS_LOGO_X 0
+ #define STATUS_HEATERS_X 32
+ #define STATUS_BED_X 80
+#endif
diff --git a/Marlin/src/lcd/extensible_ui/lib/Creality_DWIN.cpp b/Marlin/src/lcd/extensible_ui/lib/Creality_DWIN.cpp
index 1de74801ad..4c81972bdf 100644
--- a/Marlin/src/lcd/extensible_ui/lib/Creality_DWIN.cpp
+++ b/Marlin/src/lcd/extensible_ui/lib/Creality_DWIN.cpp
@@ -1055,7 +1055,7 @@ SERIAL_ECHOLN(PSTR("BeginSwitch"));
}
else if (recdat.data[0] == 4) //Language
{
- //Language change not supported
+ //Just loads language screen, now used for tools
}
else if (recdat.data[0] == 5) //Printer Information
{
@@ -1138,33 +1138,40 @@ SERIAL_ECHOLN(PSTR("BeginSwitch"));
waitway = 3; //only for prohibiting to receive massage
RTS_SndData(3, AutolevelIcon);
bool zig = true;
- for (uint8_t yCount = 0, showcount = 0; yCount < GRID_MAX_POINTS_Y; yCount++)
- {
- int8_t inStart, inStop, inInc;
+ for (uint8_t yCount = 0, showcount = 0; yCount < GRID_MAX_POINTS_Y; yCount++)
+ {
+ int8_t inStart, inStop, inInc;
+ if (zig)
+ { // away from origin
+ inStart = 0;
+ inStop = GRID_MAX_POINTS_X;
+ inInc = 1;
+ }
+ else
+ { // towards origin
+ inStart = GRID_MAX_POINTS_X - 1;
+ inStop = -1;
+ inInc = -1;
+ }
- if (zig)
- { // away from origin
- inStart = 0;
- inStop = GRID_MAX_POINTS_X;
- inInc = 1;
- }
- else
- { // towards origin
- inStart = GRID_MAX_POINTS_X - 1;
- inStop = -1;
- inInc = -1;
- }
-
- zig ^= true; // zag
- for (int8_t xCount = inStart; xCount != inStop; xCount += inInc)
- {
- if ((showcount++) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
- {
- rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
- //rtscheck.RTS_SndData(showcount, AutolevelIcon);
- }
- }
+ zig ^= true; // zag
+ for (int8_t xCount = inStart; xCount != inStop; xCount += inInc)
+ {
+ if ((showcount+1) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
+ {
+ if (
+ #if ENABLED(ABL_UBL)
+ xCount != (GRID_MAX_POINTS_X - 1) && yCount != (GRID_MAX_POINTS_Y - 1)
+ #else
+ true
+ #endif
+ ){
+ showcount++;
+ rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
}
+ }
+ }
+ }
RTS_SndData(ExchangePageBase + 85, ExchangepageAddr);
injectCommands_P(PSTR(USER_GCODE_1));
break;
@@ -1383,6 +1390,34 @@ SERIAL_ECHOLN(PSTR("BeginSwitch"));
injectCommands_P(PSTR("M300"));
}*/
// may at some point use language change screens to save eeprom explicitly
+ switch(recdat.data[0])
+ {
+ case 0:
+ SERIAL_ECHOLN("Chinese Not Supported");
+ break;
+ case 1:
+ SERIAL_ECHOLN("English Already Set");
+ break;
+ case 2:
+ //PID Hotend
+ injectCommands_P(PSTR("M303E0S215C8U"));
+ break;
+ case 3:
+ //Init EEPROM
+ injectCommands_P(PSTR("M502\nM500"));
+ break;
+ case 4:
+ //BLTouch Reset
+ injectCommands_P(PSTR("M999"));
+ break;
+ case 5:
+ //PID Bed
+ injectCommands_P(PSTR("M303E-1S65C4U"));
+ break;
+ default:
+ SERIAL_ECHOLN("Invalid Option");
+ break;
+ }
break;
case No_Filement:
SERIAL_ECHOLN("\n No Filament");
@@ -1661,7 +1696,11 @@ void onMediaRemoved()
SERIAL_ECHOLN("***Card Removed***");
}
-void onPlayTone(const uint16_t frequency, const uint16_t duration) {}
+void onPlayTone(const uint16_t frequency, const uint16_t duration) {
+
+ SERIAL_ECHOLN("***CPlay Tone***");
+ rtscheck.RTS_SndData(StartSoundSet, SoundAddr);
+}
void onPrintTimerStarted()
{
@@ -1788,10 +1827,18 @@ void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval)
zig ^= true; // zag
for (int8_t xCount = inStart; xCount != inStop; xCount += inInc)
{
- if ((showcount++) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
+ if ((showcount+1) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
{
- rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
- //rtscheck.RTS_SndData(showcount, AutolevelIcon);
+ if (
+ #if ENABLED(ABL_UBL)
+ xCount != (GRID_MAX_POINTS_X - 1) && yCount != (GRID_MAX_POINTS_Y - 1)
+ #else
+ true
+ #endif
+ ){
+ showcount++;
+ rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
+ }
}
}
}
@@ -1831,46 +1878,54 @@ void onConfigurationStoreWritten(bool success)
void onConfigurationStoreRead(bool success)
{
SERIAL_ECHOLN("==onConfigurationStoreRead==");
- #if HAS_MESH && (ANY(MachineCR10SPro, MachineEnder5Plus, MachineCR10Max) || ENABLED(Force10SProDisplay))
- if (ExtUI::getMeshValid())
- {
- bool zig = true;
- for (uint8_t yCount = 0, showcount = 0; yCount < GRID_MAX_POINTS_Y; yCount++)
- {
- int8_t inStart, inStop, inInc;
+ #if HAS_MESH && (ANY(MachineCR10SPro, MachineEnder5Plus, MachineCR10Max) || ENABLED(Force10SProDisplay))
+ if (ExtUI::getMeshValid())
+ {
+ bool zig = true;
+ for (uint8_t yCount = 0, showcount = 0; yCount < GRID_MAX_POINTS_Y; yCount++)
+ {
+ int8_t inStart, inStop, inInc;
- if (zig)
- { // away from origin
- inStart = 0;
- inStop = GRID_MAX_POINTS_X;
- inInc = 1;
- }
- else
- { // towards origin
- inStart = GRID_MAX_POINTS_X - 1;
- inStop = -1;
- inInc = -1;
- }
-
- zig ^= true; // zag
- for (int8_t xCount = inStart; xCount != inStop; xCount += inInc)
- {
- if ((showcount++) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
- {
- rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
- //rtscheck.RTS_SndData(showcount, AutolevelIcon);
- }
- }
- }
- rtscheck.RTS_SndData(3, AutoLevelIcon); //2=On, 3=Off
- setLevelingActive(true);
+ if (zig)
+ { // away from origin
+ inStart = 0;
+ inStop = GRID_MAX_POINTS_X;
+ inInc = 1;
}
else
- {
- rtscheck.RTS_SndData(2, AutoLevelIcon); /*Off*/
- setLevelingActive(false);
+ { // towards origin
+ inStart = GRID_MAX_POINTS_X - 1;
+ inStop = -1;
+ inInc = -1;
}
- #endif
+
+ zig ^= true; // zag
+ for (int8_t xCount = inStart; xCount != inStop; xCount += inInc)
+ {
+ if ((showcount+1) < (GRID_MAX_POINTS_X * GRID_MAX_POINTS_X))
+ {
+ if (
+ #if ENABLED(ABL_UBL)
+ xCount != (GRID_MAX_POINTS_X - 1) && yCount != (GRID_MAX_POINTS_Y - 1)
+ #else
+ true
+ #endif
+ ){
+ showcount++;
+ rtscheck.RTS_SndData(ExtUI::getMeshPoint(xCount, yCount) * 1000, AutolevelVal + (showcount - 1) * 2);
+ }
+ }
+ }
+ }
+ rtscheck.RTS_SndData(3, AutoLevelIcon); //2=On, 3=Off
+ setLevelingActive(true);
+ }
+ else
+ {
+ rtscheck.RTS_SndData(2, AutoLevelIcon); /*Off*/
+ setLevelingActive(false);
+ }
+ #endif
SERIAL_ECHOLNPAIR("\n init zprobe_zoffset = ", getZOffset_mm());
rtscheck.RTS_SndData(getZOffset_mm() * 100, 0x1026);
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index a02e827098..f201c1b2a0 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -1535,13 +1535,17 @@ void MarlinUI::update() {
#if HAS_PRINT_PROGRESS
uint8_t MarlinUI::get_progress() {
- #if ENABLED(SDSUPPORT)
- if (IS_SD_PRINTING()) return card.percentDone();
- #endif
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
- return progress_bar_percent;
+ uint8_t &progress = progress_bar_percent;
+ #define _PLIMIT(P) ((P) & 0x7F)
+ #else
+ #define _PLIMIT(P) P
+ uint8_t progress = 0;
#endif
- return 0;
+ #if ENABLED(SDSUPPORT)
+ if (IS_SD_PRINTING()) progress = card.percentDone();
+ #endif
+ return _PLIMIT(progress);
}
#endif
diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h
index 947ec29caf..4d0a541e19 100644
--- a/Marlin/src/lcd/ultralcd.h
+++ b/Marlin/src/lcd/ultralcd.h
@@ -296,8 +296,8 @@ public:
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
static uint8_t progress_bar_percent;
static void set_progress(const uint8_t progress) { progress_bar_percent = _MIN(progress, 100); }
- static void set_progress_done() { set_progress(100); }
- static void progress_reset() { set_progress(0); }
+ static void set_progress_done() { set_progress(0x80 + 100); }
+ static void progress_reset() { if (progress_bar_percent & 0x80) set_progress(0); }
#endif
static uint8_t get_progress();
#else