From b05b35ece9bed59fa8ddeb4013c883a1c9e1fd69 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sun, 14 May 2023 13:17:03 -0400 Subject: [PATCH] Restore files killed by branch merge --- Marlin/Configuration_adv.h | 640 +++--- README.md | 74 +- platformio.ini | 3778 ++++++++++++++++++++++++++++++++++-- 3 files changed, 4095 insertions(+), 397 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 2a0be95832..6e0e3d44f9 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -300,12 +300,14 @@ * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD */ #if ENABLED(THERMAL_PROTECTION_HOTENDS) - #define THERMAL_PROTECTION_PERIOD 20 // Seconds - #define THERMAL_PROTECTION_HYSTERESIS 15 // Degrees Celsius + #define THERMAL_PROTECTION_PERIOD 60 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 10 // Degrees Celsius -#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops + #if DISABLED(MachineCR10Orig) || ENABLED(MelziHostOnly) + #define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops #if ENABLED(ADAPTIVE_FAN_SLOWING) && EITHER(MPCTEMP, PIDTEMP) - #define TEMP_TUNING_MAINTAIN_FAN // Don't slow fan speed during M303 or M306 T + //#define TEMP_TUNING_MAINTAIN_FAN // Don't slow fan speed during M303 or M306 T + #endif #endif /** @@ -320,7 +322,7 @@ * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set * below 2. */ - #define WATCH_TEMP_PERIOD 30 // Seconds + #define WATCH_TEMP_PERIOD 60 // Seconds #define WATCH_TEMP_INCREASE 2 // Degrees Celsius #endif @@ -328,37 +330,47 @@ * Thermal Protection parameters for the bed are just as above for hotends. */ #if ENABLED(THERMAL_PROTECTION_BED) - #if ENABLED(MachineTLD6) - #define THERMAL_PROTECTION_BED_PERIOD 60 // Seconds - #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius +#if(ENABLED(BedDC)) + #if EITHER(MachineS5, MachineCR10Max) + #define THERMAL_PROTECTION_BED_PERIOD 240 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 4 // Degrees Celsius + + #define WATCH_BED_TEMP_PERIOD 240 // Seconds + #define WATCH_BED_TEMP_INCREASE 4 // Degrees Celsius + #else - #define THERMAL_PROTECTION_BED_PERIOD 40 // Seconds - #define THERMAL_PROTECTION_BED_HYSTERESIS 4 // Degrees Celsius + #define THERMAL_PROTECTION_BED_PERIOD 50 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + #define WATCH_BED_TEMP_PERIOD 180 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius #endif +#else + + #define THERMAL_PROTECTION_BED_PERIOD 30 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius + + #define WATCH_BED_TEMP_PERIOD 120 // Seconds + #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius +#endif /** * As described above, except for the bed (M140/M190/M303). */ - #if ENABLED(MachineTLD6) - #define WATCH_BED_TEMP_PERIOD 240 // Seconds - #else - #define WATCH_BED_TEMP_PERIOD 60 // Seconds - #endif - #define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius #endif /** * Thermal Protection parameters for the heated chamber. */ #if ENABLED(THERMAL_PROTECTION_CHAMBER) - #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds #define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius /** * Heated chamber watch settings (M141/M191). */ - #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds - #define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius + #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds + #define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius #endif /** @@ -456,7 +468,9 @@ * Enable Autotemp Mode with M104/M109 F S B. * Disable by sending M104/M109 with no F parameter (or F0 with AUTOTEMP_PROPORTIONAL). */ -#define AUTOTEMP +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) || ENABLED(MelziHostOnly) + #define AUTOTEMP +#endif #if ENABLED(AUTOTEMP) #define AUTOTEMP_OLDWEIGHT 0.98 // Factor used to weight previous readings (0.0 < value < 1.0) #define AUTOTEMP_MIN 210 @@ -526,8 +540,8 @@ */ #define HOTEND_IDLE_TIMEOUT #if ENABLED(HOTEND_IDLE_TIMEOUT) - #define HOTEND_IDLE_TIMEOUT_SEC (20*60) // (seconds) Time without extruder movement to trigger protection - #define HOTEND_IDLE_MIN_TRIGGER 140 // (°C) Minimum temperature to enable hotend protection + #define HOTEND_IDLE_TIMEOUT_SEC (15*60) // (seconds) Time without extruder movement to trigger protection + #define HOTEND_IDLE_MIN_TRIGGER 170 // (°C) Minimum temperature to enable hotend protection #define HOTEND_IDLE_NOZZLE_TARGET 0 // (°C) Safe temperature for the nozzle after timeout #define HOTEND_IDLE_BED_TARGET 0 // (°C) Safe temperature for the bed after timeout #endif @@ -548,11 +562,14 @@ * The fan turns on automatically whenever any driver is enabled and turns * off (or reduces to idle speed) shortly after drivers are turned off. */ -#if ENABLED(BTTSKRPRO) +#if ANY(SKRMiniE3V2, SKRMiniE3V3) #define USE_CONTROLLER_FAN #endif #if ENABLED(USE_CONTROLLER_FAN) - #define CONTROLLER_FAN_PIN FAN3_PIN // Set a custom pin for the controller fan + #if ENABLED(SKRMiniE3V3) + #define CONTROLLER_FAN_PIN FAN2_PIN // Set a custom pin for the controller fan + #endif + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan //#define CONTROLLER_FAN2_PIN -1 // Set a custom pin for second controller fan //#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered //#define CONTROLLER_FAN_IGNORE_Z // Ignore Z stepper. Useful when stepper timeout is disabled. @@ -654,13 +671,12 @@ * Multiple extruders can be assigned to the same pin in which case * the fan will turn on when any selected extruder is above the threshold. */ -#if ENABLED(OCTOPUS) - #define E0_AUTO_FAN_PIN PA8 - #define E1_AUTO_FAN_PIN PE5 +#if ENABLED(MachineEnder3S1) + #define E0_AUTO_FAN_PIN PC0 #else - #define E0_AUTO_FAN_PIN FAN2_PIN - #define E1_AUTO_FAN_PIN FAN2_PIN + //#define E0_AUTO_FAN_PIN -1 #endif +#define E1_AUTO_FAN_PIN -1 #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 @@ -718,28 +734,30 @@ * The multiplexer is automatically switched at tool-change. * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans. */ -#if ENABLED(OCTOPUS) - #define FANMUX0_PIN PD12 - #define FANMUX1_PIN PD13 - #define FANMUX2_PIN -1 -#else - #define FANMUX0_PIN -1 - #define FANMUX1_PIN -1 - #define FANMUX2_PIN -1 -#endif +#define FANMUX0_PIN -1 +#define FANMUX1_PIN -1 +#define FANMUX2_PIN -1 /** * M355 Case Light on-off / brightness */ -//#define CASE_LIGHT_ENABLE +#if ANY(EnclosureLight, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro, MachineCR5) + #define CASE_LIGHT_ENABLE +#endif #if ENABLED(CASE_LIGHT_ENABLE) - //#define CASE_LIGHT_PIN 4 // Override the default pin if needed + #if ENABLED(MachineCR2020) + #define CASE_LIGHT_PIN 65 // Override the default pin if needed + #elif ENABLED(MachineCR5) + #define CASE_LIGHT_PIN 7 + #elif NONE(MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) + #define CASE_LIGHT_PIN 12 // Override the default pin if needed + #endif #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on - #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin) + #define CASE_LIGHT_DEFAULT_BRIGHTNESS 255 // Set default power-up brightness (0-255, requires PWM pin) + #define CASE_LIGHT_MENU // Add Case Light options to the LCD menu //#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. //#define CASE_LIGHT_MAX_PWM 128 // Limit PWM duty cycle (0-255) - //#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu #if ENABLED(NEOPIXEL_LED) //#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light #endif @@ -796,32 +814,13 @@ * Set the initial X offset and temperature differential with M605 S2 X[offs] R[deg] and * follow with M605 S3 to initiate mirrored movement. */ -#define DUAL_X_CARRIAGE +//#define DUAL_X_CARRIAGE #if ENABLED(DUAL_X_CARRIAGE) - #define X1_MIN_POS -50 // Set to X_MIN_POS + #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS #define X1_MAX_POS X_BED_SIZE // A max coordinate so the X1 carriage can't hit the parked X2 carriage - #define X2_MIN_POS 15 // A min coordinate so the X2 carriage can't hit the parked X1 carriage - #if ANY(TitanExtruder, H2Extruder) - #define X2_OFFSET 12 -#elif ANY(BMGExtruderV2, BMGExtruderV3) - #define X2_OFFSET 0 -#else - #define X2_OFFSET -3 -#endif - #if ENABLED(MachineTLD3P) - #define X2_MAX_POS 359 + X2_OFFSET - VULCAN_OFFSET // The max position of the X2 carriage, typically also the home position -#elif ENABLED(MachineTLD4) - #define X2_MAX_POS 454 + X2_OFFSET - VULCAN_OFFSET -#elif ENABLED(MachineTLD5) - #define X2_MAX_POS 554 + X2_OFFSET - VULCAN_OFFSET -#elif ENABLED(MachineTLD6) - #define X2_MAX_POS 654 + X2_OFFSET - VULCAN_OFFSET -#elif ENABLED(MachineTLD2P) - #define X2_MAX_POS 264 + X2_OFFSET - VULCAN_OFFSET -#elif ENABLED(MachineTLH2P) - #define X2_MAX_POS 279 + X2_OFFSET - VULCAN_OFFSET -#endif -#define X2_HOME_DIR 1 // Set to 1. The X2 carriage always homes to the max endstop position + #define X2_MIN_POS 80 // A min coordinate so the X2 carriage can't hit the parked X1 carriage + #define X2_MAX_POS 353 // The max position of the X2 carriage, typically also the home position + #define X2_HOME_DIR 1 // Set to 1. The X2 carriage always homes to the max endstop position #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. // NOTE: For Dual X Carriage use M218 T1 Xn to override the X2_HOME_POS. // This allows recalibration of endstops distance without a rebuild. @@ -831,7 +830,7 @@ #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE // Default x offset in duplication mode (typically set to half print bed width) - #define DEFAULT_DUPLICATION_X_OFFSET X_CENTER + #define DEFAULT_DUPLICATION_X_OFFSET 100 // Default action to execute following M605 mode change commands. Typically G28X to apply new mode. //#define EVENT_GCODE_IDEX_AFTER_MODECHANGE "G28X" @@ -861,7 +860,7 @@ //#define INVERT_X2_VS_X_DIR // X2 direction signal is the opposite of X //#define X_DUAL_ENDSTOPS // X2 has its own endstop #if ENABLED(X_DUAL_ENDSTOPS) - //#define X2_USE_ENDSTOP _XMAX_ // X2 endstop board plug. Don't forget to enable USE_*_PLUG. + #define X2_USE_ENDSTOP _XMAX_ // X2 endstop board plug. Don't forget to enable USE_*_PLUG. #define X2_ENDSTOP_ADJUSTMENT 0 // X2 offset relative to X endstop #endif #endif @@ -881,11 +880,9 @@ #ifdef Z2_DRIVER_TYPE //#define INVERT_Z2_VS_Z_DIR // Z2 direction signal is the opposite of Z - #if DISABLED(BLTOUCH) - #define Z_MULTI_ENDSTOPS // Other Z axes have their own endstops - #endif + //#define Z_MULTI_ENDSTOPS // Other Z axes have their own endstops #if ENABLED(Z_MULTI_ENDSTOPS) - #define Z2_USE_ENDSTOP _ZMAX_ // Z2 endstop board plug. Don't forget to enable USE_*_PLUG. + #define Z2_USE_ENDSTOP _XMAX_ // Z2 endstop board plug. Don't forget to enable USE_*_PLUG. #define Z2_ENDSTOP_ADJUSTMENT 0 // Z2 offset relative to Z endstop #endif #ifdef Z3_DRIVER_TYPE @@ -924,14 +921,17 @@ //#define SENSORLESS_BACKOFF_MM { 2, 2, 0 } // (linear=mm, rotational=°) Backoff from endstops before sensorless homing -#define HOMING_BUMP_MM { 5, 5, 2 } // (linear=mm, rotational=°) Backoff from endstops after first bump +#define HOMING_BUMP_MM { 8, 8, 2 } // (linear=mm, rotational=°) 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 { 8, 8, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing +#define HOMING_BACKOFF_POST_MM { 8, 8, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing //#define XY_COUNTERPART_BACKOFF_MM 0 // (mm) Backoff X after homing Y, and vice-versa -#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 +#if DISABLED(MachineCR30) + #define QUICK_HOME // If G28 contains XY do a diagonal move first +#else + #define HOME_Y_BEFORE_X // If G28 contains XY home Y before X +#endif //#define HOME_Z_FIRST // Home Z first. Requires a Z-MIN endstop (not a probe). //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first @@ -981,8 +981,9 @@ * 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. */ - //#define BLTOUCH_SET_5V_MODE - + #if NONE(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, SKRMiniE3V3, MachineEnder3S1, Creality422, Creality427, MachineEnder6, MachineEnder7, MachineSermoonD1, MachineCR30, MachineCR6, MachineCR6Max, MachineCR10SmartPro, MachineEnder2Pro) + #define BLTOUCH_SET_5V_MODE + #endif /** * Safety: Activate if connecting a probe with an unknown voltage mode. * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0 @@ -1012,7 +1013,7 @@ * Z Steppers Auto-Alignment * Add the G34 command to align multiple Z steppers using a bed probe. */ -#if ENABLED(BL_Touch) +#if ENABLED(DualZ) && ANY(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI) #define Z_STEPPER_AUTO_ALIGN #endif #if ENABLED(Z_STEPPER_AUTO_ALIGN) @@ -1060,13 +1061,13 @@ #ifndef Z_STEPPER_ALIGN_STEPPER_XY // Amplification factor. Used to scale the correction step up or down in case // the stepper (spindle) position is farther out than the test point. - #define Z_STEPPER_ALIGN_AMP 0.5 // Use a value > 1.0 NOTE: This may cause instability! + #define Z_STEPPER_ALIGN_AMP 1.0 // Use a value > 1.0 NOTE: This may cause instability! #endif // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm #define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle - #define Z_STEPPER_ALIGN_ITERATIONS 9 // Number of iterations to apply during alignment - #define Z_STEPPER_ALIGN_ACC 0.01 // Stop iterating early if the accuracy is better than this + #define Z_STEPPER_ALIGN_ITERATIONS 8 // Number of iterations to apply during alignment + #define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this #define RESTORE_LEVELING_AFTER_G34 // Restore leveling after G34 is done? // After G34, re-home Z (G28 Z) or just calculate it from the last probe heights? // Re-homing might be more precise in reproducing the actual 'G28 Z' homing height, especially on an uneven bed. @@ -1128,20 +1129,20 @@ * X<1> Set the given parameters only for the X axis. * Y<1> Set the given parameters only for the Y axis. */ -//#if ENABLED(MachineLargeROM) +#if ENABLED(MachineLargeROM) #define INPUT_SHAPING_X #define INPUT_SHAPING_Y -//#endif +#endif #if EITHER(INPUT_SHAPING_X, INPUT_SHAPING_Y) #if ENABLED(INPUT_SHAPING_X) - #define SHAPING_FREQ_X 0 // (Hz) The default dominant resonant frequency on the X axis. + #define SHAPING_FREQ_X 40 // (Hz) The default dominant resonant frequency on the X axis. #define SHAPING_ZETA_X 0.15f // Damping ratio of the X axis (range: 0.0 = no damping to 1.0 = critical damping). #endif #if ENABLED(INPUT_SHAPING_Y) - #define SHAPING_FREQ_Y 0 // (Hz) The default dominant resonant frequency on the Y axis. + #define SHAPING_FREQ_Y 40 // (Hz) The default dominant resonant frequency on the Y axis. #define SHAPING_ZETA_Y 0.15f // Damping ratio of the Y axis (range: 0.0 = no damping to 1.0 = critical damping). #endif - #define SHAPING_MIN_FREQ 40 // By default the minimum of the shaping frequencies. Override to affect SRAM usage. + //#define SHAPING_MIN_FREQ 20 // By default the minimum of the shaping frequencies. Override to affect SRAM usage. //#define SHAPING_MAX_STEPRATE 10000 // By default the maximum total step rate of the shaped axes. Override to affect SRAM usage. //#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters. #endif @@ -1180,9 +1181,16 @@ #define DISABLE_INACTIVE_W true #define DISABLE_INACTIVE_E true +// If the Nozzle or Bed falls when the Z stepper is disabled, set its resting position here. +//#define Z_AFTER_DEACTIVATE Z_HOME_POS + +#if ANY(MachineEnder5, MachineEnder5Plus, MachineEnder6, MachineCR30) + #define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated +#endif + // Default Minimum Feedrates for printing and travel moves #define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum feedrate. Set with M205 S. -#define DEFAULT_MINTRAVELFEEDRATE 10.0 // (mm/s. °/s for rotational-only moves) Minimum travel feedrate. Set with M205 T. +#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s. °/s for rotational-only moves) Minimum travel feedrate. Set with M205 T. // Minimum time that a segment needs to take as the buffer gets emptied #define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. @@ -1191,7 +1199,11 @@ // Increase the slowdown divisor for larger buffer sizes. #define SLOWDOWN #if ENABLED(SLOWDOWN) - #define SLOWDOWN_DIVISOR 2 + #if ENABLED(MachineLargeROM) + #define SLOWDOWN_DIVISOR 8 + #else + #define SLOWDOWN_DIVISOR 2 + #endif #endif /** @@ -1214,12 +1226,14 @@ // Backlash Compensation // Adds extra movement to axes on direction-changes to account for backlash. // -//#define BACKLASH_COMPENSATION +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, Creality422, Creality427, MachineCR6, MachineCR6Max) + #define BACKLASH_COMPENSATION +#endif #if ENABLED(BACKLASH_COMPENSATION) // Define values for backlash distance and correction. // If BACKLASH_GCODE is enabled these values are the defaults. #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (linear=mm, rotational=°) One value for each linear axis - #define BACKLASH_CORRECTION 0.3 // 0.0 = no correction; 1.0 = full correction + #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction // Add steps for motor direction changes on CORE kinematics //#define CORE_BACKLASH @@ -1321,7 +1335,9 @@ * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the * lowest stepping frequencies. */ -//#define ADAPTIVE_STEP_SMOOTHING +#if ENABLED(MachineLargeROM) + //#define ADAPTIVE_STEP_SMOOTHING +#endif /** * Custom Microstepping @@ -1407,8 +1423,11 @@ // 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 + #if DISABLED(DWIN_MARLINUI_PORTRAIT) + #define ENCODER_100X_STEPS_PER_SEC 130 // (steps/s) Encoder rate for 100x speed + #endif #endif // Play a beep when the feedrate is changed from the Status Screen @@ -1460,7 +1479,9 @@ #endif // Include a page of printer information in the LCD Main Menu - //#define LCD_INFO_MENU + #if NONE(MachineCR10Orig, SKRMiniE3V2) + #define LCD_INFO_MENU + #endif #if ENABLED(LCD_INFO_MENU) //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif @@ -1490,8 +1511,10 @@ #endif #endif + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) // Scroll a longer status message into view - //#define STATUS_MESSAGE_SCROLLING + #define STATUS_MESSAGE_SCROLLING + #endif // Apply a timeout to low-priority status messages //#define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds) @@ -1553,7 +1576,7 @@ //#define PRINT_PROGRESS_SHOW_DECIMALS // Show/report progress with decimal digits, not all UIs support this #if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL) - //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing #if ENABLED(LCD_PROGRESS_BAR) #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message @@ -1578,12 +1601,16 @@ // 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. - //#define SD_DETECT_STATE HIGH + #if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2, SKR14Turbo, SKR14, , Creality422, Creality427, MachineEnder6) + #define SD_DETECT_STATE HIGH + #endif //#define SD_IGNORE_AT_STARTUP // Don't mount the SD card when starting up //#define SDCARD_READONLY // Read-only SD card (to save over 2K of flash) - //#define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping + #if ENABLED(MachineCR30) + #define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping + #endif #define SD_PROCEDURE_DEPTH 1 // Increase if you need more nested M32 calls @@ -1592,9 +1619,11 @@ // 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. - #define SDCARD_RATHERRECENTFIRST - - #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) + #define SDCARD_RATHERRECENTFIRST + #define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing + #endif + //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files //#define NO_SD_AUTOSTART // Remove auto#.g file support completely to save some Flash, SRAM //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files @@ -1617,13 +1646,16 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - #define POWER_LOSS_RECOVERY + //#define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) - #define POWER_LOSS_PIN 32 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. - #define POWER_LOSS_STATE HIGH // State of pin indicating power loss + #if ANY(SKR14Turbo, SKR14) && DISABLED(SKR14_PowerLossKit) + #define POWER_LOSS_PIN -1 + #endif + //#define POWER_LOSS_PIN 44 // Pin to detect power loss + //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss //#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor //#define POWER_LOSS_PULLDOWN //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume @@ -1678,17 +1710,20 @@ // Note: Only affects SCROLL_LONG_FILENAMES with SDSORT_CACHE_NAMES but not SDSORT_DYNAMIC_RAM. #endif - // Allow international symbols in long filenames. To display correctly, the - // LCD's font must contain the characters. Check your selected LCD language. - //#define UTF_FILENAME_SUPPORT + #if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) + // Allow international symbols in long filenames. To display correctly, the + // LCD's font must contain the characters. Check your selected LCD language. + #define UTF_FILENAME_SUPPORT #define LONG_FILENAME_HOST_SUPPORT // Get the long filename of a file/folder with 'M33 ' and list long filenames with 'M20 L' //#define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol //#define M20_TIMESTAMP_SUPPORT // Include timestamps by adding the 'T' flag to M20 commands - //#define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu - //#define SD_ABORT_NO_COOLDOWN // Leave the heaters on after Stop Print (not recommended!) + #define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu + + //#define SD_ABORT_NO_COOLDOWN // Leave the heaters on after Stop Print (not recommended!) + #endif /** * Abort SD printing when any endstop is triggered. @@ -1702,7 +1737,12 @@ //#define SD_REPRINT_LAST_SELECTED_FILE // On print completion open the LCD Menu and select the same file - #define AUTO_REPORT_SD_STATUS // Auto-report media status with 'M27 S' + /** + * Auto-report SdCard status with M27 S + */ + #if NONE(MachineCR10Orig, LowMemoryBoard, OriginalCrealitySquareBoard) + #define AUTO_REPORT_SD_STATUS + #endif /** * Support for USB thumb drives using an Arduino USB Host Shield or @@ -1787,7 +1827,9 @@ * * :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] */ - //#define SDCARD_CONNECTION LCD + #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #define SDCARD_CONNECTION ONBOARD + #endif // Enable if SD detect is rendered useless (e.g., by using an SD extender) //#define NO_SD_DETECT @@ -1810,7 +1852,7 @@ * By default an onboard SD card reader may be shared as a USB mass- * storage device. This option hides the SD card from the host PC. */ -//#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). +#define NO_SD_HOST_DRIVE // Disable SD Card access over USB (for security). /** * Additional options for Graphical Displays @@ -1826,12 +1868,14 @@ */ #if HAS_MARLINUI_U8GLIB // Save many cycles by drawing a hollow frame or no frame on the Info Screen - //#define XYZ_NO_FRAME - #define XYZ_HOLLOW_FRAME + #define XYZ_NO_FRAME + //#define XYZ_HOLLOW_FRAME // A bigger font is available for edit items. Costs 3120 bytes of flash. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. - //#define USE_BIG_EDIT_FONT + #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #define USE_BIG_EDIT_FONT + #endif // A smaller font may be used on the Info Screen. Costs 2434 bytes of flash. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. @@ -1865,7 +1909,9 @@ // The normal delay is 10µs. Use the lowest value that still gives a reliable display. //#define DOGM_SPI_DELAY_US 5 - //#define LIGHTWEIGHT_UI + #if ENABLED(Big_UI) + #define LIGHTWEIGHT_UI + #endif #if ENABLED(LIGHTWEIGHT_UI) #define STATUS_EXPIRE_SECONDS 20 #endif @@ -1878,9 +1924,11 @@ */ //#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 for numbered hotends) - #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating - #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating + #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) + #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 #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating //#define STATUS_CUTTER_ANIM // Use a second bitmap to indicate spindle / laser active //#define STATUS_COOLER_ANIM // Use a second bitmap to indicate laser cooling @@ -1889,7 +1937,12 @@ //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames //#define STATUS_HEAT_PERCENT // Show heating in a progress bar - //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of PROGMEM. + //#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + #if ENABLED(MachineLargeROM) + #define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of flash. + #else + #define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + #endif // Frivolous Game Options //#define MARLIN_BRICKOUT @@ -1897,7 +1950,13 @@ //#define MARLIN_SNAKE //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu -#endif // HAS_MARLINUI_U8GLIB + #if ENABLED(MachineLargeROM) + // Frivolous Game Options + #define MARLIN_BRICKOUT + #define MARLIN_INVADERS + #define MARLIN_SNAKE + #endif +#endif // HAS_GRAPHICAL_LCD #if HAS_MARLINUI_U8GLIB || IS_DWIN_MARLINUI #define MENU_HOLLOW_FRAME // Enable to save many cycles by drawing a hollow frame on Menu Screens @@ -1907,11 +1966,11 @@ // // Additional options for DGUS / DWIN displays // - #define DGUS_RX_BUFFER_SIZE 128 - #define DGUS_TX_BUFFER_SIZE 48 -#if HAS_DGUS_LCD - #define LCD_SERIAL_PORT 3 - #define LCD_BAUDRATE 115200 +#if HAS_DGUS_LCD || ENABLED(DGUS_LCD_UI_CREALITY_TOUCH) || ENABLED(FORCE10SPRODISPLAY) + #ifndef LCD_SERIAL_PORT + #define LCD_SERIAL_PORT 3 + #define LCD_BAUDRATE 115200 + #endif #define DGUS_RX_BUFFER_SIZE 128 #define DGUS_TX_BUFFER_SIZE 48 @@ -2115,16 +2174,18 @@ */ #define BABYSTEPPING #if ENABLED(BABYSTEPPING) - //#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR + #define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR //#define BABYSTEP_WITHOUT_HOMING #define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). - //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #if ENABLED(MachineCR30) + #define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! + #endif #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way //#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps - #define BABYSTEP_MULTIPLICATOR_Z 40 // (steps or mm) Steps or millimeter distance for each Z babystep + #define BABYSTEP_MULTIPLICATOR_Z 10 // (steps or mm) Steps or millimeter distance for each Z babystep #define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep - //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. // Note: Extra time may be added to mitigate controller latency. @@ -2134,14 +2195,16 @@ #endif #endif - #if DISABLED(BL_Touch) + #if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, MachineCR6, MachineCR6Max, MachineCR10Smart) || ENABLED(MESH_BED_LEVELING) #define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 #else #define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping #endif #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - #define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets - //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets + #if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI, SKRMiniE3V2, MachineEnder3V2, MachineEnder3S1, MachineCR6, MachineCR6Max, FORCEV2DISPLAY) && (DISABLED(MachineEnder4) || ENABLED(GraphicLCD)) + #define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor + #endif #endif #endif @@ -2227,8 +2290,8 @@ #if PROBE_SELECTED && !IS_KINEMATIC //#define PROBING_MARGIN_LEFT PROBING_MARGIN //#define PROBING_MARGIN_RIGHT PROBING_MARGIN - //#define PROBING_MARGIN_FRONT PROBING_MARGIN - //#define PROBING_MARGIN_BACK PROBING_MARGIN + #define PROBING_MARGIN_FRONT (PROBING_MARGIN + ClipClearance) + #define PROBING_MARGIN_BACK (PROBING_MARGIN + ClipClearance) #endif #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) @@ -2247,7 +2310,9 @@ * Repeatedly attempt G29 leveling until it succeeds. * Stop after G29_MAX_RETRIES attempts. */ -//#define G29_RETRY_AND_RECOVER +#if ENABLED(ABL_BI) && NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2, MachineCR30) + //#define G29_RETRY_AND_RECOVER +#endif #if ENABLED(G29_RETRY_AND_RECOVER) #define G29_MAX_RETRIES 3 #define G29_HALT_ON_FAILURE @@ -2256,7 +2321,7 @@ * between attempts, and after the maximum number of retries have been tried. */ #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." - #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_RECOVER_COMMANDS "M117 Probe failed.\nG28\n" #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" #endif @@ -2337,7 +2402,9 @@ // // G2/G3 Arc Support // -#define ARC_SUPPORT // Requires ~3226 bytes +#if NONE(MachineCR10Orig, SKRMiniE3V2) + #define ARC_SUPPORT // Requires ~3226 bytes +#endif #if ENABLED(ARC_SUPPORT) #define MIN_ARC_SEGMENT_MM 0.1 // (mm) Minimum length of each arc segment #define MAX_ARC_SEGMENT_MM 1.0 // (mm) Maximum length of each arc segment @@ -2394,9 +2461,12 @@ * * Override the default value based on the driver type set in Configuration.h. */ -//#define MINIMUM_STEPPER_POST_DIR_DELAY 650 -//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650 - +#if ENABLED(MachineEnder7) + #define MINIMUM_STEPPER_POST_DIR_DELAY 10 + #define MINIMUM_STEPPER_PRE_DIR_DELAY 10 + #define MINIMUM_STEPPER_PULSE 0 + #define MAXIMUM_STEPPER_RATE 5000000 +#endif /** * Minimum stepper driver pulse width (in µs) * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers @@ -2408,9 +2478,8 @@ * * Override the default value based on the driver type set in Configuration.h. */ -#if ENABLED(MachineTLD6) - #define MINIMUM_STEPPER_PULSE 5 -#endif +//#define MINIMUM_STEPPER_PULSE 2 + /** * Maximum stepping rate (in Hz) the stepper driver allows * If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) @@ -2437,21 +2506,24 @@ // @section motion // 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 BOTH(SDSUPPORT, DIRECT_STEPPING) - #define BLOCK_BUFFER_SIZE 8 -#elif ENABLED(SDSUPPORT) - #define BLOCK_BUFFER_SIZE 8 -#else +// The value of BLOCK_BUFFER_SIZE must be a power of 2 (e.g. 8, 16, 32) +#if ENABLED(MachineLargeROM) + #define BLOCK_BUFFER_SIZE 32 +#elif DISABLED(EXTENSIBLE_UI) #define BLOCK_BUFFER_SIZE 16 +#else + #define BLOCK_BUFFER_SIZE 8 #endif // @section serial // The ASCII buffer for serial input #define MAX_CMD_SIZE 96 -#define BUFSIZE 4 - +#if ANY(MachineCR10Orig, SKRMiniE3V2, SKRMiniE3V3, MachineLargeROM) //melzi has more ram than a 2560 + #define BUFSIZE 16 +#else + #define BUFSIZE 4 +#endif // Transmission to Host Buffer Size // To save 386 bytes of flash (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. // To buffer a simple "ok" you need 4 bytes. @@ -2459,13 +2531,19 @@ // For debug-echo: 128 bytes for the optimal speed. // Other output doesn't need to be that speedy. // :[0, 2, 4, 8, 16, 32, 64, 128, 256] -#define TX_BUFFER_SIZE 32 +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #define TX_BUFFER_SIZE 32 +#else + #define TX_BUFFER_SIZE 0 +#endif // Host Receive Buffer Size // Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. // To use flow control, set this buffer size to at least 1024 bytes. // :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048] -#define RX_BUFFER_SIZE 64 +#if ENABLED(MachineEnder6) + #define RX_BUFFER_SIZE 128 +#endif #if RX_BUFFER_SIZE >= 1024 // Enable to have the controller send XON/XOFF control characters to @@ -2497,7 +2575,9 @@ * Currently handles M108, M112, M410, M876 * NOTE: Not yet implemented for all platforms. */ -#define EMERGENCY_PARSER +#if NONE(SKRPRO11) + #define EMERGENCY_PARSER +#endif /** * Realtime Reporting (requires EMERGENCY_PARSER) @@ -2523,14 +2603,18 @@ // Therefore some clients abort after 30 seconds in a timeout. // Some other clients start sending commands while receiving a 'wait'. // This "wait" is only sent when the buffer is empty. 1 second is a good value here. -//#define NO_TIMEOUTS 1000 // Milliseconds +#if NONE(MachineCR10Orig, LowMemoryBoard, MachineEnder3V2, MachineEnder3S1) || ENABLED(MelziHostOnly) + #define NO_TIMEOUTS 1000 // Milliseconds +#endif // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. -#define ADVANCED_OK +#if NONE(MachineCR10Orig, LowMemoryBoard, SKRMiniE3V2) || ENABLED(MelziHostOnly) + #define ADVANCED_OK +#endif // Printrun may have trouble receiving long strings all at once. // This option inserts short delays between lines of serial output. -//#define SERIAL_OVERRUN_PROTECTION +#define SERIAL_OVERRUN_PROTECTION // For serial echo, the number of digits after the decimal point //#define SERIAL_FLOAT_PRECISION 4 @@ -2569,7 +2653,9 @@ * * Note that M207 / M208 / M209 settings are saved to EEPROM. */ -//#define FWRETRACT + #if ENABLED(MachineLargeROM) + #define FWRETRACT +#endif #if ENABLED(FWRETRACT) #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) @@ -2599,7 +2685,9 @@ //#define TOOLCHANGE_ZRAISE_BEFORE_RETRACT // Apply raise before swap retraction (if enabled) #define TOOLCHANGE_NO_RETURN // Never return to previous position on tool-change #if ENABLED(TOOLCHANGE_NO_RETURN) - #define EVENT_GCODE_AFTER_TOOLCHANGE "G12X" // Extra G-code to run after tool-change + #if ENABLED(PurgeBucket) + #define EVENT_GCODE_AFTER_TOOLCHANGE "G12X" // G-code to run after tool-change is complete + #endif #endif /** @@ -2623,13 +2711,13 @@ #define TOOLCHANGE_FILAMENT_SWAP #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) // Load / Unload - #define TOOLCHANGE_FS_LENGTH 6 // (mm) Load / Unload length - #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 1 // (mm) Extra length for better restart. Adjust with LCD or M217 B. - #define TOOLCHANGE_FS_RETRACT_SPEED (25*60) // (mm/min) (Unloading) + #define TOOLCHANGE_FS_LENGTH 80 // (mm) Load / Unload length + #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 0 // (mm) Extra length for better restart. Adjust with LCD or M217 B. + #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/min) (Unloading) #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/min) (On SINGLENOZZLE or Bowden loading must be slowed down) // Longer prime to clean out a SINGLENOZZLE - #define TOOLCHANGE_FS_EXTRA_PRIME 0 // (mm) Extra priming length + #define TOOLCHANGE_FS_EXTRA_PRIME 2 // (mm) Extra priming length #define TOOLCHANGE_FS_PRIME_SPEED (4.6*60) // (mm/min) Extra priming feedrate #define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm) Cutting retraction out of park, for less stringing, better wipe, etc. Adjust with LCD or M217 G. @@ -2660,7 +2748,7 @@ * - Switch spools automatically on filament runout * - Switch to a different nozzle on an extruder jam */ - //#define TOOLCHANGE_MIGRATION_FEATURE + #define TOOLCHANGE_MIGRATION_FEATURE #endif @@ -2668,10 +2756,10 @@ * Position to park head during tool change. * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER */ - //#define TOOLCHANGE_PARK + #define TOOLCHANGE_PARK #if ENABLED(TOOLCHANGE_PARK) - #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/min) + #define TOOLCHANGE_PARK_XY { X_MAX_POS, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) //#define TOOLCHANGE_PARK_X_ONLY // X axis only move //#define TOOLCHANGE_PARK_Y_ONLY // Y axis only move #endif @@ -2690,51 +2778,71 @@ * * Enable PARK_HEAD_ON_PAUSE to add the G-code M125 Pause and Park. */ -#define ADVANCED_PAUSE_FEATURE +#if DISABLED(MachineCR10Orig) && ((ENABLED(SKRMiniE3V2) && DISABLED(POWER_LOSS_RECOVERY)) || DISABLED(SKRMiniE3V2)) + #define ADVANCED_PAUSE_FEATURE +#endif #if ENABLED(ADVANCED_PAUSE_FEATURE) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. - #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. + #if ANY(MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, MachineEnder6) + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 20 // (mm/s) Unload filament feedrate. This can be pretty fast. + #else + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 40 // (mm/s) Unload filament feedrate. This can be pretty fast. + #endif #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + #if ANY(MachineCR10SPro, MachineCR10SProV2, MachineEnder6) + #define FILAMENT_CHANGE_UNLOAD_LENGTH 75 + #elif ENABLED(DirectDrive) + #define FILAMENT_CHANGE_UNLOAD_LENGTH 125 + #elif ANY(MachineEnder5Plus, MachineCR10Max, MachineCR10S4, MachineCR10S5) + #define FILAMENT_CHANGE_UNLOAD_LENGTH 700 + #elif ANY(MachineEnder2, MachineEnder2Pro) + #define FILAMENT_CHANGE_UNLOAD_LENGTH 325 // (mm) The length of filament for a complete unload. + #else + #define FILAMENT_CHANGE_UNLOAD_LENGTH 430 // (mm) The length of filament for a complete unload. + #endif // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. // Set to 0 for manual unloading. #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. // 0 to disable start loading and skip to fast load only - #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 30 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 75 // (mm) Load length of filament, from extruder gear to nozzle. + #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 20 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 15 // (mm/s^2) Lower acceleration may allow a faster feedrate. + + + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH FILAMENT_CHANGE_UNLOAD_LENGTH // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + #define ADVANCED_PAUSE_PURGE_LENGTH 20 // (mm) Length to extrude after loading. // Set to 0 for manual extrusion. // Filament can be extruded repeatedly from the Filament Change menu // until extrusion is consistent, and to purge old filament. #define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park. - //#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. + #define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_PURGE_RETRACT 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_PURGE_RETRACT 4 // (mm) Unload initial retract length. #define FILAMENT_UNLOAD_PURGE_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + #define FILAMENT_UNLOAD_PURGE_LENGTH 0 // (mm) An unretract is done, then this length is purged. #define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed. + #define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - //#define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is triggered again. - //#define PAUSE_REHEAT_FAST_RESUME // Reduce number of waits by not prompting again post-timeout before continuing. + //#define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is made again + //#define PAUSE_REHEAT_FAST_RESUME // Reduce number of waits by not prompting again post timeout before continuing - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - - #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) + #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, 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 #endif // @section tmc_smart @@ -2774,7 +2882,7 @@ #define INTERPOLATE true #if AXIS_IS_TMC_CONFIG(X) - #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_CURRENT 730 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 // Multiplied x1000 for TMC26X @@ -2794,7 +2902,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Y) - #define Y_CURRENT 800 + #define Y_CURRENT 730 #define Y_CURRENT_HOME Y_CURRENT #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 @@ -2814,7 +2922,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Z) - #define Z_CURRENT 800 + #define Z_CURRENT 850 #define Z_CURRENT_HOME Z_CURRENT #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 @@ -2824,7 +2932,7 @@ #endif #if AXIS_IS_TMC_CONFIG(Z2) - #define Z2_CURRENT 800 + #define Z2_CURRENT 850 #define Z2_CURRENT_HOME Z2_CURRENT #define Z2_MICROSTEPS Z_MICROSTEPS #define Z2_RSENSE 0.11 @@ -2914,7 +3022,7 @@ #endif #if AXIS_IS_TMC_CONFIG(E0) - #define E0_CURRENT 800 + #define E0_CURRENT 730 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 @@ -2923,7 +3031,7 @@ #endif #if AXIS_IS_TMC_CONFIG(E1) - #define E1_CURRENT 800 + #define E1_CURRENT 730 #define E1_MICROSTEPS E0_MICROSTEPS #define E1_RSENSE 0.11 #define E1_CHAIN_POS -1 @@ -3019,7 +3127,9 @@ * The default SW SPI pins are defined the respective pins files, * but you can override or define them here. */ - //#define TMC_USE_SW_SPI + #if ENABLED(SKR_2130) + #define TMC_USE_SW_SPI + #endif //#define TMC_SW_MOSI -1 //#define TMC_SW_MISO -1 //#define TMC_SW_SCK -1 @@ -3038,6 +3148,12 @@ * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers * on the same serial port, either here or in your board's pins file. */ + #if ENABLED(SKRMiniE3V2) + #define X_SLAVE_ADDRESS 0 + #define Y_SLAVE_ADDRESS 2 + #define Z_SLAVE_ADDRESS 1 + #define E0_SLAVE_ADDRESS 3 + #else //#define X_SLAVE_ADDRESS 0 //#define Y_SLAVE_ADDRESS 0 //#define Z_SLAVE_ADDRESS 0 @@ -3060,6 +3176,7 @@ //#define E5_SLAVE_ADDRESS 0 //#define E6_SLAVE_ADDRESS 0 //#define E7_SLAVE_ADDRESS 0 + #endif // @section tmc/smart @@ -3142,7 +3259,9 @@ * M912 - Clear stepper driver overtemperature pre-warn condition flag. * M122 - Report driver parameters (Requires TMC_DEBUG) */ - #define MONITOR_DRIVER_STATUS + #if ENABLED(SKR_UART) && DISABLED(SKRMiniE3V2) + #define MONITOR_DRIVER_STATUS + #endif #if ENABLED(MONITOR_DRIVER_STATUS) #define CURRENT_STEP_DOWN 50 // [mA] @@ -3161,12 +3280,12 @@ */ #define HYBRID_THRESHOLD - #define X_HYBRID_THRESHOLD 70 // [mm/s] - #define X2_HYBRID_THRESHOLD 70 - #define Y_HYBRID_THRESHOLD 50 + #define X_HYBRID_THRESHOLD 150 // [mm/s] + #define X2_HYBRID_THRESHOLD 100 + #define Y_HYBRID_THRESHOLD 150 #define Y2_HYBRID_THRESHOLD 100 - #define Z_HYBRID_THRESHOLD 8 - #define Z2_HYBRID_THRESHOLD 8 + #define Z_HYBRID_THRESHOLD 10 + #define Z2_HYBRID_THRESHOLD 10 #define Z3_HYBRID_THRESHOLD 3 #define Z4_HYBRID_THRESHOLD 3 #define I_HYBRID_THRESHOLD 3 // [linear=mm/s, rotational=°/s] @@ -3256,7 +3375,9 @@ * Enable M122 debugging command for TMC stepper drivers. * M122 S0/1 will enable continuous reporting. */ - #define TMC_DEBUG + #if ENABLED(SKR_UART) && DISABLED(SKRMiniE3V2) + #define TMC_DEBUG + #endif /** * You can set your own advanced settings by filling in predefined functions. @@ -3654,7 +3775,9 @@ /** * Auto-report temperatures with M155 S */ -#define AUTO_REPORT_TEMPERATURES +#if NONE(MachineCR10Orig, LowMemoryBoard) + #define AUTO_REPORT_TEMPERATURES +#endif #if ENABLED(AUTO_REPORT_TEMPERATURES) && TEMP_SENSOR_REDUNDANT //#define AUTO_REPORT_REDUNDANT // Include the "R" sensor in the auto-report #endif @@ -3667,10 +3790,12 @@ /** * Include capabilities in M115 output */ -#define EXTENDED_CAPABILITIES_REPORT +#if NONE(MachineCR10Orig, LowMemoryBoard) + #define EXTENDED_CAPABILITIES_REPORT #if ENABLED(EXTENDED_CAPABILITIES_REPORT) //#define M115_GEOMETRY_REPORT #endif +#endif // @section security @@ -3725,7 +3850,9 @@ /** * Spend 28 bytes of SRAM to optimize the G-code parser */ -#define FASTER_GCODE_PARSER +#if NONE(MachineCR10Orig, LowMemoryBoard) + #define FASTER_GCODE_PARSER +#endif #if ENABLED(FASTER_GCODE_PARSER) //#define GCODE_QUOTED_STRINGS // Support for quoted string parameters @@ -3778,7 +3905,9 @@ * Add G-codes M810-M819 to define and run G-code macros. * Macros are not saved to EEPROM. */ -//#define GCODE_MACROS +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11) + #define GCODE_MACROS +#endif #if ENABLED(GCODE_MACROS) #define GCODE_MACROS_SLOTS 5 // Up to 10 may be used #define GCODE_MACROS_SLOT_SIZE 50 // Maximum length of a single macro @@ -3788,42 +3917,58 @@ * User-defined menu items to run custom G-code. * Up to 25 may be defined, but the actual number is LCD-dependent. */ - -// Custom Menu: Main Menu -#if ENABLED(BLTOUCH) - #define DualZComm "\nG34I8" -#else - #define DualZComm "" +#if ANY(ABL_UBL, ABL_BI) + #define CUSTOM_MENU_MAIN #endif -#define MAIN_MENU_ITEM_1_GCODE "M190S55\nG28" DualZComm "\nG29\nM400\nM104S215\nG28\nM109S215\nM420S1\nG1X100Y100F5000\nG1Z0\nM500\nM117 Set Z Offset" -//#define CUSTOM_MENU_MAIN #if ENABLED(CUSTOM_MENU_MAIN) - //#define CUSTOM_MENU_MAIN_TITLE "Custom Commands" - #define CUSTOM_MENU_MAIN_SCRIPT_DONE "M117 User Script Done" + #define CUSTOM_MENU_MAIN_TITLE "Leveling Tools" + //#define CUSTOM_MENU_MAIN_SCRIPT_DONE "M117 Wireless Script Done" #define CUSTOM_MENU_MAIN_SCRIPT_AUDIBLE_FEEDBACK - //#define CUSTOM_MENU_MAIN_SCRIPT_RETURN // Return to status screen after a script - #define CUSTOM_MENU_MAIN_ONLY_IDLE // Only show custom menu when the machine is idle + #define CUSTOM_MENU_MAIN_SCRIPT_RETURN // Return to status screen after a script + #define CUSTOM_MENU_MAIN_ONLY_IDLE // Only show custom menu when the machine is idle - #define MAIN_MENU_ITEM_1_DESC "Home & UBL Info" - #define MAIN_MENU_ITEM_1_GCODE "G28\nG29 W" - //#define MAIN_MENU_ITEM_1_CONFIRM // Show a confirmation dialog before this action + #if ENABLED(BedDC) + #define CommBedTmp "55" + #else + #define CommBedTmp "75" + #endif - #define MAIN_MENU_ITEM_2_DESC "Preheat for " PREHEAT_1_LABEL - #define MAIN_MENU_ITEM_2_GCODE "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) - //#define MAIN_MENU_ITEM_2_CONFIRM + #if ENABLED(DualZ) + #define DualZComm "\nG34I8" + #else + #define DualZComm "" + #endif - //#define MAIN_MENU_ITEM_3_DESC "Preheat for " PREHEAT_2_LABEL - //#define MAIN_MENU_ITEM_3_GCODE "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) - //#define MAIN_MENU_ITEM_3_CONFIRM + #if ENABLED(EXTENSIBLE_UI) + #define PRINTTIMERSTOP "" + #else + #define PRINTTIMERSTOP "M77\n" + #endif - //#define MAIN_MENU_ITEM_4_DESC "Heat Bed/Home/Level" - //#define MAIN_MENU_ITEM_4_GCODE "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" - //#define MAIN_MENU_ITEM_4_CONFIRM + #define MAIN_MENU_ITEM_1_DESC "Setup" + #if (ENABLED(ABL_UBL)) + #define MAIN_MENU_ITEM_1_GCODE "M190S" CommBedTmp "\nG28" DualZComm "\nG29P1\nG29P3\nG29S1\nG29S0\nG29F0.0\nG29A\nM104S215\nG28\nM109S215\nG1X150Y150F5000\nG1Z0\nM500\nM400\n" PRINTTIMERSTOP "M117 Set Z Offset" + #elif ENABLED(ABL_BI) + #define MAIN_MENU_ITEM_1_GCODE "M190S" CommBedTmp "\nG28" DualZComm "\nG29\nM400\nM104S215\nG28\nM109S215\nM420S1\nG1X100Y100F5000\nG1Z0\nM500\n" PRINTTIMERSTOP "M117 Set Z Offset" + #endif + #define MAIN_MENU_ITEM_1_CONFIRM // Show a confirmation dialog before this action - //#define MAIN_MENU_ITEM_5_DESC "Home & Info" - //#define MAIN_MENU_ITEM_5_GCODE "G28\nM503" - //#define MAIN_MENU_ITEM_5_CONFIRM + #define MAIN_MENU_ITEM_2_DESC "PID Tune" + #define MAIN_MENU_ITEM_2_GCODE "M106S128\nM303C8S215E0U\nM500\nM117 PID Tune Done" + #define MAIN_MENU_ITEM_2_CONFIRM // Show a confirmation dialog before this action + + #define MAIN_MENU_ITEM_3_DESC "Prep for Z Adjust" + #define MAIN_MENU_ITEM_3_GCODE "M190S" CommBedTmp "\nM104S215\nG28\nG29L1\nG1 X100Y100F5000\nG1Z0" + #define MAIN_MENU_ITEM_3_CONFIRM // Show a confirmation dialog before this action + + #define MAIN_MENU_ITEM_4_DESC "Store Settings" + #define MAIN_MENU_ITEM_4_GCODE "M500\nM117 Settings Stored" + #define MAIN_MENU_ITEM_4_CONFIRM // Show a confirmation dialog before this action + + //#define MAIN_MENU_ITEM_5_DESC "Run Mesh Validation" + //#define MAIN_MENU_ITEM_5_GCODE "G26" + //#define MAIN_MENU_ITEM_5_CONFIRM // Show a confirmation dialog before this action #endif // @section custom config menu @@ -3910,11 +4055,13 @@ #define HOST_ACTION_COMMANDS #if ENABLED(HOST_ACTION_COMMANDS) //#define HOST_PAUSE_M76 // Tell the host to pause in response to M76 - #define HOST_PROMPT_SUPPORT // Initiate host prompts to get user feedback + #if DISABLED(MachineCR10Orig) || ENABLED(MelziHostOnly) + #define HOST_PROMPT_SUPPORT // Initiate host prompts to get user feedback + #endif #if ENABLED(HOST_PROMPT_SUPPORT) #define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications #endif - //#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start + #define HOST_START_MENU_ITEM // Add a menu item that tells the host to start //#define HOST_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down #endif @@ -3925,7 +4072,9 @@ * * Implement M486 to allow Marlin to skip objects */ -//#define CANCEL_OBJECTS +#if NONE(MachineCR10Orig, LowMemoryBoard, EXTENSIBLE_UI, SKRMiniE3V2) || ANY(MachineCR6, MachineCR6Max) + #define CANCEL_OBJECTS +#endif #if ENABLED(CANCEL_OBJECTS) #define CANCEL_OBJECTS_REPORTING // Emit the current object as a status message #endif @@ -4271,16 +4420,17 @@ // M100 Free Memory Watcher to debug memory usage // //#define M100_FREE_MEMORY_WATCHER +//#if ENABLED(MachineLargeROM) + // + // M42 - Set pin states + // + #define DIRECT_PIN_CONTROL -// -// M42 - Set pin states -// -//#define DIRECT_PIN_CONTROL - -// -// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe -// -//#define PINS_DEBUGGING + // + // M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe + // + //#define PINS_DEBUGGING +//#endif // Enable Tests that will run at startup and produce a report //#define MARLIN_TEST_BUILD diff --git a/README.md b/README.md index 4a0875e050..e62c67ac6d 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,69 @@ -## Dwin Touch/TFT Screen supported firmware +## Creality Touch/TFT Screen supported firmware -- Info screen Version Code Reference -- - Char 1 - Driver (A-4988, T-TMC220X) -- - Char 2 - Z Stop(B-BLTouch, E-Endstop) -- - Char 3 - Screen(L-LowRes, H-THighRes) -- - Char 4 - Bed (A-AC, D-DC) -- - Char 5 - Endstop(O-Optical Y, M-Mechanical Y) -- - Char 6 - Extruder (T-Titan, B-BMG, L-LGX, S-Basic) +This branch adds support for the Creality touchscreen machines and was split off from the standard Creality branches due to specific custom changes not found upstream. This includes extensions to the EXTui framework among other smaller tweaks that we have been working towards getting submitted upstream. Machines supported here are : + +- [CR10S Pro / V2](https://www.tinymachines3d.com/products/cr-10s-pro-v2-3d-printer?rfsn=3419592.cc302fe) +- [CR10 Max](https://www.tinymachines3d.com/products/creality-cr-10-max-3d-printer?rfsn=3419592.cc302fe) +- [Ender 5 Plus](https://www.tinymachines3d.com/products/ender-5-plus-silent-board-custom-dual-z-3d-printer?rfsn=3419592.cc302fe) +- [Ender 6](https://amzn.to/3JRyOhi) +- [CR-X / Pro](https://www.tinymachines3d.com/products/creality-cr-x-pro-3d-printer-with-dual-extruder-and-bl-touch?rfsn=3419592.cc302fe) +- [CR10 V2 ](https://www.tinymachines3d.com/products/creality-cr-10-v2-3d-printer?rfsn=3419592.cc302fe) +- [CR10 V3 ](https://www.tinymachines3d.com/products/creality-cr-10-v3-plus-3d-printer-with-genuine-e3d-direct-drive-extruder-and-bl-touch?rfsn=3419592.cc302fe) +- [Ender 3 / Pro 4.2.2 and 4.2.7](https://amzn.to/3BRHlxY) +- [Ender 3 V2](https://www.tinymachines3d.com/products/ender-3-v2?rfsn=3419592.cc302fe) +- [Ender 3 Max](https://www.tinymachines3d.com/products/ender-3-max-3d-printer?rfsn=3419592.cc302fe) +- [Ender 5 / Pro 4.2.2 and 4.2.7](https://amzn.to/3gMb2Yu) +- [CR10S5 500mm](https://www.tinymachines3d.com/products/creality-cr-10-s5-3d-printer?rfsn=3419592.cc302fe) +- [CR6 SE](https://www.tinymachines3d.com/products/creality-cr-6-se-3d-printer?rfsn=3419592.cc302fe) +- [CR6 Max](https://www.tinymachines3d.com/products/creality-cr-6-max-3d-printer?rfsn=3419592.cc302fe) +- [CR10 Smart](https://www.tinymachines3d.com/products/creality-cr-10-smart-3d-printer?rfsn=3419592.cc302fe) +- [Ender 7](https://www.tinymachines3d.com/products/ender-7-3d-printer?rfsn=3419592.cc302fe) +- [CR30](https://www.tinymachines3d.com/products/cr-30-infinite-z-belt-3d-printer?rfsn=3419592.cc302fe) +- [Sermoon D1](https://amzn.to/3LXfZeD) +- [CR5 / Pro HT](https://amzn.to/3gWvpBt) +- [Ender 3 S1](https://www.tinymachines3d.com/products/ender-3-s1-3d-printer?rfsn=3419592.cc302fe) +- [Ender 2 Pro](https://www.tinymachines3d.com/products/ender-2-pro-3d-printer?rfsn=3419592.cc302fe) + +- CR10S, CR10S4, CR20 and Pro, CR10, CR10Mini, CR2020, Ender 4, Ender 2 - Legacy support +- These configurations exist however due to age and product availability are no longer actively tested + +## Coming Soon +- [CR10 Smart Pro](https://www.tinymachines3d.com/products/cr-10-smart-pro-3d-printer?rfsn=3419592.cc302fe) +- [CR200B]() + +## Resin machines below from Tiny Machines are listed simply as an additional way to help support the project. If youre considering buying one, please do so through the following links : + - [Halot One CL-60](https://www.tinymachines3d.com/products/halot-one-cl-60-resin-3d-printer?rfsn=3419592.cc302fe) + - [LD-002R](https://www.tinymachines3d.com/products/ld-002r-resin-printer?rfsn=3419592.cc302fe) + - [LD-002H](https://www.tinymachines3d.com/products/ld-002h-resin-3d-printer?rfsn=3419592.cc302fe) + - [LD-006](https://www.tinymachines3d.com/products/ld-006-resin-3d-printer?rfsn=3419592.cc302fe) + - [UW-02 Washer](https://www.tinymachines3d.com/products/uw-02-washing-curing-machine?rfsn=3419592.cc302fe) + + +Ender 3V2 has a dedicated file set. CR10 Smart has a dedicated high resolution screen set. Portrait displays use the CR6/E3 Touch variant and landscape use the combined set. + +Screen files are archived with [7-Zip](https://www.7-zip.org/) simply because it came out 1/5 the file size of a zip file. That added up fast! + +There is a limitation with Windows systems and path depth so the file names need to be shorter than we would prefer. If you get an error compiling due to the path limit, move the folder to the root of your hard drive. Here is a legend to help decode the files: + +- BLT = BLTouch +- BIL = Bilinear Leveling +- UBL - Unified Bed Leveling +- DZ = Dual Z Steppers +- Fil = FilamentRunout +- Slnt = Creality Silent Board +- H = E3D Hemera Extruder +- MC = Mosquito Creality mount +- ME = Mosquito E3D mount +- Melzi Host option disables local SD card to allow more features and buffer for Octoprint control +- NF = Noise filtering for machines with cable extensions - reduces homing accuracy! +- LR = Stock runout replaced with Lerdge +- ZM = BLTouch connected to ZMin port instead of Probe pin 5 connector harness ## Support -This firmware is provided to the public as-is with no warranty or guarantee. It's based on a large open source project and there is no entitlement to support. That said, LNL Solutions customers may obtain support through their normal support queue. I will provide support to Patreons as I am able. Aside from this, we are active on many discord channels and typically help anyone we can when we come across them. +This firmware is provided to the public as-is with no warranty or guarantee. It's based on a large open source project and there is no entitlement to support. That said, Tiny Machines 3D customers may obtain +support through their normal support queue. I will provide support to Patreons as I am able. If you require more immediate support and are not a Tiny Machines 3D customer, you may contact them at +support@tinymachines3d.com about purchasing support hours. Aside from this, we are active on many Facebook groups as well as several discord channels and typically help anyone we can when we come across them. We have now created a dedicated Discord server to handle support and archive relevant guides and instructions. Patreon supporters will get priority assistance. @@ -28,7 +81,6 @@ Insanity Automation Discord - https://discord.gg/TKmJ85PyG4 ## Primary Notes for DW7.4.7 - Added IDEX screens - - Added Branch / support for Tenlog IDEX machines with LNL Solutions - Fan adjustment now numeric instead of simple on/off - Tap Z offset on adjustment screen to type numeric value - Sync to 2.1.2 with LA now on for all builds, Silent specific builds eliminated @@ -175,4 +227,4 @@ This is just one of many forks of Marlin. We don't try to bury that behind fancy Marlin is published under the [GPL license](/LICENSE) because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork. -While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own. \ No newline at end of file +While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own. diff --git a/platformio.ini b/platformio.ini index c9811b4815..9d3062169c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,146 +14,380 @@ src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards default_envs = - D3P_A4988 - D3P_A4988_BLTouch - D3P_A4988_DualGear - D3P_A4988_DualGear_BLTouch - D3P_220X - D3P_220X_OpticalY - D3P_220X_OpticalY_BLTouch - D3P_220X_DualGear - D3P_220X_DualGear_OpticalY_ACBed - D3P_220X_DualGear_OpticalY_BLTouch_ACBed - D3P_220X_DualGear_BLTouch - D3P_220X_DualGear_BLTouch_ACBed - D3P_220X_OpticalY_DualGear - D3P_220X_DualGear_OpticalY_BLTouch - D5P_220X - D5P_220X_OpticalY - D5P_220X_OpticalY_BLTouch - D5P_220X_DualGear - D5P_220X_DualGear_OpticalY_ACBed - D5P_220X_DualGear_OpticalY_BLTouch_ACBed - D5P_220X_DualGear_BLTouch - D5P_220X_DualGear_BLTouch_ACBed - D5P_220X_OpticalY_DualGear - D6P_220X - D6P_220X_OpticalY - D6P_220X_OpticalY_BLTouch - D6P_220X_DualGear - D6P_220X_DualGear_OpticalY_ACBed - D6P_220X_DualGear_OpticalY_BLTouch_ACBed - D6P_220X_DualGear_BLTouch - D6P_220X_DualGear_BLTouch_ACBed - D6P_220X_OpticalY_DualGear - D3S_220X_DualGear - D6P_220X_OpticalY - D3P_A4988_LowRes - D3P_A4988_BLTouch_LowRes - D3P_A4988_DualGear_LowRes - D3P_A4988_DualGear_BLTouch_LowRes - D3P_220X_LowRes - D3P_220X_OpticalY_LowRes - D3P_220X_OpticalY_BLTouch_LowRes - D3P_220X_DualGear_LowRes - D3P_220X_DualGear_OpticalY_BLTouch_LowRes - D3P_220X_DualGear_OpticalY_ACBed_LowRes - D3P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes - D3P_220X_DualGear_BLTouch_LowRes - D3P_220X_DualGear_BLTouch_ACBed_LowRes - D3P_220X_OpticalY_DualGear_LowRes - D5P_220X_LowRes - D5P_220X_OpticalY_LowRes - D5P_220X_OpticalY_BLTouch_LowRes - D5P_220X_DualGear_LowRes - D5P_220X_DualGear_OpticalY_ACBed_LowRes - D5P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes - D5P_220X_DualGear_BLTouch_LowRes - D5P_220X_DualGear_BLTouch_ACBed_LowRes - D5P_220X_OpticalY_DualGear_LowRes - D6P_220X_LowRes - D6P_220X_OpticalY_LowRes - D6P_220X_OpticalY_BLTouch_LowRes - D6P_220X_DualGear_LowRes - D6P_220X_DualGear_OpticalY_ACBed_LowRes - D6P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes - D6P_220X_DualGear_BLTouch_LowRes - D6P_220X_DualGear_BLTouch_ACBed_LowRes - D6P_220X_OpticalY_DualGear_LowRes - D3S_220X_DualGear_LowRes - D6P_220X_OpticalY_LowRes - D3P_A4988_Vul - D3P_A4988_BLTouch_Vul - D3P_A4988_DualGear_Vul - D3P_A4988_DualGear_BLTouch_Vul - D3P_220X_Vul - D3P_220X_OpticalY_Vul - D3P_220X_OpticalY_BLTouch_Vul - D3P_220X_DualGear_Vul - D3P_220X_DualGear_OpticalY_ACBed_Vul - D3P_220X_DualGear_OpticalY_BLTouch_ACBed_Vul - D3P_220X_DualGear_BLTouch_Vul - D3P_220X_DualGear_BLTouch_ACBed_Vul - D3P_220X_OpticalY_DualGear_Vul - D3P_220X_DualGear_OpticalY_BLTouch_Vul - D5P_220X_Vul - D5P_220X_OpticalY_Vul - D5P_220X_OpticalY_BLTouch_Vul - D5P_220X_DualGear_Vul - D5P_220X_DualGear_OpticalY_ACBed_Vul - D5P_220X_DualGear_OpticalY_BLTouch_ACBed_Vul - D5P_220X_DualGear_BLTouch_Vul - D5P_220X_DualGear_BLTouch_ACBed_Vul - D5P_220X_OpticalY_DualGear_Vul - D6P_220X_Vul - D6P_220X_OpticalY_Vul - D6P_220X_OpticalY_BLTouch_Vul - D6P_220X_DualGear_Vul - D6P_220X_DualGear_OpticalY_ACBed_Vul - D6P_220X_DualGear_OpticalY_BLTouch_ACBed_Vul - D6P_220X_DualGear_BLTouch_Vul - D6P_220X_DualGear_BLTouch_ACBed_Vul - D3P_220X_DualGear_OpticalY_BLTouch_LowRes_Vul - D6P_220X_OpticalY_DualGear_Vul - D3S_220X_DualGear_Vul - D6P_220X_OpticalY_Vul - D3P_A4988_LowRes_Vul - D3P_A4988_BLTouch_LowRes_Vul - D3P_A4988_DualGear_LowRes_Vul - D3P_A4988_DualGear_BLTouch_LowRes_Vul - D3P_220X_LowRes_Vul - D3P_220X_OpticalY_LowRes_Vul - D3P_220X_OpticalY_BLTouch_LowRes_Vul - D3P_220X_DualGear_LowRes_Vul - D3P_220X_DualGear_OpticalY_ACBed_LowRes_Vul - D3P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes_Vul - D3P_220X_DualGear_BLTouch_LowRes_Vul - D3P_220X_DualGear_BLTouch_ACBed_LowRes_Vul - D3P_220X_OpticalY_DualGear_LowRes_Vul - D5P_220X_LowRes_Vul - D5P_220X_OpticalY_LowRes_Vul - D5P_220X_OpticalY_BLTouch_LowRes_Vul - D5P_220X_DualGear_LowRes_Vul - D5P_220X_DualGear_OpticalY_ACBed_LowRes_Vul - D5P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes_Vul - D5P_220X_DualGear_BLTouch_LowRes_Vul - D5P_220X_DualGear_BLTouch_ACBed_LowRes_Vul - D5P_220X_OpticalY_DualGear_LowRes_Vul - D6P_220X_LowRes_Vul - D6P_220X_OpticalY_LowRes_Vul - D6P_220X_OpticalY_BLTouch_LowRes_Vul - D6P_220X_DualGear_LowRes_Vul - D6P_220X_DualGear_OpticalY_ACBed_LowRes_Vul - D6P_220X_DualGear_OpticalY_BLTouch_ACBed_LowRes_Vul - D6P_220X_DualGear_BLTouch_LowRes_Vul - D6P_220X_DualGear_BLTouch_ACBed_LowRes_Vul - D6P_220X_OpticalY_DualGear_LowRes_Vul - D3S_220X_DualGear_LowRes_Vul - D6P_220X_OpticalY_LowRes_Vul - + 10SPro_BIL + 10SPro_BLT_BIL + CRX_BLT_UBL_NoFil + CRX_BLT_BIL_NoFil + E5P_UBL_DZ + E5P_BIL_DZ + E5P_UBL + E5P_BIL + CR10Max_UBL + CR10Max_BIL + 10SProV2_UBL + 10SPro_BLT_UBL + 10SPro_UBL + CRX_BLT_UBL_Fil + CRX_BLT_BIL_Fil + 10SProV2_BIL + CRX_NoFil + CRX_Fil + E5P_BIL_DZH + E5P_UBLH + E5P_BILH + E5P_UBL_DZH + 10SPro_BLT_UBL_Enc + S5_AC + S5_BLT + S5 + S5_BLT_AC + S4_BLT_AC + S4_AC + S4_BLT + S4 + CR2020 + CR10V2_BLT + CR10V2 + CR10V3 + CR10S_BLT + CR10S + CR20_Pro + CR20_BLT + CR20 + Ender4_BLT + Ender4 + CR10_BLT_Host + CR10_BLT_SD + CR10 + CR10Mini_BLT_Host + CR10Mini_BLT_SD + CR10Mini + Ender5_BLT_Host + Ender5_BLT_SD + Ender5 + Ender2_BLT_Host + Ender2_BLT_SD + Ender2 + Ender3_BLT_Host + Ender3_BLT_SD + Ender3 + CR10S_BLT_UBL + CR20_Pro_UBL + CR10V2_UBL + CR10V2_BLT_UBL + S4_BLT_UBL + S4_BLT_AC_UBL + S5_BLT_UBL + S5_BLT_AC_UBL + 10SPro_BIL_MC + 10SPro_BLT_BIL_MC + 10SProV2_BIL_MC + 10SPro_UBL_MC + 10SPro_BLT_UBL_MC + 10SProV2_UBL_MC + CR10Max_BIL_MC + CR10Max_UBL_MC + E5P_BIL_MC + E5P_UBL_MC + E5P_BIL_DZ_MC + E5P_UBL_DZ_MC + CRX_BLT_BILNoFilMC + CRX_BLT_UBLNoFilMC + CRX_BLT_BIL_Fil_MC + CRX_BLT_UBL_Fil_MC + CRX_NoFil_MC + CRX_Fil_MC + CRXPro_BIL_NoFil + CRXPro_UBL_NoFil + CRXPro_BIL_Fil + CRXPro_UBL_Fil + CRXPro_BILNoFilMC + CRXPro_UBLNoFilMC + CRXPro_BIL_Fil_MC + CRXPro_UBL_Fil_MC + CRXPro_BILNoFilME + CRXPro_UBLNoFilME + CRXPro_BIL_Fil_ME + CRXPro_UBL_Fil_ME + 10SProBLTUBLEncMC + Ender4_MC + Ender4_BLT_MC + Ender4_BLT_UBL_MC + CR20_MC + CR20_BLT_MC + CR20_BLT_UBL_MC + CR20_Pro_MC + CR20_Pro_UBL_MC + CR10S_MC + CR10S_BLT_MC + CR10V2_MC + CR10V2_BLT_MC + CR10S_BLT_UBL_MC + CR10V2_UBL_MC + CR10V2_BLT_UBL_MC + S4_MC + S4_BLT_UBL_MC + S4_AC_MC + S4_BLT_AC_UBL_MC + S5_MC + S5_BLT_UBL_MC + S5_AC_MC + S5_BLT_AC_UBL_MC + Ender3_MC + Ender3_BLT_SD_MC + Ender3_BLT_Host_MC + Ender2_MC + Ender2_BLT_SD_MC + Ender2_BLT_Host_MC + Ender5_MC + Ender5_BLT_SD_MC + Ender5_BLT_Host_MC + CR10Mini_MC + CR10Mini_BLT_SD_MC + CR10MiniBLTHostMC + CR10_MC + CR10_BLT_SD_MC + CR10_BLT_Host_MC + 10SPro_BIL_ME + 10SPro_BLT_BIL_ME + 10SProV2_BIL_ME + 10SPro_UBL_ME + 10SPro_BLT_UBL_ME + 10SProV2_UBL_ME + CR10Max_BIL_ME + CR10Max_UBL_ME + E5P_BIL_ME + E5P_UBL_ME + E5P_BIL_DZ_ME + E5P_UBL_DZ_ME + CRX_BLTBILNoFilME + CRX_BLTUBLNoFilME + CRX_BLT_BIL_Fil_ME + CRX_BLT_UBL_Fil_ME + CRX_NoFil_ME + CRX_Fil_ME + 10SPro_BLTUBLEncME + Ender4_ME + Ender4_BLT_ME + Ender4_BLT_UBL_ME + CR20_ME + CR20_BLT_ME + CR20_BLT_UBL_ME + CR20_Pro_ME + CR20_Pro_UBL_ME + CR10S_ME + CR10S_BLT_ME + CR10V2_ME + CR10V2_BLT_ME + CR10S_BLT_UBL_ME + CR10V2_UBL_ME + CR10V2_BLT_UBL_ME + S4_ME + S4_BLT_UBL_ME + S4_AC_ME + S4_BLT_AC_UBL_ME + S5_ME + S5_BLT_UBL_ME + S5_AC_ME + S5_BLT_AC_UBL_ME + Ender3_ME + Ender3_BLT_SD_ME + Ender3_BLT_Host_ME + Ender2_ME + Ender2_BLT_SD_ME + Ender2_BLT_Host_ME + Ender5_ME + Ender5_BLT_SD_ME + Ender5_BLT_Host_ME + CR10Mini_ME + CR10Mini_BLT_SD_ME + CR10MiniBLTHostME + CR10_ME + CR10_BLT_SD_ME + CR10_BLT_Host_ME + Ender4_BLT_UBL + CR20_BLT_UBL + S4_BLT_MC + S4_BLT_AC_MC + S5_BLT_MC + S5_BLT_AC_MC + S4_BLT_ME + S4_BLT_AC_ME + S5_BLT_ME + S5_BLT_AC_ME + CR10S_NF + CR10S_BLT_NF + CR10V2_NF + CR10V2_BLT_NF + CR10S_BLT_UBL_NF + CR10V2_UBL_NF + CR10V2_BLT_UBL_NF + S4_NF + S4_BLT_UBL_NF + S4_BLT_NF + S4_AC_NF + S4_BLT_AC_NF + S4_BLT_AC_UBL_NF + S5_NF + S5_BLT_NF + S5_BLT_UBL_NF + S5_AC_NF + S5_BLT_AC_NF + S5_BLT_AC_UBL_NF + CR10S_MC_NF + CR10S_BLT_MC_NF + CR10V2_MC_NF + CR10V2_BLT_MC_NF + CR10S_BLT_UBL_MC_NF + CR10V2_UBL_MC_NF + CR10V2_BLT_UBL_MC_NF + S4_MC_NF + S4_BLT_MC_NF + S4_BLT_UBL_MC_NF + S4_AC_MC_NF + S4_BLT_AC_MC_NF + S4_BLT_AC_UBL_MC_NF + S5_MC_NF + S5_BLT_MC_NF + S5_BLT_UBL_MC_NF + S5_AC_MC_NF + S5_BLT_AC_MC_NF + S5_BLT_AC_UBL_MC_NF + CR10_MC_NF + CR10_BLT_SD_MC_NF + CR10_BLT_Host_MC_NF + CR10S_ME_NF + CR10S_BLT_ME_NF + CR10V2_ME_NF + CR10V2_BLT_ME_NF + CR10S_BLT_UBL_ME_NF + CR10V2_UBL_ME_NF + CR10V2_BLT_UBL_ME_NF + S4_ME_NF + S4_BLT_ME_NF + S4_BLT_UBL_ME_NF + S4_AC_ME_NF + S4_BLT_AC_ME_NF + S4_BLT_AC_UBL_ME_NF + S5_ME_NF + S5_BLT_ME_NF + S5_BLT_UBL_ME_NF + S5_AC_ME_NF + S5_BLT_AC_ME_NF + S5_BLT_AC_UBL_ME_NF + CR20_LR + CR20_BLT_LR + CR20_BLT_UBL_LR + CR20_Pro_LR + CR20_Pro_UBL_LR + CR10S_LR + CR10S_BLT_LR + S4_LR + S4_BLT_UBL_LR + S4_BLT_LR + S4_AC_LR + S4_BLT_AC_LR + S4_BLT_AC_UBL_LR + S5_LR + S5_BLT_LR + S5_BLT_UBL_LR + S5_AC_LR + S5_BLT_AC_LR + S5_BLT_AC_UBL_LR + CR10S_NF_LR + CR10S_BLT_NF_LR + CR10S_BLT_UBL_NF_LR + S4_NF_LR + S4_BLT_UBL_NF_LR + S4_BLT_NF_LR + S4_AC_NF_LR + S4_BLT_AC_NF_LR + S4_BLT_AC_UBL_NF_LR + S5_NF_LR + S5_BLT_NF_LR + S5_BLT_UBL_NF_LR + S5_AC_NF_LR + S5_BLT_AC_NF_LR + S5_BLT_AC_UBL_NF_LR + Ender3V2 + Ender3V2_427 + Ender3V2_427_BLT + Ender3V2_427_BLT_ZM + Ender3V2_BLT + Ender3V2_BLT_ZM + Ender3V2_LR + Ender3V2_427_LR + Ender3V2_427_BLT_LR + Ender3V2_427_BLT_ZM_LR + Ender3V2_BLT_LR + Ender3V2_BLT_ZM_LR + Ender3_422 + Ender3_422_BLT + Ender3_422_BLT_ZM + Ender3_427 + Ender3_427_BLT + Ender3_427_BLT_ZM + Ender3_422_LR + Ender3_422_BLT_LR + Ender3_422_BLT_ZM_LR + Ender3_427_LR + Ender3_427_BLT_LR + Ender3_427_BLT_ZM_LR + Ender3S1 + Ender3S1F4 + Ender3Max_422 + Ender3Max_422_BLT + Ender3Max_422_BLT_ZM + Ender3Max_427 + Ender3Max_427_BLT + Ender3Max_427_BLT_ZM + Ender3Max_422_LR + Ender3Max_422_BLT_LR + Ender3Max_422_BLT_ZM_LR + Ender3Max_427_LR + Ender3Max_427_BLT_LR + Ender3Max_427_BLT_ZM_LR + Ender5Pro_422 + Ender5Pro_422_BLT + Ender5Pro_422_BLT_ZM + Ender5Pro_427 + Ender5Pro_427_BLT + Ender5Pro_427_BLT_ZM + Ender5Pro_422_LR + Ender5Pro_422_BLT_LR + Ender5Pro_422_BLT_ZM_LR + Ender5Pro_427_LR + Ender5Pro_427_BLT_LR + Ender5Pro_427_BLT_ZM_LR + Ender6 + Ender6_BLT + Ender6_BLT_ZM + Ender7 + Ender7_BLT + Ender7_BLT_ZM + CR6_452 + CR6_453 + CR6_LGX_452 + CR6_LGX_453 + CR6Max_452 + CR6Max_453 + CR6Max_LGX_452 + CR6Max_LGX_453 + CR30 + SermoonD1 + SermoonD1_BLT + SermoonD1_BLT_ZM + CR10Smart + CR10Smart_64kBL + CR10SmartPro + Ender2Pro + Ender2Pro_BLT + CR5Pro + CR5Pro_BLT include_dir = Marlin extra_configs = + Marlin/config.ini ini/avr.ini ini/due.ini ini/esp32.ini @@ -172,7 +406,6 @@ extra_configs = ini/stm32g0.ini ini/teensy.ini ini/renamed.ini - ini/tenlog.ini # # The 'common' section applies to most Marlin builds. @@ -184,12 +417,13 @@ extra_configs = build_flags = -g3 -D__MARLIN_FIRMWARE__ -DNDEBUG -fmax-errors=5 extra_scripts = + pre:buildroot/share/PlatformIO/scripts/configuration.py pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py pre:buildroot/share/PlatformIO/scripts/preflight-checks.py post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py lib_deps = -default_src_filter = + - - + +default_src_filter = + - - + - - - - - - - - - - - - - @@ -226,7 +460,7 @@ default_src_filter = + - - + - - - - - + - - - - @@ -245,6 +479,7 @@ default_src_filter = + - - + - - - - - + - - - - - - - @@ -417,8 +652,3269 @@ monitor_eol = LF monitor_echo = yes monitor_filters = colorize, time, send_on_enter +# # +# Unique Core Architectures # +# # +# Add a new "env" below if no # +# entry has values suitable to # +# build for a given board. # +# # +################################# + +################################# +# # +# AVR Architecture # +# # +################################# + # -# Just print the dependency tree +# AVR (8-bit) Common Environment values +# +[common_avr8] +board_build.f_cpu = 16000000L +src_filter = ${common.default_src_filter} + + +# +# ATmega2560 +# +[env:mega2560] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 + + +[env:10SPro_BIL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC + +[env:10SPro_BLT_BIL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH + +[env:10SProV2_BIL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC + +[env:10SPro_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_UBL + +[env:10SPro_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:10SProV2_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC -DABL_UBL + +[env:CR10Max_BIL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC + +[env:CR10Max_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC -DABL_UBL + +[env:E5P_BIL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC + +[env:E5P_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL + +[env:E5P_BIL_DZ] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DDualZ + +[env:E5P_UBL_DZ] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DDualZ + +[env:E5P_BILH] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DE3DHemera + +[env:E5P_UBLH] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DE3DHemera + +[env:E5P_BIL_DZH] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DDualZ -DE3DHemera + +[env:E5P_UBL_DZH] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DDualZ -DE3DHemera + +[env:CRX_BLT_BIL_NoFil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY + +[env:CRX_BLT_UBL_NoFil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY + +[env:CRX_BLT_BIL_Fil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DFilSensors + +[env:CRX_BLT_UBL_Fil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY -DFilSensors + +[env:CRX_NoFil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC + +[env:CRX_Fil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DFilSensors + +[env:CRXPro_BIL_NoFil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal + +[env:CRXPro_UBL_NoFil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL + +[env:CRXPro_BIL_Fil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DFilSensors + +[env:CRXPro_UBL_Fil] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL -DFilSensors + +[env:CRXPro_BILNoFilMC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DHotendMosquito + +[env:CRXPro_UBLNoFilMC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL -DHotendMosquito + +[env:CRXPro_BIL_Fil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DFilSensors -DHotendMosquito + +[env:CRXPro_UBL_Fil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL -DFilSensors -DHotendMosquito + +[env:CRXPro_BILNoFilME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DHotendMosquito -DHotendE3D + +[env:CRXPro_UBLNoFilME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CRXPro_BIL_Fil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DFilSensors -DHotendMosquito -DHotendE3D + +[env:CRXPro_UBL_Fil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRXPro -DHotendAllMetal -DABL_UBL -DFilSensors -DHotendMosquito -DHotendE3D + +[env:10SPro_BLT_UBL_Enc] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFilamentEncoder + +[env:Ender4] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DHotendAllMetal -DBedDC + +[env:Ender4_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH + +[env:Ender4_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:CR20] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DHotendAllMetal -DBedDC + +[env:CR20_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH + +[env:CR20_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:CR20_Pro] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH + +[env:CR20_Pro_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:CR10S] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC + +[env:CR10S_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH + +[env:CR10V2] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC + +[env:CR10V2_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH + +[env:CR10V3] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV3 -DBedDC + +[env:CR10S_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:CR10V2_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL + +[env:CR10V2_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL + +[env:CR2020] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR2020 -DHotendAllMetal -DBedDC + +[env:S4] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine + +[env:S4_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL + +[env:S4_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine + +[env:S4_AC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine + +[env:S4_BLT_AC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine + +[env:S4_BLT_AC_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL + +[env:S5] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine + +[env:S5_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme + +[env:S5_BLT_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL + +[env:S5_AC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine + +[env:S5_BLT_AC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme + +[env:S5_BLT_AC_UBL] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL + +[env:CR10S_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DCableExtensionNoiseFilter + +[env:CR10S_BLT_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DCableExtensionNoiseFilter + +[env:CR10V2_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DCableExtensionNoiseFilter + +[env:CR10S_BLT_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DCableExtensionNoiseFilter + +[env:CR10V2_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL -DCableExtensionNoiseFilter + +[env:S4_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DCableExtensionNoiseFilter + +[env:S4_BLT_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DCableExtensionNoiseFilter + +[env:S4_BLT_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DCableExtensionNoiseFilter + +[env:S4_AC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DCableExtensionNoiseFilter + +[env:S5_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DCableExtensionNoiseFilter + +[env:S5_BLT_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DCableExtensionNoiseFilter + +[env:S5_BLT_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DCableExtensionNoiseFilter + +[env:S5_AC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_UBL_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DCableExtensionNoiseFilter + +[env:Ender3] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DHotendAllMetal -DBedDC +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DHotendAllMetal -DBedDC -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_SD] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DHotendAllMetal -DBedDC +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_SD] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DHotendAllMetal -DBedDC +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_SD] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DHotendAllMetal -DBedDC +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_BLT_SD] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_BLT_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DHotendAllMetal -DBedDC +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_SD] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_Host] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DMelziHostOnly +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:10SPro_BIL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:10SPro_BLT_BIL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:10SProV2_BIL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:10SPro_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito + +[env:10SPro_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:10SProV2_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito + +[env:CR10Max_BIL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:CR10Max_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:E5P_BIL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:E5P_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito + +[env:E5P_BIL_DZ_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DDualZ -DHotendMosquito + +[env:E5P_UBL_DZ_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DDualZ -DHotendMosquito + +[env:CRX_BLT_BILNoFilMC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DHotendMosquito + +[env:CRX_BLT_UBLNoFilMC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY -DHotendMosquito + +[env:CRX_BLT_BIL_Fil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DFilSensors -DHotendMosquito + +[env:CRX_BLT_UBL_Fil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY -DFilSensors -DHotendMosquito + +[env:CRX_NoFil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:CRX_Fil_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DFilSensors -DHotendMosquito + +[env:10SProBLTUBLEncMC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFilamentEncoder -DHotendMosquito + +[env:Ender4_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:Ender4_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:Ender4_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:CR20_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:CR20_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:CR20_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:CR20_Pro_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:CR20_Pro_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:CR10S_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:CR10S_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:CR10V2_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DHotendMosquito + +[env:CR10V2_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DHotendMosquito + +[env:CR10S_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:CR10V2_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito + +[env:CR10V2_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito + +[env:S4_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito + +[env:S4_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DHotendMosquito + +[env:S4_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito + +[env:S4_AC_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito + +[env:S4_BLT_AC_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DHotendMosquito + +[env:S4_BLT_AC_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito + +[env:S5_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito + +[env:S5_BLT_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito + +[env:S5_BLT_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito + +[env:S5_AC_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito + +[env:S5_BLT_AC_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito + +[env:S5_BLT_AC_UBL_MC] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito + +[env:Ender3_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DHotendAllMetal -DBedDC -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_SD_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_Host_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DHotendAllMetal -DBedDC -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_SD_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_Host_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DHotendAllMetal -DBedDC -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_SD_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_Host_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DHotendAllMetal -DBedDC -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_BLT_SD_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10MiniBLTHostMC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DHotendAllMetal -DBedDC -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_SD_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_Host_MC] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:10SPro_BIL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:10SPro_BLT_BIL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:10SProV2_BIL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:10SPro_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:10SPro_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:10SProV2_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SProV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR10Max_BIL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:CR10Max_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10Max -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:E5P_BIL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:E5P_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:E5P_BIL_DZ_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DDualZ -DHotendMosquito -DHotendE3D + +[env:E5P_UBL_DZ_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder5Plus -DHotendAllMetal -DBedDC -DABL_UBL -DDualZ -DHotendMosquito -DHotendE3D + +[env:CRX_BLTBILNoFilME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DHotendMosquito -DHotendE3D + +[env:CRX_BLTUBLNoFilME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY -DHotendMosquito -DHotendE3D + +[env:CRX_BLT_BIL_Fil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DFilSensors -DHotendMosquito -DHotendE3D + +[env:CRX_BLT_UBL_Fil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFORCE10SPRODISPLAY -DFilSensors -DHotendMosquito -DHotendE3D + +[env:CRX_NoFil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:CRX_Fil_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCRX -DHotendAllMetal -DBedDC -DFilSensors -DHotendMosquito -DHotendE3D + +[env:10SPro_BLTUBLEncME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SPro -DHotendAllMetal -DBedDC -DABL_BLTOUCH -DABL_UBL -DFilamentEncoder -DHotendMosquito -DHotendE3D + +[env:Ender4_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:Ender4_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:Ender4_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineEnder4 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR20_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:CR20_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:CR20_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR20_Pro_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:CR20_Pro_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR10S_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:CR10S_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:CR10V2_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D + +[env:CR10V2_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D + +[env:CR10S_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR10V2_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:CR10V2_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:S4_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S4_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S4_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:S4_AC_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S4_BLT_AC_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S4_BLT_AC_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:S5_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S5_BLT_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DHotendE3D + +[env:S5_BLT_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:S5_AC_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DHotendE3D + +[env:S5_BLT_AC_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DHotendE3D + +[env:S5_BLT_AC_UBL_ME] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DHotendE3D + +[env:Ender3_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_SD_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender3_BLT_Host_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder3 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_SD_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender2_BLT_Host_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder2 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_SD_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:Ender5_BLT_Host_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineEnder5 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10Mini_BLT_SD_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10MiniBLTHostME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineMini -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_SD_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_Host_ME] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DHotendE3D +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10S_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10S_BLT_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10V2_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10S_BLT_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10V2_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_BLT_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_BLT_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_AC_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_BLT_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_BLT_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_AC_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_UBL_MC_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DCableExtensionNoiseFilter + +[env:CR10_MC_NF] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DHotendAllMetal -DBedDC -DHotendMosquito -DCableExtensionNoiseFilter +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_SD_MC_NF] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DCableExtensionNoiseFilter +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10_BLT_Host_MC_NF] +platform = atmelavr +extends = common_avr8 +board = sanguino_atmega1284p +build_flags = ${common.build_flags} -DMachineCR10 -DBedDC -DABL_BLTOUCH -DMelziHostOnly -DHotendMosquito -DCableExtensionNoiseFilter +lib_ignore = TMCStepper +upload_speed = 57600 + +[env:CR10S_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10S_BLT_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10V2_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10S_BLT_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10V2_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DHotendAllMetal -DBedDC -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR10V2_BLT_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10SV2 -DBedDC -DABL_BLTOUCH -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_BLT_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_BLT_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_AC_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S4_BLT_AC_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_BLT_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_BLT_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_AC_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:S5_BLT_AC_UBL_ME_NF] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DHotendMosquito -DHotendE3D -DCableExtensionNoiseFilter + +[env:CR20_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DHotendAllMetal -DBedDC -DlerdgeFilSensor + +[env:CR20_BLT_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DlerdgeFilSensor + +[env:CR20_BLT_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20 -DBedDC -DABL_BLTOUCH -DABL_UBL -DlerdgeFilSensor + +[env:CR20_Pro_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DlerdgeFilSensor + +[env:CR20_Pro_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR20Pro -DBedDC -DABL_BLTOUCH -DABL_UBL -DlerdgeFilSensor + +[env:CR10S_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DlerdgeFilSensor + +[env:CR10S_BLT_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DlerdgeFilSensor + + +[env:S4_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DlerdgeFilSensor + +[env:S4_BLT_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DlerdgeFilSensor + +[env:S4_BLT_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DlerdgeFilSensor + +[env:S4_AC_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DlerdgeFilSensor + +[env:S4_BLT_AC_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DlerdgeFilSensor + +[env:S4_BLT_AC_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DlerdgeFilSensor + +[env:S5_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DlerdgeFilSensor + +[env:S5_BLT_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DlerdgeFilSensor + +[env:S5_BLT_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DlerdgeFilSensor + +[env:S5_AC_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DlerdgeFilSensor + +[env:S5_BLT_AC_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DlerdgeFilSensor + +[env:S5_BLT_AC_UBL_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DlerdgeFilSensor + +[env:CR10S_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DHotendAllMetal -DBedDC -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:CR10S_BLT_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DCableExtensionNoiseFilter -DlerdgeFilSensor + + +[env:CR10S_BLT_UBL_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR10S -DBedDC -DABL_BLTOUCH -DABL_UBL -DCableExtensionNoiseFilter -DlerdgeFilSensor + + +[env:S4_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedDC -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S4_BLT_UBL_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S4_BLT_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedDC -DABL_BLTOUCH -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S4_AC_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DHotendAllMetal -DBedAC -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S4_BLT_AC_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S4_BLT_AC_UBL_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS4 -DBedAC -DABL_BLTOUCH -DMeshFine -DABL_UBL -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedDC -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_BLT_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_BLT_UBL_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedDC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_AC_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DHotendAllMetal -DBedAC -DMeshFine -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_BLT_AC_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:S5_BLT_AC_UBL_NF_LR] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineS5 -DBedAC -DABL_BLTOUCH -DMeshExtreme -DABL_UBL -DCableExtensionNoiseFilter -DlerdgeFilSensor + +[env:Ender3V2] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 + +[env:Ender3V2_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH + +[env:Ender3V2_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality42XUseZMin + + +[env:Ender3V2_427] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DCreality427 + +[env:Ender3V2_427_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality427 + +[env:Ender3V2_427_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality427 -DCreality42XUseZMin +[env:Ender3V2_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DFilSensors + +[env:Ender3V2_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DFilSensors + +[env:Ender3V2_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + + +[env:Ender3V2_427_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DCreality427 -DFilSensors + +[env:Ender3V2_427_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality427 -DFilSensors + +[env:Ender3V2_427_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3V2 -DABL_BLTOUCH -DCreality427 -DCreality42XUseZMin -DFilSensors + +[env:Ender3V2_SKRT] +platform = ${common_LPC.platform} +extends = common_LPC +board = nxp_lpc1769 +build_flags = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g -DMachineEnder3V2 -DSKRE3Turbo + +[env:Ender3V2_BLT_SKRT] +platform = ${common_LPC.platform} +extends = common_LPC +board = nxp_lpc1769 +build_flags = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g -DMachineEnder3V2 -DABL_BLTOUCH -DSKRE3Turbo + +[env:Ender3_SKRT] +platform = ${common_LPC.platform} +extends = common_LPC +board = nxp_lpc1769 +build_flags = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g -DMachineEnder3 -DSKRE3Turbo + +[env:Ender3_BLT_SKRT] +platform = ${common_LPC.platform} +extends = common_LPC +board = nxp_lpc1769 +build_flags = -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g -DMachineEnder3 -DABL_BLTOUCH -DSKRE3Turbo + +[env:Ender3_422] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 + +[env:Ender3_422_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 -DABL_BLTOUCH + +[env:Ender3_422_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender3_427] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 + +[env:Ender3_427_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 -DABL_BLTOUCH + +[env:Ender3_427_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender3_422_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 -DFilSensors + +[env:Ender3_422_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 -DABL_BLTOUCH -DFilSensors + +[env:Ender3_422_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro422 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + +[env:Ender3_427_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 -DFilSensors + +[env:Ender3_427_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 -DABL_BLTOUCH -DFilSensors + +[env:Ender3_427_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Pro427 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + +[env:Ender3Max_422] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max + +[env:Ender3Max_422_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DABL_BLTOUCH + +[env:Ender3Max_422_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender3Max_427] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 + + +[env:Ender3Max_427_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 -DABL_BLTOUCH + +[env:Ender3Max_427_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender3Max_422_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DFilSensors + +[env:Ender3Max_422_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DABL_BLTOUCH -DFilSensors + +[env:Ender3Max_422_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + +[env:Ender3Max_427_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 -DFilSensors + + +[env:Ender3Max_427_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 -DABL_BLTOUCH -DFilSensors + +[env:Ender3Max_427_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3Max -DCreality427 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors +[env:Ender5Pro_422] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 + +[env:Ender5Pro_422_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 -DABL_BLTOUCH + +[env:Ender5Pro_422_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender5Pro_427] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 + + +[env:Ender5Pro_427_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 -DABL_BLTOUCH + +[env:Ender5Pro_427_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 -DABL_BLTOUCH -DCreality42XUseZMin + +[env:Ender5Pro_422_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 -DFilSensors + +[env:Ender5Pro_422_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 -DABL_BLTOUCH -DFilSensors + +[env:Ender5Pro_422_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality422 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + +[env:Ender5Pro_427_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 -DFilSensors + + +[env:Ender5Pro_427_BLT_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 -DABL_BLTOUCH -DFilSensors + +[env:Ender5Pro_427_BLT_ZM_LR] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder5 -DCreality427 -DABL_BLTOUCH -DCreality42XUseZMin -DFilSensors + +[env:SermoonD1] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineSermoonD1 -DFORCE10SPRODISPLAY + +[env:SermoonD1_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineSermoonD1 -DFORCE10SPRODISPLAY -DABL_BLTOUCH + +[env:SermoonD1_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineSermoonD1 -DFORCE10SPRODISPLAY -DABL_BLTOUCH -DCreality42XUseZMin + + +[env:Ender6] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder6 -DFORCE10SPRODISPLAY + + +[env:Ender6_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder6 -DABL_BLTOUCH -DFORCE10SPRODISPLAY + +[env:Ender6_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder6 -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DCreality42XUseZMin + +[env:Ender7] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder7 -DFORCE10SPRODISPLAY + + +[env:Ender7_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder7 -DABL_BLTOUCH -DFORCE10SPRODISPLAY + +[env:Ender7_BLT_ZM] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder7 -DABL_BLTOUCH -DFORCE10SPRODISPLAY -DCreality42XUseZMin + +[env:CR6_452] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6 -DCR6_452 + +[env:CR6_453] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6 + +[env:CR6_LGX_452] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6 -DCR6_452 -DBondtechLGX -DDirectDrive -DlerdgeFilSensor + +[env:CR6_LGX_453] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6 -DBondtechLGX -DDirectDrive -DlerdgeFilSensor + +[env:CR6Max_452] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6Max -DCR6_452 + +[env:CR6Max_453] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6Max + +[env:CR6Max_LGX_452] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6Max -DCR6_452 -DBondtechLGX -DDirectDrive -DlerdgeFilSensor + +[env:CR6Max_LGX_453] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR6Max -DBondtechLGX -DDirectDrive -DlerdgeFilSensor + +[env:CR30] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR30 + +[env:CR10Smart] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR10Smart + +[env:CR10Smart_64kBL] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR10Smart + +[env:CR10SmartPro] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR10SmartPro +[env:Ender3S1] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder3S1 + +# Ender-3 S1 STM32F401RC_creality +# +[env:Ender3S1F4] +extends = stm32_variant +board = genericSTM32F401RC +board_build.variant = MARLIN_CREALITY_STM32F401RC +board_build.offset = 0x10000 +board_upload.offset_address = 0x08010000 +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4 + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 + -DMachineEnder3S1_F4 +build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 + +[env:Ender2Pro] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder2Pro + +[env:Ender2Pro_BLT] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineEnder2Pro -DABL_BLTOUCH + +[env:CR5Pro] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR5 -DHotendAllMetal + +[env:CR5Pro_BLT] +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 +build_flags = ${common.build_flags} -DMachineCR5 -DHotendAllMetal -DABL_BLTOUCH + # [env:include_tree] platform = atmelavr