From f7eaa32bc95689b846e6bae5efe71b42f4e527ad Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Tue, 21 Jul 2020 08:39:48 -0400 Subject: [PATCH] Minor adjustments following github issues --- Marlin/Configuration.h | 61 +++++++++++++++++++++++++------------- Marlin/Configuration_adv.h | 56 +++++++++++++++++++--------------- platformio.ini | 1 + 3 files changed, 73 insertions(+), 45 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index d10b10e0da..a8ff207f05 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -65,6 +65,7 @@ //#define E3DTitan //#define E3DHemera //#define CrealityTitan + //#define DDXExtruderKit //#define MicroswissDirectDrive //#define DirectDrive // Any direct drive extruder, reduces filament change lengths @@ -149,13 +150,18 @@ //#define SKR14Turbo //#define SKRPRO11 +// This board is NOT recommended and is HIGHLY advised against utilizing the expanded builds for. +// The MCU is rated for 256kb and stability problems, including hangs with heaters on, have been reported. + +//#define SKRMiniE3V2 + //#define I2C_EEPROM // use I2C EEPROM on SRK PRO v1.1 e.g AT24C256 //#define SKR14_PowerLossKit // Bigtreetech power loss kit for SKR14 //#define SKR_2209 //#define SKR_2130 //#define SKR_UART // Configure SKR board with drivers in UART mode or SPI for TMC2130 -//#define SKR13_ReverseSteppers // Some users reported directions backwards than others on SKR with various drivers. +//#define SKR_ReverseSteppers // Some users reported directions backwards than others on SKR with various drivers. //#define DualZ // Uses 5th driver on CRX or SKR boards as Z2 /* @@ -295,8 +301,13 @@ #endif #endif +#if ENABLED(SKRMiniE3V2) + #define SKR_2209 + #define SKR_UART + #define OrigLCD +#endif + #if ENABLED(CrealityTitan) - #define DirectDrive #define E3DTitan #endif @@ -304,10 +315,14 @@ #define SD_DETECT_PIN -1 #endif -#if ENABLED(MicroswissDirectDrive) +#if ANY(MicroswissDirectDrive, DDXExtruderKit, CrealityTitan) #define DirectDrive #endif +#if ENABLED(DDXExtruderKit) + #define Bondtech +#endif + #if ENABLED(MachineCR10SPro) #define MachineCR10Std #if DISABLED(ABL_BLTOUCH, ABL_EZABL, ABL_TOUCH_MI) @@ -363,7 +378,7 @@ #define Z_STOP_PIN 19 #endif -#if ANY(MachineEnder2, MachineEnder3, MachineEnder5, MachineCR10, MachineMini) && NONE(Melzi_To_SBoardUpgrade, SKR13, SKRPRO11) +#if ANY(MachineEnder2, MachineEnder3, MachineEnder5, MachineCR10, MachineMini) && NONE(Melzi_To_SBoardUpgrade, SKR13, SKRPRO11, SKRMiniE3V2) #define MachineCR10Orig #endif @@ -456,7 +471,7 @@ #undef SolidBedMounts #endif -#if NONE(MachineCR10Orig, MachineEnder4, MachineCR10SPro, MachineCRX, MachineCR10Max, MachineEnder5Plus) || ENABLED(GraphicLCD) +#if NONE(MachineCR10Orig, MachineEnder4, MachineCR10SPro, MachineCRX, MachineCR10Max, MachineEnder5Plus, SKRMiniE3V2) || ENABLED(GraphicLCD) #define SHOW_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup. @@ -473,7 +488,7 @@ * * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) #define SERIAL_PORT -1 #else #define SERIAL_PORT 0 @@ -486,6 +501,8 @@ #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) && (NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max) || (ENABLED(GraphicLCD) && NONE(Force10SProDisplay, ForceCRXDisplay))) #define SERIAL_PORT_2 0 +#elif ENABLED(SKRMiniE3V2) + #define SERIAL_PORT_2 2 #elif ANY(SKR13, SKR14, SKR14Turbo) #define DGUS_SERIAL_PORT 0 #endif @@ -514,6 +531,8 @@ #define MOTHERBOARD BOARD_BTT_SKR_V1_3 #elif ENABLED(SKRPRO11) #define MOTHERBOARD BOARD_BTT_SKR_PRO_V1_1 + #elif ENABLED(SKRMiniE3V2) + #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V2_0 #elif (ENABLED(MachineCR10Orig) && DISABLED(Melzi_To_SBoardUpgrade)) #define MOTHERBOARD BOARD_MELZI_CREALITY #else @@ -995,7 +1014,7 @@ * heater. If your configuration is significantly different than this and you don't understand * the issues involved, don't use bed PID until someone else verifies that your hardware works. */ -#if NONE(MachineCR10Orig, LowMemoryBoard) || ENABLED(MelziHostOnly) +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) || ENABLED(MelziHostOnly) #define PIDTEMPBED #endif //#define BED_LIMIT_SWITCHING @@ -1185,7 +1204,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) && DISABLED(SKR_UART) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, MachineCR10SV2, CrealitySilentBoard, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, SKRMiniE3V2) && DISABLED(SKR_UART) #if ENABLED(SKR_2209) #define X_DRIVER_TYPE TMC2209_STANDALONE #define Y_DRIVER_TYPE TMC2209_STANDALONE @@ -1217,7 +1236,7 @@ #define E1_DRIVER_TYPE TMC2208_STANDALONE #endif #endif -#elif ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) && ENABLED(SKR_UART) +#elif ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) && ENABLED(SKR_UART) #if ENABLED(SKR_2209) #define X_DRIVER_TYPE TMC2209 #define Y_DRIVER_TYPE TMC2209 @@ -1465,7 +1484,7 @@ * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -#if DISABLED(MachineCR10Orig) || ENABLED(MelziHostOnly) +#if NONE(MachineCR10Orig, SKRMiniE3V2) || ENABLED(MelziHostOnly) #define S_CURVE_ACCELERATION #endif @@ -1734,7 +1753,7 @@ #define Z_PROBE_OFFSET_RANGE_MAX 9 // Enable the M48 repeatability test to test probe accuracy -#if ANY(ABL_EZABL, ABL_BLTOUCH, ABL_NCSW, ABL_TOUCH_MI) && DISABLED(MachineCR10Orig) +#if ANY(ABL_EZABL, ABL_BLTOUCH, ABL_NCSW, ABL_TOUCH_MI) && NONE(MachineCR10Orig, SKRMiniE3V2) #define Z_MIN_PROBE_REPEATABILITY_TEST #endif @@ -1798,7 +1817,7 @@ #define INVERT_E0_DIR true #define INVERT_E1_DIR false #endif -#elif ANY(MachineCR10Orig, SKR13, SKR14, SKR14Turbo) && DISABLED(SKR13_ReverseSteppers) +#elif ANY(MachineCR10Orig, SKR13, SKR14, SKR14Turbo, SKRMiniE3V2) && DISABLED(SKR_ReverseSteppers) #define INVERT_X_DIR true #define INVERT_Y_DIR true #define INVERT_Z_DIR false @@ -2149,7 +2168,7 @@ // Gradually reduce leveling correction until a set height is reached, // at which point movement will be level to the machine's XY plane. // The height can be set with M420 Z - #if DISABLED(MachineCR10Orig) + #if DISABLED(MachineCR10Orig, SKRMiniE3V2) #define ENABLE_LEVELING_FADE_HEIGHT #endif @@ -2164,7 +2183,7 @@ /** * Enable the G26 Mesh Validation Pattern tool. */ -#if(DISABLED(MachineCR10Orig)) +#if NONE(MachineCR10Orig, SKRMiniE3V2) #define G26_MESH_VALIDATION // Enable G26 mesh validation #endif #if ENABLED(G26_MESH_VALIDATION) @@ -2259,8 +2278,8 @@ * 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) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) -#define LCD_BED_LEVELING +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2) && (DISABLED(MachineCRX) || ENABLED(GraphicLCD)) + #define LCD_BED_LEVELING #endif #if ENABLED(LCD_BED_LEVELING) @@ -2269,7 +2288,7 @@ #define MESH_EDIT_MENU // Add a menu to edit mesh points #endif -#if NONE(SolidBedMounts) +#if NONE(SolidBedMounts, SKRMiniE3V2) // Add a menu item to move between bed corners for manual bed adjustment #define LEVEL_BED_CORNERS #endif @@ -2311,8 +2330,8 @@ #endif #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing - #define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing + #define Z_SAFE_HOMING_X_POINT (X_BED_SIZE / 2) // X point for Z homing + #define Z_SAFE_HOMING_Y_POINT (Y_BED_SIZE / 2) // Y point for Z homing #endif // Homing speeds (mm/min) @@ -2688,7 +2707,7 @@ * Disable all menus and only display the Status Screen, or * just remove some extraneous menu items to recover space. */ -#if ENABLED(MachineCR10Orig) && DISABLED(MelziHostOnly) && ENABLED(ABL_BI) +#if ANY(MachineCR10Orig, SKRMiniE3V2) && DISABLED(MelziHostOnly) && ENABLED(ABL_BI) //#define NO_LCD_MENUS #define SLIM_LCD_MENUS #endif @@ -2755,7 +2774,7 @@ // 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 ENABLED(MachineCR10Orig) +#if ENABLED(MachineCR10Orig, SKRMiniE3V2) #define SPEAKER #endif diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index e816708168..67daec6b20 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -308,7 +308,7 @@ * Enable Autotemp Mode with M104/M109 F S B. * Disable by sending M104/M109 with no F parameter (or F0 with AUTOTEMP_PROPORTIONAL). */ -#if NONE(MachineCR10Orig, LowMemoryBoard) || ENABLED(MelziHostOnly) +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) || ENABLED(MelziHostOnly) #define AUTOTEMP #endif #if ENABLED(AUTOTEMP) @@ -394,7 +394,9 @@ * The fan turns on automatically whenever any driver is enabled and turns * off (or reduces to idle speed) shortly after drivers are turned off. */ -//#define USE_CONTROLLER_FAN +#if ENABLED(SKRMiniE3V2) + #define USE_CONTROLLER_FAN +#endif #if ENABLED(USE_CONTROLLER_FAN) //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan //#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered @@ -660,12 +662,14 @@ //#define SENSORLESS_BACKOFF_MM { 2, 2 } // (mm) Backoff from endstops before sensorless homing -#define HOMING_BUMP_MM { 5, 5, 2 } // (mm) Backoff from endstops after first bump +#define HOMING_BUMP_MM { 8, 8, 2 } // (mm) Backoff from endstops after first bump #define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) -//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing +#define HOMING_BACKOFF_POST_MM { 8, 8, 2 } // (mm) Backoff from endstops after homing -//#define QUICK_HOME // If G28 contains XY do a diagonal move first +#if DISABLED(SKRMiniE3V2) + #define QUICK_HOME // If G28 contains XY do a diagonal move first +#endif //#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 @@ -715,7 +719,7 @@ * 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. */ - #if NONE(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #if NONE(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) #define BLTOUCH_SET_5V_MODE #endif /** @@ -1089,7 +1093,7 @@ #if HAS_LCD_MENU // Include a page of printer information in the LCD Main Menu - #if(DISABLED(MachineCR10Orig)) + #if NONE(MachineCR10Orig, SKRMiniE3V2) #define LCD_INFO_MENU #endif #if ENABLED(LCD_INFO_MENU) @@ -1128,7 +1132,7 @@ #endif // HAS_LCD_MENU // Scroll a longer status message into view -#if NONE(MachineCR10Orig, LowMemoryBoard) +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) #define STATUS_MESSAGE_SCROLLING // On the Info Screen, display XY with one decimal place when possible @@ -1186,7 +1190,7 @@ // Reverse SD sort to show "more recent" files first, according to the card's FAT. // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended. - #if NONE(MachineCR10Orig, LowMemoryBoard) + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) #define SDCARD_RATHERRECENTFIRST #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing @@ -1265,7 +1269,7 @@ #endif // Enable this option to scroll long filenames in the SD card menu - #if NONE(MachineCR10Orig, LowMemoryBoard) + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) // This allows hosts to request long names for files and folders with M33 #define LONG_FILENAME_HOST_SUPPORT #define SCROLL_LONG_FILENAMES @@ -1436,7 +1440,7 @@ //#define STATUS_COMBINE_HEATERS // Use combined heater images instead of separate ones //#define STATUS_HOTEND_NUMBERLESS // Use plain hotend icons instead of numbered ones (with 2+ hotends) #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) - #if NONE(MachineCR10Orig, LowMemoryBoard) + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating #endif @@ -1663,7 +1667,7 @@ #endif #if ENABLED(BABYSTEP_ZPROBE_OFFSET) //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets - #if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI) && (DISABLED(MachineEnder4) || ENABLED(GraphicLCD)) + #if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI, SKRMiniE3V2) && (DISABLED(MachineEnder4) || ENABLED(GraphicLCD)) #define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor #endif #endif @@ -1686,7 +1690,7 @@ * * See https://marlinfw.org/docs/features/lin_advance.html for full instructions. */ -#if NONE(MachineCR10Orig, 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) || ENABLED(OrigLA) || (ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) && ENABLED(SKR_UART)) #define LIN_ADVANCE #endif #if ENABLED(LIN_ADVANCE) @@ -1749,7 +1753,7 @@ * Repeatedly attempt G29 leveling until it succeeds. * Stop after G29_MAX_RETRIES attempts. */ -#if ENABLED(ABL_BI) && NONE(MachineCR10Orig, LowMemoryBoard) +#if ENABLED(ABL_BI) && NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) #define G29_RETRY_AND_RECOVER #endif #if ENABLED(G29_RETRY_AND_RECOVER) @@ -1831,7 +1835,7 @@ // // G2/G3 Arc Support // -#if DISABLED(MachineCR10Orig) +#if NONE(MachineCR10Orig, SKRMiniE3V2) #define ARC_SUPPORT // Disable this feature to save ~3226 bytes #endif #if ENABLED(ARC_SUPPORT) @@ -1929,7 +1933,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) || DISABLED(EXTENSIBLE_UI) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2) || DISABLED(EXTENSIBLE_UI) #define BLOCK_BUFFER_SIZE 16 #else #define BLOCK_BUFFER_SIZE 8 @@ -1939,7 +1943,7 @@ // The ASCII buffer for serial input #define MAX_CMD_SIZE 96 -#if ENABLED(MachineCR10Orig) //melzi has more ram than a 2560 +#if ANY(MachineCR10Orig, SKRMiniE3V2) //melzi has more ram than a 2560 #define BUFSIZE 16 #elif ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) #define BUFSIZE 8 @@ -1992,7 +1996,9 @@ * Currently handles M108, M112, M410, M876 * NOTE: Not yet implemented for all platforms. */ -//#define EMERGENCY_PARSER +#if NONE(SKRPRO11, SKRMiniE3V2) + #define EMERGENCY_PARSER +#endif // Bad Serial-connections can miss a received command by sending an 'ok' // Therefore some clients abort after 30 seconds in a timeout. @@ -2003,7 +2009,7 @@ #endif // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. -#if NONE(MachineCR10Orig, LowMemoryBoard) || ENABLED(MelziHostOnly) +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) || ENABLED(MelziHostOnly) #define ADVANCED_OK #endif @@ -2144,7 +2150,7 @@ * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ -#if DISABLED(MachineCR10Orig) +#if DISABLED(MachineCR10Orig) && ((ENABLED(SKRMiniE3V2) && DISABLED(POWER_LOSS_RECOVERY)) || DISABLED(SKRMiniE3V2)) #define ADVANCED_PAUSE_FEATURE #endif #if ENABLED(ADVANCED_PAUSE_FEATURE) @@ -2207,7 +2213,7 @@ #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. #define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change - #if NONE(MachineCR10Orig, MachineEnder4) + #if NONE(MachineCR10Orig, MachineEnder4, SKRMiniE3V2) #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. #define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif @@ -2570,7 +2576,7 @@ * M912 - Clear stepper driver overtemperature pre-warn condition flag. * M122 - Report driver parameters (Requires TMC_DEBUG) */ - #if ENABLED(SKR_UART) + #if ENABLED(SKR_UART) && DISABLED(SKRMiniE3V2) #define MONITOR_DRIVER_STATUS #endif @@ -2666,7 +2672,7 @@ * Enable M122 debugging command for TMC stepper drivers. * M122 S0/1 will enable continous reporting. */ - #if ENABLED(SKR_UART) + #if ENABLED(SKR_UART) && DISABLED(SKRMiniE3V2) #define TMC_DEBUG #endif @@ -3250,6 +3256,8 @@ //#define M114_REALTIME // Real current position based on forward kinematics //#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed. +//#define REPORT_FAN_CHANGE // Report the new fan speed when changed by M106 (and others) + /** * Set the number of proportional font spaces required to fill up a typical character space. * This can help to better align the output of commands like `G29 O` Mesh Output. @@ -3381,7 +3389,7 @@ * * Implement M486 to allow Marlin to skip objects */ -#if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI) +#if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI, SKRMiniE3V2) #define CANCEL_OBJECTS #endif diff --git a/platformio.ini b/platformio.ini index 828fc99a02..7dc8a06b4b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,6 +12,7 @@ src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards default_envs = + mega2560 10SPro_BIL 10SPro_BLT_BIL CRX_BLT_UBL_NoFil