This commit is contained in:
InsanityAutomation
2019-04-25 23:23:01 -04:00
parent 3a8c87b511
commit 672f1c60fb
10 changed files with 310 additions and 225 deletions
+213 -149
View File
@@ -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
View File
@@ -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
+4
View File
@@ -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];
+5
View File
@@ -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)
+10 -4
View File
@@ -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
+4
View File
@@ -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.
+4
View File
@@ -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")));
}
+6 -1
View File
@@ -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;
+4 -1
View File
@@ -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