Skip to content

Commit c1fd548

Browse files
committed
update to current marlin/bugfix 2.0.x
2 parents 08a76af + 2b31684 commit c1fd548

File tree

209 files changed

+4252
-1017
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

209 files changed

+4252
-1017
lines changed

.travis.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ env:
2525
- TEST_PLATFORM="sanguino_atmega1284p"
2626
- TEST_PLATFORM="sanguino_atmega644p"
2727

28+
# Broken Extended STM32 Environments
29+
#- TEST_PLATFORM="ARMED"
30+
#- TEST_PLATFORM="BIGTREE_BTT002"
31+
#- TEST_PLATFORM="BIGTREE_SKR_PRO"
32+
2833
# Extended STM32 Environments
29-
- TEST_PLATFORM="ARMED"
30-
- TEST_PLATFORM="BIGTREE_BTT002"
31-
- TEST_PLATFORM="BIGTREE_SKR_PRO"
3234
- TEST_PLATFORM="STM32F103RC_bigtree"
3335
- TEST_PLATFORM="jgaurora_a5s_a1"
3436
- TEST_PLATFORM="STM32F103VE_longer"

Marlin/Configuration.h

+52-28
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272

7373
// Author info of this build printed to the host during boot and M115
7474
#define STRING_CONFIG_H_AUTHOR "(alpine, sappireTFT35)" // Who made the changes.
75+
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
76+
7577

7678
/**
7779
* *** VENDORS PLEASE READ ***
@@ -418,7 +420,7 @@
418420
#define TEMP_SENSOR_5 0
419421
//@
420422
#define TEMP_SENSOR_BED 1
421-
#define TEMP_SENSOR_CHAMBER 0
423+
#define TEMP_SENSOR_CHAMBER 5
422424

423425
// Dummy thermistor constant temperature readings, for use with 998 and 999
424426
#define DUMMY_THERMISTOR_998_VALUE 25
@@ -430,11 +432,11 @@
430432
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
431433

432434
#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109
433-
#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
435+
#define TEMP_WINDOW 2 // (°C) Temperature proximity for the "temperature reached" timer
434436
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
435437

436438
#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190
437-
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
439+
#define TEMP_BED_WINDOW 2 // (°C) Temperature proximity for the "temperature reached" timer
438440
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
439441

440442
// Below this temperature the heater will be switched off
@@ -595,7 +597,7 @@
595597

596598
#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
597599
#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
598-
#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber
600+
//#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber
599601

600602
//===========================================================================
601603
//============================= Mechanical Settings =========================
@@ -663,7 +665,7 @@
663665
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
664666
#define Y_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
665667
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
666-
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.
668+
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.
667669

668670
/**
669671
* Stepper Drivers
@@ -688,7 +690,7 @@
688690
//#define Y2_DRIVER_TYPE A4988
689691
//#define Z2_DRIVER_TYPE A4988
690692
//#define Z3_DRIVER_TYPE A4988
691-
#define E0_DRIVER_TYPE A4988
693+
#define E0_DRIVER_TYPE TMC2130_STANDALONE
692694
//#define E1_DRIVER_TYPE A4988
693695
//#define E2_DRIVER_TYPE A4988
694696
//#define E3_DRIVER_TYPE A4988
@@ -739,15 +741,15 @@
739741
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
740742
*/
741743
//@ settings from 1.0.3 stock firmware
742-
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.3, 80.4, 1600, 415 }
744+
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 415 }
743745

744746
/**
745747
* Default Max Feed Rate (mm/s)
746748
* Override with M203
747749
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
748750
*/
749751
//@ keep speed reasonable
750-
#define DEFAULT_MAX_FEEDRATE { 200, 200, 4, 75 }
752+
#define DEFAULT_MAX_FEEDRATE { 200, 200, 10, 75 }
751753

752754
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
753755
#if ENABLED(LIMITED_MAX_FR_EDITING)
@@ -786,7 +788,7 @@
786788
* Override with M205 X Y Z E
787789
*
788790
* "Jerk" specifies the minimum speed change that requires acceleration.
789-
* When changing speed and direction, if the difference is less than the
791+
* When changing speed and , if the difference is less than the
790792
* value set here, it may happen instantaneously.
791793
*/
792794
//#define CLASSIC_JERK
@@ -872,14 +874,14 @@
872874
* or (with LCD_BED_LEVELING) the LCD controller.
873875
*/
874876
//@
875-
#define PROBE_MANUALLY
877+
//#define PROBE_MANUALLY
876878
//#define MANUAL_PROBE_START_Z 0
877879

878880
/**
879881
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
880882
* (e.g., an inductive probe or a nozzle-based probe-switch.)
881883
*/
882-
//#define FIX_MOUNTED_PROBE
884+
#define FIX_MOUNTED_PROBE
883885

884886
/**
885887
* Z Servo Probe, such as an endstop switch on a rotating arm.
@@ -947,10 +949,10 @@
947949
*
948950
* Specify a Probe position as { X, Y, Z }
949951
*/
950-
#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
952+
#define NOZZLE_TO_PROBE_OFFSET { 14, -40, 0 }
951953

952954
// Certain types of probes need to stay away from edges
953-
#define MIN_PROBE_EDGE 10
955+
#define MIN_PROBE_EDGE 5
954956

955957
// X and Y axis travel speed (mm/m) between probes
956958
//@
@@ -971,7 +973,7 @@
971973
* A total of 2 does fast/slow probes with a weighted average.
972974
* A total of 3 or more adds more slow probes, taking the average.
973975
*/
974-
//#define MULTIPLE_PROBING 2
976+
#define MULTIPLE_PROBING 5
975977
//#define EXTRA_PROBING 1
976978

977979
/**
@@ -988,10 +990,10 @@
988990
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
989991
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
990992
*/
991-
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
992-
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
993-
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
994-
//#define Z_AFTER_PROBING 5 // Z position after probing is done
993+
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
994+
#define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points
995+
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
996+
#define Z_AFTER_PROBING 5 // Z position after probing is done
995997

996998
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
997999

@@ -1015,7 +1017,7 @@
10151017
* These options are most useful for the BLTouch probe, but may also improve
10161018
* readings with inductive probes and piezo sensors.
10171019
*/
1018-
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
1020+
#define PROBING_HEATERS_OFF // Turn heaters off when probing
10191021
#if ENABLED(PROBING_HEATERS_OFF)
10201022
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
10211023
#endif
@@ -1055,7 +1057,7 @@
10551057
// @section extruder
10561058

10571059
// For direct drive extruder v9 set to true, for geared extruder set to false.
1058-
#define INVERT_E0_DIR false
1060+
#define INVERT_E0_DIR true
10591061
#define INVERT_E1_DIR false
10601062
#define INVERT_E2_DIR false
10611063
#define INVERT_E3_DIR false
@@ -1138,7 +1140,7 @@
11381140
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
11391141
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
11401142
#define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor.
1141-
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
1143+
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
11421144
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
11431145

11441146
// Set one or more commands to execute on filament runout.
@@ -1198,9 +1200,9 @@
11981200
*/
11991201
//#define AUTO_BED_LEVELING_3POINT
12001202
//#define AUTO_BED_LEVELING_LINEAR
1201-
//#define AUTO_BED_LEVELING_BILINEAR
1203+
#define AUTO_BED_LEVELING_BILINEAR
12021204
//#define AUTO_BED_LEVELING_UBL
1203-
#define MESH_BED_LEVELING
1205+
//#define MESH_BED_LEVELING
12041206

12051207
/**
12061208
* Normally G28 leaves leveling disabled on completion. Enable
@@ -1245,7 +1247,7 @@
12451247
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
12461248

12471249
// Set the number of grid points per dimension.
1248-
#define GRID_MAX_POINTS_X 3
1250+
#define GRID_MAX_POINTS_X 4
12491251
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
12501252

12511253
// Probe along the Y axis, advancing X after each column
@@ -1275,7 +1277,7 @@
12751277
//========================= Unified Bed Leveling ============================
12761278
//===========================================================================
12771279

1278-
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
1280+
#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
12791281

12801282
#define MESH_INSET 20 // Set Mesh bounds as an inset region of the bed
12811283
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
@@ -1353,11 +1355,11 @@
13531355
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
13541356
// - Prevent Z homing when the Z probe is outside bed area.
13551357
//
1356-
//#define Z_SAFE_HOMING
1358+
#define Z_SAFE_HOMING
13571359

13581360
#if ENABLED(Z_SAFE_HOMING)
1359-
#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28).
1360-
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).
1361+
#define Z_SAFE_HOMING_X_POINT (46) // X point for Z homing when homing all axes (G28).
1362+
#define Z_SAFE_HOMING_Y_POINT (100) // Y point for Z homing when homing all axes (G28).
13611363
#endif
13621364

13631365
// Homing speeds (mm/m)
@@ -2095,6 +2097,28 @@
20952097

20962098
//@
20972099
#define FSMC_GRAPHICAL_TFT
2100+
#if ENABLED(FSMC_GRAPHICAL_TFT)
2101+
//
2102+
// FSMC_UPSCALE 2 2x upscaler for 320x240 displays (default)
2103+
// FSMC_UPSCALE 3 3x upscaler for 480x320 displays
2104+
//
2105+
#define FSMC_UPSCALE 3
2106+
2107+
//
2108+
// Change colors
2109+
// some colors are predefined, see /src/lcd/dogm/u8g_dev_tft_480~.cpp Line 160
2110+
// or use 16bit color (e.g. 0x0000 = black, 0xFFE0 = yellow)
2111+
// see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html
2112+
//
2113+
2114+
#define TFT_MARLINUI_COLOR COLOR_WHITE // main foreground color
2115+
#define TFT_MARLINBG_COLOR COLOR_NAVY // background color
2116+
#define TFT_BTCANCEL_COLOR 0xA9A6 // cancel button
2117+
#define TFT_BTARROWS_COLOR COLOR_WHITE // arrows up/down
2118+
#define TFT_BTOKMENU_COLOR COLOR_WHITE // enter button
2119+
//#define TFT_DISABLED_COLOR COLOR_DARK // currently not used
2120+
2121+
#endif
20982122

20992123
//=============================================================================
21002124
//============================ Other Controllers ============================

Marlin/Configuration_adv.h

+50-22
Original file line numberDiff line numberDiff line change
@@ -346,15 +346,15 @@
346346
* Multiple extruders can be assigned to the same pin in which case
347347
* the fan will turn on when any selected extruder is above the threshold.
348348
*/
349-
#define E0_AUTO_FAN_PIN -1
349+
#define E0_AUTO_FAN_PIN HOTEND_FAN_PIN // hotend fan on heater2
350350
#define E1_AUTO_FAN_PIN -1
351351
#define E2_AUTO_FAN_PIN -1
352352
#define E3_AUTO_FAN_PIN -1
353353
#define E4_AUTO_FAN_PIN -1
354354
#define E5_AUTO_FAN_PIN -1
355355
#define CHAMBER_AUTO_FAN_PIN -1
356356

357-
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
357+
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 // hotend fan will start at 50° C
358358
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
359359
#define CHAMBER_AUTO_FAN_TEMPERATURE 30
360360
#define CHAMBER_AUTO_FAN_SPEED 255
@@ -906,9 +906,13 @@
906906
// Add an 'M73' G-code to set the current percentage
907907
//#define LCD_SET_PROGRESS_MANUALLY
908908

909-
#if HAS_PRINT_PROGRESS
910-
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits (Graphical LCD only)
911-
//#define SHOW_REMAINING_TIME // Display estimated time to completion (Graphical LCD only)
909+
// Show the E position (filament used) during printing
910+
//#define LCD_SHOW_E_TOTAL
911+
912+
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
913+
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
914+
//#define SHOW_REMAINING_TIME // Display estimated time to completion
915+
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
912916
#endif
913917

914918
#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS
@@ -1004,7 +1008,7 @@
10041008
#endif
10051009

10061010
// This allows hosts to request long names for files and folders with M33
1007-
//#define LONG_FILENAME_HOST_SUPPORT
1011+
#define LONG_FILENAME_HOST_SUPPORT
10081012

10091013
// Enable this option to scroll long filenames in the SD card menu
10101014
//#define SCROLL_LONG_FILENAMES
@@ -1314,8 +1318,8 @@
13141318
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
13151319
//@
13161320
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
1317-
#define BABYSTEP_MULTIPLICATOR 10 // Babysteps are very small. Increase for faster motion.
1318-
1321+
#define BABYSTEP_MULTIPLICATOR_Z 10 // Babysteps are very small. Increase for faster motion.
1322+
#define BABYSTEP_MULTIPLICATOR_XY 10
13191323
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
13201324
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
13211325
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
@@ -2071,6 +2075,8 @@
20712075
*
20722076
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
20732077
* homing and adds a guard period for endstop triggering.
2078+
*
2079+
* TMC2209 requires STEALTHCHOP enabled for SENSORLESS_HOMING
20742080
*/
20752081
//#define SENSORLESS_HOMING // StallGuard capable drivers only
20762082

@@ -2527,27 +2533,42 @@
25272533
/**
25282534
* User-defined menu items that execute custom GCode
25292535
*/
2530-
//#define CUSTOM_USER_MENUS
2536+
#define CUSTOM_USER_MENUS
25312537
#if ENABLED(CUSTOM_USER_MENUS)
2532-
//#define CUSTOM_USER_MENU_TITLE "Custom Commands"
2533-
#define USER_SCRIPT_DONE "M117 User Script Done"
2538+
#define CUSTOM_USER_MENU_TITLE "TFT Color Profiles"
2539+
#define USER_SCRIPT_DONE "M117 Color profile changed"
25342540
#define USER_SCRIPT_AUDIBLE_FEEDBACK
25352541
//#define USER_SCRIPT_RETURN // Return to status screen after a script
25362542

2537-
#define USER_DESC_1 "Home & UBL Info"
2538-
#define USER_GCODE_1 "G28\nG29 W"
2543+
#define USER_DESC_1 "Black & White"
2544+
#define USER_GCODE_1 "M250 P0"
2545+
2546+
// #define USER_DESC_1 "Home & UBL Info"
2547+
// #define USER_GCODE_1 "G28\nG29 W"
2548+
2549+
#define USER_DESC_2 "Classic Blue"
2550+
#define USER_GCODE_2 "M250 P1"
2551+
2552+
// #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL
2553+
// #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
25392554

2540-
#define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL
2541-
#define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
2555+
#define USER_DESC_3 "Inverted B&W"
2556+
#define USER_GCODE_3 "M250 P2"
25422557

2543-
#define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL
2544-
#define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
2558+
// #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL
2559+
// #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
25452560

2546-
#define USER_DESC_4 "Heat Bed/Home/Level"
2547-
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
2561+
#define USER_DESC_4 "Olive LED"
2562+
#define USER_GCODE_4 "M250 P3"
25482563

2549-
#define USER_DESC_5 "Home & Info"
2550-
#define USER_GCODE_5 "G28\nM503"
2564+
// #define USER_DESC_4 "Heat Bed/Home/Level"
2565+
// #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
2566+
2567+
#define USER_DESC_5 "Grey Matters"
2568+
#define USER_GCODE_5 "M250 P4"
2569+
2570+
// #define USER_DESC_5 "Home & Info"
2571+
// #define USER_GCODE_5 "G28\nM503"
25512572
#endif
25522573

25532574
/**
@@ -2569,6 +2590,13 @@
25692590
//#define HOST_PROMPT_SUPPORT
25702591
#endif
25712592

2593+
/**
2594+
* Cancel Objects
2595+
*
2596+
* Implement M486 to allow Marlin to skip objects
2597+
*/
2598+
//#define CANCEL_OBJECTS
2599+
25722600
/**
25732601
* I2C position encoders for closed loop control.
25742602
* Developed by Chris Barr at Aus3D.
@@ -2794,7 +2822,7 @@
27942822
/**
27952823
* M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
27962824
*/
2797-
//#define PINS_DEBUGGING
2825+
#define PINS_DEBUGGING
27982826

27992827
// Enable Marlin dev mode which adds some special commands
28002828
//#define MARLIN_DEV_MODE

0 commit comments

Comments
 (0)