From 66f9b16f0c3aa5f970607dfeae5f49147896de0f Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:26:51 -0400 Subject: [PATCH] 22IDEX Initial Commit --- Marlin/Configuration.h | 143 ++++++++++++++-------------- Marlin/Configuration_adv.h | 64 ++++++------- Marlin/src/inc/SanityCheck.h | 2 +- Marlin/src/module/planner.cpp | 2 +- Marlin/src/pins/lpc4078/pins_EBAB.h | 61 ++++++------ ini/lpc176x.ini | 4 +- 6 files changed, 140 insertions(+), 136 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 0cd57a60f4..f8b3013f21 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -116,7 +116,7 @@ //#define BLUETOOTH // Name displayed in the LCD "Ready" message and Info menu -#define CUSTOM_MACHINE_NAME "FatBoy" +#define CUSTOM_MACHINE_NAME "22IDEX" // 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 @@ -139,14 +139,14 @@ * TMC5160, TMC5160_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] */ -#define X_DRIVER_TYPE TB6600 -#define Y_DRIVER_TYPE TB6600 -#define Z_DRIVER_TYPE TB6600 -//#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE TB6600 -#define Z2_DRIVER_TYPE TB6600 -#define Z3_DRIVER_TYPE TB6600 -#define Z4_DRIVER_TYPE TB6600 +#define X_DRIVER_TYPE TMC2209 +#define Y_DRIVER_TYPE TMC2209 +#define Z_DRIVER_TYPE TMC2209 +#define X2_DRIVER_TYPE TMC2209 +#define Y2_DRIVER_TYPE TMC2209 +#define Z2_DRIVER_TYPE TMC2209 +#define Z3_DRIVER_TYPE TMC2209 +//#define Z4_DRIVER_TYPE TB6600 //#define I_DRIVER_TYPE A4988 //#define J_DRIVER_TYPE A4988 //#define K_DRIVER_TYPE A4988 @@ -154,7 +154,7 @@ //#define V_DRIVER_TYPE A4988 //#define W_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE TMC2209 -//#define E1_DRIVER_TYPE A4988 +#define E1_DRIVER_TYPE TMC2209 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 @@ -208,7 +208,7 @@ // This defines the number of extruders // :[0, 1, 2, 3, 4, 5, 6, 7, 8] -#define EXTRUDERS 1 +#define EXTRUDERS 2 // Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 @@ -553,17 +553,17 @@ * 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below. * 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below. */ -#define TEMP_SENSOR_0 5 -#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_0 1047 +#define TEMP_SENSOR_1 1047 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 #define TEMP_SENSOR_5 0 #define TEMP_SENSOR_6 0 #define TEMP_SENSOR_7 0 -#define TEMP_SENSOR_BED 11 +#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_PROBE 0 -#define TEMP_SENSOR_CHAMBER 0 +#define TEMP_SENSOR_CHAMBER 1 #define TEMP_SENSOR_COOLER 0 #define TEMP_SENSOR_BOARD 0 #define TEMP_SENSOR_SOC 0 @@ -588,13 +588,13 @@ #endif #if HAS_E_TEMP_SENSOR - #define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 + #define TEMP_RESIDENCY_TIME 5 // (seconds) Time to wait for hotend to "settle" in M109 #define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer #define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target #endif #if TEMP_SENSOR_BED - #define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 + #define TEMP_BED_RESIDENCY_TIME 5 // (seconds) Time to wait for bed to "settle" in M190 #define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer #define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target #endif @@ -645,8 +645,8 @@ #define HEATER_5_MAXTEMP 275 #define HEATER_6_MAXTEMP 275 #define HEATER_7_MAXTEMP 275 -#define BED_MAXTEMP 125 -#define CHAMBER_MAXTEMP 60 +#define BED_MAXTEMP 215 +#define CHAMBER_MAXTEMP 110 /** * Thermal Overshoot @@ -671,8 +671,8 @@ * PIDTEMP : PID temperature control (~4.1K) * MPCTEMP : Predictive Model temperature control. (~1.8K without auto-tune) */ -#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning -//#define MPCTEMP // See https://marlinfw.org/docs/features/model_predictive_control.html +//#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning +#define MPCTEMP // See https://marlinfw.org/docs/features/model_predictive_control.html #define PID_MAX 255 // Limit hotend current while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current #define PID_K1 0.95 // Smoothing factor within any PID loop @@ -711,16 +711,16 @@ #define MPC_AUTOTUNE_MENU // Add MPC auto-tuning to the "Advanced Settings" menu. (~350 bytes of flash) #define MPC_MAX 255 // (0..255) Current to nozzle while MPC is active. - #define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers. + #define MPC_HEATER_POWER { 50.0f, 50.0f } // (W) Heat cartridge powers. - #define MPC_INCLUDE_FAN // Model the fan speed? + //#define MPC_INCLUDE_FAN // Model the fan speed? // Measured physical constants from M306 - #define MPC_BLOCK_HEAT_CAPACITY { 16.7f } // (J/K) Heat block heat capacities. - #define MPC_SENSOR_RESPONSIVENESS { 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block. - #define MPC_AMBIENT_XFER_COEFF { 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off. + #define MPC_BLOCK_HEAT_CAPACITY { 16.7f, 16.7f } // (J/K) Heat block heat capacities. + #define MPC_SENSOR_RESPONSIVENESS { 0.22f, 0.22f } // (K/s per ∆K) Rate of change of sensor temperature from heat block. + #define MPC_AMBIENT_XFER_COEFF { 0.068f, 0.068f } // (W/K) Heat transfer coefficients from heat block to room air with fan off. #if ENABLED(MPC_INCLUDE_FAN) - #define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full. + #define MPC_AMBIENT_XFER_COEFF_FAN255 { 0.097f, 0.097f } // (W/K) Heat transfer coefficients from heat block to room air with fan on full. #endif // For one fan and multiple hotends MPC needs to know how to apply the fan cooling effect. @@ -731,7 +731,7 @@ // Filament Heat Capacity (joules/kelvin/mm) // Set at runtime with M306 H - #define FILAMENT_HEAT_CAPACITY_PERMM { 5.6e-3f } // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA). + #define FILAMENT_HEAT_CAPACITY_PERMM { 5.6e-3f, 5.6e-3f } // 0.0056 J/K/mm for 1.75mm PLA (0.0149 J/K/mm for 2.85mm PLA). // 0.0036 J/K/mm for 1.75mm PETG (0.0094 J/K/mm for 2.85mm PETG). // 0.00515 J/K/mm for 1.75mm ABS (0.0137 J/K/mm for 2.85mm ABS). // 0.00522 J/K/mm for 1.75mm Nylon (0.0138 J/K/mm for 2.85mm Nylon). @@ -789,7 +789,7 @@ #endif // Add 'M190 R T' for more gradual M190 R bed cooling. -//#define BED_ANNEALING_GCODE +#define BED_ANNEALING_GCODE //=========================================================================== //==================== PID > Chamber Temperature Control ==================== @@ -810,7 +810,7 @@ * the issues involved, don't use chamber PID until someone else verifies that your hardware works. * @section chamber temp */ -//#define PIDTEMPCHAMBER +#define PIDTEMPCHAMBER //#define CHAMBER_LIMIT_SWITCHING /** @@ -1171,8 +1171,8 @@ * Set to the state (HIGH or LOW) that applies to each endstop. */ #define X_MIN_ENDSTOP_HIT_STATE LOW -#define X_MAX_ENDSTOP_HIT_STATE HIGH -#define Y_MIN_ENDSTOP_HIT_STATE LOW +#define X_MAX_ENDSTOP_HIT_STATE LOW +#define Y_MIN_ENDSTOP_HIT_STATE HIGH #define Y_MAX_ENDSTOP_HIT_STATE HIGH #define Z_MIN_ENDSTOP_HIT_STATE HIGH #define Z_MAX_ENDSTOP_HIT_STATE HIGH @@ -1288,7 +1288,7 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -//#define CLASSIC_JERK +#define CLASSIC_JERK #if ENABLED(CLASSIC_JERK) #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 @@ -1411,7 +1411,7 @@ /** * The BLTouch probe uses a Hall effect sensor and emulates a servo. */ -#define BLTOUCH +//#define BLTOUCH /** * MagLev V4 probe by MDD @@ -1482,20 +1482,20 @@ * Magnetically Mounted Probe * For probes such as Euclid, Klicky, Klackender, etc. */ -//#define MAG_MOUNTED_PROBE +#define MAG_MOUNTED_PROBE #if ENABLED(MAG_MOUNTED_PROBE) #define PROBE_DEPLOY_FEEDRATE (133*60) // (mm/min) Probe deploy speed #define PROBE_STOW_FEEDRATE (133*60) // (mm/min) Probe stow speed - #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe - #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock + #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 200, 400, 0 } } // Move to side Dock & Attach probe + #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 100, 400, 0 } } // Move probe off dock #define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed #define MAG_MOUNTED_DEPLOY_4 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed #define MAG_MOUNTED_DEPLOY_5 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed - #define MAG_MOUNTED_STOW_1 { PROBE_STOW_FEEDRATE, { 245, 114, 20 } } // Move to dock - #define MAG_MOUNTED_STOW_2 { PROBE_STOW_FEEDRATE, { 245, 114, 0 } } // Place probe beside remover - #define MAG_MOUNTED_STOW_3 { PROBE_STOW_FEEDRATE, { 230, 114, 0 } } // Side move to remove probe - #define MAG_MOUNTED_STOW_4 { PROBE_STOW_FEEDRATE, { 210, 114, 20 } } // Side move to remove probe + #define MAG_MOUNTED_STOW_1 { PROBE_STOW_FEEDRATE, { 100, 400, 0 } } // Move to dock + #define MAG_MOUNTED_STOW_2 { PROBE_STOW_FEEDRATE, { 200, 400, 0 } } // Place probe beside remover + #define MAG_MOUNTED_STOW_3 { PROBE_STOW_FEEDRATE, { 200, 300, 0 } } // Side move to remove probe + #define MAG_MOUNTED_STOW_4 { PROBE_STOW_FEEDRATE, { 0, 0, 0 } } // Side move to remove probe #define MAG_MOUNTED_STOW_5 { PROBE_STOW_FEEDRATE, { 0, 0, 0 } } // Extra move if needed #endif @@ -1686,7 +1686,7 @@ //#define PROBE_OFFSET_ZMAX 20 // (mm) // Enable the M48 repeatability test to test probe accuracy -//#define Z_MIN_PROBE_REPEATABILITY_TEST +#define Z_MIN_PROBE_REPEATABILITY_TEST // Before deploy/stow pause for user confirmation //#define PAUSE_BEFORE_DEPLOY_STOW @@ -1799,7 +1799,7 @@ // Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1] #define X_HOME_DIR -1 -#define Y_HOME_DIR -1 +#define Y_HOME_DIR 1 #define Z_HOME_DIR -1 //#define I_HOME_DIR -1 //#define J_HOME_DIR -1 @@ -1826,8 +1826,8 @@ // @section geometry // The size of the printable area -#define X_BED_SIZE 1200 -#define Y_BED_SIZE 1200 +#define X_BED_SIZE 400 +#define Y_BED_SIZE 400 // Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. #define X_MIN_POS 0 @@ -1835,7 +1835,7 @@ #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE -#define Z_MAX_POS 1000 +#define Z_MAX_POS 500 //#define I_MIN_POS 0 //#define I_MAX_POS 50 //#define J_MIN_POS 0 @@ -1906,8 +1906,9 @@ #define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) #define FIL_RUNOUT_ENABLED_DEFAULT true // 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 NUM_RUNOUT_SENSORS 2 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_PIN Z_MIN_PIN + #define FIL_RUNOUT2_PIN Z_MAX_PIN #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. @@ -1950,12 +1951,12 @@ // Commands to execute on filament runout. // With multiple runout sensors use the %c placeholder for the current tool in commands (e.g., "M600 T%c") // NOTE: After 'M412 H1' the host handles filament runout and this script does not apply. - #define FILAMENT_RUNOUT_SCRIPT "M600" + #define FILAMENT_RUNOUT_SCRIPT "M600 T%c" // 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 25 + #define FILAMENT_RUNOUT_DISTANCE_MM 15 #ifdef FILAMENT_RUNOUT_DISTANCE_MM // Enable this option to use an encoder disc that toggles the runout pin @@ -2046,8 +2047,8 @@ */ //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR -#define AUTO_BED_LEVELING_BILINEAR -//#define AUTO_BED_LEVELING_UBL +//#define AUTO_BED_LEVELING_BILINEAR +#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING /** @@ -2156,13 +2157,13 @@ //#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh #define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed - #define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited. + #define GRID_MAX_POINTS_X 7 // Don't use more than 15 points per axis, implementation limited. #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X - //#define UBL_HILBERT_CURVE // Use Hilbert distribution for less travel when probing multiple points + #define UBL_HILBERT_CURVE // Use Hilbert distribution for less travel when probing multiple points - //#define UBL_TILT_ON_MESH_POINTS // Use nearest mesh points with G29 J for better Z reference - //#define UBL_TILT_ON_MESH_POINTS_3POINT // Use nearest mesh points with G29 J0 (3-point) + #define UBL_TILT_ON_MESH_POINTS // Use nearest mesh points with G29 J for better Z reference + #define UBL_TILT_ON_MESH_POINTS_3POINT // Use nearest mesh points with G29 J0 (3-point) #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 @@ -2218,13 +2219,13 @@ #endif // Add a menu item to move between bed corners for manual bed adjustment -#define LCD_BED_TRAMMING +//#define LCD_BED_TRAMMING #if ENABLED(LCD_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 4.0 // (mm) Z raise between tramming points - //#define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner + #define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner //#define BED_TRAMMING_USE_PROBE #if ENABLED(BED_TRAMMING_USE_PROBE) #define BED_TRAMMING_PROBE_TOLERANCE 0.1 // (mm) @@ -2363,12 +2364,12 @@ * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) */ -//#define EEPROM_SETTINGS // Persistent storage with M500 and M501 +#define EEPROM_SETTINGS // Persistent storage with M500 and M501 //#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_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. + #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. //#define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build. #endif @@ -2473,7 +2474,7 @@ * * Caveats: The ending Z should be the same as starting Z. */ -//#define NOZZLE_CLEAN_FEATURE +#define NOZZLE_CLEAN_FEATURE #if ENABLED(NOZZLE_CLEAN_FEATURE) #define NOZZLE_CLEAN_PATTERN_LINE // Provide 'G12 P0' - a simple linear cleaning pattern @@ -2483,7 +2484,7 @@ // Default pattern to use when 'P' is not provided to G12. One of the enabled options above. #define NOZZLE_CLEAN_DEFAULT_PATTERN 0 - #define NOZZLE_CLEAN_STROKES 12 // Default number of pattern repetitions + #define NOZZLE_CLEAN_STROKES 4 // Default number of pattern repetitions #if ENABLED(NOZZLE_CLEAN_PATTERN_ZIGZAG) #define NOZZLE_CLEAN_TRIANGLES 3 // Default number of triangles @@ -2491,8 +2492,8 @@ // Specify positions for each tool as { { X, Y, Z }, { X, Y, Z } } // Dual hotend system may use { { -20, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }, { 420, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }} - #define NOZZLE_CLEAN_START_POINT { { 30, 30, (Z_MIN_POS + 1) } } - #define NOZZLE_CLEAN_END_POINT { { 100, 60, (Z_MIN_POS + 1) } } + #define NOZZLE_CLEAN_START_POINT { { 25, 100, (Z_MIN_POS + 1) }, { 375, 100, (Z_MIN_POS + 1) }} + #define NOZZLE_CLEAN_END_POINT { { 5, 101, (Z_MIN_POS + 1) }, { 400, 101, (Z_MIN_POS + 1) } } #if ENABLED(NOZZLE_CLEAN_PATTERN_CIRCLE) #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 // (mm) Circular pattern radius @@ -2504,7 +2505,7 @@ #define NOZZLE_CLEAN_GOBACK // For a purge/clean station that's always at the gantry height (thus no Z move) - //#define NOZZLE_CLEAN_NO_Z + #define NOZZLE_CLEAN_NO_Z // For a purge/clean station mounted on the X axis //#define NOZZLE_CLEAN_NO_Y @@ -2742,7 +2743,7 @@ // If you have a speaker that can produce tones, enable it here. // By default Marlin assumes you have a buzzer with a fixed frequency. // -#define SPEAKER +//#define SPEAKER // // The duration and frequency for the UI feedback sound. @@ -3525,13 +3526,13 @@ // LED Type. Enable only one of the following two options: //#define RGB_LED -//#define RGBW_LED +#define RGBW_LED #if ANY(RGB_LED, RGBW_LED) - //#define RGB_LED_R_PIN 34 - //#define RGB_LED_G_PIN 43 - //#define RGB_LED_B_PIN 35 - //#define RGB_LED_W_PIN -1 + #define RGB_LED_R_PIN EFAN0_PIN + #define RGB_LED_G_PIN EFAN1_PIN + #define RGB_LED_B_PIN EFAN2_PIN + #define RGB_LED_W_PIN EFAN3_PIN #endif #if ANY(RGB_LED, RGBW_LED, PCA9632) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index d0b98cc6c8..d3a3f4dac6 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -681,8 +681,8 @@ * 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 -1 -#define E1_AUTO_FAN_PIN -1 +#define E0_AUTO_FAN_PIN FAN3_PIN +#define E1_AUTO_FAN_PIN FAN3_PIN #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 @@ -748,12 +748,12 @@ * @section caselight * M355 Case Light on-off / brightness */ -//#define CASE_LIGHT_ENABLE +#define CASE_LIGHT_ENABLE #if ENABLED(CASE_LIGHT_ENABLE) //#define CASE_LIGHT_PIN 4 // Override the default pin if needed #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_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 @@ -761,7 +761,7 @@ //#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light #endif #if ANY(RGB_LED, RGBW_LED) - //#define CASE_LIGHT_USE_RGB_LED // Use RGB / RGBW LED as case light + #define CASE_LIGHT_USE_RGB_LED // Use RGB / RGBW LED as case light #endif #if ANY(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED) #define CASE_LIGHT_DEFAULT_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } @@ -815,12 +815,12 @@ * 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 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 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_MAX_POS 450 // The max position of the X2 carriage, typically also the home 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. @@ -830,10 +830,10 @@ #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 100 + #define DEFAULT_DUPLICATION_X_OFFSET 200 // Default action to execute following M605 mode change commands. Typically G28X to apply new mode. - //#define EVENT_GCODE_IDEX_AFTER_MODECHANGE "G28X" + #define EVENT_GCODE_IDEX_AFTER_MODECHANGE "G28X" #endif // @section multi stepper @@ -932,7 +932,7 @@ //#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 +#define HOME_Y_BEFORE_X // If G28 contains XY home Y before X //#define HOME_Z_FIRST // Home Z first. Requires a real endstop (not a probe). //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first @@ -1070,7 +1070,7 @@ #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 G34_MAX_GRADE 15 // (%) Maximum incline that G34 will handle #define Z_STEPPER_ALIGN_ITERATIONS 5 // 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? @@ -1262,7 +1262,7 @@ // Increase the slowdown divisor for larger buffer sizes. #define SLOWDOWN #if ENABLED(SLOWDOWN) - #define SLOWDOWN_DIVISOR 2 + #define SLOWDOWN_DIVISOR 8 #endif /** @@ -1393,7 +1393,7 @@ * vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the * lowest stepping frequencies. */ -//#define ADAPTIVE_STEP_SMOOTHING +#define ADAPTIVE_STEP_SMOOTHING /** * Custom Microstepping @@ -1621,7 +1621,7 @@ * LED Control Menu * Add LED Control to the LCD menu */ - //#define LED_CONTROL_MENU + #define LED_CONTROL_MENU #if ENABLED(LED_CONTROL_MENU) #define LED_COLOR_PRESETS // Enable the Preset Color menu option //#define NEO2_COLOR_PRESETS // Enable a second NeoPixel Preset Color menu option @@ -1742,7 +1742,7 @@ * 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 PLR_BED_THRESHOLD BED_MAXTEMP // (°C) Skip user confirmation at or above this bed temperature (0 to disable) @@ -2566,7 +2566,7 @@ * * Override the default value based on the driver type set in Configuration.h. */ -#define MINIMUM_STEPPER_PULSE 10 +//#define MINIMUM_STEPPER_PULSE 10 /** * Maximum stepping rate (in Hz) the stepper driver allows @@ -2580,7 +2580,7 @@ * * Override the default value based on the driver type set in Configuration.h. */ -#define MAXIMUM_STEPPER_RATE 150000 +//#define MAXIMUM_STEPPER_RATE 150000 // @section temperature @@ -2597,16 +2597,16 @@ #if ALL(HAS_MEDIA, DIRECT_STEPPING) #define BLOCK_BUFFER_SIZE 8 #elif HAS_MEDIA - #define BLOCK_BUFFER_SIZE 16 + #define BLOCK_BUFFER_SIZE 64 #else - #define BLOCK_BUFFER_SIZE 16 + #define BLOCK_BUFFER_SIZE 64 #endif // @section serial // The ASCII buffer for serial input #define MAX_CMD_SIZE 96 -#define BUFSIZE 4 +#define BUFSIZE 16 // Transmission to Host Buffer Size // To save 386 bytes of flash (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0. @@ -2802,7 +2802,7 @@ #define TOOLCHANGE_FILAMENT_SWAP #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) // Load / Unload - #define TOOLCHANGE_FS_LENGTH 12 // (mm) Load / Unload length + #define TOOLCHANGE_FS_LENGTH 4 // (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) @@ -3273,7 +3273,7 @@ * When disabled, Marlin will use spreadCycle stepping mode. */ #if HAS_STEALTHCHOP - //#define STEALTHCHOP_XY + #define STEALTHCHOP_XY #define STEALTHCHOP_Z #define STEALTHCHOP_I #define STEALTHCHOP_J @@ -3299,11 +3299,11 @@ * Define your own with: * { , , hysteresis_start[1..8] } */ - //#define CHOPPER_TIMING CHOPPER_DEFAULT_36V // All axes (override below) - #define CHOPPER_TIMING_X CHOPPER_DEFAULT_36V // For X Axes (override below) + #define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below) + //#define CHOPPER_TIMING_X CHOPPER_DEFAULT_36V // For X Axes (override below) //#define CHOPPER_TIMING_X2 CHOPPER_TIMING_X - #define CHOPPER_TIMING_Y CHOPPER_DEFAULT_36V // For Y Axes (override below) - #define CHOPPER_TIMING_Y2 CHOPPER_TIMING_Y + //#define CHOPPER_TIMING_Y CHOPPER_DEFAULT_36V // For Y Axes (override below) + //#define CHOPPER_TIMING_Y2 CHOPPER_TIMING_Y //#define CHOPPER_TIMING_Z CHOPPER_TIMING // For Z Axes (override below) //#define CHOPPER_TIMING_Z2 CHOPPER_TIMING_Z //#define CHOPPER_TIMING_Z3 CHOPPER_TIMING_Z @@ -3314,7 +3314,7 @@ //#define CHOPPER_TIMING_U CHOPPER_TIMING // For U Axis //#define CHOPPER_TIMING_V CHOPPER_TIMING // For V Axis //#define CHOPPER_TIMING_W CHOPPER_TIMING // For W Axis - #define CHOPPER_TIMING_E CHOPPER_DEFAULT_24V // For Extruders (override below) + //#define CHOPPER_TIMING_E CHOPPER_DEFAULT_24V // For Extruders (override below) //#define CHOPPER_TIMING_E1 CHOPPER_TIMING_E //#define CHOPPER_TIMING_E2 CHOPPER_TIMING_E //#define CHOPPER_TIMING_E3 CHOPPER_TIMING_E @@ -3404,12 +3404,12 @@ * Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis. * @section tmc/stallguard */ - //#define SENSORLESS_HOMING // StallGuard capable drivers only + #define SENSORLESS_HOMING // StallGuard capable drivers only #if ANY(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 - #define X_STALL_SENSITIVITY 8 - #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY + //#define X_STALL_SENSITIVITY 8 + //#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define Y_STALL_SENSITIVITY 8 #define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY //#define Z_STALL_SENSITIVITY 8 @@ -4114,10 +4114,10 @@ */ #define HOST_ACTION_COMMANDS #if ENABLED(HOST_ACTION_COMMANDS) - //#define HOST_PAUSE_M76 // Tell the host to pause in response to M76 + #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 ENABLED(HOST_PROMPT_SUPPORT) - //#define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications + #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_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 96b373fe42..1a5a5f3771 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -3217,7 +3217,7 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i #endif #elif Y_HOME_TO_MAX && Y_MAX_ENDSTOP_HIT_STATE != _HIT_STATE #if _HIT_STATE - #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_HIT_STATE HIGH for Y MAX homing with TMC2209." + //#error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_HIT_STATE HIGH for Y MAX homing with TMC2209." #else #error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_HIT_STATE LOW for Y MAX homing." #endif diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index b2a800c269..776fb62851 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -817,7 +817,7 @@ void Planner::calculate_trapezoid_for_block(block_t * const block, const_float_t float inverse_accel = 0.0f; if (accel != 0) { inverse_accel = 1.0f / accel; - const float half_inverse_accel = 0.5f * inverse_accel, + float half_inverse_accel = 0.5f * inverse_accel, nominal_rate_sq = FLOAT_SQ(block->nominal_rate), // Steps required for acceleration, deceleration to/from nominal rate decelerate_steps_float = half_inverse_accel * (nominal_rate_sq - FLOAT_SQ(final_rate)), diff --git a/Marlin/src/pins/lpc4078/pins_EBAB.h b/Marlin/src/pins/lpc4078/pins_EBAB.h index c0bc2e19ac..17f8b424a6 100644 --- a/Marlin/src/pins/lpc4078/pins_EBAB.h +++ b/Marlin/src/pins/lpc4078/pins_EBAB.h @@ -32,7 +32,7 @@ #define LED_PIN P3_18 // PWM0_3 // EXTRA PINS -#define FIL_RUNOUT_PIN P1_12 +//#define FIL_RUNOUT_PIN P1_12 // DRIVERS EXTRA PINS #define DRIVERS_SCK P1_20 @@ -99,29 +99,29 @@ #define E1_CS_PIN P1_18 #define E1_DIAG_PIN P2_19 -#define E2_STEP_PIN P3_26 -#define E2_DIR_PIN P2_25 -#define E2_ENABLE_PIN P3_25 -#define E2_CS_PIN P3_24 -#define E2_DIAG_PIN P2_26 +#define X2_STEP_PIN P3_26 +#define X2_DIR_PIN P2_25 +#define X2_ENABLE_PIN P3_25 +#define X2_CS_PIN P3_24 +#define X2_DIAG_PIN P2_26 -#define E3_STEP_PIN P4_19 -#define E3_DIR_PIN P4_20 -#define E3_ENABLE_PIN P4_26 -#define E3_CS_PIN P4_21 -#define E3_DIAG_PIN P0_22 +#define Y2_STEP_PIN P4_19 +#define Y2_DIR_PIN P4_20 +#define Y2_ENABLE_PIN P4_26 +#define Y2_CS_PIN P4_21 +#define Y2_DIAG_PIN P0_22 -#define E4_STEP_PIN P4_17 -#define E4_DIR_PIN P4_18 -#define E4_ENABLE_PIN P4_05 -#define E4_CS_PIN P2_12 -#define E4_DIAG_PIN P2_11 +#define Z2_STEP_PIN P4_17 +#define Z2_DIR_PIN P4_18 +#define Z2_ENABLE_PIN P4_05 +#define Z2_CS_PIN P2_12 +#define Z2_DIAG_PIN P2_11 -#define E5_STEP_PIN P0_11 -#define E5_DIR_PIN P2_15 -#define E5_ENABLE_PIN P4_04 -#define E5_CS_PIN P4_16 -#define E5_DIAG_PIN P2_13 +#define Z3_STEP_PIN P0_11 +#define Z3_DIR_PIN P2_15 +#define Z3_ENABLE_PIN P4_04 +#define Z3_CS_PIN P4_16 +#define Z3_DIAG_PIN P2_13 #define E6_STEP_PIN P2_28 #define E6_DIR_PIN P0_28 @@ -153,14 +153,14 @@ #define E0_SERIAL_RX_PIN P4_00 #define E1_SERIAL_TX_PIN P1_18 #define E1_SERIAL_RX_PIN P1_18 - #define E2_SERIAL_TX_PIN P3_24 - #define E2_SERIAL_RX_PIN P3_24 - #define E3_SERIAL_TX_PIN P4_21 - #define E3_SERIAL_RX_PIN P4_21 - #define E4_SERIAL_TX_PIN P2_12 - #define E4_SERIAL_RX_PIN P2_12 - #define E5_SERIAL_TX_PIN P4_16 - #define E5_SERIAL_RX_PIN P4_16 + #define X2_SERIAL_TX_PIN P3_24 + #define X2_SERIAL_RX_PIN P3_24 + #define Y2_SERIAL_TX_PIN P4_21 + #define Y2_SERIAL_RX_PIN P4_21 + #define Z2_SERIAL_TX_PIN P2_12 + #define Z2_SERIAL_RX_PIN P2_12 + #define Z3_SERIAL_TX_PIN P4_16 + #define Z3_SERIAL_RX_PIN P4_16 #define E6_SERIAL_TX_PIN P0_27 #define E6_SERIAL_RX_PIN P0_27 #define E7_SERIAL_TX_PIN P2_29 @@ -181,6 +181,7 @@ #define TEMP_3_PIN P0_26 #define TEMP_BED_PIN P1_31 +#define TEMP_CHAMBER_PIN TEMP_2_PIN // // Heaters / Fans // @@ -191,6 +192,8 @@ #define HEATER_3_PIN P1_09 #define HEATER_BED_PIN P4_23 +#define HEATER_CHAMBER_PIN HEATER_2_PIN + #define FAN0_PIN P3_08 #define FAN1_PIN P3_00 #define FAN2_PIN P3_27 //PWM1_4 diff --git a/ini/lpc176x.ini b/ini/lpc176x.ini index f617bb40fe..580de503dd 100644 --- a/ini/lpc176x.ini +++ b/ini/lpc176x.ini @@ -49,8 +49,8 @@ board = nxp_lpc1769 # [env:LPC4078] board = nxp_lpc4078 -platform = symlink://C:\Users\DMenzel\Documents\GitHub\EBAB\ebab_platform\platform-mcui -platform_packages = framework-arduino-mcui@symlink://C:\Users\DMenzel\Documents\GitHub\EBAB\ebab_platform\framework-arduino-mcui +platform = https://github.com/p3p/pio-platform-mcui/archive/refs/heads/master.zip +platform_packages = framework-arduino-mcui@https://github.com/p3p/pio-framework-arduino-mcui/archive/refs/heads/master.zip framework = arduino upload_protocol = jlink debug_tool = jlink