progress
This commit is contained in:
+213
-149
@@ -1,39 +1,39 @@
|
||||
#define ADAPTIVE_FAN_SLOWING
|
||||
/*
|
||||
Base machine
|
||||
Choose one option below to define machine size, board, and parameters
|
||||
|
||||
|
||||
Choose this for CR10 Original Melzi Board
|
||||
You still need to select a machine size below!
|
||||
Select machine size
|
||||
*/
|
||||
//#define MachineCR10Orig
|
||||
|
||||
//#define MachineEnder2
|
||||
//#define MachineEnder3
|
||||
//#define MachineEnder4
|
||||
//#define MachineMini
|
||||
//#define MachineCR20 //Buzzer doesnt work
|
||||
//#define MachineCR20Pro
|
||||
//#define MachineCR10
|
||||
//#define MachineCR10S
|
||||
#define MachineCR10SPro // Graphics LCD Requires soldering R64 and R66
|
||||
//#define MachineCRX //Currently only supports GraphicLCD
|
||||
//#define MachineS4
|
||||
//#define MachineS5
|
||||
|
||||
//#define MachineCR10Orig // Forces Melzi board
|
||||
|
||||
/*
|
||||
Enabled this for linear advance instead of mesh leveling on a melzi board
|
||||
*/
|
||||
//#define OrigLA
|
||||
/*
|
||||
Select machine size
|
||||
*/
|
||||
//#define MachineEnder2 // Must Select MachineCR10Orig above!
|
||||
//#define MachineEnder3 // Must Select MachineCR10Orig above!
|
||||
//#define MachineEnder4
|
||||
//#define MachineMini
|
||||
//#define MachineCR20 //Buzzer doesnt work, need to map pin
|
||||
//#define MachineCR20Pro
|
||||
//#define MachineCR10Std
|
||||
//#define MachineCRX
|
||||
#define MachineCR10SPro
|
||||
//#define MachineS4
|
||||
//#define MachineS5
|
||||
|
||||
//#define PLUS // Adds bltouch, allmetal, bilinear (standard), lerdge, 93 e steps/mm
|
||||
|
||||
//#define Big_UI
|
||||
//#define Big_UI // Lightweight status screen
|
||||
|
||||
#define BoardRev2 //Enable for SD detect function on Rev 2.1 boards or Ender 4
|
||||
//#define GraphicLCD //Full graphics LCD for Ender 4
|
||||
//#define GraphicLCD //Full graphics LCD for Ender 4, CR-X or CR10SPro
|
||||
//#define ForceCRXDisplay
|
||||
//#define Force10SProDisplay
|
||||
#define TM3DTouchscreenUpdates // Enables TM3D Error screens and eeprom screen not found in Creality screen firmware
|
||||
//#define AddonFilSensor //Adds a filamnt runout sensor to the CR20 or Ender 4
|
||||
//#define lerdgeFilSensor //Using lerdge filament sensor, which is opposite polarity to stock
|
||||
//#define DualFilSensors //Using dual filament sensors on XMax and YMAX
|
||||
@@ -49,12 +49,12 @@
|
||||
#define HotendStock
|
||||
//#define HotendE3D
|
||||
|
||||
/*
|
||||
Enable this if you have an all metal hotend capable of 300c
|
||||
|
||||
*/
|
||||
//Enable this if you have an all metal hotend capable of 300c
|
||||
#define HotendAllMetal
|
||||
|
||||
// Enable this if you used a plug and play creality e3d kit with the Creality thermistor
|
||||
//#define CrealityThermistor
|
||||
|
||||
/*
|
||||
* Select these if you have changed to a high performance extruder
|
||||
*/
|
||||
@@ -97,13 +97,16 @@
|
||||
#define ABL_BLTOUCH
|
||||
|
||||
//#define CREALITY_ABL_MOUNT //Using creality ABL mount
|
||||
//#define E3D_DUALFAN_MOUNT // Using HD Modular mount as above with 2 5015 blowers and sensor on the right
|
||||
//#define E3D_PROBEMOUNT_LEFT // Default is probe mounted to the right for E3D. Set this to invert.
|
||||
|
||||
/*
|
||||
Choose bed leveling type here
|
||||
Requires a sensor from above
|
||||
Melzi board users may only select ABL_BI for bilinear leveling
|
||||
*/
|
||||
//#define ABL_BI
|
||||
#define ABL_UBL
|
||||
//#define ABL_UBL
|
||||
|
||||
//#define POWER_LOSS_RECOVERY //Large and does not fit with any other features on Melzi, or UBL on Atmega
|
||||
/*
|
||||
@@ -173,21 +176,6 @@
|
||||
* Advanced settings can be found in Configuration_adv.h
|
||||
*
|
||||
*/
|
||||
|
||||
#if(ENABLED(MachineCR10SPro))
|
||||
#define MachineCR10Std
|
||||
#if DISABLED(ABL_BLTOUCH)
|
||||
#define ABL_NCSW
|
||||
#endif
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#endif
|
||||
#define MeshStd
|
||||
#define BoardRev2
|
||||
#define SD_DETECT_PIN 49
|
||||
#endif
|
||||
|
||||
|
||||
#define CONFIGURATION_H_VERSION 020000
|
||||
|
||||
//===========================================================================
|
||||
@@ -244,7 +232,57 @@
|
||||
*/
|
||||
|
||||
// Enable to show the bitmap in Marlin/_Bootscreen.h on startup.
|
||||
#if(DISABLED(MachineEnder4) && DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard) && ( DISABLED(MachineCR10SPro) && DISABLED(GraphicLCD)))
|
||||
#if(ENABLED(MachineCR10SPro))
|
||||
#define MachineCR10Std
|
||||
#if DISABLED(ABL_BLTOUCH)
|
||||
#define ABL_NCSW
|
||||
#endif
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#endif
|
||||
#define MeshStd
|
||||
#define BoardRev2
|
||||
#define SD_DETECT_PIN 49
|
||||
#endif
|
||||
|
||||
#if ENABLED(MachineEnder2) || ENABLED(MachineEnder3) || ENABLED(MachineCR10)
|
||||
#define MachineCR10Orig
|
||||
#endif
|
||||
|
||||
#if ENABLED(MachineCR10) || ENABLED(MachineCR10S)
|
||||
#define MachineCR10Std
|
||||
#endif
|
||||
|
||||
#if ENABLED(PLUS)
|
||||
#define lerdgeFilSensor //Using lerdge filament sensor, which is opposite polarity to stock)
|
||||
#define HotendAllMetal
|
||||
#define EZRstruder
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#endif
|
||||
#define ABL_BLTOUCH
|
||||
#define HotendAllMetal
|
||||
#endif
|
||||
|
||||
#if(ENABLED(MachineCRX))
|
||||
#define MachineCR10Std
|
||||
#define Dual_BowdenSplitterY
|
||||
#endif
|
||||
|
||||
#if ENABLED(MachineCR20Pro)
|
||||
#define MachineCR20
|
||||
#if DISABLED(ABL_EZABL) && DISABLED(ABL_NCSW)
|
||||
#define ABL_BLTOUCH
|
||||
#endif
|
||||
#define HotendAllMetal
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#define POWER_LOSS_RECOVERY
|
||||
#endif
|
||||
#define SolidBedMounts
|
||||
#endif
|
||||
|
||||
#if(DISABLED(MachineEnder4) && DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) && DISABLED(MachineCR10SPro)
|
||||
#define SHOW_CUSTOM_BOOTSCREEN
|
||||
#endif
|
||||
// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen.
|
||||
@@ -266,6 +304,8 @@
|
||||
#define CUSTOM_MACHINE_NAME "SuPeR CR-10"
|
||||
#elif(ENABLED(MachineCRX))
|
||||
#define CUSTOM_MACHINE_NAME "TM3D CR-X"
|
||||
#elif(ENABLED(MachineCR10SPro))
|
||||
#define CUSTOM_MACHINE_NAME "TM3D 10S Pro"
|
||||
#elif(ENABLED(MachineCR10Std))
|
||||
#define CUSTOM_MACHINE_NAME "300 SuPeR"
|
||||
#elif(ENABLED(MachineS4))
|
||||
@@ -335,32 +375,6 @@
|
||||
|
||||
#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " TM3D " VerChar1 VerChar2 VerChar3 VerChar4 VerChar5 VerChar6
|
||||
|
||||
#if ENABLED(PLUS)
|
||||
#define lerdgeFilSensor //Using lerdge filament sensor, which is opposite polarity to stock)
|
||||
#define HotendAllMetal
|
||||
#define EZRstruder
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#endif
|
||||
#define ABL_BLTOUCH
|
||||
#define HotendAllMetal
|
||||
#endif
|
||||
|
||||
#if(ENABLED(MachineCRX))
|
||||
#define MachineCR10Std
|
||||
#define Dual_BowdenSplitterY
|
||||
#endif
|
||||
|
||||
#if ENABLED(MachineCR20Pro)
|
||||
#define MachineCR20
|
||||
#define ABL_BLTOUCH
|
||||
#define HotendAllMetal
|
||||
#if DISABLED(ABL_UBL)
|
||||
#define ABL_BI
|
||||
#define POWER_LOSS_RECOVERY
|
||||
#endif
|
||||
#define SolidBedMounts
|
||||
#endif
|
||||
/**
|
||||
* Select the serial port on the board to use for communication with the host.
|
||||
* This allows the connection of wireless adapters (for instance) to non-default port pins.
|
||||
@@ -644,14 +658,13 @@
|
||||
*
|
||||
* :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '501':"100K Zonestar (Tronxy X3A)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '61':"100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup", '66':"Dyze Design 4.7M High Temperature thermistor", '67':"Slice Engineering 450C High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-4':"Thermocouple + AD8495", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" }
|
||||
*/
|
||||
#if ENABLED(HotendStock)
|
||||
#define TEMP_SENSOR_0 1
|
||||
#if ENABLED(HotendStock) || ENABLED(CrealityThermistor)
|
||||
#define TEMP_SENSOR_0 1
|
||||
#if(ENABLED(Dual_ChimeraDualNozzle))
|
||||
#define TEMP_SENSOR_1 1
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(HotendE3D)
|
||||
#define TEMP_SENSOR_0 5
|
||||
#else
|
||||
#define TEMP_SENSOR_0 5
|
||||
#if(ENABLED(Dual_ChimeraDualNozzle))
|
||||
#define TEMP_SENSOR_1 5
|
||||
#endif
|
||||
@@ -711,9 +724,9 @@
|
||||
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
|
||||
// You should use MINTEMP for thermistor short/failure protection.
|
||||
#if (ENABLED(HotendAllMetal))
|
||||
#define HEATER_0_MAXTEMP 310
|
||||
#define HEATER_0_MAXTEMP 315
|
||||
#else
|
||||
#define HEATER_0_MAXTEMP 250
|
||||
#define HEATER_0_MAXTEMP 255
|
||||
#endif
|
||||
#define HEATER_1_MAXTEMP 275
|
||||
#define HEATER_2_MAXTEMP 275
|
||||
@@ -749,17 +762,16 @@
|
||||
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
|
||||
|
||||
#if ENABLED(HotendStock)
|
||||
|
||||
#if(ENABLED(MachineCRX))
|
||||
#define DEFAULT_Kp 17.5
|
||||
#define DEFAULT_Ki 1.37
|
||||
#define DEFAULT_Kd 55.47
|
||||
#else
|
||||
// Stock CR-10 Hotend fan 100%
|
||||
#define DEFAULT_Kp 17.42
|
||||
#define DEFAULT_Ki 1.27
|
||||
#define DEFAULT_Kd 59.93
|
||||
#endif
|
||||
#if(ENABLED(MachineCRX) || ENABLED(MachineCR10SPro))
|
||||
#define DEFAULT_Kp 17.5
|
||||
#define DEFAULT_Ki 1.37
|
||||
#define DEFAULT_Kd 55.47
|
||||
#else
|
||||
// Stock CR-10 Hotend fan 100%
|
||||
#define DEFAULT_Kp 17.42
|
||||
#define DEFAULT_Ki 1.27
|
||||
#define DEFAULT_Kd 59.93
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(HotendE3D)
|
||||
@@ -1043,7 +1055,7 @@
|
||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
|
||||
*/
|
||||
#if ENABLED(MachineCR20Pro)
|
||||
#define DEFAULT_MAX_FEEDRATE { 7500, 7500, 10, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 7500, 7500, 10, 50 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 25 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
@@ -1053,7 +1065,7 @@
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#define DEFAULT_EJERK 5.0
|
||||
#elif (ENABLED(MachineMini) || ENABLED(MachineCR20) || ENABLED(MachineEnder2) || ENABLED(MachineEnder3) || ENABLED(MachineEnder4))
|
||||
#define DEFAULT_MAX_FEEDRATE { 750, 750, 10, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 750, 750, 10, 50 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 25 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
@@ -1063,8 +1075,8 @@
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#define DEFAULT_EJERK 5.0
|
||||
#elif (ENABLED(MachineCR10SPro))
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 10, 25 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 750, 750, 100, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 10, 70 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 750, 750, 100, 60 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
#define DEFAULT_TRAVEL_ACCELERATION 300 // X, Y, Z acceleration for travel (non printing) moves
|
||||
@@ -1073,7 +1085,7 @@
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#define DEFAULT_EJERK 5.0
|
||||
#elif (ENABLED(MachineCR10Std))
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 10, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 500, 10, 50 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 1500, 1500, 100, 25 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
@@ -1083,7 +1095,7 @@
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#define DEFAULT_EJERK 5.0
|
||||
#elif ENABLED( MachineS4)
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 400, 10, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 500, 400, 10, 50 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 1000, 750, 100, 25 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
@@ -1093,7 +1105,7 @@
|
||||
#define DEFAULT_ZJERK 0.4
|
||||
#define DEFAULT_EJERK 5.0
|
||||
#elif ENABLED(MachineS5)
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 10, 25 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 10, 50 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 1000, 500, 100, 25 }
|
||||
#define DEFAULT_ACCELERATION 300 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
|
||||
@@ -1125,7 +1137,7 @@
|
||||
//
|
||||
#define JUNCTION_DEVIATION
|
||||
#if ENABLED(JUNCTION_DEVIATION)
|
||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||
#define JUNCTION_DEVIATION_MM 0.08 // (mm) Distance from real junction edge
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -1219,7 +1231,18 @@
|
||||
#define BLTOUCH
|
||||
#endif
|
||||
#if ENABLED(BLTOUCH)
|
||||
#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
|
||||
|
||||
/**
|
||||
* BLTouch V3.0 and newer smart series
|
||||
* For genuine BLTouch 3.0 sensors. Clones may be confused by 3.0 command angles. YMMV.
|
||||
* If the pin trigger is not detected, first try swapping the black and white wires then toggle this.
|
||||
*/
|
||||
#define BLTOUCH_V3
|
||||
#if ENABLED(BLTOUCH_V3)
|
||||
#define BLTOUCH_FORCE_5V_MODE
|
||||
//#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -1305,33 +1328,58 @@
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
|
||||
#if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendStock)) && DISABLED(CREALITY_ABL_MOUNT)
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
#if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendStock))
|
||||
#if ENABLED(CREALITY_ABL_MOUNT)
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -55 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -15 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#else
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -44 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendStock)) && ENABLED(CREALITY_ABL_MOUNT)
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -55 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -15 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
|
||||
#if (ENABLED(ABL_BLTOUCH) && ENABLED(HotendE3D))
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 33 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#if ENABLED(E3D_DUALFAN_MOUNT)
|
||||
#if ENABLED(E3D_PROBEMOUNT_LEFT)
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -63 // X offset: -left +right [of the nozzle]
|
||||
#else
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 63 // X offset: -left +right [of the nozzle]
|
||||
#endif
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#else
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 33 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ((ENABLED(ABL_EZABL) || ENABLED(ABL_NCSW)) && ENABLED(HotendE3D))
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 33 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#if ENABLED(E3D_DUALFAN_MOUNT)
|
||||
#if ENABLED(E3D_PROBEMOUNT_LEFT)
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -63 // X offset: -left +right [of the nozzle]
|
||||
#else
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 63 // X offset: -left +right [of the nozzle]
|
||||
#endif
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#else
|
||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 33 // X offset: -left +right [of the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Certain types of probes need to stay away from edges
|
||||
#define MIN_PROBE_EDGE 10
|
||||
#if ENABLED(ABL_BLTOUCH)
|
||||
#define MIN_PROBE_EDGE 3
|
||||
#else
|
||||
#define MIN_PROBE_EDGE 5
|
||||
#endif
|
||||
|
||||
// X and Y axis travel speed (mm/m) between probes
|
||||
#define XY_PROBE_SPEED 6000
|
||||
@@ -1374,9 +1422,9 @@
|
||||
|
||||
// Enable the M48 repeatability test to test probe accuracy
|
||||
#if (ENABLED(ABL_EZABL)|| ENABLED(ABL_BLTOUCH) || ENABLED(ABL_NCSW))
|
||||
#if(DISABLED(MachineCR10Orig))
|
||||
#define Z_MIN_PROBE_REPEATABILITY_TEST
|
||||
#endif
|
||||
#if(DISABLED(MachineCR10Orig))
|
||||
#define Z_MIN_PROBE_REPEATABILITY_TEST
|
||||
#endif
|
||||
#endif
|
||||
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
|
||||
// :{ 0:'Low', 1:'High' }
|
||||
@@ -1602,7 +1650,7 @@
|
||||
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
|
||||
* By default the firmware assumes HIGH=FILAMENT PRESENT.
|
||||
*/
|
||||
#if (DISABLED(MachineCR10Orig) && DISABLED(MachineCR20) && DISABLED(MachineEnder4) && DISABLED(MachineCRX)) || ENABLED(AddonFilSensor) || ENABLED(DualFilSensors)
|
||||
#if(DISABLED(MachineCR10Orig) &&(DISABLED(MachineCR20)|| ENABLED(AddonFilSensor)) && (DISABLED(MachineEnder4) || ENABLED(AddonFilSensor)) && (DISABLED(MachineCRX)|| ENABLED(AddonFilSensor) || ENABLED(DualFilSensors)))
|
||||
#define FILAMENT_RUNOUT_SENSOR
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
@@ -1716,13 +1764,13 @@
|
||||
*/
|
||||
#if(DISABLED(MachineCR10Orig))
|
||||
#define G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||
#define G26_XYFEEDRATE 20
|
||||
#endif
|
||||
#if ENABLED(G26_MESH_VALIDATION)
|
||||
#define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
|
||||
#define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool.
|
||||
#define MESH_TEST_HOTEND_TEMP 205 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
|
||||
#define MESH_TEST_BED_TEMP 60 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
|
||||
#define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool.
|
||||
#define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
|
||||
#define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1736,7 +1784,7 @@
|
||||
#elif ENABLED(MeshExtreme)
|
||||
#define GRID_MAX_POINTS_X 15
|
||||
#else
|
||||
GRID_MAX_POINTS_X 3
|
||||
#define GRID_MAX_POINTS_X 3
|
||||
#endif
|
||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||
|
||||
@@ -1744,33 +1792,40 @@
|
||||
|
||||
// Set the number of grid points per dimension.
|
||||
|
||||
|
||||
|
||||
// Set the boundaries for probing (where the probe can reach).
|
||||
#if( (X_PROBE_OFFSET_FROM_EXTRUDER + 15) > 0 )
|
||||
#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER + 5)
|
||||
/*
|
||||
|
||||
#define MESH_INSET MIN_PROBE_EDGE
|
||||
|
||||
#if( (X_PROBE_OFFSET_FROM_EXTRUDER ) > MESH_INSET )
|
||||
#define LEFT_PROBE_BED_POSITION (X_PROBE_OFFSET_FROM_EXTRUDER + MESH_INSET + 1)
|
||||
#else
|
||||
#define LEFT_PROBE_BED_POSITION 10
|
||||
#define LEFT_PROBE_BED_POSITION MESH_INSET + 1
|
||||
#endif
|
||||
|
||||
#if( (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER - 5) < X_BED_SIZE)
|
||||
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER - 5)
|
||||
#if( (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER) < X_BED_SIZE - MESH_INSET)
|
||||
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE + X_PROBE_OFFSET_FROM_EXTRUDER - MESH_INSET - 1)
|
||||
#else
|
||||
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - X_PROBE_OFFSET_FROM_EXTRUDER - 5)
|
||||
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - X_PROBE_OFFSET_FROM_EXTRUDER - MESH_INSET -1)
|
||||
#endif
|
||||
|
||||
#if ( (Y_PROBE_OFFSET_FROM_EXTRUDER + 25) > 10 )
|
||||
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER + 25)
|
||||
#if ( (Y_PROBE_OFFSET_FROM_EXTRUDER + MESH_INSET) > MESH_INSET )
|
||||
#define FRONT_PROBE_BED_POSITION (Y_PROBE_OFFSET_FROM_EXTRUDER + MESH_INSET + 1)
|
||||
#else
|
||||
#define FRONT_PROBE_BED_POSITION 25
|
||||
#define FRONT_PROBE_BED_POSITION MESH_INSET + 1
|
||||
#endif
|
||||
|
||||
#if( (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - 25) < Y_BED_SIZE)
|
||||
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - 25)
|
||||
#if( (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER ) < Y_BED_SIZE - MESH_INSET)
|
||||
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE + Y_PROBE_OFFSET_FROM_EXTRUDER - MESH_INSET - 1)
|
||||
#else
|
||||
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 25)
|
||||
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - Y_PROBE_OFFSET_FROM_EXTRUDER - MESH_INSET - 1 )
|
||||
#endif
|
||||
|
||||
*/
|
||||
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
|
||||
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
|
||||
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
|
||||
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
|
||||
// Probe along the Y axis, advancing X after each column
|
||||
//#define PROBE_Y_FIRST
|
||||
|
||||
@@ -1937,8 +1992,11 @@
|
||||
* Commands to execute at the end of G29 probing.
|
||||
* Useful to retract or move the Z probe out of the way.
|
||||
*/
|
||||
#define Z_PROBE_END_SCRIPT "M280 P0 S90"
|
||||
|
||||
#if ENABLED(ABL_BLTOUCH)
|
||||
#define Z_PROBE_END_SCRIPT "M280 P0 S90 \n G1 X0 Y0"
|
||||
#else
|
||||
#define Z_PROBE_END_SCRIPT "G1 X0 Y0"
|
||||
#endif
|
||||
|
||||
// @section homing
|
||||
|
||||
@@ -1962,19 +2020,24 @@
|
||||
//
|
||||
#define Z_SAFE_HOMING
|
||||
|
||||
#if ENABLED(E3D_DUALFAN_MOUNT)
|
||||
#define HOMING_ADD 15
|
||||
#else
|
||||
#define HOMING_ADD 0
|
||||
#endif
|
||||
#if ENABLED(Z_SAFE_HOMING)
|
||||
#if ENABLED(MachineS4)
|
||||
#define Z_SAFE_HOMING_X_POINT 60 // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 60 // Y point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_X_POINT 60 + HOMING_ADD // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 60 + HOMING_ADD // Y point for Z homing when homing all axis (G28).
|
||||
#elif ENABLED(MachineS5)
|
||||
#define Z_SAFE_HOMING_X_POINT 80 // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 80 // Y point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_X_POINT 80 + HOMING_ADD // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 80 + HOMING_ADD // Y point for Z homing when homing all axis (G28).
|
||||
#elif ENABLED(MachineCRX)
|
||||
#define Z_SAFE_HOMING_X_POINT 50 // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 70 // Y point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_X_POINT 50 + HOMING_ADD // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 70 + HOMING_ADD // Y point for Z homing when homing all axis (G28).
|
||||
#else
|
||||
#define Z_SAFE_HOMING_X_POINT 50 // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 50 // Y point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_X_POINT 50 + HOMING_ADD // X point for Z homing when homing all axis (G28).
|
||||
#define Z_SAFE_HOMING_Y_POINT 50 + HOMING_ADD // Y point for Z homing when homing all axis (G28).
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2200,7 +2263,7 @@
|
||||
* M76 - Pause the print job timer
|
||||
* M77 - Stop the print job timer
|
||||
*/
|
||||
#if(DISABLED(MachineCR10Orig))
|
||||
#if DISABLED(MachineCR10Orig)
|
||||
#define PRINTJOB_TIMER_AUTOSTART
|
||||
#endif
|
||||
/**
|
||||
@@ -2215,7 +2278,7 @@
|
||||
*
|
||||
* View the current statistics with M78.
|
||||
*/
|
||||
#if(DISABLED(MachineCR10Orig))
|
||||
#if DISABLED(MachineCR10Orig)
|
||||
#define PRINTCOUNTER
|
||||
#endif
|
||||
//=============================================================================
|
||||
@@ -2308,8 +2371,9 @@
|
||||
// This option overrides the default number of encoder pulses needed to
|
||||
// produce one step. Should be increased for high-resolution encoders.
|
||||
//
|
||||
//#define ENCODER_PULSES_PER_STEP 4
|
||||
|
||||
#if ENABLED(MachineCR20)
|
||||
#define ENCODER_PULSES_PER_STEP 2
|
||||
#endif
|
||||
//
|
||||
// Use this option to override the number of step signals required to
|
||||
// move between next/prev menu items.
|
||||
@@ -2827,4 +2891,4 @@
|
||||
//#define DEACTIVATE_SERVOS_AFTER_MOVE
|
||||
|
||||
// Allow servo angle to be edited and saved to EEPROM
|
||||
//#define EDITABLE_SERVO_ANGLES
|
||||
//#define EDITABLE_SERVO_ANGLES
|
||||
|
||||
+24
-25
@@ -79,7 +79,7 @@
|
||||
|
||||
#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops
|
||||
#if ENABLED(ADAPTIVE_FAN_SLOWING) && ENABLED(PIDTEMP)
|
||||
//#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303
|
||||
#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -1025,7 +1025,7 @@
|
||||
// Note: Extra time may be added to mitigate controller latency.
|
||||
#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
|
||||
#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping
|
||||
#if DISABLED(MachineCR10SPro) && DISABLED(GraphicLCD)
|
||||
#if DISABLED(MachineCR10SPro) && DISABLED(GraphicLCD)
|
||||
#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
|
||||
#endif
|
||||
#endif
|
||||
@@ -1128,7 +1128,9 @@
|
||||
//
|
||||
// G2/G3 Arc Support
|
||||
//
|
||||
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
|
||||
#if DISABLED(MachineCR10Orig)
|
||||
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
|
||||
#endif
|
||||
#if ENABLED(ARC_SUPPORT)
|
||||
#define MM_PER_ARC_SEGMENT 1 // Length of each arc segment
|
||||
#define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections
|
||||
@@ -1403,7 +1405,7 @@
|
||||
|
||||
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
|
||||
#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
|
||||
#if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard))
|
||||
#if(DISABLED(MachineCR10Orig) && DISABLED(LowMemoryBoard)) && DISABLED(MachineCR10SPro)
|
||||
//#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
|
||||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
@@ -2150,28 +2152,24 @@
|
||||
#else
|
||||
#define CommBedTmp "75"
|
||||
#endif
|
||||
|
||||
#if (ENABLED(ABL_UBL))
|
||||
#define USER_DESC_1 "UBL Commission 1"
|
||||
#define USER_GCODE_1 "M502 \n M500 \n M501 \n M190 S" CommBedTmp" \n M104 S225 \n G28 \n G29 P1 \n G29 S1 \n M117 Run Step 2"
|
||||
|
||||
#define USER_DESC_2 "UBL Commission 2"
|
||||
#define USER_GCODE_2 "G29 S1 \n G29 S0 \n G29 F 10.0 \n G29 A \n M500 \n G28 \n G29 L1 \n M109 S225 \n G1 X100 Y 100 \n G1 Z0 \n M117 Set Z Offset"
|
||||
#define USER_DESC_1 "Mesh Commission"
|
||||
#if (ENABLED(ABL_UBL))
|
||||
#define USER_GCODE_1 "M502 \n M500 \n M501 \n M190 S" CommBedTmp" \n G28 \n G29 P1 \n G29 S1 \n G29 S0 \n G29 F 10.0 \n G29 A \n M500 \n G28 \n G29 L1 \n M109 S225 \n G1 X150 Y 150 \n G1 Z0 \n M77 \n M117 Set Z Offset"
|
||||
#elif ENABLED(ABL_BI)
|
||||
#define USER_GCODE_1 "M117 \n M502 \n M500 \n M501 \n M190 S" CommBedTmp" \n M117 Probing.... \n M104 S225 \n G28 \n G29 \n M500 \n G28 \n M420 S \n M109 S225 \n G1 X100 Y 100 \n G1 Z0 \n M77 \n M117 Set Z Offset"
|
||||
#endif
|
||||
|
||||
#define USER_DESC_2 "PID Tune"
|
||||
#define USER_GCODE_2 "M106 S128 \n M303 C8 S225 E1 U \n M500 \n M117 PID Tune Done"
|
||||
|
||||
#define USER_DESC_3 "Prep for Z Adjust"
|
||||
#define USER_GCODE_3 "M190 " CommBedTmp" \n M104 235 \n G28 \n G29 L1 \n G1 X100 Y 100 \n G1 Z0"
|
||||
#define USER_GCODE_3 "M190 S" CommBedTmp" \n M104 235 \n G28 \n G29 L1 \n G1 X100 Y 100 \n G1 Z0"
|
||||
|
||||
#define USER_DESC_4 "Fill Mesh Points"
|
||||
#define USER_GCODE_4 "G29 P3 \n G29 P3 \n G29 P3 \n G29 T"
|
||||
#elif ENABLED(ABL_BI)
|
||||
#define USER_DESC_1 "BIL Commission"
|
||||
#define USER_GCODE_1 "M502 \n M500 \n M501 \n M190 " CommBedTmp" \n M104 S225 \n G28 \n G29 \n M500 \n G28 \n M420 S \n M109 S225 \n G1 X100 Y 100 \n G1 Z0 \n M117 Set Z Offset"
|
||||
#define USER_DESC_4 "Store Settings"
|
||||
#define USER_GCODE_4 "M500"
|
||||
|
||||
#define USER_DESC_2 "Prep for Z Adjust"
|
||||
#define USER_GCODE_2 "M190 " CommBedTmp" \n M104 235 \n G28 \n M420 S \n G1 X100 Y 100 \n G1 Z0"
|
||||
#endif
|
||||
#define USER_DESC_5 "Run Mesh Validation"
|
||||
#define USER_GCODE_5 "G26"
|
||||
//#define USER_DESC_5 "Run Mesh Validation"
|
||||
//#define USER_GCODE_5 "G26"
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -2405,7 +2403,8 @@
|
||||
/**
|
||||
* M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
|
||||
*/
|
||||
#define PINS_DEBUGGING
|
||||
|
||||
#if DISABLED(MachineCR10Orig)
|
||||
#define PINS_DEBUGGING
|
||||
#endif
|
||||
// Enable Marlin dev mode which adds some special commands
|
||||
//#define MARLIN_DEV_MODE
|
||||
//#define MARLIN_DEV_MODE
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
#include "../../../core/debug_out.h"
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
#include "../../../lcd/extensible_ui/ui_api.h"
|
||||
#endif
|
||||
|
||||
int bilinear_grid_spacing[2], bilinear_start[2];
|
||||
float bilinear_grid_factor[2],
|
||||
z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
|
||||
|
||||
@@ -42,6 +42,11 @@
|
||||
#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
#include "../../core/debug_out.h"
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
#include "../../lcd/extensible_ui/ui_api.h"
|
||||
#endif
|
||||
|
||||
|
||||
bool leveling_is_valid() {
|
||||
return
|
||||
#if ENABLED(MESH_BED_LEVELING)
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
#include "../../module/configuration_store.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
#include "../../lcd/extensible_ui/ui_api.h"
|
||||
#endif
|
||||
|
||||
//#define M420_C_USE_MEAN
|
||||
|
||||
/**
|
||||
@@ -175,14 +179,16 @@ void GcodeSuite::M420() {
|
||||
set_bed_leveling_enabled(false);
|
||||
// Subtract the mean from all values
|
||||
for (uint8_t x = GRID_MAX_POINTS_X; x--;)
|
||||
for (uint8_t y = GRID_MAX_POINTS_Y; y--;)
|
||||
for (uint8_t y = GRID_MAX_POINTS_Y; y--;) {
|
||||
Z_VALUES(x, y) -= zmean;
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y));
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
|
||||
bed_level_virt_interpolate();
|
||||
#endif
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y));
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -71,6 +71,10 @@
|
||||
#define G29_RETURN(b) return;
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
#include "../../../lcd/extensible_ui/ui_api.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* G29: Detailed Z probe, probes the bed at 3 or more points.
|
||||
* Will fail if the printer has not been homed with G28.
|
||||
|
||||
@@ -31,6 +31,10 @@
|
||||
#include "../../gcode.h"
|
||||
#include "../../../feature/bedlevel/abl/abl.h"
|
||||
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
#include "../../../lcd/extensible_ui/ui_api.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* M421: Set a single Mesh Bed Leveling Z coordinate
|
||||
*
|
||||
|
||||
@@ -49,7 +49,6 @@ unsigned char AxisPagenum = 0; //0 for 10mm, 1 for 1mm, 2 for 0.1mm
|
||||
bool InforShowStatus = true;
|
||||
bool TPShowStatus = false; // true for only opening time and percentage, false for closing time and percentage.
|
||||
bool FanStatus = true;
|
||||
bool AutoLevelStatus = true;
|
||||
bool AutohomeKey = false;
|
||||
unsigned char AutoHomeIconNum;
|
||||
unsigned long VolumeSet = 0x80;
|
||||
@@ -58,12 +57,9 @@ bool PoweroffContinue = false;
|
||||
extern const char *injected_commands_P;
|
||||
char commandbuf[30];
|
||||
|
||||
//RTSSHOW rtscheck;
|
||||
|
||||
void onStartup() {
|
||||
Serial2.begin(115200);
|
||||
LanguageRecbuf = 0; //Force language to English, 1=Chinese but currently not implemented
|
||||
AutoLevelStatus = 1; //Set auto leveling on
|
||||
int showcount = 0;
|
||||
|
||||
rtscheck.recdat.head[0] = rtscheck.snddat.head[0] = FHONE;
|
||||
@@ -71,28 +67,27 @@ char commandbuf[30];
|
||||
memset(rtscheck.databuf,0, sizeof(rtscheck.databuf));
|
||||
|
||||
#if HAS_MESH && (ENABLED(MachineCR10SPro) || ENABLED(Force10SProDisplay))
|
||||
/*if (getMeshValid())
|
||||
if (ExtUI::getMeshValid())
|
||||
{
|
||||
bed_mesh_t bedMesh = getMeshArray();
|
||||
//bed_mesh_t bedMesh = ExtUI::getMeshArray();
|
||||
for(int xCount = 0; xCount < GRID_MAX_POINTS_X; xCount++)
|
||||
{
|
||||
for(int yCount = 0; yCount < GRID_MAX_POINTS_X; yCount++)
|
||||
{
|
||||
if((showcount++) < 16)
|
||||
{
|
||||
rtscheck.RTS_SndData(bedMesh[xCount][yCount] *10000, AutolevelVal + (15-showcount-1)*2);
|
||||
rtscheck.RTS_SndData(getMeshArray[xCount][yCount] *10000, AutolevelVal + (15-showcount-1)*2);
|
||||
rtscheck.RTS_SndData(showcount,AutolevelIcon);
|
||||
}
|
||||
}
|
||||
}
|
||||
rtscheck.RTS_SndData(2, AutoLevelIcon); //On
|
||||
enqueueCommands_P((PSTR("M420 S1"))); // Enable Bed leveling if mesh found and valid
|
||||
AutoLevelStatus = getLevelingActive(); //set ExtUI status for consistency
|
||||
}
|
||||
else
|
||||
{
|
||||
rtscheck.RTS_SndData(3, AutoLevelIcon); //Off
|
||||
}*/
|
||||
}
|
||||
#endif
|
||||
|
||||
//VolumeSet = eeprom_read_byte((unsigned char*)FONT_EEPROM+4);
|
||||
@@ -1013,13 +1008,17 @@ SERIAL_ECHO(Checkkey);
|
||||
}
|
||||
else if(recdat.data[0] == 1) //Bed Autoleveling
|
||||
{
|
||||
AutoLevelStatus?RTS_SndData(2, AutoLevelIcon):RTS_SndData(3, AutoLevelIcon);
|
||||
if (getLevelingActive())
|
||||
RTS_SndData(2, AutoLevelIcon);
|
||||
else
|
||||
RTS_SndData(3, AutoLevelIcon);
|
||||
|
||||
RTS_SndData(10, FilenameIcon); //Motor Icon
|
||||
waitway = 2; //only for prohibiting to receive massage
|
||||
|
||||
enqueueCommands_P((PSTR("G28")));
|
||||
if (!isPositionKnown())
|
||||
enqueueCommands_P((PSTR("G28")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F150 Z0.0")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0.0")));
|
||||
RTS_SndData(ExchangePageBase + 64, ExchangepageAddr);
|
||||
}
|
||||
else if(recdat.data[0] == 2) // Exchange filement
|
||||
@@ -1081,40 +1080,40 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X30 Y30 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
|
||||
}
|
||||
else if(recdat.data[0] == 2) // Top Right
|
||||
{
|
||||
waitway = 4; //only for prohibiting to receive massage
|
||||
enqueueCommands_P((PSTR("G1 F200 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 X270 Y30 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F200 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 3) // Centre
|
||||
{
|
||||
waitway = 4; //only for prohibiting to receive massage
|
||||
enqueueCommands_P((PSTR("G1 F200 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 X150 Y150 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F200 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 4) // Bottom Left
|
||||
{
|
||||
waitway = 4; //only for prohibiting to receive massage
|
||||
enqueueCommands_P((PSTR("G1 F200 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 X30 Y270 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F200 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 5) // Bottom Right
|
||||
{
|
||||
waitway = 4; //only for prohibiting to receive massage
|
||||
enqueueCommands_P((PSTR("G1 F200 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3")));
|
||||
enqueueCommands_P((PSTR("G1 X270 Y270 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F200 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F200 Z0")));
|
||||
}
|
||||
break;
|
||||
#else
|
||||
@@ -1124,7 +1123,7 @@ SERIAL_ECHO(Checkkey);
|
||||
if (!isAxisPositionKnown((axis_t)X) || !isAxisPositionKnown((axis_t)Y))
|
||||
enqueueCommands_P(PSTR("G28"));
|
||||
else
|
||||
enqueueCommands_P(PSTR("G28 Z0"));
|
||||
enqueueCommands_P(PSTR("G28 Z"));
|
||||
enqueueCommands_P(PSTR("G1 F150 Z0.0"));
|
||||
RTS_SndData(getZOffset_mm()*100, 0x1026);
|
||||
}
|
||||
@@ -1152,21 +1151,18 @@ SERIAL_ECHO(Checkkey);
|
||||
{
|
||||
//setLevelingActive(false); // FIX ME
|
||||
waitway = 4; //only for prohibiting to receive massage
|
||||
enqueueCommands_P((PSTR("G28 X0 Y0 Z0")));
|
||||
enqueueCommands_P((PSTR("G90")));
|
||||
if (!isPositionKnown())
|
||||
enqueueCommands_P((PSTR("G28")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F200 Z0.0")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0.0")));
|
||||
RTS_SndData(ExchangePageBase + 84, ExchangepageAddr);
|
||||
}
|
||||
else if(recdat.data[0] == 5) // AutoLevel
|
||||
else if(recdat.data[0] == 5) // AutoLevel "Measuring" Button
|
||||
{
|
||||
waitway = 3; //only for prohibiting to receive massage
|
||||
RTS_SndData(1, AutolevelIcon);
|
||||
RTS_SndData(ExchangePageBase + 85, ExchangepageAddr);
|
||||
enqueueCommands_P(PSTR("G29 P1"));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z10.0;")));
|
||||
enqueueCommands_P(PSTR("G1 X150 Y150 F5000"));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0.0")));
|
||||
enqueueCommands_P(PSTR(USER_GCODE_1));
|
||||
}
|
||||
else if(recdat.data[0] == 6) // Assitant Level , Centre 1
|
||||
{
|
||||
@@ -1174,7 +1170,7 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X150 Y150 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 7) // Assitant Level , Front Left 2
|
||||
{
|
||||
@@ -1182,7 +1178,7 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X30 Y30 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 8) // Assitant Level , Front Right 3
|
||||
{
|
||||
@@ -1190,7 +1186,7 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X270 Y30 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 9) // Assitant Level , Back Right 4
|
||||
{
|
||||
@@ -1198,7 +1194,7 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X270 Y270 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 10) // Assitant Level , Back Left 5
|
||||
{
|
||||
@@ -1206,24 +1202,21 @@ SERIAL_ECHO(Checkkey);
|
||||
enqueueCommands_P((PSTR("G1 F100 Z3;")));
|
||||
enqueueCommands_P((PSTR("G1 X30 Y270 F5000")));
|
||||
waitway = 2;
|
||||
enqueueCommands_P((PSTR("G1 F100 Z-3")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z0")));
|
||||
}
|
||||
else if(recdat.data[0] == 11) // Autolevel switch
|
||||
{
|
||||
if(AutoLevelStatus) //turn on the Autolevel
|
||||
if(getLevelingActive()) //turn on the Autolevel
|
||||
{
|
||||
RTS_SndData(3, AutoLevelIcon);
|
||||
AutoLevelStatus = false;
|
||||
enqueueCommands_P((PSTR("M420 S1")));
|
||||
enqueueCommands_P((PSTR("M420 S0")));
|
||||
}
|
||||
else//turn off the Autolevel
|
||||
{
|
||||
RTS_SndData(2, AutoLevelIcon);
|
||||
AutoLevelStatus = true;
|
||||
enqueueCommands_P((PSTR("M420 0")));
|
||||
enqueueCommands_P((PSTR("M420 S1")));
|
||||
}
|
||||
RTS_SndData(getZOffset_mm()*100, 0x1026);
|
||||
//eeprom_write_byte((unsigned char*)FONT_EEPROM+2, AutoLevelStatus);
|
||||
}
|
||||
|
||||
RTS_SndData(10, FilenameIcon);
|
||||
@@ -1258,7 +1251,7 @@ SERIAL_ECHO(Checkkey);
|
||||
{
|
||||
waitway = 4;
|
||||
enqueueCommands_P((PSTR("G28")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z10.2")));
|
||||
enqueueCommands_P((PSTR("G1 F100 Z10")));
|
||||
InforShowStatus = AutohomeKey = true;
|
||||
AutoHomeIconNum = 0;
|
||||
RTS_SndData(ExchangePageBase + 74, ExchangepageAddr);
|
||||
@@ -1711,9 +1704,7 @@ void onPrinterKilled(PGM_P const msg) {}
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
if(PoweroffContinue)
|
||||
{
|
||||
//sprintf_P(power_off_commands[0], PSTR("G92 Z%s E%s"), str_Z, str_E);
|
||||
enqueue_and_echo_command(power_off_commands[0]);
|
||||
//sprintf_P(power_off_commands[1], PSTR("G0 Z%s"), str_Z_up);
|
||||
enqueue_and_echo_command(power_off_commands[1]);
|
||||
enqueue_and_echo_commands_P((PSTR("G28 X0 Y0")));
|
||||
}
|
||||
|
||||
@@ -714,7 +714,7 @@ namespace ExtUI {
|
||||
void setLevelingActive(const bool state) { set_bed_leveling_enabled(state); }
|
||||
#if HAS_MESH
|
||||
bool getMeshValid() { return leveling_is_valid(); }
|
||||
bed_mesh_t getMeshArray() { return Z_VALUES_ARR; }
|
||||
//bed_mesh_t getMeshArray = Z_VALUES_ARR;
|
||||
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zoff) {
|
||||
if (WITHIN(xpos, 0, GRID_MAX_POINTS_X) && WITHIN(ypos, 0, GRID_MAX_POINTS_Y)) {
|
||||
Z_VALUES(xpos, ypos) = zoff;
|
||||
@@ -748,10 +748,15 @@ namespace ExtUI {
|
||||
enqueue_and_echo_commands_P(gcode);
|
||||
}
|
||||
|
||||
bool commandsInQueue() { return (planner.movesplanned() || commands_in_queue); }
|
||||
|
||||
bool isAxisPositionKnown(const axis_t axis) {
|
||||
return TEST(axis_known_position, axis);
|
||||
}
|
||||
|
||||
bool isPositionKnown() { return all_axes_known(); }
|
||||
bool isMachineHomed() { return all_axes_homed(); }
|
||||
|
||||
PGM_P getFirmwareName_str() {
|
||||
static const char firmware_name[] PROGMEM = "Marlin " SHORT_BUILD_VERSION;
|
||||
return firmware_name;
|
||||
|
||||
@@ -58,9 +58,12 @@ namespace ExtUI {
|
||||
|
||||
bool isMoving();
|
||||
bool isAxisPositionKnown(const axis_t);
|
||||
bool isPositionKnown(); // Axis position guaranteed, steppers active since homing
|
||||
bool isMachineHomed(); // Axis position most likely correct, steppers may have deactivated
|
||||
bool canMove(const axis_t);
|
||||
bool canMove(const extruder_t);
|
||||
void enqueueCommands_P(PGM_P const);
|
||||
bool commandsInQueue();
|
||||
|
||||
/**
|
||||
* Getters and setters
|
||||
@@ -112,7 +115,7 @@ namespace ExtUI {
|
||||
#if HAS_MESH
|
||||
#include "../../feature/bedlevel/bedlevel.h"
|
||||
bool getMeshValid();
|
||||
bed_mesh_t getMeshArray();
|
||||
float *getMeshArray[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y] = &Z_VALUES_ARR;
|
||||
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zval);
|
||||
void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user