diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 3b5325f1c3..13f272cb65 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -30,6 +30,10 @@ //#define MachineMini //#define MachineCR10 + +//STM32F103RE Machines +#define MachineEnder3V2 + //#define PLUS // Adds bltouch, allmetal, bilinear (standard), lerdge, 93 e steps/mm /* @@ -224,7 +228,7 @@ * 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 . + * along with this program. If not, see . * */ #pragma once @@ -253,13 +257,13 @@ /** * Here are some standard links for getting your machine calibrated: * - * http://reprap.org/wiki/Calibration - * http://youtu.be/wAL9d7FgInk + * https://reprap.org/wiki/Calibration + * https://youtu.be/wAL9d7FgInk * http://calculator.josefprusa.cz - * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide - * http://www.thingiverse.com/thing:5573 + * https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * https://www.thingiverse.com/thing:5573 * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap - * http://www.thingiverse.com/thing:298812 + * https://www.thingiverse.com/thing:298812 */ //=========================================================================== @@ -424,6 +428,13 @@ #endif #endif +#if ENABLED(MachineEnder3V2) + #define POWER_LOSS_RECOVERY //Screen will not compile without PLR + #if NONE(BedAC, BedDC) + #define BedDC + #endif +#endif + #if NONE(HotendStock, HotendE3D) #define HotendStock #endif @@ -475,9 +486,11 @@ #define SHOW_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup. - #define SHOW_CUSTOM_BOOTSCREEN - // Show the bitmap in Marlin/_Statusscreen.h on the status screen. - #define CUSTOM_STATUS_SCREEN_IMAGE + #if DISABLED(MachineEnder3V2) + #define SHOW_CUSTOM_BOOTSCREEN + // Show the bitmap in Marlin/_Statusscreen.h on the status screen. + #define CUSTOM_STATUS_SCREEN_IMAGE + #endif #endif /** @@ -490,6 +503,8 @@ */ #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) #define SERIAL_PORT -1 + #elif ENABLED(MachineEnder3V2) + #define SERIAL_PORT 1 #else #define SERIAL_PORT 0 #endif @@ -505,6 +520,8 @@ #define SERIAL_PORT_2 2 #elif ANY(SKR13, SKR14, SKR14Turbo) #define DGUS_SERIAL_PORT 0 +#elif ENABLED(MachineEnder3V2) + #define SERIAL_PORT_2 3 #endif /** @@ -533,6 +550,8 @@ #define MOTHERBOARD BOARD_BTT_SKR_PRO_V1_1 #elif ENABLED(SKRMiniE3V2) #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V2_0 + #elif ENABLED(MachineEnder3V2) + #define MOTHERBOARD BOARD_CREALITY_V4 #elif (ENABLED(MachineCR10Orig) && DISABLED(Melzi_To_SBoardUpgrade)) #define MOTHERBOARD BOARD_MELZI_CREALITY #else @@ -854,6 +873,8 @@ #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 +#define TEMP_SENSOR_6 0 +#define TEMP_SENSOR_7 0 #if ENABLED(ConfigurableThermistors) && ANY(BedDC, BedAC) #define TEMP_SENSOR_BED 1000 #elif ENABLED(BedDC) @@ -927,7 +948,7 @@ //=========================================================================== //============================= PID Settings ================================ //=========================================================================== -// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning +// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP @@ -968,6 +989,10 @@ #define DEFAULT_Kp 22.2 #define DEFAULT_Ki 1.08 #define DEFAULT_Kd 114 + #elif ENABLED(MachineEnder3V2) + #define DEFAULT_Kp 28.72 + #define DEFAULT_Ki 2.62 + #define DEFAULT_Kd 78.81 #else #define DEFAULT_Kp 17.42 #define DEFAULT_Ki 1.27 @@ -1033,10 +1058,10 @@ //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) - #if ENABLED(MachineCR2020) - #define DEFAULT_bedKp 690.34 - #define DEFAULT_bedKi 111.47 - #define DEFAULT_bedKd 1068.83 + #if ENABLED(MachineEnder3V2) + #define DEFAULT_bedKp 462.10 + #define DEFAULT_bedKi 85.47 + #define DEFAULT_bedKd 624.59 #else #define DEFAULT_bedKp 690.34 #define DEFAULT_bedKi 111.47 @@ -1204,7 +1229,7 @@ * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] */ -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineCR10SV2, CrealitySilentBoard, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, SKRMiniE3V2) && DISABLED(SKR_UART) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineCR10SV2, CrealitySilentBoard, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, MachineEnder3V2, SKRMiniE3V2) && DISABLED(SKR_UART) #if ENABLED(SKR_2209) #define X_DRIVER_TYPE TMC2209_STANDALONE #define Y_DRIVER_TYPE TMC2209_STANDALONE @@ -1293,7 +1318,9 @@ // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. -//#define ENDSTOP_INTERRUPTS_FEATURE +#if ENABLED(MachineEnder3V2) + #define ENDSTOP_INTERRUPTS_FEATURE +#endif /** * Endstop Noise Threshold @@ -1377,7 +1404,7 @@ #define DEFAULT_ACCELERATION 750 // X, Y, Z and E acceleration for printing moves #define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts #define DEFAULT_TRAVEL_ACCELERATION 300 // X, Y, Z acceleration for travel (non printing) moves -#elif (ANY(MachineMini, MachineCR20, MachineEnder2, MachineEnder3, MachineEnder4, MachineEnder5, MachineEnder5Plus)) +#elif ANY(MachineMini, MachineCR20, MachineEnder2, MachineEnder3, MachineEnder3V2, MachineEnder4, MachineEnder5, MachineEnder5Plus) #define DEFAULT_MAX_FEEDRATE { 750, 750, 10, 75 } #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 75 } #define DEFAULT_ACCELERATION 750 // X, Y, Z and E acceleration for printing moves @@ -1470,10 +1497,12 @@ * * See: * https://reprap.org/forum/read.php?1,739819 - * http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html + * https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html */ #if DISABLED(CLASSIC_JERK) - #define JUNCTION_DEVIATION_MM 0.06 // (mm) Distance from real junction edge + #define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge + #define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle + // for small segments (< 1mm) with large junction angles (> 135°). #endif /** @@ -1569,6 +1598,11 @@ #define BLTOUCH #endif +/** + * Pressure sensor with a BLTouch-like interface + */ +//#define CREALITY_TOUCH + /** * Touch-MI Probe by hotends.fr * @@ -1904,7 +1938,7 @@ #define X_MAX_POS 150 #define Y_MAX_POS 150 #define ClipClearance 15 - #elif ENABLED(MachineEnder3) + #elif ANY(MachineEnder3, MachineEnder3V2) #define X_BED_SIZE 230 #define Y_BED_SIZE 230 #define Z_MAX_POS 250 @@ -2184,7 +2218,7 @@ * Enable the G26 Mesh Validation Pattern tool. */ #if NONE(MachineCR10Orig, SKRMiniE3V2) -#define G26_MESH_VALIDATION // Enable G26 mesh validation + #define G26_MESH_VALIDATION // Enable G26 mesh validation #endif #if ENABLED(G26_MESH_VALIDATION) #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. @@ -2225,7 +2259,7 @@ // Beyond the probed grid, continue the implied tilt? // Default is to maintain the height of the nearest edge. - //#define EXTRAPOLATE_BEYOND_GRID + #define EXTRAPOLATE_BEYOND_GRID // // Experimental Subdivision of the grid by Catmull-Rom method. @@ -2278,7 +2312,7 @@ * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. */ -#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) #define LCD_BED_LEVELING #endif @@ -2624,6 +2658,39 @@ //#define PASSWORD_AFTER_SD_PRINT_ABORT //#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE #endif + + +/** + * Password + * + * Set a numerical password for the printer which can be requested: + * + * - When the printer boots up + * - Upon opening the 'Print from Media' Menu + * - When SD printing is completed or aborted + * + * The following G-codes can be used: + * + * M510 - Lock Printer. Blocks all commands except M511. + * M511 - Unlock Printer. + * M512 - Set, Change and Remove Password. + * + * If you forget the password and get locked out you'll need to re-flash + * the firmware with the feature disabled, reset EEPROM, and (optionally) + * re-flash the firmware again with this feature enabled. + */ +//#define PASSWORD_FEATURE +#if ENABLED(PASSWORD_FEATURE) + #define PASSWORD_LENGTH 4 // (#) Number of digits (1-9). 3 or 4 is recommended + #define PASSWORD_ON_STARTUP + #define PASSWORD_UNLOCK_GCODE // Unlock with the M511 P command. Disable to prevent brute-force attack. + #define PASSWORD_CHANGE_GCODE // Change the password with M512 P N. + //#define PASSWORD_ON_SD_PRINT_MENU // This does not prevent gcodes from running + //#define PASSWORD_AFTER_SD_PRINT_END + //#define PASSWORD_AFTER_SD_PRINT_ABORT + //#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE +#endif + //============================================================================= //============================= LCD and SD support ============================ //============================================================================= @@ -2683,6 +2750,9 @@ #if DISABLED(MelziHostOnly) #define SDSUPPORT #endif +#if ENABLED(MachineEnder3V2) + #define SDIO_SUPPORT +#endif /** * SD CARD: SPI SPEED @@ -2718,7 +2788,7 @@ // This option overrides the default number of encoder pulses needed to // produce one step. Should be increased for high-resolution encoders. // -#if ENABLED(MachineCR20) +#if ANY(MachineCR20, MachineEnder3V2) #define ENCODER_PULSES_PER_STEP 4 #endif // @@ -2795,7 +2865,7 @@ // // RepRapDiscount Smart Controller. -// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +// https://reprap.org/wiki/RepRapDiscount_Smart_Controller // // Note: Usually sold with a white PCB. // @@ -2819,13 +2889,13 @@ // // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3) -// http://reprap.org/wiki/PanelOne +// https://reprap.org/wiki/PanelOne // //#define PANEL_ONE // // GADGETS3D G3D LCD/SD Controller -// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +// https://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel // // Note: Usually sold with a blue PCB. // @@ -2866,6 +2936,8 @@ #define ENDER2_STOCKDISPLAY #elif ANY(MachineCR20, MachineCR2020) #define MKS_MINI_12864 +#elif ENABLED(MachineEnder3V2) + #define DWIN_CREALITY_LCD #elif ANY(OrigLCD, MachineCR10Orig) && DISABLED(GraphicLCD) #define CR10_STOCKDISPLAY #elif NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD, MachineCR10Orig) || ENABLED(GraphicLCD) @@ -2922,7 +2994,7 @@ // // 2-wire Non-latching LCD SR from https://goo.gl/aJJ4sH -// LCD configuration: http://reprap.org/wiki/SAV_3D_LCD +// LCD configuration: https://reprap.org/wiki/SAV_3D_LCD // //#define SAV_3DLCD @@ -2944,10 +3016,12 @@ // IMPORTANT: The U8glib library is required for Graphical Display! // https://github.com/olikraus/U8glib_Arduino // +// NOTE: If the LCD is unresponsive you may need to reverse the plugs. +// // // RepRapDiscount FULL GRAPHIC Smart Controller -// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller // //#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER @@ -2960,20 +3034,20 @@ // // Activate one of these if you have a Panucatt Devices // Viki 2.0 or mini Viki with Graphic LCD -// http://panucatt.com +// https://www.panucatt.com // //#define VIKI2 //#define miniVIKI // // MakerLab Mini Panel with graphic -// controller and SD support - http://reprap.org/wiki/Mini_panel +// controller and SD support - https://reprap.org/wiki/Mini_panel // //#define MINIPANEL // // MaKr3d Makr-Panel with graphic controller and SD support. -// http://reprap.org/wiki/MaKr3d_MaKrPanel +// https://reprap.org/wiki/MaKr3d_MaKrPanel // //#define MAKRPANEL @@ -3012,6 +3086,12 @@ // //#define MKS_MINI_12864 +// +// MKS LCD12864A/B with graphic controller and SD support. Follows MKS_MINI_12864 pinout. +// https://www.aliexpress.com/item/33018110072.html +// +//#define MKS_LCD12864 + // // FYSETC variant of the MINI12864 graphic controller with SD support // https://wiki.fysetc.com/Mini12864_Panel/ @@ -3053,7 +3133,7 @@ // // Silvergate GLCD controller -// http://github.com/android444/Silvergate +// https://github.com/android444/Silvergate // //#define SILVER_GATE_GLCD_CONTROLLER @@ -3081,14 +3161,21 @@ //#define OLED_PANEL_TINYBOY2 // -// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER -// http://reprap.org/wiki/MKS_12864OLED +// MKS OLED 1.3" 128×64 FULL GRAPHICS CONTROLLER +// https://reprap.org/wiki/MKS_12864OLED // // Tiny, but very sharp OLED display // //#define MKS_12864OLED // Uses the SH1106 controller (default) //#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller +// +// Zonestar OLED 128×64 FULL GRAPHICS CONTROLLER +// +//#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller +//#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller (default) +//#define ZONESTAR_12864OLED_SSD1306 // 0.96" OLED with SSD1306 controller + // // Einstart S OLED SSD1306 // @@ -3100,7 +3187,7 @@ //#define OVERLORD_OLED // -// FYSETC OLED 2.42" 128 × 64 FULL GRAPHICS CONTROLLER with WS2812 RGB +// FYSETC OLED 2.42" 128×64 FULL GRAPHICS CONTROLLER with WS2812 RGB // Where to find : https://www.aliexpress.com/item/4000345255731.html //#define FYSETC_242_OLED_12864 // Uses the SSD1309 controller @@ -3128,6 +3215,16 @@ // //#define TOUCH_UI_FTDI_EVE +// +// Touch-screen LCD for Anycubic printers +// +//#define ANYCUBIC_LCD_I3MEGA +//#define ANYCUBIC_LCD_CHIRON +#if EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) + #define ANYCUBIC_LCD_SERIAL_PORT 3 + //#define ANYCUBIC_LCD_DEBUG +#endif + // // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extensible_ui'. @@ -3136,44 +3233,80 @@ #define EXTENSIBLE_UI #endif +#if ENABLED(EXTENSIBLE_UI) + //#define EXTUI_LOCAL_BEEPER // Enables use of local Beeper pin with external display +#endif + //============================================================================= //=============================== Graphical TFTs ============================== //============================================================================= +// +// TFT display with optional touch screen +// Color Marlin UI with standard menu system +// +//#define TFT_320x240 +//#define TFT_320x240_SPI +//#define TFT_480x320 +//#define TFT_480x320_SPI + +// +// Skip autodetect and force specific TFT driver +// Mandatory for SPI screens with no MISO line +// Available drivers are: ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 +// +//#define TFT_DRIVER AUTO + +// +// SPI display (MKS Robin Nano V2.0, MKS Gen L V2.0) +// Upscaled 128x64 Marlin UI +// +//#define SPI_GRAPHICAL_TFT + // // FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) +// Upscaled 128x64 Marlin UI // //#define FSMC_GRAPHICAL_TFT // // TFT LVGL UI // -// Default MKS icons and fonts: https://git.io/JJvzK -// Copy mks_pic and mks_font folders to the root of your SD +// Using default MKS icons and fonts from: https://git.io/JJvzK +// Just copy the 'assets' folder from the build directory to the +// root of your SD card, together with the compiled firmware. // -//#define TFT_LVGL_UI +//#define TFT_LVGL_UI_FSMC // Robin nano v1.2 uses FSMC +//#define TFT_LVGL_UI_SPI // Robin nano v2.0 uses SPI //============================================================================= //============================ Other Controllers ============================ //============================================================================= +// +// Ender-3 v2 OEM display. A DWIN display with Rotary Encoder. +// +//#define DWIN_CREALITY_LCD + // // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 // -//#define TOUCH_BUTTONS -#if ENABLED(TOUCH_BUTTONS) +//#define TOUCH_SCREEN +#if ENABLED(TOUCH_SCREEN) #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - #define XPT2046_X_CALIBRATION 12316 - #define XPT2046_Y_CALIBRATION -8981 - #define XPT2046_X_OFFSET -43 - #define XPT2046_Y_OFFSET 257 + #define TOUCH_SCREEN_CALIBRATION + + //#define XPT2046_X_CALIBRATION 12316 + //#define XPT2046_Y_CALIBRATION -8981 + //#define XPT2046_X_OFFSET -43 + //#define XPT2046_Y_OFFSET 257 #endif // // RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// https://reprapworld.com/products/electronics/ramps/keypad_v1_0_fully_assembled/ // //#define REPRAPWORLD_KEYPAD //#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 0868fb5aaf..e751c22628 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -16,7 +16,7 @@ * 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 . + * along with this program. If not, see . * */ #pragma once @@ -667,9 +667,8 @@ #define HOMING_BACKOFF_POST_MM { 8, 8, 2 } // (mm) Backoff from endstops after homing -#if DISABLED(SKRMiniE3V2) - #define QUICK_HOME // If G28 contains XY do a diagonal move first -#endif +#define QUICK_HOME // If G28 contains XY do a diagonal move first + //#define HOME_Y_BEFORE_X // If G28 contains XY home Y before X //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first @@ -681,8 +680,8 @@ * Do not activate settings that the probe might not understand. Clones might misunderstand * advanced commands. * - * Note: If the probe is not deploying, check a "Cmd: Reset" and "Cmd: Self-Test" and then - * check the wiring of the BROWN, RED and ORANGE wires. + * Note: If the probe is not deploying, do a "Reset" and "Self-Test" and then check the + * wiring of the BROWN, RED and ORANGE wires. * * Note: If the trigger signal of your probe is not being recognized, it has been very often * because the BLACK and WHITE wires needed to be swapped. They are not "interchangeable" @@ -715,7 +714,7 @@ * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller! * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup. * If disabled, OD mode is the hard-coded default on 3.0 - * On startup, Marlin will compare its eeprom to this vale. If the selected mode + * On startup, Marlin will compare its eeprom to this value. If the selected mode * differs, a mode set eeprom write will be completed at initialization. * Use the option below to force an eeprom write to a V3.1 probe regardless. */ @@ -878,13 +877,17 @@ // Increase the slowdown divisor for larger buffer sizes. #define SLOWDOWN #if ENABLED(SLOWDOWN) - #define SLOWDOWN_DIVISOR 2 + #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, MachineEnder3V2) + #define SLOWDOWN_DIVISOR 4 + #else + #define SLOWDOWN_DIVISOR 2 + #endif #endif /** * XY Frequency limit * Reduce resonance by limiting the frequency of small zigzag infill moves. - * See http://hydraraptor.blogspot.com/2010/12/frequency-limit.html + * See https://hydraraptor.blogspot.com/2010/12/frequency-limit.html * Use M201 F G to change limits at runtime. */ //#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. @@ -948,6 +951,9 @@ //#define CALIBRATION_GCODE #if ENABLED(CALIBRATION_GCODE) + //#define CALIBRATION_SCRIPT_PRE "M117 Starting Auto-Calibration\nT0\nG28\nG12\nM117 Calibrating..." + //#define CALIBRATION_SCRIPT_POST "M500\nM117 Calibration data saved" + #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm #define CALIBRATION_FEEDRATE_SLOW 60 // mm/min @@ -991,7 +997,7 @@ * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the * lowest stepping frequencies. */ -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineEnder3V2) #define ADAPTIVE_STEP_SMOOTHING #endif @@ -1079,8 +1085,9 @@ // Change values more rapidly when the encoder is rotated faster #define ENCODER_RATE_MULTIPLIER #if ENABLED(ENCODER_RATE_MULTIPLIER) - #define ENCODER_10X_STEPS_PER_SEC 30 // (steps/s) Encoder rate for 10x speed - #define ENCODER_100X_STEPS_PER_SEC 80 // (steps/s) Encoder rate for 100x speed + #define ENCODER_5X_STEPS_PER_SEC 30 + #define ENCODER_10X_STEPS_PER_SEC 80 // (steps/s) Encoder rate for 10x speed + #define ENCODER_100X_STEPS_PER_SEC 130 // (steps/s) Encoder rate for 100x speed #endif // Play a beep when the feedrate is changed from the Status Screen @@ -1142,7 +1149,7 @@ #define LCD_TIMEOUT_TO_STATUS 15000 // Add an 'M73' G-code to set the current percentage - #if DISABLED(MachineEnder4) || ENABLED(GraphicLCD) + #if NONE(MachineEnder4, MachineEnder3V2) || ENABLED(GraphicLCD) #define LCD_SET_PROGRESS_MANUALLY #endif #endif @@ -1177,7 +1184,7 @@ // The standard SD detect circuit reads LOW when media is inserted and HIGH when empty. // Enable this option and set to HIGH if your SD cards are incorrectly detected. - #if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max) + #if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2) #define SD_DETECT_STATE HIGH #endif @@ -1525,6 +1532,7 @@ //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping //#define S6_TFT_PINMAP // FYSETC S6 pin mapping + //#define F6_TFT_PINMAP // FYSETC F6 pin mapping //#define OTHER_PIN_LAYOUT // Define pins manually below #if ENABLED(OTHER_PIN_LAYOUT) @@ -1593,9 +1601,10 @@ #endif // -// FSMC Graphical TFT +// FSMC / SPI Graphical TFT // -#if ENABLED(FSMC_GRAPHICAL_TFT) +#if TFT_SCALED_DOGLCD + //#define GRAPHICAL_TFT_ROTATE_180 //#define TFT_MARLINUI_COLOR 0xFFFF // White //#define TFT_MARLINBG_COLOR 0x0000 // Black //#define TFT_DISABLED_COLOR 0x0003 // Almost black @@ -1689,7 +1698,7 @@ * * See https://marlinfw.org/docs/features/lin_advance.html for full instructions. */ -#if NONE(MachineCR10Orig, SKRMiniE3V2, LowMemoryBoard, MachineCR10SPro, MachineCR10Max, SKR13, SKR14, SKR14Turbo, MachineCR10SV2, CrealitySilentBoard) || ENABLED(OrigLA) || (ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) && ENABLED(SKR_UART)) +#if NONE(MachineCR10Orig, SKRMiniE3V2, LowMemoryBoard, MachineCR10SPro, MachineCR10Max, SKR13, SKR14, SKR14Turbo, MachineCR10SV2, CrealitySilentBoard, MachineEnder3V2) || ENABLED(OrigLA) || (ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) && ENABLED(SKR_UART)) #define LIN_ADVANCE #endif #if ENABLED(LIN_ADVANCE) @@ -1932,7 +1941,7 @@ // The number of linear moves that can be in the planner at once. // The value of BLOCK_BUFFER_SIZE must be a power of 2 (e.g. 8, 16, 32) -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) || DISABLED(EXTENSIBLE_UI) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, MachineEnder3V2) || DISABLED(EXTENSIBLE_UI) #define BLOCK_BUFFER_SIZE 16 #else #define BLOCK_BUFFER_SIZE 8 @@ -1942,7 +1951,7 @@ // The ASCII buffer for serial input #define MAX_CMD_SIZE 96 -#if ANY(MachineCR10Orig, SKRMiniE3V2) //melzi has more ram than a 2560 +#if ANY(MachineCR10Orig, SKRMiniE3V2, MachineEnder3V2) //melzi has more ram than a 2560 #define BUFSIZE 16 #elif ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) #define BUFSIZE 8 @@ -1995,7 +2004,7 @@ * Currently handles M108, M112, M410, M876 * NOTE: Not yet implemented for all platforms. */ -#if NONE(SKRPRO11, SKRMiniE3V2) +#if NONE(SKRPRO11, SKRMiniE3V2, MachineEnder3V2) #define EMERGENCY_PARSER #endif @@ -2045,7 +2054,7 @@ * Note that M207 / M208 / M209 settings are saved to EEPROM. * */ - #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineEnder3V2) #define FWRETRACT #endif #if ENABLED(FWRETRACT) @@ -2947,11 +2956,11 @@ //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) // Canon RC-1 or homebrew digital camera trigger - // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ + // Data from: https://www.doc-diy.net/photo/rc-1_hacked/ //#define PHOTOGRAPH_PIN 23 // Canon Hack Development Kit - // http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ + // https://captain-slow.dk/2014/03/09/3d-printing-timelapses/ //#define CHDK_PIN 4 // Optional second move with delay to trigger the camera shutter @@ -3403,11 +3412,11 @@ * I2C position encoders for closed loop control. * Developed by Chris Barr at Aus3D. * - * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder + * Wiki: https://wiki.aus3d.com.au/Magnetic_Encoder * Github: https://github.com/Aus3D/MagneticEncoder * - * Supplier: http://aus3d.com.au/magnetic-encoder-module - * Alternative Supplier: http://reliabuild3d.com/ + * Supplier: https://aus3d.com.au/magnetic-encoder-module + * Alternative Supplier: https://reliabuild3d.com/ * * Reliabuild encoders have been modified to improve reliability. */ diff --git a/Marlin/Version.h b/Marlin/Version.h index 387db0619a..bb5538cf60 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,6 +41,8 @@ #define VerChar1 "E2" #elif(ENABLED(MachineEnder3)) #define VerChar1 "E3" +#elif ENABLED(MachineEnder3V2) + #define VerChar1 "E3V2" #elif(ENABLED(MachineEnder4)) #define VerChar1 "E4" #elif(ENABLED(MachineEnder5)) @@ -109,7 +111,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -#define STRING_DISTRIBUTION_DATE "2020-08-01" +#define STRING_DISTRIBUTION_DATE "2020-08-10" /** * Defines a generic printer name to be output to the LCD after booting Marlin. @@ -120,6 +122,8 @@ #define MACHINE_NAME "TM3D Ender2" #elif(ENABLED(MachineEnder3)) #define MACHINE_NAME "TM3D Ender3" +#elif(ENABLED(MachineEnder3V2)) +#define MACHINE_NAME "TM3D Ender3V2" #elif(ENABLED(MachineEnder4)) #define MACHINE_NAME "TM3D Ender4" #elif(ENABLED(MachineEnder5)) diff --git a/Marlin/src/lcd/dwin/dwin.cpp b/Marlin/src/lcd/dwin/dwin.cpp index d82efc5689..303c6568ec 100644 --- a/Marlin/src/lcd/dwin/dwin.cpp +++ b/Marlin/src/lcd/dwin/dwin.cpp @@ -69,10 +69,10 @@ #define MACHINE_SIZE "220x220x250" #endif #ifndef CORP_WEBSITE_C - #define CORP_WEBSITE_C "www.cxsw3d.com" + #define CORP_WEBSITE_C WEBSITE_URL #endif #ifndef CORP_WEBSITE_E - #define CORP_WEBSITE_E "www.creality.com" + #define CORP_WEBSITE_E WEBSITE_URL #endif #define PAUSE_HEAT true