diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 251991a2afc41851d949696ddbbbc6d1522edac8..03ce3a578d5f4b6a896639909615a368809ba740 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index fb297604941c3d1d741b29d6a30306d318fd6631..13110a1aaa73f373ffb2a82ecde4d888babbba4e 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -648,9 +648,7 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) -#endif - -#if ENABLED(AUTO_BED_LEVELING_UBL) +#elif ENABLED(AUTO_BED_LEVELING_UBL) #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) @@ -810,6 +808,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -851,6 +850,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -892,6 +895,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -977,6 +981,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1028,6 +1033,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp index 5f190ef2660d246d07daf1f14c388aa53d3e0656..f83057bed630bd302755b3ef697df519ed2e6ba1 100644 --- a/Marlin/configuration_store.cpp +++ b/Marlin/configuration_store.cpp @@ -144,9 +144,10 @@ * 568 M906 E1 stepperE1 current (uint16_t) * 570 M906 E2 stepperE2 current (uint16_t) * 572 M906 E3 stepperE3 current (uint16_t) + * 572 M906 E4 stepperE4 current (uint16_t) * - * 574 Minimum end-point - * 1895 (574 + 36 + 9 + 288 + 988) Maximum end-point + * 576 Minimum end-point + * 1897 (576 + 36 + 9 + 288 + 988) Maximum end-point */ #include "Marlin.h" #include "language.h" @@ -520,7 +521,7 @@ void Config_Postprocess() { EEPROM_WRITE(val); #else val = 0; - for (uint8_t q = 0; q < 10; ++q) EEPROM_WRITE(val); + for (uint8_t q = 0; q < 11; ++q) EEPROM_WRITE(val); #endif if (!eeprom_write_error) { @@ -824,8 +825,12 @@ void Config_Postprocess() { #if ENABLED(E3_IS_TMC2130) stepperE3.setCurrent(val, R_SENSE, HOLD_MULTIPLIER); #endif + EEPROM_READ(val); + #if ENABLED(E4_IS_TMC2130) + stepperE4.setCurrent(val, R_SENSE, HOLD_MULTIPLIER); + #endif #else - for (uint8_t q = 0; q < 10; q++) EEPROM_READ(val); + for (uint8_t q = 0; q < 11; q++) EEPROM_READ(val); #endif if (eeprom_checksum == stored_checksum) { diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index 4f451dff86ca0701574e5566526f69f745f90894..ff2113c989ccacc24e773d4f29e8b78085f89eed 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -143,7 +143,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 3 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index f832fedec54f164a0a080d931eb1b8b6b49e6f64..7433ef314b9a5bde7a7820e217ec4d3b72c9e888 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 95a8da48a62f173f08bd13c5687446742bd16740..dc3c07d4aeec82acc1ad99f3b64fff010aa725f9 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 2e7efabe6d4db7e6ab23145976089928761ab7fb..0baab2f0e5b5472c4d9c2eec9421afc15fe876b4 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index b01a1c144081f59d57c60d3bd3004c0a0bcf50e5..aa0af7f488e81e8d2e3ce73eba79f77ad41fa977 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 2 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index a3a89535a120260eb4b0a96bcaec191d6c77f869..973ff06eec3a9878a54a949b2f67b121d033095f 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -145,7 +145,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h index a7a6a31ef81a60270a8ef3634f32e2e72517e1d3..bc24d48abda126ec445911a19a3aa5876cc3c4ae 100644 --- a/Marlin/example_configurations/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index cb7166891a2d8e511a6867704345df1a5a4fa9c3..e37b7b5c07d8973785f16757133cced2a4214670 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -142,7 +142,7 @@ #define MACHINE_UUID "8d083632-40c5-4649-85b8-43d9ae6c5d55" // BQ Hephestos 2 standard config // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/Hephestos_2/Configuration_adv.h index 89287837b6f2a1527b2dd49e6bccad6b93895afb..3802f63da0a353db6a38edf05b17af6789048577 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration_adv.h @@ -420,10 +420,10 @@ //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -629,6 +629,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -784,6 +789,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -825,6 +831,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -866,6 +876,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -951,6 +962,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1002,6 +1014,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 6c91924e1574fbf467aad8236d7054af0acff3e9..031b50989cb53d4d8cc43257a26c8f0a614b7c69 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -162,7 +162,7 @@ #endif // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index f54193efa15f8e235c6b36298fc4c69cb715edbf..2861cb319ad354978e0804b5d376890ea9ee4bf4 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -432,10 +432,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -658,6 +658,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -813,6 +818,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -854,6 +860,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -895,6 +905,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -980,6 +991,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1031,6 +1043,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index ee7c8c3f7216a02a4656d97abad9555b928f6313..43a52598730610ba3dfd0867062cf3a606a11f47 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/K8400/Configuration_adv.h b/Marlin/example_configurations/K8400/Configuration_adv.h index e35effc43722adbf3e6a369987b929cb2345daec..eb86f2d8d6e0ad0d0572b96deb400045f81cf9e2 100644 --- a/Marlin/example_configurations/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/K8400/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index ef7606ebc43721d06e887ec5419002d5f17c8c5a..4637625aa0f17456268e20b693d055b87683330e 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 2 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 7ab7f01269129fd1fef359aededecf3ffe7ef48b..ea487e811e994c2a4a00e41ada145eddf70de5c3 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 642a7c6e6c1b66ef120d2d1755b7eed6967d4a2d..e87929b6f21dfeafb07266ba2ff34f87fb91cfac 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -145,7 +145,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Single extruder. Set to 2 for dual extruders // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index fb9cc9de6c11e6a6c292ca05ff1c12e95695e23c..8d5d3e9568904984e2d1fe4cba6ffc95f551698e 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index d36c0b53a95dc0dbe4bb288d9870678e78bd7b20..04b5ac7a2000842dc0eef53ed648e1aade694446 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -174,7 +174,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 029bf9c2ac209c7bc0754b2e90ce9ccf3f149d03..6ecfbd3f159b0cc204ca2182d2d5cab84ad7e72d 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index a6499369d8d0363dca2caf482dcc6b1212536787..654e362a1593e1cb6b9c6cdef1f20b455ca63c07 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/TAZ4/Configuration_adv.h b/Marlin/example_configurations/TAZ4/Configuration_adv.h index dee0ad407538b711e5b4e67f61f99e28350e3251..f28ecd0b1ff8c136cc9609765fc29138875ec871 100644 --- a/Marlin/example_configurations/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/TAZ4/Configuration_adv.h @@ -427,10 +427,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -653,6 +653,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -808,6 +813,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -849,6 +855,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -890,6 +900,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -975,6 +986,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1026,6 +1038,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index e5b2ab3a596ac02a1c20abe31ff9b10a68b82070..00478c9159338ff736f38946ad68bd64f0eee4f9 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -164,7 +164,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical @@ -988,13 +988,6 @@ //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS - //#define MANUAL_BED_LEVELING // Add display menu option for bed leveling. - #define MANUAL_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment - - #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. - #endif - #endif // BED_LEVELING /** diff --git a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h index aba1cb5cd0547889c99c2a5edcf5f3b978873224..5849f85f4fc8c3a3696070f02e9888440f70df9e 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h @@ -400,11 +400,11 @@ // Motor Current controlled via PWM (Overridable on supported boards with PWM-driven motor driver current) //#define PWM_MOTOR_CURRENT {1300, 1300, 1250} // Values in milliamps -// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro //#define DIGIPOT_I2C // Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 #define DIGIPOT_I2C_NUM_CHANNELS 8 -// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} //=========================================================================== @@ -630,9 +630,7 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) -#endif - -#if ENABLED(AUTO_BED_LEVELING_UBL) +#elif ENABLED(AUTO_BED_LEVELING_UBL) #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) @@ -791,6 +789,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -832,6 +831,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -873,6 +876,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -958,6 +962,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1009,6 +1014,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 1e7902b57309fc6efcad73bc1b1a42ef292e06d1..7fda8247ef644bbf41d471c5242183441acb42f4 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -145,7 +145,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h index a7a6a31ef81a60270a8ef3634f32e2e72517e1d3..bc24d48abda126ec445911a19a3aa5876cc3c4ae 100644 --- a/Marlin/example_configurations/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 30b7a5dd54ddcec0337cf2aca47411cbc17f895a..bf8c9863cba27f1c2ca2f0b8d09b02a53edc6651 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h index addc89a7cbd0554f04d84d338c8b28eb237d6777..d7693db2b85c0b3b6dbec7aea5a27ffc98e5f575 100644 --- a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical @@ -311,9 +311,9 @@ //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) - // Set/get with gcode: M301 E[extruder number, 0-2] + // Set/get with gcode: M301 E[extruder number, 0-2] #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature - // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. #define K1 0.95 //smoothing factor within the PID // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it @@ -754,7 +754,6 @@ #endif // Z_PROBE_ALLEN_KEY - /** * * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** @@ -810,11 +809,10 @@ * ignored by Marlin */ -//#define Z_MIN_PROBE_ENDSTOP // A3K leave disable! +//#define Z_MIN_PROBE_ENDSTOP // A3K leave disabled! #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN - -/* Enable Z Probe Repeatability test to see how accurate your probe is */ +// Enable Z Probe Repeatability test to see how accurate your probe is #define Z_MIN_PROBE_REPEATABILITY_TEST /** @@ -834,7 +832,7 @@ #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points -/* For M851 give a range for adjusting the Z probe offset */ +// For M851 give a range for adjusting the Z probe offset #define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MAX 20 @@ -959,9 +957,9 @@ * leveling in steps so you can manually adjust the Z height at each grid-point. * With an LCD controller the process is guided step-by-step. */ -//#define AUTO_BED_LEVELING_3POINT // Only AUTO_BED_LEVELING_BILINEAR is supported for DELTA bed leveling. -//#define AUTO_BED_LEVELING_LINEAR // Only AUTO_BED_LEVELING_BILINEAR is supported for DELTA bed leveling. -#define AUTO_BED_LEVELING_BILINEAR // Only AUTO_BED_LEVELING_BILINEAR is supported for DELTA bed leveling. +//#define AUTO_BED_LEVELING_3POINT +//#define AUTO_BED_LEVELING_LINEAR +#define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 39957c1ac9620a13cf331ca0704d56159dcb35f9..f8970faaa4d39fa542143726ed956e0ec7ab29f5 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index 44f80c1ca9edfa7f77658ccab170c1aaf55fd52e..88c273978d9c332366530d10e6d4d6fb3a50a043 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -421,12 +421,30 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO +//=========================================================================== +//============================== Delta Settings ============================= +//=========================================================================== + +#if ENABLED(DELTA_AUTO_CALIBRATION) + /** + * Set the height short (H-10) with M665 Hx.xx. + * Set the delta_radius offset (R-5, R-10, R+5, R+10) with M665 Rx.xx. + * Run G33 Cx V3 with different values (C2, C-2). + * Take the average for R_FACTOR and maximum for H_FACTOR. + * If R_FACTOR is too low accuracy is reduced. Too high reduces iteration speed. + * Run the tests with default values!!! + */ + //#define DELTA_CALIBRATE_EXPERT_MODE + //#define H_FACTOR 1.02 // 1.0 < H_FACTOR < 1.11, default 1.00 + //#define R_FACTOR -3.95 // -6.7 < R_FACTOR < -2.25, default -2.25 +#endif + //=========================================================================== //=============================Additional Features=========================== //=========================================================================== @@ -647,6 +665,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -802,6 +825,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -843,6 +867,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -884,6 +912,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -969,6 +998,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1020,6 +1050,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index faaa5c12c462b0c9771da425427dec08b7d4e8bf..b8633ae895eecf7e4092c0406948315118e994dd 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index 44f80c1ca9edfa7f77658ccab170c1aaf55fd52e..88c273978d9c332366530d10e6d4d6fb3a50a043 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -421,12 +421,30 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO +//=========================================================================== +//============================== Delta Settings ============================= +//=========================================================================== + +#if ENABLED(DELTA_AUTO_CALIBRATION) + /** + * Set the height short (H-10) with M665 Hx.xx. + * Set the delta_radius offset (R-5, R-10, R+5, R+10) with M665 Rx.xx. + * Run G33 Cx V3 with different values (C2, C-2). + * Take the average for R_FACTOR and maximum for H_FACTOR. + * If R_FACTOR is too low accuracy is reduced. Too high reduces iteration speed. + * Run the tests with default values!!! + */ + //#define DELTA_CALIBRATE_EXPERT_MODE + //#define H_FACTOR 1.02 // 1.0 < H_FACTOR < 1.11, default 1.00 + //#define R_FACTOR -3.95 // -6.7 < R_FACTOR < -2.25, default -2.25 +#endif + //=========================================================================== //=============================Additional Features=========================== //=========================================================================== @@ -647,6 +665,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -802,6 +825,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -843,6 +867,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -884,6 +912,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -969,6 +998,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1020,6 +1050,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 83d21af57ba641ca3d483556b5c11d6459253644..24c795cf9b49ddeb67e96b6a4053dceb6416ccca 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -146,7 +146,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index 6fc72b8af122f4ddc49d5078fa0ecfa1b061ad7b..495f2dec95f183e476af8f8d912f0c2d463f50ff 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -426,10 +426,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -652,6 +652,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -807,6 +812,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -848,6 +854,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -889,6 +899,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -974,6 +985,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1025,6 +1037,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 7152cdc95b3cbe4ef5b8c3507a3b45045c0cd996..f515fb98ba85ea6a9c72f4f10a9cb16ca929a16e 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index ef3e6272c562f9108d17499fd8d3626dfe2aabac..08411b75510253f4aa5e745e7c5f4094e1a8d7e3 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -421,10 +421,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -647,6 +647,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -802,6 +807,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -843,6 +849,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -884,6 +894,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -969,6 +980,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1020,6 +1032,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 942949eb594339986a1c31977d35d5aadda7fad2..84bc07b4eb00116916e5baa13cb2bd5690953485 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index c15f34e8346bfac7341fc2ee369d5d95f9139396..f451ce0478801afcba68ccf5988587be623ed49b 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 4 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS { 1.7, 1.7, 1.7, 1.7 } // 5DPRINT //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 06ede265762446865fc7e0c06bbebbfa928f7a93..0c2bfeffd7cdd054204faca3600da67beb806245 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -142,7 +142,7 @@ //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // This defines the number of extruders -// :[1, 2, 3, 4] +// :[1, 2, 3, 4, 5] #define EXTRUDERS 1 // Enable if your E steppers or extruder gear ratios are not identical diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index cb96f0260a033c0db2a051565053fc44e2ef935e..f951bd273191f6950284f9803d43ef6bc3e42d60 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -419,10 +419,10 @@ //#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis -/* 5DPRINT & AZTEEG_X3_PRO */ -//#define DIGIPOT_I2C // uncomment to enable +// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 -/* actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS */ +// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO //=========================================================================== @@ -645,6 +645,11 @@ #define MESH_MAX_X (X_MAX_POS - (MESH_INSET)) #define MESH_MIN_Y (Y_MIN_POS + MESH_INSET) #define MESH_MAX_Y (Y_MAX_POS - (MESH_INSET)) +#elif ENABLED(AUTO_BED_LEVELING_UBL) + #define UBL_MESH_MIN_X (X_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET)) + #define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET) + #define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET)) #endif // @section extras @@ -800,6 +805,7 @@ //#define E1_IS_TMC //#define E2_IS_TMC //#define E3_IS_TMC + //#define E4_IS_TMC #define X_MAX_CURRENT 1000 // in mA #define X_SENSE_RESISTOR 91 // in mOhms @@ -841,6 +847,10 @@ #define E3_SENSE_RESISTOR 91 #define E3_MICROSTEPS 16 + #define E4_MAX_CURRENT 1000 + #define E4_SENSE_RESISTOR 91 + #define E4_MICROSTEPS 16 + #endif // @section TMC2130 @@ -882,6 +892,7 @@ //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 + //#define E4_IS_TMC2130 /** * Stepper driver settings @@ -967,6 +978,7 @@ //#define E1_IS_L6470 //#define E2_IS_L6470 //#define E3_IS_L6470 + //#define E4_IS_L6470 #define X_MICROSTEPS 16 // number of microsteps #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high @@ -1018,6 +1030,11 @@ #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 + #define E4_MICROSTEPS 16 + #define E4_K_VAL 50 + #define E4_OVERCURRENT 2000 + #define E4_STALLCURRENT 1500 + #endif /** diff --git a/Marlin/language_an.h b/Marlin/language_an.h index 1ee83c423f997f5802cf78f6c8ab4762b3368d35..bf10b85439e1308b561244a069fabeee0c317f5b 100644 --- a/Marlin/language_an.h +++ b/Marlin/language_an.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("E2 trangos/mm") #define MSG_E3STEPS _UxGT("E3 trangos/mm") #define MSG_E4STEPS _UxGT("E4 trangos/mm") +#define MSG_E5STEPS _UxGT("E5 trangos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimiento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_bg.h b/Marlin/language_bg.h index 2349610f1becdb237353b343d67de48c249c959a..4c6db482daf1a360910bc33a9c90cf28b7902405 100644 --- a/Marlin/language_bg.h +++ b/Marlin/language_bg.h @@ -113,6 +113,7 @@ #define MSG_E2STEPS _UxGT("E2 стъпки/mm") #define MSG_E3STEPS _UxGT("E3 стъпки/mm") #define MSG_E4STEPS _UxGT("E4 стъпки/mm") +#define MSG_E5STEPS _UxGT("E5 стъпки/mm") #define MSG_TEMPERATURE _UxGT("Температура") #define MSG_MOTION _UxGT("Движение") #define MSG_VOLUMETRIC _UxGT("Нишка") diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index 796f2a7daafc0a2b14473e6965e8192933a5f525..699706f481056dfa6c5e078643873db67397f2bb 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -117,6 +117,7 @@ #define MSG_E2STEPS _UxGT("E2passos/mm") #define MSG_E3STEPS _UxGT("E3passos/mm") #define MSG_E4STEPS _UxGT("E4passos/mm") +#define MSG_E5STEPS _UxGT("E5passos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Moviment") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_cn.h b/Marlin/language_cn.h index 2ef90b7d71883b9baf6079145e391f155bf0a6e3..d1b59e820162f11b6fd5f98925419f31b1e414b4 100644 --- a/Marlin/language_cn.h +++ b/Marlin/language_cn.h @@ -105,6 +105,7 @@ #define MSG_E2STEPS "E2steps/mm" #define MSG_E3STEPS "E3steps/mm" #define MSG_E4STEPS "E4steps/mm" +#define MSG_E5STEPS "E5steps/mm" #define MSG_TEMPERATURE "\xc9\xd2" #define MSG_MOTION "\xdf\xb2" #define MSG_VOLUMETRIC "Filament" diff --git a/Marlin/language_cz.h b/Marlin/language_cz.h index d53ff6dda05c295e879d3025dcb5aa4195c7f97e..77f9ac21d403050048403e2c7724fd91be50a050 100644 --- a/Marlin/language_cz.h +++ b/Marlin/language_cz.h @@ -116,6 +116,7 @@ #define MSG_E2STEPS _UxGT("E2kroku/mm") #define MSG_E3STEPS _UxGT("E3kroku/mm") #define MSG_E4STEPS _UxGT("E4kroku/mm") +#define MSG_E5STEPS _UxGT("E5kroku/mm") #define MSG_TEMPERATURE _UxGT("Teplota") #define MSG_MOTION _UxGT("Pohyb") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_da.h b/Marlin/language_da.h index 9a963455c0992f715306639b2e400effffe9e86b..abe1a775e141d7f450767299548b2d263d511477 100644 --- a/Marlin/language_da.h +++ b/Marlin/language_da.h @@ -114,6 +114,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") +#define MSG_E5STEPS _UxGT("E5steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatur") #define MSG_MOTION _UxGT("Bevægelse") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 8a61bb1639eefdaf05a86596c2e0b9a3b19bd49b..b0b50c2ae900c630bd6b9d05377a8055dd332d07 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -118,6 +118,7 @@ #define MSG_E2STEPS _UxGT("E2 Steps/mm") #define MSG_E3STEPS _UxGT("E3 Steps/mm") #define MSG_E4STEPS _UxGT("E4 Steps/mm") +#define MSG_E5STEPS _UxGT("E5 Steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatur") #define MSG_MOTION _UxGT("Bewegung") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_el-gr.h b/Marlin/language_el-gr.h index 273a07a1d78948361e971ea88f3c575ab7aeb4c4..2a8298852558dc8ba4bb1cc27389bc3f6c60775a 100644 --- a/Marlin/language_el-gr.h +++ b/Marlin/language_el-gr.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("Bήματα Ε2 ανά μμ") #define MSG_E3STEPS _UxGT("Bήματα Ε3 ανά μμ") #define MSG_E4STEPS _UxGT("Bήματα Ε4 ανά μμ") +#define MSG_E5STEPS _UxGT("Bήματα Ε5 ανά μμ") #define MSG_TEMPERATURE _UxGT("Θερμοκρασία") #define MSG_MOTION _UxGT("Κίνηση") #define MSG_VOLUMETRIC _UxGT("Νήμα") diff --git a/Marlin/language_el.h b/Marlin/language_el.h index 3f99b2b835ac346ea8afca27d2a860237b4bea49..832b4c6c76e586cb09b238a0661d95718df40588 100644 --- a/Marlin/language_el.h +++ b/Marlin/language_el.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("Bήματα Ε2 ανά μμ") #define MSG_E3STEPS _UxGT("Bήματα Ε3 ανά μμ") #define MSG_E4STEPS _UxGT("Bήματα Ε4 ανά μμ") +#define MSG_E5STEPS _UxGT("Bήματα Ε5 ανά μμ") #define MSG_TEMPERATURE _UxGT("Θερμοκρασία") #define MSG_MOTION _UxGT("Κίνηση") #define MSG_VOLUMETRIC _UxGT("Νήμα") diff --git a/Marlin/language_en.h b/Marlin/language_en.h index b0ad5c986c996d7fe66c9125eaaaaf6ee7ad6b7a..cf032266389dd1cf5e9908cbd9fd9f5b80f84a01 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -291,6 +291,9 @@ #ifndef MSG_E4STEPS #define MSG_E4STEPS _UxGT("E4steps/mm") #endif +#ifndef MSG_E5STEPS + #define MSG_E5STEPS _UxGT("E5steps/mm") +#endif #ifndef MSG_TEMPERATURE #define MSG_TEMPERATURE _UxGT("Temperature") #endif diff --git a/Marlin/language_es.h b/Marlin/language_es.h index 0da06d43b78fcab4f62b56fb841f870e4736c31b..7c4da00c7a3e9fe2cf7d85af363ca5b0605f5401 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -116,6 +116,7 @@ #define MSG_E2STEPS _UxGT("E2 pasos/mm") #define MSG_E3STEPS _UxGT("E3 pasos/mm") #define MSG_E4STEPS _UxGT("E4 pasos/mm") +#define MSG_E5STEPS _UxGT("E5 pasos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimiento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h index a83edb7006de1a361b743a18043b99c5833f893a..9c9cd0eca9b94a3d49a33a30b52c965e860de83d 100644 --- a/Marlin/language_eu.h +++ b/Marlin/language_eu.h @@ -103,6 +103,7 @@ #define MSG_E2STEPS _UxGT("E2 pausoak/mm") #define MSG_E3STEPS _UxGT("E3 pausoak/mm") #define MSG_E4STEPS _UxGT("E4 pausoak/mm") +#define MSG_E5STEPS _UxGT("E5 pausoak/mm") #define MSG_TEMPERATURE _UxGT("Tenperatura") #define MSG_MOTION _UxGT("Mugimendua") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h index 8072a8afee3dedd22a62bd6c19b89089cbd5daa6..f604752a6a945efa2d347012ae6ef5cc195423cf 100644 --- a/Marlin/language_fi.h +++ b/Marlin/language_fi.h @@ -104,6 +104,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") +#define MSG_E5STEPS _UxGT("E5steps/mm") #define MSG_TEMPERATURE _UxGT("Lämpötila") #define MSG_MOTION _UxGT("Liike") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h index c4e1b6e66867056921c816ccb46dd812dee135f3..c58d43943dc0d788f3ab2436f588b820cf2b5cdb 100644 --- a/Marlin/language_fr.h +++ b/Marlin/language_fr.h @@ -117,6 +117,7 @@ #define MSG_E2STEPS _UxGT("E2pas/mm") #define MSG_E3STEPS _UxGT("E3pas/mm") #define MSG_E4STEPS _UxGT("E4pas/mm") +#define MSG_E5STEPS _UxGT("E5pas/mm") #define MSG_TEMPERATURE _UxGT("Tempzrature") #define MSG_MOTION _UxGT("Mouvement") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_gl.h b/Marlin/language_gl.h index 442af39ff4014073c81601fe100d8d36a0a2721d..f1a69aee430e8eb365187eed966746899d983729 100644 --- a/Marlin/language_gl.h +++ b/Marlin/language_gl.h @@ -113,6 +113,7 @@ #define MSG_E2STEPS _UxGT("E2pasos/mm") #define MSG_E3STEPS _UxGT("E3pasos/mm") #define MSG_E4STEPS _UxGT("E4pasos/mm") +#define MSG_E5STEPS _UxGT("E5pasos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movemento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_hr.h b/Marlin/language_hr.h index 3a326793d84c6aa925e277e4569b394d2c26aa1f..4f7eac9d7d557269c85dcd099d307e601bb2d0ff 100644 --- a/Marlin/language_hr.h +++ b/Marlin/language_hr.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") +#define MSG_E5STEPS _UxGT("E5steps/mm") #define MSG_TEMPERATURE _UxGT("Temperature") #define MSG_MOTION _UxGT("Gibanje") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_it.h b/Marlin/language_it.h index fe1608e7ebf639d4745eb8b524fbc6171605179c..70016cce6860fb4826f1ec3dcebb75d9144ff6d3 100644 --- a/Marlin/language_it.h +++ b/Marlin/language_it.h @@ -120,6 +120,7 @@ #define MSG_E2STEPS _UxGT("E2passi/mm") #define MSG_E3STEPS _UxGT("E3passi/mm") #define MSG_E4STEPS _UxGT("E4passi/mm") +#define MSG_E5STEPS _UxGT("E5passi/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_kana.h b/Marlin/language_kana.h index 7925adbd0207df6af36dd8ee1293ab8e64ad5b27..2752ca5b46cda3469a53d699ff7e7519a4cd6435 100644 --- a/Marlin/language_kana.h +++ b/Marlin/language_kana.h @@ -137,6 +137,7 @@ #define MSG_E2STEPS "E2steps/mm" #define MSG_E3STEPS "E3steps/mm" #define MSG_E4STEPS "E4steps/mm" + #define MSG_E5STEPS "E5steps/mm" #else #define MSG_XSTEPS "Xsteps" #define MSG_YSTEPS "Ysteps" @@ -146,6 +147,7 @@ #define MSG_E2STEPS "E2steps" #define MSG_E3STEPS "E3steps" #define MSG_E4STEPS "E4steps" + #define MSG_E5STEPS "E5steps" #endif #define MSG_TEMPERATURE "\xb5\xdd\xc4\xde" // "オンド" ("Temperature") #define MSG_MOTION "\xb3\xba\xde\xb7\xbe\xaf\xc3\xb2" // "ウゴキセッテイ" ("Motion") diff --git a/Marlin/language_kana_utf8.h b/Marlin/language_kana_utf8.h index 48ffa373857f8538b3fb196576ce95b4de17768a..a21b1e3a76cd10cc1a6c59f7083ce9e18a2e04cf 100644 --- a/Marlin/language_kana_utf8.h +++ b/Marlin/language_kana_utf8.h @@ -122,6 +122,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") +#define MSG_E5STEPS _UxGT("E5steps/mm") #define MSG_TEMPERATURE _UxGT("オンド") // "Temperature" #define MSG_MOTION _UxGT("ウゴキセッテイ") // "Motion" #define MSG_VOLUMETRIC _UxGT("フィラメント") // "Filament" diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h index 33d38550413e3fbaf994768dfc0240d2bde7c31d..c75145b9be1ad8a45df32d8356898f236eda7b65 100644 --- a/Marlin/language_nl.h +++ b/Marlin/language_nl.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") +#define MSG_E5STEPS _UxGT("E5steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatuur") #define MSG_MOTION _UxGT("Beweging") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h index dc08e10e26f9b51a953fbafee80a1e01d3a76adc..49b53b005ed2cba0acc6842460b51265a4880bce 100644 --- a/Marlin/language_pl.h +++ b/Marlin/language_pl.h @@ -112,6 +112,7 @@ #define MSG_E2STEPS _UxGT("krokiE2/mm") #define MSG_E3STEPS _UxGT("krokiE3/mm") #define MSG_E4STEPS _UxGT("krokiE4/mm") +#define MSG_E5STEPS _UxGT("krokiE5/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Ruch") #define MSG_VOLUMETRIC _UxGT("Filament") diff --git a/Marlin/language_pt-br.h b/Marlin/language_pt-br.h index b6a0778a6c9d656558be434246a56fb5484ed514..e1d0ed4b1b3d01da5d53124ab4b306ffc5cbb030 100644 --- a/Marlin/language_pt-br.h +++ b/Marlin/language_pt-br.h @@ -105,6 +105,7 @@ #define MSG_E2STEPS "E2/mm" #define MSG_E3STEPS "E3/mm" #define MSG_E4STEPS "E4/mm" +#define MSG_E5STEPS "E5/mm" #define MSG_TEMPERATURE "Temperatura" #define MSG_MOTION "Movimento" #define MSG_VOLUMETRIC "Filamento" diff --git a/Marlin/language_pt-br_utf8.h b/Marlin/language_pt-br_utf8.h index ece1ff84a12f8da7bfe5e24314a1205fe6aeaff4..2b34886a01a67487daf76af1a91b9f1f9281c7cf 100644 --- a/Marlin/language_pt-br_utf8.h +++ b/Marlin/language_pt-br_utf8.h @@ -105,6 +105,7 @@ #define MSG_E2STEPS _UxGT("E2/mm") #define MSG_E3STEPS _UxGT("E3/mm") #define MSG_E4STEPS _UxGT("E4/mm") +#define MSG_E5STEPS _UxGT("E5/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 16a2cb9458f514dadcbedd6f8866c02de880bfbe..2682da58eccfad9393aa885ea0e1973a88745866 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -109,6 +109,7 @@ #define MSG_E2STEPS "E2 passo/mm" #define MSG_E3STEPS "E3 passo/mm" #define MSG_E4STEPS "E4 passo/mm" +#define MSG_E5STEPS "E5 passo/mm" #define MSG_TEMPERATURE "Temperatura" #define MSG_MOTION "Movimento" #define MSG_VOLUMETRIC "Filamento" diff --git a/Marlin/language_pt_utf8.h b/Marlin/language_pt_utf8.h index 84f95188a80586d28d677b716b7d19c408a6ca0a..e2aedb50d0065d9a7dd7b0a4b2d0b745e25d58f9 100644 --- a/Marlin/language_pt_utf8.h +++ b/Marlin/language_pt_utf8.h @@ -109,6 +109,7 @@ #define MSG_E2STEPS _UxGT("E2 passo/mm") #define MSG_E3STEPS _UxGT("E3 passo/mm") #define MSG_E4STEPS _UxGT("E4 passo/mm") +#define MSG_E5STEPS _UxGT("E5 passo/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_VOLUMETRIC _UxGT("Filamento") diff --git a/Marlin/language_tr.h b/Marlin/language_tr.h index d007a0afb278136715fe5eeaff89a379ed8d0b0e..095eedd9dc7c4757f221ada1dd6f64eece160959 100644 --- a/Marlin/language_tr.h +++ b/Marlin/language_tr.h @@ -117,6 +117,7 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") // E2steps/mm #define MSG_E3STEPS _UxGT("E3steps/mm") // E3steps/mm #define MSG_E4STEPS _UxGT("E4steps/mm") // E4steps/mm +#define MSG_E5STEPS _UxGT("E5steps/mm") // E4steps/mm #define MSG_TEMPERATURE _UxGT("Sıcaklık") // Sıcaklık #define MSG_MOTION _UxGT("Hareket") // Hareket #define MSG_VOLUMETRIC _UxGT("Filaman") // Filaman diff --git a/Marlin/language_uk.h b/Marlin/language_uk.h index 4279edc8f0a003122597d24add8acd06d3d93429..f36a366fee2630af53aa66187d18b55509ad9faa 100644 --- a/Marlin/language_uk.h +++ b/Marlin/language_uk.h @@ -113,6 +113,7 @@ #define MSG_E2STEPS _UxGT("E2кроків/мм") #define MSG_E3STEPS _UxGT("E3кроків/мм") #define MSG_E4STEPS _UxGT("E4кроків/мм") +#define MSG_E5STEPS _UxGT("E5кроків/мм") #define MSG_TEMPERATURE _UxGT("Температура") #define MSG_MOTION _UxGT("Рух") #define MSG_VOLUMETRIC _UxGT("Волокно") diff --git a/Marlin/pinsDebug_list.h b/Marlin/pinsDebug_list.h index 9ce20fb130e9e436ac412bf11cb33878931ee3d9..54b7ae5d7d5a7d257371a0d0a04227a1d9d8e6ab 100644 --- a/Marlin/pinsDebug_list.h +++ b/Marlin/pinsDebug_list.h @@ -212,6 +212,9 @@ #if PIN_EXISTS(E3_STEP) REPORT_NAME_DIGITAL(E3_STEP_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E4_AUTO_FAN) + REPORT_NAME_DIGITAL(E4_AUTO_FAN_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E4_DIR) REPORT_NAME_DIGITAL(E4_DIR_PIN, __LINE__ ) #endif @@ -434,6 +437,9 @@ #if PIN_EXISTS(ORIG_E3_AUTO_FAN) REPORT_NAME_DIGITAL(ORIG_E3_AUTO_FAN_PIN, __LINE__ ) #endif +#if PIN_EXISTS(ORIG_E4_AUTO_FAN) + REPORT_NAME_DIGITAL(ORIG_E4_AUTO_FAN_PIN, __LINE__ ) +#endif #if PIN_EXISTS(PHOTOGRAPH) REPORT_NAME_DIGITAL(PHOTOGRAPH_PIN, __LINE__ ) #endif diff --git a/Marlin/serial.h b/Marlin/serial.h index 864a9d8f66fd47fd847f36ec1ae0ea1c16539154..b6e7add430d34a5c9882baba78028b40015ab87d 100644 --- a/Marlin/serial.h +++ b/Marlin/serial.h @@ -65,6 +65,12 @@ extern const char errormagic[] PROGMEM; #define SERIAL_ERRORLN(x) SERIAL_PROTOCOLLN(x) #define SERIAL_ERRORLNPGM(x) SERIAL_PROTOCOLLNPGM(x) +// These macros compensate for float imprecision +#define SERIAL_PROTOCOLPAIR_F(name, value) SERIAL_PROTOCOLPAIR(name, FIXFLOAT(value)) +#define SERIAL_PROTOCOLLNPAIR_F(name, value) SERIAL_PROTOCOLLNPAIR(name, FIXFLOAT(value)) +#define SERIAL_ECHOPAIR_F(name,value) SERIAL_ECHOPAIR(name, FIXFLOAT(value)) +#define SERIAL_ECHOLNPAIR_F(name, value) SERIAL_ECHOLNPAIR(name, FIXFLOAT(value)) + void serial_echopair_P(const char* s_P, const char *v); void serial_echopair_P(const char* s_P, char v); void serial_echopair_P(const char* s_P, int v); diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index cf7d1c23aa5721e4ef80f65bbd192d2bc267fee1..46270179506f3d719175cb265dd611ad45420402 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -931,6 +931,9 @@ void Stepper::init() { #if HAS_E3_DIR E3_DIR_INIT; #endif + #if HAS_E4_DIR + E4_DIR_INIT; + #endif // Init Enable Pins - steppers default to disabled. #if HAS_X_ENABLE @@ -973,6 +976,10 @@ void Stepper::init() { E3_ENABLE_INIT; if (!E_ENABLE_ON) E3_ENABLE_WRITE(HIGH); #endif + #if HAS_E4_ENABLE + E4_ENABLE_INIT; + if (!E_ENABLE_ON) E4_ENABLE_WRITE(HIGH); + #endif // Init endstops and pullups endstops.init(); diff --git a/Marlin/stepper_indirection.cpp b/Marlin/stepper_indirection.cpp index 930b2752d4dbe84e1b7e80f054838705df8bd0b7..4e072dff2e67af02e5f4588b3c07d4f67425b5b4 100644 --- a/Marlin/stepper_indirection.cpp +++ b/Marlin/stepper_indirection.cpp @@ -75,6 +75,9 @@ #if ENABLED(E3_IS_TMC) _TMC_DEFINE(E3); #endif + #if ENABLED(E4_IS_TMC) + _TMC_DEFINE(E4); + #endif #define _TMC_INIT(A) do{ \ stepper##A.setMicrosteps(A##_MICROSTEPS); \ @@ -112,6 +115,9 @@ #if ENABLED(E3_IS_TMC) _TMC_INIT(E3); #endif + #if ENABLED(E4_IS_TMC) + _TMC_INIT(E4); + #endif } #endif // HAVE_TMCDRIVER @@ -157,6 +163,9 @@ #if ENABLED(E3_IS_TMC2130) _TMC2130_DEFINE(E3); #endif + #if ENABLED(E4_IS_TMC2130) + _TMC2130_DEFINE(E4); + #endif // Use internal reference voltage for current calculations. This is the default. // Following values from Trinamic's spreadsheet with values for a NEMA17 (42BYGHW609) @@ -213,6 +222,9 @@ #if ENABLED(E3_IS_TMC2130) _TMC2130_INIT(E3); #endif + #if ENABLED(E4_IS_TMC2130) + _TMC2130_INIT(E4); + #endif TMC2130_ADV() } @@ -260,6 +272,9 @@ #if ENABLED(E3_IS_L6470) _L6470_DEFINE(E3); #endif + #if ENABLED(E4_IS_L6470) + _L6470_DEFINE(E4); + #endif #define _L6470_INIT(A) do{ \ stepper##A.init(A##_K_VAL); \ @@ -300,6 +315,9 @@ #if ENABLED(E3_IS_L6470) _L6470_INIT(E3); #endif + #if ENABLED(E4_IS_L6470) + _L6470_INIT(E4); + #endif } #endif // HAVE_L6470DRIVER diff --git a/Marlin/stepper_indirection.h b/Marlin/stepper_indirection.h index 22056072cdc12902d2c6c7fdfa0fdf3a2ea9ed0a..79a8da4f63df2ba7a5c89ac981cc2e47f6061c25 100644 --- a/Marlin/stepper_indirection.h +++ b/Marlin/stepper_indirection.h @@ -381,6 +381,37 @@ #define E3_STEP_WRITE(STATE) WRITE(E3_STEP_PIN,STATE) #define E3_STEP_READ READ(E3_STEP_PIN) +// E4 Stepper +#if ENABLED(HAVE_L6470DRIVER) && ENABLED(E4_IS_L6470) + extern L6470 stepperE4; + #define E4_ENABLE_INIT NOOP + #define E4_ENABLE_WRITE(STATE) do{ if (STATE) stepperE4.Step_Clock(stepperE4.getStatus() & STATUS_HIZ); else stepperE4.softFree(); }while(0) + #define E4_ENABLE_READ (stepperE4.getStatus() & STATUS_HIZ) + #define E4_DIR_INIT NOOP + #define E4_DIR_WRITE(STATE) stepperE4.Step_Clock(STATE) + #define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR) +#else + #if ENABLED(HAVE_TMCDRIVER) && ENABLED(E4_IS_TMC) + extern TMC26XStepper stepperE4; + #define E4_ENABLE_INIT NOOP + #define E4_ENABLE_WRITE(STATE) stepperE4.setEnabled(STATE) + #define E4_ENABLE_READ stepperE4.isEnabled() + #else + #if ENABLED(HAVE_TMC2130) && ENABLED(E4_IS_TMC2130) + extern TMC2130Stepper stepperE4; + #endif + #define E4_ENABLE_INIT SET_OUTPUT(E4_ENABLE_PIN) + #define E4_ENABLE_WRITE(STATE) WRITE(E4_ENABLE_PIN,STATE) + #define E4_ENABLE_READ READ(E4_ENABLE_PIN) + #endif + #define E4_DIR_INIT SET_OUTPUT(E4_DIR_PIN) + #define E4_DIR_WRITE(STATE) WRITE(E4_DIR_PIN,STATE) + #define E4_DIR_READ READ(E4_DIR_PIN) +#endif +#define E4_STEP_INIT SET_OUTPUT(E4_STEP_PIN) +#define E4_STEP_WRITE(STATE) WRITE(E4_STEP_PIN,STATE) +#define E4_STEP_READ READ(E4_STEP_PIN) + /** * Extruder indirection for the single E axis */ diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 0bf8e314153d0362b3eaab8bf780407d440864c1..e9c8700b94d4fac6f263ff0b00f01167a6be7984 100755 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -918,39 +918,26 @@ void kill_screen(const char* lcd_msg) { /** * Watch temperature callbacks */ - #if WATCH_HOTENDS - #if HAS_TEMP_HOTEND - void watch_temp_callback_E0() { thermalManager.start_watching_heater(0); } - #if HOTENDS > 1 - void watch_temp_callback_E1() { thermalManager.start_watching_heater(1); } - #if HOTENDS > 2 - void watch_temp_callback_E2() { thermalManager.start_watching_heater(2); } - #if HOTENDS > 3 - void watch_temp_callback_E3() { thermalManager.start_watching_heater(3); } - #if HOTENDS > 4 - void watch_temp_callback_E4() { thermalManager.start_watching_heater(4); } - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 - #endif - #else - #if HAS_TEMP_HOTEND - void watch_temp_callback_E0() {} - #if HOTENDS > 1 - void watch_temp_callback_E1() {} - #if HOTENDS > 2 - void watch_temp_callback_E2() {} - #if HOTENDS > 3 - void watch_temp_callback_E3() {} - #if HOTENDS > 4 - void watch_temp_callback_E4() {} - #endif // HOTENDS > 4 - #endif // HOTENDS > 3 - #endif // HOTENDS > 2 - #endif // HOTENDS > 1 + #if HAS_TEMP_HOTEND + #if WATCH_HOTENDS + #define _WATCH_FUNC(N) thermalManager.start_watching_heater(N) + #else + #define _WATCH_FUNC(N) NOOP #endif - #endif + void watch_temp_callback_E0() { _WATCH_FUNC(0); } + #if HOTENDS > 1 + void watch_temp_callback_E1() { _WATCH_FUNC(1); } + #if HOTENDS > 2 + void watch_temp_callback_E2() { _WATCH_FUNC(2); } + #if HOTENDS > 3 + void watch_temp_callback_E3() { _WATCH_FUNC(3); } + #if HOTENDS > 4 + void watch_temp_callback_E4() { _WATCH_FUNC(4); } + #endif // HOTENDS > 4 + #endif // HOTENDS > 3 + #endif // HOTENDS > 2 + #endif // HOTENDS > 1 + #endif // HAS_TEMP_HOTEND #if WATCH_THE_BED void watch_temp_callback_bed() { thermalManager.start_watching_bed(); } @@ -1905,10 +1892,13 @@ void kill_screen(const char* lcd_msg) { case 2: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E3); break; #if E_MANUAL > 3 case 3: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E4); break; - #endif - #endif + #if E_MANUAL > 4 + case 4: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E5); break; + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 } - #endif + #endif // E_MANUAL > 1 lcd_implementation_drawedit(pos_label, ftostr41sign(current_position[E_AXIS])); } } @@ -1921,9 +1911,12 @@ void kill_screen(const char* lcd_msg) { void lcd_move_e2() { _lcd_move_e(2); } #if E_MANUAL > 3 void lcd_move_e3() { _lcd_move_e(3); } - #endif - #endif - #endif + #if E_MANUAL > 4 + void lcd_move_e4() { _lcd_move_e(4); } + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 /** * @@ -1970,9 +1963,12 @@ void kill_screen(const char* lcd_msg) { void lcd_move_get_e2_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e2); } #if E_MANUAL > 3 void lcd_move_get_e3_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e3); } - #endif - #endif - #endif + #if E_MANUAL > 4 + void lcd_move_get_e4_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e4); } + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 /** * @@ -2033,9 +2029,12 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount); #if E_MANUAL > 3 MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); - #endif - #endif - #endif + #if E_MANUAL > 4 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #endif // E_MANUAL > 4 + #endif // E_MANUAL > 3 + #endif // E_MANUAL > 2 + #endif // E_MANUAL > 1 END_MENU(); } @@ -2239,6 +2238,7 @@ void kill_screen(const char* lcd_msg) { // PID-P E2, PID-I E2, PID-D E2, PID-C E2, PID Autotune E2 // PID-P E3, PID-I E3, PID-D E3, PID-C E3, PID Autotune E3 // PID-P E4, PID-I E4, PID-D E4, PID-C E4, PID Autotune E4 + // PID-P E5, PID-I E5, PID-D E5, PID-C E5, PID Autotune E5 // #if ENABLED(PIDTEMP) @@ -2350,8 +2350,11 @@ void kill_screen(const char* lcd_msg) { void _reset_e2_acceleration_rate() { _reset_e_acceleration_rate(2); } #if E_STEPPERS > 3 void _reset_e3_acceleration_rate() { _reset_e_acceleration_rate(3); } - #endif - #endif + #if E_STEPPERS > 4 + void _reset_e4_acceleration_rate() { _reset_e_acceleration_rate(4); } + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 #endif void _planner_refresh_positioning() { planner.refresh_positioning(); } @@ -2368,8 +2371,11 @@ void kill_screen(const char* lcd_msg) { void _planner_refresh_e2_positioning() { _reset_e_acceleration_rate(2); } #if E_STEPPERS > 3 void _planner_refresh_e3_positioning() { _reset_e_acceleration_rate(3); } - #endif - #endif + #if E_STEPPERS > 4 + void _planner_refresh_e4_positioning() { _reset_e_acceleration_rate(4); } + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 #endif /** @@ -2411,9 +2417,12 @@ void kill_screen(const char* lcd_msg) { #if E_STEPPERS > 2 MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E3, &planner.max_feedrate_mm_s[E_AXIS + 2], 1, 999); #if E_STEPPERS > 3 - MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E3, &planner.max_feedrate_mm_s[E_AXIS + 3], 1, 999); - #endif - #endif + MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E4, &planner.max_feedrate_mm_s[E_AXIS + 3], 1, 999); + #if E_STEPPERS > 4 + MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E5, &planner.max_feedrate_mm_s[E_AXIS + 4], 1, 999); + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 #else MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); #endif @@ -2436,8 +2445,11 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E3, &planner.max_acceleration_mm_per_s2[E_AXIS + 2], 100, 99000, _reset_e2_acceleration_rate); #if E_STEPPERS > 3 MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E4, &planner.max_acceleration_mm_per_s2[E_AXIS + 3], 100, 99000, _reset_e3_acceleration_rate); - #endif - #endif + #if E_STEPPERS > 4 + MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E5, &planner.max_acceleration_mm_per_s2[E_AXIS + 4], 100, 99000, _reset_e4_acceleration_rate); + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 #else MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates); #endif @@ -2460,8 +2472,11 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM_EDIT_CALLBACK(float62, MSG_E3STEPS, &planner.axis_steps_per_mm[E_AXIS + 2], 5, 9999, _planner_refresh_e2_positioning); #if E_STEPPERS > 3 MENU_ITEM_EDIT_CALLBACK(float62, MSG_E4STEPS, &planner.axis_steps_per_mm[E_AXIS + 3], 5, 9999, _planner_refresh_e3_positioning); - #endif - #endif + #if E_STEPPERS > 4 + MENU_ITEM_EDIT_CALLBACK(float62, MSG_E5STEPS, &planner.axis_steps_per_mm[E_AXIS + 4], 5, 9999, _planner_refresh_e4_positioning); + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 #else MENU_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning); #endif