From ef5d0fd025ecde40b0af0f0ba246950e0a48fa34 Mon Sep 17 00:00:00 2001 From: Miguel Risco-Castillo Date: Mon, 8 Jan 2024 15:45:02 -0500 Subject: [PATCH] Fix CREALITY_CR4NTxxC10 E3 Free-runs --- Marlin/Configuration.h | 164 ++++++------ Marlin/Configuration_adv.h | 247 +++++++++++------- Marlin/Version.h | 6 +- Marlin/src/core/boards.h | 2 - .../pins/stm32f4/pins_CREALITY_CR4NTxxC10.h | 2 +- ini/stm32f4.ini | 6 +- platformio.ini | 5 +- 7 files changed, 253 insertions(+), 179 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 8f683b9..18718c9 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -71,7 +71,7 @@ // Choose the name from boards.h that matches your setup #ifndef MOTHERBOARD - #define MOTHERBOARD BOARD_CREALITY_V24S1_301F4 // Ender 3S1 v301F4 + #define MOTHERBOARD BOARD_CREALITY_V4 // Creality Board v4.2.2 #endif /** @@ -120,7 +120,7 @@ //#define BLUETOOTH // Name displayed in the LCD "Ready" message and Info menu -#define CUSTOM_MACHINE_NAME "Ender3S1-F4-TJC" +#define CUSTOM_MACHINE_NAME "Ender3V2-422-MM" // Printer's unique ID, used by some programs to differentiate between machines. // Choose your own or use a service like https://www.uuidgenerator.net/version4 @@ -517,10 +517,10 @@ * ================================================================ * SPI RTD/Thermocouple Boards * ================================================================ - * -5 : MAX31865 with Pt100/Pt1000, 2, 3, or 4-wire (only for sensors 0-1) + * -5 : MAX31865 with Pt100/Pt1000, 2, 3, or 4-wire (only for sensors 0-2 and bed) * NOTE: You must uncomment/set the MAX31865_*_OHMS_n defines below. - * -3 : MAX31855 with Thermocouple, -200°C to +700°C (only for sensors 0-1) - * -2 : MAX6675 with Thermocouple, 0°C to +700°C (only for sensors 0-1) + * -3 : MAX31855 with Thermocouple, -200°C to +700°C (only for sensors 0-2 and bed) + * -2 : MAX6675 with Thermocouple, 0°C to +700°C (only for sensors 0-2 and bed) * * NOTE: Ensure TEMP_n_CS_PIN is set in your pins file for each TEMP_SENSOR_n using an SPI Thermocouple. By default, * Hardware SPI on the default serial bus is used. If you have also set TEMP_n_SCK_PIN and TEMP_n_MISO_PIN, @@ -640,7 +640,7 @@ #define HEATER_5_MAXTEMP 275 #define HEATER_6_MAXTEMP 275 #define HEATER_7_MAXTEMP 275 -#define BED_MAXTEMP 120 // Ender3S1 Configs +#define BED_MAXTEMP 120 // Ender Configs #define CHAMBER_MAXTEMP 60 /** @@ -684,9 +684,9 @@ #define DEFAULT_Ki_LIST { 1.08, 1.08 } #define DEFAULT_Kd_LIST { 114.00, 114.00 } #else - #define DEFAULT_Kp 17.10 - #define DEFAULT_Ki 1.39 - #define DEFAULT_Kd 52.79 + #define DEFAULT_Kp 22.89 + #define DEFAULT_Ki 1.87 + #define DEFAULT_Kd 70.18 #endif #else #define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current @@ -774,9 +774,9 @@ // 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) // from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) - #define DEFAULT_bedKp 54.86 - #define DEFAULT_bedKi 10.06 - #define DEFAULT_bedKd 199.38 + #define DEFAULT_bedKp 462.10 + #define DEFAULT_bedKi 85.47 + #define DEFAULT_bedKd 624.59 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #else @@ -896,8 +896,16 @@ //#define COREYX //#define COREZX //#define COREZY -//#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042 + +// +// MarkForged Kinematics +// See https://reprap.org/forum/read.php?152,504042 +// +//#define MARKFORGED_XY //#define MARKFORGED_YX +#if ANY(MARKFORGED_XY, MARKFORGED_YX) + //#define MARKFORGED_INVERSE // Enable for an inverted Markforged kinematics belt path +#endif // Enable for a belt style printer with endless "Z" motion //#define BELTPRINTER @@ -1111,12 +1119,12 @@ // @section endstops // Enable pullup for all endstops to prevent a floating state -//#define ENDSTOPPULLUPS // Board v301 Configs +#define ENDSTOPPULLUPS #if DISABLED(ENDSTOPPULLUPS) // Disable ENDSTOPPULLUPS to set pullups individually //#define ENDSTOPPULLUP_XMIN //#define ENDSTOPPULLUP_YMIN - #define ENDSTOPPULLUP_ZMIN // Board v301 Configs + //#define ENDSTOPPULLUP_ZMIN //#define ENDSTOPPULLUP_IMIN //#define ENDSTOPPULLUP_JMIN //#define ENDSTOPPULLUP_KMIN @@ -1132,7 +1140,7 @@ //#define ENDSTOPPULLUP_UMAX //#define ENDSTOPPULLUP_VMAX //#define ENDSTOPPULLUP_WMAX - #define ENDSTOPPULLUP_ZMIN_PROBE // Board v301 Configs + //#define ENDSTOPPULLUP_ZMIN_PROBE #endif // Enable pulldown for all endstops to prevent a floating state @@ -1164,11 +1172,11 @@ * Endstop "Hit" State * Set to the state (HIGH or LOW) that applies to each endstop. */ -#define X_MIN_ENDSTOP_HIT_STATE LOW // Board v301 Configs +#define X_MIN_ENDSTOP_HIT_STATE HIGH #define X_MAX_ENDSTOP_HIT_STATE HIGH -#define Y_MIN_ENDSTOP_HIT_STATE LOW // Board v301 Configs +#define Y_MIN_ENDSTOP_HIT_STATE HIGH #define Y_MAX_ENDSTOP_HIT_STATE HIGH -#define Z_MIN_ENDSTOP_HIT_STATE HIGH // Board v301 Configs +#define Z_MIN_ENDSTOP_HIT_STATE HIGH #define Z_MAX_ENDSTOP_HIT_STATE HIGH #define I_MIN_ENDSTOP_HIT_STATE HIGH #define I_MAX_ENDSTOP_HIT_STATE HIGH @@ -1230,7 +1238,7 @@ * Override with M92 * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] */ -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 424.9 } // Ender Configs +#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } // Ender Configs #define LIMITED_MAX_STEPS_EDITING #if ENABLED(LIMITED_MAX_STEPS_EDITING) @@ -1286,9 +1294,9 @@ */ #define CLASSIC_JERK // Ender Configs #if ENABLED(CLASSIC_JERK) - #define DEFAULT_XJERK 5.0 // Ender Configs - #define DEFAULT_YJERK 5.0 // Ender Configs - #define DEFAULT_ZJERK 0.3 // Ender Configs + #define DEFAULT_XJERK 8.0 // Ender Configs + #define DEFAULT_YJERK 8.0 // Ender Configs + #define DEFAULT_ZJERK 0.4 // Ender Configs //#define DEFAULT_IJERK 0.3 //#define DEFAULT_JJERK 0.3 //#define DEFAULT_KJERK 0.3 @@ -1343,10 +1351,10 @@ * The probe replaces the Z-MIN endstop and is used for Z homing. * (Automatically enables USE_PROBE_FOR_Z_HOMING.) */ -//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Probe connected to BLTouch port +#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing -#define USE_PROBE_FOR_Z_HOMING +//#define USE_PROBE_FOR_Z_HOMING // Manual mesh not have a probe /** * Z_MIN_PROBE_PIN @@ -1375,7 +1383,7 @@ * Use G29 repeatedly, adjusting the Z height at each point with movement commands * or (with LCD_BED_LEVELING) the LCD controller. */ -//#define PROBE_MANUALLY +#define PROBE_MANUALLY // Manual mesh version /** * A Fix-Mounted Probe either doesn't deploy or needs manual deployment. @@ -1403,7 +1411,7 @@ /** * The BLTouch probe uses a Hall effect sensor and emulates a servo. */ -#define BLTOUCH // 3D/CR/BLTouch version +//#define BLTOUCH /** * MagLev V4 probe by MDD @@ -1441,6 +1449,9 @@ * Uses I2C port, so it requires I2C library markyue/Panda_SoftMasterI2C. */ //#define BD_SENSOR +#if ENABLED(BD_SENSOR) + //#define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point +#endif // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) //#define SOLENOID_PROBE @@ -1564,7 +1575,7 @@ * | [-] | * O-- FRONT --+ */ -#define NOZZLE_TO_PROBE_OFFSET { -31.8, -40.5, 0 } // Ender3S1 Configs +#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } // MRiscoC BLTouch offset for support: https://www.thingiverse.com/thing:4605354 (z-offset = -1.80 mm) // Manual mesh use the nozzle as probe // Enable and set to use a specific tool for probing. Disable to allow any tool. #define PROBING_TOOL 0 @@ -1647,13 +1658,13 @@ * Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. * But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. */ -#define Z_CLEARANCE_DEPLOY_PROBE 5 // (mm) Z Clearance for Deploy/Stow // MRiscoC Increase speed -#define Z_CLEARANCE_BETWEEN_PROBES 5 // (mm) Z Clearance between probe points // MRiscoC Increase probe compatibility -#define Z_CLEARANCE_MULTI_PROBE 5 // (mm) Z Clearance between multiple probes // MRiscoC Increase speed +#define Z_CLEARANCE_DEPLOY_PROBE 10 // (mm) Z Clearance for Deploy/Stow +#define Z_CLEARANCE_BETWEEN_PROBES 5 // (mm) Z Clearance between probe points +#define Z_CLEARANCE_MULTI_PROBE 5 // (mm) Z Clearance between multiple probes #define Z_PROBE_ERROR_TOLERANCE 3 // (mm) Tolerance for early trigger (<= -probe.offset.z + ZPET) //#define Z_AFTER_PROBING 5 // (mm) Z position after probing is done -#define Z_PROBE_LOW_POINT -3 // (mm) Farthest distance below the trigger-point to go before stopping // MRiscoC allows reach lower points +#define Z_PROBE_LOW_POINT -2 // (mm) Farthest distance below the trigger-point to go before stopping // For M851 provide ranges for adjusting the X, Y, and Z probe offsets //#define PROBE_OFFSET_XMIN -50 // (mm) @@ -1664,7 +1675,7 @@ //#define PROBE_OFFSET_ZMAX 20 // (mm) // Enable the M48 repeatability test to test probe accuracy -#define Z_MIN_PROBE_REPEATABILITY_TEST // MRiscoC Enable M48 repeatability test +//#define Z_MIN_PROBE_REPEATABILITY_TEST // Before deploy/stow pause for user confirmation //#define PAUSE_BEFORE_DEPLOY_STOW @@ -1684,10 +1695,10 @@ //#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy) //#define WAIT_FOR_HOTEND // Wait for hotend to heat back up between probes (to improve accuracy & prevent cold extrude) #endif -#define PROBING_FANS_OFF // Turn fans off when probing // MRiscoC Turn fans off for avoid vibrations and interference +//#define PROBING_FANS_OFF // Turn fans off when probing //#define PROBING_ESTEPPERS_OFF // Turn all extruder steppers off when probing //#define PROBING_STEPPERS_OFF // Turn all steppers off (unless needed to hold position) when probing (including extruders) -#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors // MRiscoC Wait for stability +//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors // Require minimum nozzle and/or bed temperature for probing //#define PREHEAT_BEFORE_PROBING @@ -1766,10 +1777,13 @@ */ //#define Z_IDLE_HEIGHT Z_HOME_POS -//#define Z_CLEARANCE_FOR_HOMING 10 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... // MRiscoC Crearance over the bed - // Be sure to have this much clearance over your Z_MAX_POS to prevent grinding. +//#define Z_CLEARANCE_FOR_HOMING 10 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... // MRiscoC Crearance over the bed + // You'll need this much clearance above Z_MAX_POS to avoid grinding. + +#define Z_AFTER_HOMING 5 // (mm) Height to move to after homing (if Z was homed) // MRiscoC Crearance over the bed +//#define XY_AFTER_HOMING { 10, 10 } // (mm) Move to an XY position after homing (and raising Z) -//#define Z_AFTER_HOMING 5 // (mm) Height to move to after homing (if Z was homed) // MRiscoC Crearance over the bed +//#define EVENT_GCODE_AFTER_HOMING "M300 P440 S200" // Commands to run after G28 (and move to XY_AFTER_HOMING) // Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1] @@ -1801,16 +1815,16 @@ // @section geometry // The size of the printable area -#define X_BED_SIZE 220 // MRiscoC Max usable bed size -#define Y_BED_SIZE 220 // MRiscoC Max usable bed size +#define X_BED_SIZE 230 // MRiscoC Max usable bed size +#define Y_BED_SIZE 230 // MRiscoC Max usable bed size // Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. -#define X_MIN_POS -10 // MRiscoC Stock physical limit -#define Y_MIN_POS -8 // MRiscoC Stock physical limit +#define X_MIN_POS 0 // MRiscoC Stock physical limit +#define Y_MIN_POS 0 // MRiscoC Stock physical limit #define Z_MIN_POS 0 -#define X_MAX_POS 230 // MRiscoC Stock physical limit -#define Y_MAX_POS 220 // MRiscoC Stock physical limit -#define Z_MAX_POS 270 // Ender Configs +#define X_MAX_POS 248 // MRiscoC Stock physical limit +#define Y_MAX_POS 231 // MRiscoC Stock physical limit +#define Z_MAX_POS 250 // Ender Configs //#define I_MIN_POS 0 //#define I_MAX_POS 50 //#define J_MIN_POS 0 @@ -1883,9 +1897,9 @@ #define FIL_RUNOUT_ENABLED_DEFAULT false // Enable the sensor on startup. Override with M412 followed by M500. #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. - #define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present. // Board v301 Configs - //#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. // Board v301 Configs - #define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. // Board v301 Configs + #define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. //#define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder. // This is automatically enabled for MIXING_EXTRUDERs. @@ -1930,7 +1944,7 @@ // After a runout is detected, continue printing this length of filament // before executing the runout script. Useful for a sensor at the end of // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead. - #define FILAMENT_RUNOUT_DISTANCE_MM 200 // MRiscoC Customizable by menu + #define FILAMENT_RUNOUT_DISTANCE_MM 25 // MRiscoC Customizable by menu #ifdef FILAMENT_RUNOUT_DISTANCE_MM // Enable this option to use an encoder disc that toggles the runout pin @@ -2021,9 +2035,9 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -#define AUTO_BED_LEVELING_BILINEAR // MRiscoC BLTouch auto level +//#define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL -//#define MESH_BED_LEVELING +#define MESH_BED_LEVELING // Manual Mesh /** * Commands to execute at the end of G29 probing. @@ -2044,14 +2058,14 @@ */ #define PREHEAT_BEFORE_LEVELING // MRiscoC Heatting to compensate thermal expansions #if ENABLED(PREHEAT_BEFORE_LEVELING) - #define LEVELING_NOZZLE_TEMP 0 // (°C) Only applies to E0 at this time // MRiscoC No necessary for BLTouch + #define LEVELING_NOZZLE_TEMP 175 // (°C) Only applies to E0 at this time // Preheat nozzle without oozing #define LEVELING_BED_TEMP 50 #endif /** * Enable detailed logging of G28, G29, M48, etc. * Turn on with the command 'M111 S32'. - * NOTE: Requires a lot of PROGMEM! + * NOTE: Requires a lot of flash! */ //#define DEBUG_LEVELING_FEATURE @@ -2114,10 +2128,10 @@ // Subdivision of the grid by Catmull-Rom method. // Synthesizes intermediate points to produce a more detailed mesh. // - //#define ABL_BILINEAR_SUBDIVISION // Original Ender3S1 Configs set this to Enable + //#define ABL_BILINEAR_SUBDIVISION #if ENABLED(ABL_BILINEAR_SUBDIVISION) // Number of subdivisions between probe points - #define BILINEAR_SUBDIVISIONS 5 // Ender3S1 Configs + #define BILINEAR_SUBDIVISIONS 3 #endif #endif @@ -2130,7 +2144,7 @@ //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh - #define MESH_INSET 38 // Set Mesh bounds as an inset region of the bed // MRiscoC Center mesh + #define MESH_INSET 25 // Set Mesh bounds as an inset region of the bed // MRiscoC Center mesh #define GRID_MAX_POINTS_X 5 // Don't use more than 15 points per axis, implementation limited. // MRiscoC Customizable by menu #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X @@ -2172,7 +2186,7 @@ //=================================== Mesh ================================== //=========================================================================== - #define MESH_INSET 38 // Set Mesh bounds as an inset region of the bed // MRiscoC Center mesh + #define MESH_INSET 25 // Set Mesh bounds as an inset region of the bed // MRiscoC Center mesh #define GRID_MAX_POINTS_X 5 // Don't use more than 7 points per axis, implementation limited. // MRiscoC Customizable by menu #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X @@ -2196,13 +2210,13 @@ #define LCD_BED_TRAMMING // ProUI has a bed tramming menu #if ENABLED(LCD_BED_TRAMMING) - //#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets // ProUI use mesh insets for bed tramming + #define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets #define BED_TRAMMING_HEIGHT 0.0 // (mm) Z height of nozzle at tramming points #define BED_TRAMMING_Z_HOP 5.0 // (mm) Z height of nozzle between tramming points //#define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner - #define BED_TRAMMING_USE_PROBE // Use a probe if it is available + //#define BED_TRAMMING_USE_PROBE #if ENABLED(BED_TRAMMING_USE_PROBE) - #define BED_TRAMMING_PROBE_TOLERANCE 0.05 // (mm) // ProUI bed tramming wizard tolerance + #define BED_TRAMMING_PROBE_TOLERANCE 0.1 // (mm) #define BED_TRAMMING_VERIFY_RAISED // After adjustment triggers the probe, re-probe to verify //#define BED_TRAMMING_AUDIO_FEEDBACK #endif @@ -2251,11 +2265,11 @@ * - Allows Z homing only when XY positions are known and trusted. * - If stepper drivers sleep, XY homing may be required again before Z homing. */ -#define Z_SAFE_HOMING // MRiscoC Homing Z at center of bed +//#define Z_SAFE_HOMING #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing - #define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing + #define Z_SAFE_HOMING_X_POINT X_CENTER // (mm) X point for Z homing + #define Z_SAFE_HOMING_Y_POINT Y_CENTER // (mm) Y point for Z homing //#define Z_SAFE_HOMING_POINT_ABSOLUTE // Ignore home offsets (M206) for Z homing position #endif @@ -2340,7 +2354,7 @@ */ #define EEPROM_SETTINGS // Persistent storage with M500 and M501 // Ender Configs //#define DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release! -#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. +#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save flash. #define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load #if ENABLED(EEPROM_SETTINGS) #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. // Ender Configs @@ -2415,7 +2429,7 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z_raise } - #define NOZZLE_PARK_POINT { (X_MAX_POS - 2), (Y_MAX_POS - 2), 20 } + #define NOZZLE_PARK_POINT { (X_BED_SIZE + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_MOVE 0 // Park motion: 0 = XY Move, 1 = X Only, 2 = Y Only, 3 = X before Y, 4 = Y before X #define NOZZLE_PARK_Z_RAISE_MIN 0 // (mm) Always raise Z by at least this distance // MRiscoC uses Park Z Raise from 0 to avoid backlash issues #define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis) @@ -3022,6 +3036,11 @@ // //#define BTT_MINI_12864 +// +// BEEZ MINI 12864 is an alias for FYSETC_MINI_12864_2_1. Type A/B. NeoPixel RGB Backlight. +// +//#define BEEZ_MINI_12864 + // // Factory display for Creality CR-10 / CR-7 / Ender-3 // https://www.aliexpress.com/item/32833148327.html @@ -3036,14 +3055,14 @@ //#define ENDER2_STOCKDISPLAY // -// ANET and Tronxy Graphical Controller -// -// Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 -// A clone of the RepRapDiscount full graphics display but with -// different pins/wiring (see pins_ANET_10.h). Enable one of these. +// ANET and Tronxy 128×64 Full Graphics Controller as used on Anet A6 // //#define ANET_FULL_GRAPHICS_LCD -//#define ANET_FULL_GRAPHICS_LCD_ALT_WIRING + +// +// GUCOCO CTC 128×64 Full Graphics Controller as used on GUCOCO CTC A10S +// +//#define CTC_A10S_A13 // // AZSMZ 12864 LCD with SD @@ -3388,7 +3407,6 @@ // //#define DWIN_CREALITY_LCD // Creality UI #define DWIN_LCD_PROUI // Pro UI by MRiscoC -#define TJC_DISPLAY #define USE_STOCK_DWIN_SET // Professional firmware features: @@ -3406,7 +3424,7 @@ #if ENABLED(DWIN_LCD_PROUI) #if PROUI_EX #if ENABLED(LCD_BED_TRAMMING) - #define HAS_TRAMMING_WIZARD 1 + //#define HAS_TRAMMING_WIZARD 1 // Manual mesh not have a probe #endif #define HAS_GCODE_PREVIEW 1 #define HAS_TOOLBAR 1 diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 6fd3bab..f9ac7af 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -684,7 +684,7 @@ * 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. */ -#define E0_AUTO_FAN_PIN FAN1_PIN // Board v301 Configs +#define E0_AUTO_FAN_PIN -1 // Ender3V2 Configs #define E1_AUTO_FAN_PIN -1 #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 @@ -1006,13 +1006,13 @@ * * Set the default state here, change with 'M401 S' or UI, use M500 to save, M502 to reset. */ - #define BLTOUCH_HS_MODE true + //#define BLTOUCH_HS_MODE true #ifdef BLTOUCH_HS_MODE // The probe Z offset (M851 Z) is the height at which the probe triggers. // This must be large enough to keep the probe pin off the bed and prevent // it from snagging on the bed clips. - #define BLTOUCH_HS_EXTRA_CLEARANCE 0 // Extra Z Clearance + #define BLTOUCH_HS_EXTRA_CLEARANCE 7 // Extra Z Clearance #endif #endif // BLTOUCH @@ -1124,42 +1124,62 @@ #if ENABLED(FT_MOTION) #define FTM_DEFAULT_MODE ftMotionMode_DISABLED // Default mode of fixed time control. (Enums in ft_types.h) #define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h) - #define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers. - #define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers. - #define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false). - #define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain. - #define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers. - #define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers. + #define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers + #define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers + #define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false) + #define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain + #define FTM_SHAPING_ZETA_X 0.1f // Zeta used by input shapers for X axis + #define FTM_SHAPING_ZETA_Y 0.1f // Zeta used by input shapers for Y axis + + #define FTM_SHAPING_V_TOL_X 0.05f // Vibration tolerance used by EI input shapers for X axis + #define FTM_SHAPING_V_TOL_Y 0.05f // Vibration tolerance used by EI input shapers for Y axis + + //#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters /** * Advanced configuration */ - #define FTM_BATCH_SIZE 100 // Batch size for trajectory generation; - #define FTM_WINDOW_SIZE 200 // Window size for trajectory generation. - #define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS) - #define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS) - #define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update. - #define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps. - #define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency. - #define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!). - // Calculate as: - // 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV. - // (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV. - // 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI. - // 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI. - #define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time. - // Calculate as (FTM_STEPPER_FS / FTM_FS). - #define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm. - // Calculate as (FTM_STEPS_PER_UNIT_TIME / 2). - // These values may be configured to adjust duration of loop(). - #define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop(). - #define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop(). - - // This value may be configured to adjust duration to consume the command buffer. - // Try increasing this value if stepper motion is not smooth. - #define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers. - - //#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters. + #define FTM_UNIFIED_BWS // DON'T DISABLE unless you use Ulendo FBS (not implemented) + #if ENABLED(FTM_UNIFIED_BWS) + #define FTM_BW_SIZE 100 // Unified Window and Batch size with a ratio of 2 + #else + #define FTM_WINDOW_SIZE 200 // Custom Window size for trajectory generation needed by Ulendo FBS + #define FTM_BATCH_SIZE 100 // Custom Batch size for trajectory generation needed by Ulendo FBS + #endif + + #define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (Reciprocal of FTM_TS) + #define FTM_TS 0.001f // (s) Time step for trajectory generation. (Reciprocal of FTM_FS) + + // These values may be configured to adjust the duration of loop(). + #define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop() + #define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop() + + #if DISABLED(COREXY) + #define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update + + // Use this to adjust the time required to consume the command buffer. + // Try increasing this value if stepper motion is choppy. + #define FTM_STEPPERCMD_BUFF_SIZE 3000 // Size of the stepper command buffers + // (FTM_STEPS_PER_LOOP * FTM_POINTS_PER_LOOP) is a good start + // If you run out of memory, fall back to 3000 and increase progressively + #else + // CoreXY motion needs a larger buffer size. These values are based on our testing. + #define FTM_STEPPER_FS 30000 + #define FTM_STEPPERCMD_BUFF_SIZE 6000 + #endif + + #define FTM_STEPS_PER_UNIT_TIME (FTM_STEPPER_FS / FTM_FS) // Interpolated stepper commands per unit time + #define FTM_CTS_COMPARE_VAL (FTM_STEPS_PER_UNIT_TIME / 2) // Comparison value used in interpolation algorithm + #define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps + + #define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency + #define FTM_RATIO (FTM_FS / FTM_MIN_SHAPE_FREQ) // Factor for use in FTM_ZMAX. DON'T CHANGE. + #define FTM_ZMAX (FTM_RATIO * 2) // Maximum delays for shaping functions (even numbers only!) + // Calculate as: + // ZV : FTM_RATIO / 2 + // ZVD, MZV : FTM_RATIO + // 2HEI : FTM_RATIO * 3 / 2 + // 3HEI : FTM_RATIO * 2 #endif /** @@ -1257,7 +1277,7 @@ */ //#define XY_FREQUENCY_LIMIT 10 // (Hz) Maximum frequency of small zigzag infill moves. Set with M201 F. #ifdef XY_FREQUENCY_LIMIT - #define XY_FREQUENCY_MIN_PERCENT 5 // (percent) Minimum FR percentage to apply. Set with M201 G. + #define XY_FREQUENCY_MIN_PERCENT 5 // (%) Minimum FR percentage to apply. Set with M201 G. #endif // @@ -1325,7 +1345,7 @@ #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm #define CALIBRATION_NOZZLE_OUTER_DIAMETER 2.0 // mm - // Uncomment to enable reporting (required for "G425 V", but consumes PROGMEM). + // Uncomment to enable reporting (required for "G425 V", but consumes flash). //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. @@ -1475,11 +1495,6 @@ #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 #endif -// -// LCD Backlight Timeout -// -#define LCD_BACKLIGHT_TIMEOUT_MINS 5 // (minutes) Timeout before turning off the backlight - #if HAS_BED_PROBE && ANY(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI) //#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu #if ENABLED(PROBE_OFFSET_WIZARD) @@ -1583,6 +1598,10 @@ #define SOUND_MENU_ITEM // Add a mute option to the LCD menu // MRiscoC Enable Sound Menu Item #define SOUND_ON_DEFAULT // Buzzer/speaker default enabled state + #if HAS_WIRED_LCD + //#define DOUBLE_LCD_FRAMERATE // Not recommended for slow boards. + #endif + // The timeout to return to the status screen from sub-menus //#define LCD_TIMEOUT_TO_STATUS 15000 // (ms) @@ -1629,6 +1648,15 @@ #endif // HAS_DISPLAY +#if HAS_FEEDRATE_EDIT + #define SPEED_EDIT_MIN 10 // (%) Feedrate percentage edit range minimum + #define SPEED_EDIT_MAX 999 // (%) Feedrate percentage edit range maximum +#endif +#if HAS_FLOW_EDIT + #define FLOW_EDIT_MIN 10 // (%) Flow percentage edit range minimum + #define FLOW_EDIT_MAX 999 // (%) Flow percentage edit range maximum +#endif + // Add 'M73' to set print job progress, overrides Marlin's built-in estimate #define SET_PROGRESS_MANUALLY // MRiscoC, Allows display feedback of host printing through GCode M73 #if ENABLED(SET_PROGRESS_MANUALLY) @@ -1768,7 +1796,7 @@ // SD Card Sorting options #if ENABLED(SDCARD_SORT_ALPHA) #define SDSORT_REVERSE false // Default to sorting file names in reverse order. - #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. // MRiscoC Increase number of sorted items + #define SDSORT_LIMIT 50 // Maximum number of sorted items (10-256). Costs 27 bytes each. // MRiscoC Increase number of sorted items #define SDSORT_FOLDERS -1 // -1=above 0=none 1=below #define SDSORT_GCODE true // Enable G-code M34 to set sorting behaviors: M34 S<-1|0|1> F<-1|0|1> // MRiscoC Allows disable file sort by M34 g-code #define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting. // Ender Configs @@ -1872,7 +1900,7 @@ //#define CONFIGURATION_EMBEDDING // Add an optimized binary file transfer mode, initiated with 'M28 B1' - //#define BINARY_FILE_TRANSFER // MRiscoC Enabled for easy firmware upgrade + #define BINARY_FILE_TRANSFER // MRiscoC Enabled for easy firmware upgrade #if ENABLED(BINARY_FILE_TRANSFER) // Include extra facilities (e.g., 'M20 F') supporting firmware upload via BINARY_FILE_TRANSFER @@ -2197,6 +2225,15 @@ //#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan #endif +// +// LCD Backlight Timeout +// Requires a display with a controllable backlight +// +#define LCD_BACKLIGHT_TIMEOUT_MINS 5 // (minutes) Timeout before turning off the backlight +#if defined(DISPLAY_SLEEP_MINUTES) || defined(LCD_BACKLIGHT_TIMEOUT_MINS) + #define EDITABLE_DISPLAY_TIMEOUT // Edit timeout with M255 S and a menu item +#endif + // // ADC Button Debounce // @@ -2252,7 +2289,7 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - #define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping #if ENABLED(BABYSTEP_ZPROBE_OFFSET) //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets //#define BABYSTEP_GFX_OVERLAY // Enable graphical overlay on Z-offset editor @@ -2352,10 +2389,10 @@ #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) // Override the mesh area if the automatic (max) area is too large - #define MESH_MIN_X 10 - #define MESH_MIN_Y 10 - #define MESH_MAX_X 195 - #define MESH_MAX_Y 175 + #define MESH_MIN_X MESH_INSET + #define MESH_MIN_Y MESH_INSET + #define MESH_MAX_X X_BED_SIZE - (MESH_INSET) + #define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET) #endif #if ALL(AUTO_BED_LEVELING_UBL, EEPROM_SETTINGS) @@ -2366,7 +2403,7 @@ * Repeatedly attempt G29 leveling until it succeeds. * Stop after G29_MAX_RETRIES attempts. */ -#define G29_RETRY_AND_RECOVER +//#define G29_RETRY_AND_RECOVER #if ENABLED(G29_RETRY_AND_RECOVER) #define G29_MAX_RETRIES 3 #define G29_HALT_ON_FAILURE @@ -2640,10 +2677,12 @@ //#define FULL_REPORT_TO_HOST_FEATURE // Auto-report the machine status like Grbl CNC #endif -// Bad Serial-connections can miss a received command by sending an 'ok' -// 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. +/** + * Bad Serial-connections can miss a received command by sending an 'ok' + * 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 // (ms) // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. @@ -2656,6 +2695,15 @@ // For serial echo, the number of digits after the decimal point //#define SERIAL_FLOAT_PRECISION 4 +/** + * This feature is EXPERIMENTAL so use with caution and test thoroughly. + * Enable this option to receive data on the serial ports via the onboard DMA + * controller for more stable and reliable high-speed serial communication. + * Only some STM32 MCUs are currently supported. + * Note: This has no effect on emulated USB serial ports. + */ +//#define SERIAL_DMA + /** * Set the number of proportional font spaces required to fill up a typical character space. * This can help to better align the output of commands like `G29 O` Mesh Output. @@ -2699,7 +2747,7 @@ #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length #define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length #endif - #define RETRACT_LENGTH 1 // (mm) Default retract length (positive value) // MRiscoC Directdrive + #define RETRACT_LENGTH 5 // (mm) Default retract length (positive value) // MRiscoC Bowden #define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value) #define RETRACT_FEEDRATE 40 // (mm/s) Default feedrate for retracting // MRiscoC Bowden #define RETRACT_ZRAISE 0.2 // (mm) Default retract Z-raise // MRiscoC Bowden @@ -2885,6 +2933,7 @@ #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. // MRiscoC Enabled load/unload Filament G-codes //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + #define CONFIGURE_FILAMENT_CHANGE // Add M603 G-code and menu items. Requires ~1.3K bytes of flash. #endif // @section tmc_smart @@ -3433,9 +3482,8 @@ /** * TWI/I2C BUS * - * This feature is an EXPERIMENTAL feature so it shall not be used on production - * machines. Enabling this will allow you to send and receive I2C data from slave - * devices on the bus. + * This feature is EXPERIMENTAL but may be useful for custom I2C peripherals. + * Enable this to send and receive I2C data from slave devices on the bus. * * ; Example #1 * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) @@ -3792,38 +3840,6 @@ */ //#define CNC_COORDINATE_SYSTEMS -// @section reporting - -/** - * Auto-report fan speed with M123 S - * Requires fans with tachometer pins - */ -//#define AUTO_REPORT_FANS - -/** - * Auto-report temperatures with M155 S - */ -#define AUTO_REPORT_TEMPERATURES -#if ENABLED(AUTO_REPORT_TEMPERATURES) && TEMP_SENSOR_REDUNDANT - //#define AUTO_REPORT_REDUNDANT // Include the "R" sensor in the auto-report -#endif - -/** - * Auto-report position with M154 S - */ -//#define AUTO_REPORT_POSITION -#if ENABLED(AUTO_REPORT_POSITION) - //#define AUTO_REPORT_REAL_POSITION // Auto-report the real position -#endif - -/** - * Include capabilities in M115 output - */ -#define EXTENDED_CAPABILITIES_REPORT -#if ENABLED(EXTENDED_CAPABILITIES_REPORT) - #define M115_GEOMETRY_REPORT // MRiscoC Enabled -#endif - // @section security /** @@ -3866,13 +3882,50 @@ // @section reporting -// Extra options for the M114 "Current Position" report +/** + * Extra options for the M114 "Current Position" report + */ //#define M114_DETAIL // Use 'M114` for details to check planner calculations //#define M114_REALTIME // Real current position based on forward kinematics //#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed. +/** + * Auto-report fan speed with M123 S + * Requires fans with tachometer pins + */ +//#define AUTO_REPORT_FANS + //#define REPORT_FAN_CHANGE // Report the new fan speed when changed by M106 (and others) +/** + * Auto-report temperatures with M155 S + */ +#define AUTO_REPORT_TEMPERATURES +#if ENABLED(AUTO_REPORT_TEMPERATURES) && TEMP_SENSOR_REDUNDANT + //#define AUTO_REPORT_REDUNDANT // Include the "R" sensor in the auto-report +#endif + +/** + * Auto-report position with M154 S + */ +//#define AUTO_REPORT_POSITION +#if ENABLED(AUTO_REPORT_POSITION) + //#define AUTO_REPORT_REAL_POSITION // Auto-report the real position +#endif + +/** + * M115 - Report capabilites. Disable to save ~1150 bytes of flash. + * Some hosts (and serial TFT displays) rely on this feature. + */ +#define CAPABILITIES_REPORT +#if ENABLED(CAPABILITIES_REPORT) + // Include capabilities in M115 output + #define EXTENDED_CAPABILITIES_REPORT + #if ENABLED(EXTENDED_CAPABILITIES_REPORT) + #define M115_GEOMETRY_REPORT // MRiscoC Enabled + #endif +#endif + // @section gcode /** @@ -3884,7 +3937,9 @@ //#define GCODE_QUOTED_STRINGS // Support for quoted string parameters #endif -// Support for MeatPack G-code compression (https://github.com/scottmudge/OctoPrint-MeatPack) +/** + * Support for MeatPack G-code compression (https://github.com/scottmudge/OctoPrint-MeatPack) + */ //#define MEATPACK_ON_SERIAL_PORT_1 //#define MEATPACK_ON_SERIAL_PORT_2 @@ -3892,6 +3947,12 @@ //#define REPETIER_GCODE_M360 // Add commands originally from Repetier FW +/** + * Enable M111 debug flags 1=ECHO, 2=INFO, 4=ERRORS (unimplemented). + * Disable to save some flash. Some hosts (Repetier Host) may rely on this feature. + */ +#define DEBUG_FLAGS_GCODE + /** * Enable this option for a leaner build of Marlin that removes * workspace offsets to slightly optimize performance. @@ -3919,8 +3980,6 @@ //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif -// @section gcode - /** * Startup commands * diff --git a/Marlin/Version.h b/Marlin/Version.h index 1e104af..89854dd 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -37,7 +37,7 @@ #if ENABLED(IS_DEMO) #define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " DEMO, NOT FOR PRODUCTION" #else - #define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " Ender3S1-F4-TJC, based on bugfix-2.1.x" + #define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " Ender3V2-422-MM, based on bugfix-2.1.x" #endif /** @@ -45,7 +45,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2023-11-24" +//#define STRING_DISTRIBUTION_DATE "2024-01-06" #define STRING_DISTRIBUTION_DATE __DATE__ #define STRING_DISTRIBUTION_TIME __TIME__ @@ -53,7 +53,7 @@ /** * Defines a generic printer name to be output to the LCD after booting Marlin. */ -#define MACHINE_NAME "Ender 3S1" +#define MACHINE_NAME "Ender 3V2" /** * The SOURCE_CODE_URL is the location where users will find the Marlin Source diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index e7b96da..91141b2 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -467,8 +467,6 @@ #define BOARD_FYSETC_CHEETAH_V30 5250 // FYSETC Cheetah V3.0 (STM32F446RC) #define BOARD_BLACKBEEZMINI_V1 5251 // BlackBeezMini V1 (STM32F401CCU6) -#define BOARD_CREALITY_CR4NTxxC10 5301 // Creality STM32F401RE - // // ARM Cortex-M7 // diff --git a/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTxxC10.h b/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTxxC10.h index d25cd6c..73ab616 100644 --- a/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTxxC10.h +++ b/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTxxC10.h @@ -226,7 +226,7 @@ #define BEEPER_PIN EXP1_01_PIN #endif -#elif ENABLED(DWIN_CREALITY_LCD) +#elif ANY(HAS_DWIN_E3V2, IS_DWIN_MARLINUI) // DWIN ENCODER LCD #define BTN_ENC EXP1_05_PIN diff --git a/ini/stm32f4.ini b/ini/stm32f4.ini index c5a9406..fdd393a 100644 --- a/ini/stm32f4.ini +++ b/ini/stm32f4.ini @@ -686,7 +686,7 @@ extra_scripts = ${common_stm32.extra_scripts} extends = stm32_variant board = genericSTM32F401RC board_build.variant = MARLIN_CREALITY_STM32F401 -build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4 +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC @@ -725,7 +725,7 @@ board_build.variant = MARLIN_CREALITY_STM32F401 board_build.offset = 0x10000 board_upload.offset_address = 0x08010000 board_build.rename = firmware-{date}-{time}.bin -build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RE -DSTM32F401xE -DSTM32F4 +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RE -DSTM32F401xE build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC monitor_speed = 115200 @@ -748,7 +748,7 @@ board = marlin_STM32F401RE_freeruns board_build.offset = 0x10000 board_upload.offset_address = 0x08010000 board_build.rename = firmware-{date}-{time}.bin -build_flags = ${stm32_variant.build_flags} -DSTM32F401xE +build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RE -DSTM32F401xE -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DTRANSFER_CLOCK_DIV=8 build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC diff --git a/platformio.ini b/platformio.ini index bcb6d3e..687096b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,7 +13,7 @@ [platformio] src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards -default_envs = STM32F401RC_creality +default_envs = STM32F103RC_creality include_dir = Marlin extra_configs = Marlin/config.ini @@ -21,6 +21,7 @@ extra_configs = ini/due.ini ini/esp32.ini ini/features.ini + ini/hc32.ini ini/lpc176x.ini ini/native.ini ini/samd21.ini @@ -106,11 +107,9 @@ default_src_filter = + - - + + + - + + + + - + + + +