Skip to content

Commit aac0326

Browse files
committed
Merge bugfix-2.0.x into 2.0.x
2 parents a52afd2 + 41774ec commit aac0326

File tree

696 files changed

+30241
-12662
lines changed

Some content is hidden

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

696 files changed

+30241
-12662
lines changed

.github/workflows/test-builds.yml

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
- mega2560
4242
- teensy31
4343
- teensy35
44+
- teensy41
4445
- SAMD51_grandcentral_m4
4546

4647
# Extended AVR Environments
@@ -70,6 +71,7 @@ jobs:
7071
- mks_robin_stm32
7172
- ARMED
7273
- FYSETC_S6
74+
- STM32F070CB_malyan
7375
- STM32F070RB_malyan
7476
- malyan_M300
7577
- mks_robin_lite

Marlin/Configuration.h

+29-34
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@
3434
* - Extra features
3535
*
3636
* Advanced settings can be found in Configuration_adv.h
37-
*
3837
*/
39-
#define CONFIGURATION_H_VERSION 020006
38+
#define CONFIGURATION_H_VERSION 020007
4039

4140
//===========================================================================
4241
//============================= Getting Started =============================
@@ -390,6 +389,7 @@
390389
* 21 : Pt100 with circuit in the Ultimainboard V2.x with 3.3v excitation (STM32 \ LPC176x....)
391390
* 22 : 100k (hotend) with 4.7k pullup to 3.3V and 220R to analog input (as in GTM32 Pro vB)
392391
* 23 : 100k (bed) with 4.7k pullup to 3.3v and 220R to analog input (as in GTM32 Pro vB)
392+
* 30 : Kis3d Silicone heating mat 200W/300W with 6mm precision cast plate (EN AW 5083) NTC100K / B3950 (4.7k pullup)
393393
* 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x
394394
* 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
395395
* 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup
@@ -486,24 +486,17 @@
486486
//#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM)
487487
//#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
488488
// Set/get with gcode: M301 E[extruder number, 0-2]
489-
490-
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
491-
492-
// Ultimaker
493-
#define DEFAULT_Kp 22.2
494-
#define DEFAULT_Ki 1.08
495-
#define DEFAULT_Kd 114
496-
497-
// MakerGear
498-
//#define DEFAULT_Kp 7.0
499-
//#define DEFAULT_Ki 0.1
500-
//#define DEFAULT_Kd 12
501-
502-
// Mendel Parts V9 on 12V
503-
//#define DEFAULT_Kp 63.0
504-
//#define DEFAULT_Ki 2.25
505-
//#define DEFAULT_Kd 440
506-
489+
#if ENABLED(PID_PARAMS_PER_HOTEND)
490+
// Specify between 1 and HOTENDS values per array.
491+
// If fewer than EXTRUDER values are provided, the last element will be repeated.
492+
#define DEFAULT_Kp_LIST { 22.20, 20.0 }
493+
#define DEFAULT_Ki_LIST { 1.08, 1.0 }
494+
#define DEFAULT_Kd_LIST { 114.00, 112.0 }
495+
#else
496+
#define DEFAULT_Kp 22.20
497+
#define DEFAULT_Ki 1.08
498+
#define DEFAULT_Kd 114.00
499+
#endif
507500
#endif // PIDTEMP
508501

509502
//===========================================================================
@@ -539,18 +532,12 @@
539532
//#define MIN_BED_POWER 0
540533
//#define PID_BED_DEBUG // Sends debug data to the serial port.
541534

542-
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
543-
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
535+
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
536+
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
544537
#define DEFAULT_bedKp 10.00
545538
#define DEFAULT_bedKi .023
546539
#define DEFAULT_bedKd 305.4
547540

548-
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
549-
//from pidautotune
550-
//#define DEFAULT_bedKp 97.1
551-
//#define DEFAULT_bedKi 1.41
552-
//#define DEFAULT_bedKd 1675.16
553-
554541
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
555542
#endif // PIDTEMPBED
556543

@@ -608,14 +595,15 @@
608595

609596
// @section machine
610597

611-
// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics
598+
// Enable one of the options below for CoreXY, CoreXZ, or CoreYZ kinematics,
612599
// either in the usual order or reversed
613600
//#define COREXY
614601
//#define COREXZ
615602
//#define COREYZ
616603
//#define COREYX
617604
//#define COREZX
618605
//#define COREZY
606+
//#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042
619607

620608
//===========================================================================
621609
//============================== Endstop Settings ===========================
@@ -866,7 +854,6 @@
866854
* - For simple switches connect...
867855
* - normally-closed switches to GND and D32.
868856
* - normally-open switches to 5V and D32.
869-
*
870857
*/
871858
//#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default
872859

@@ -1578,7 +1565,6 @@
15781565
*
15791566
* Caveats: The ending Z should be the same as starting Z.
15801567
* Attention: EXPERIMENTAL. G-code arguments may change.
1581-
*
15821568
*/
15831569
//#define NOZZLE_CLEAN_FEATURE
15841570

@@ -1731,7 +1717,6 @@
17311717
*
17321718
* SD Card support is disabled by default. If your controller has an SD slot,
17331719
* you must uncomment the following option or it won't work.
1734-
*
17351720
*/
17361721
//#define SDSUPPORT
17371722

@@ -1968,6 +1953,14 @@
19681953
//
19691954
//#define FF_INTERFACEBOARD
19701955

1956+
//
1957+
// TFT GLCD Panel with Marlin UI
1958+
// Panel connected to main board by SPI or I2C interface.
1959+
// See https://github.com/Serhiy-K/TFTGLCDAdapter
1960+
//
1961+
//#define TFTGLCD_PANEL_SPI
1962+
//#define TFTGLCD_PANEL_I2C
1963+
19711964
//=============================================================================
19721965
//======================= LCD / Controller Selection =======================
19731966
//========================= (Graphical LCDs) ========================
@@ -2171,6 +2164,9 @@
21712164
// Touch-screen LCD for Malyan M200/M300 printers
21722165
//
21732166
//#define MALYAN_LCD
2167+
#if ENABLED(MALYAN_LCD)
2168+
#define LCD_SERIAL_PORT 1 // Default is 1 for Malyan M200
2169+
#endif
21742170

21752171
//
21762172
// Touch UI for FTDI EVE (FT800/FT810) displays
@@ -2184,7 +2180,7 @@
21842180
//#define ANYCUBIC_LCD_I3MEGA
21852181
//#define ANYCUBIC_LCD_CHIRON
21862182
#if EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON)
2187-
#define ANYCUBIC_LCD_SERIAL_PORT 3
2183+
#define LCD_SERIAL_PORT 3 // Default is 3 for Anycubic
21882184
//#define ANYCUBIC_LCD_DEBUG
21892185
#endif
21902186

@@ -2343,7 +2339,6 @@
23432339
* *** CAUTION ***
23442340
*
23452341
* LED Type. Enable only one of the following two options.
2346-
*
23472342
*/
23482343
//#define RGB_LED
23492344
//#define RGBW_LED

Marlin/Configuration_adv.h

+39-33
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@
2929
* Some of these settings can damage your printer if improperly set!
3030
*
3131
* Basic settings can be found in Configuration.h
32-
*
3332
*/
34-
#define CONFIGURATION_ADV_H_VERSION 020006
33+
#define CONFIGURATION_ADV_H_VERSION 020007
3534

3635
// @section temperature
3736

@@ -738,7 +737,6 @@
738737
* | 4 3 | 1 4 | 2 1 | 3 2 |
739738
* | | | | |
740739
* | 1 2 | 2 3 | 3 4 | 4 1 |
741-
*
742740
*/
743741
#ifndef Z_STEPPER_ALIGN_XY
744742
//#define Z_STEPPERS_ORIENTATION 0
@@ -773,7 +771,6 @@
773771
//
774772
//#define ASSISTED_TRAMMING
775773
#if ENABLED(ASSISTED_TRAMMING)
776-
777774
// Define positions for probing points, use the hotend as reference not the sensor.
778775
#define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } }
779776

@@ -786,14 +783,16 @@
786783
// Enable to restore leveling setup after operation
787784
#define RESTORE_LEVELING_AFTER_G35
788785

786+
// Add a menu item for Assisted Tramming
787+
//#define ASSISTED_TRAMMING_MENU_ITEM
788+
789789
/**
790790
* Screw thread:
791791
* M3: 30 = Clockwise, 31 = Counter-Clockwise
792792
* M4: 40 = Clockwise, 41 = Counter-Clockwise
793793
* M5: 50 = Clockwise, 51 = Counter-Clockwise
794794
*/
795795
#define TRAMMING_SCREW_THREAD 30
796-
797796
#endif
798797

799798
// @section motion
@@ -1105,23 +1104,26 @@
11051104
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
11061105
#endif
11071106

1108-
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
1109-
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
1110-
//#define SHOW_REMAINING_TIME // Display estimated time to completion
1107+
#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
1108+
//#define SHOW_REMAINING_TIME // Display estimated time to completion
11111109
#if ENABLED(SHOW_REMAINING_TIME)
1112-
//#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation
1113-
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
1110+
//#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation
1111+
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
11141112
#endif
1115-
#endif
11161113

1117-
#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
1118-
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
1119-
#if ENABLED(LCD_PROGRESS_BAR)
1120-
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
1121-
#define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message
1122-
#define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever)
1123-
//#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it
1124-
//#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar
1114+
#if HAS_MARLINUI_U8GLIB
1115+
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
1116+
#endif
1117+
1118+
#if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
1119+
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
1120+
#if ENABLED(LCD_PROGRESS_BAR)
1121+
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
1122+
#define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message
1123+
#define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever)
1124+
//#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it
1125+
//#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar
1126+
#endif
11251127
#endif
11261128
#endif
11271129

@@ -1164,6 +1166,7 @@
11641166
#if ENABLED(POWER_LOSS_RECOVERY)
11651167
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
11661168
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
1169+
//#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled!
11671170
//#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS)
11681171
//#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
11691172
//#define POWER_LOSS_STATE HIGH // State of pin indicating power loss
@@ -1324,7 +1327,7 @@
13241327
* controller events, as there is a trade-off between reliable
13251328
* printing performance versus fast display updates.
13261329
*/
1327-
#if HAS_GRAPHICAL_LCD
1330+
#if HAS_MARLINUI_U8GLIB
13281331
// Show SD percentage next to the progress bar
13291332
//#define DOGM_SD_PERCENT
13301333

@@ -1394,18 +1397,18 @@
13941397
//#define MARLIN_SNAKE
13951398
//#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu
13961399

1397-
#endif // HAS_GRAPHICAL_LCD
1400+
#endif // HAS_MARLINUI_U8GLIB
13981401

13991402
//
14001403
// Additional options for DGUS / DWIN displays
14011404
//
14021405
#if HAS_DGUS_LCD
1403-
#define DGUS_SERIAL_PORT 3
1404-
#define DGUS_BAUDRATE 115200
1406+
#define LCD_SERIAL_PORT 3
1407+
#define LCD_BAUDRATE 115200
14051408

14061409
#define DGUS_RX_BUFFER_SIZE 128
14071410
#define DGUS_TX_BUFFER_SIZE 48
1408-
//#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
1411+
//#define SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
14091412

14101413
#define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates
14111414

@@ -1572,6 +1575,7 @@
15721575
#if ENABLED(BABYSTEPPING)
15731576
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
15741577
//#define BABYSTEP_WITHOUT_HOMING
1578+
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
15751579
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
15761580
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
15771581
//#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps
@@ -1582,7 +1586,6 @@
15821586
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
15831587
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
15841588
// Note: Extra time may be added to mitigate controller latency.
1585-
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
15861589
//#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle.
15871590
#if ENABLED(MOVE_Z_WHEN_IDLE)
15881591
#define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size.
@@ -1950,7 +1953,6 @@
19501953
* Be sure to turn off auto-retract during filament change.
19511954
*
19521955
* Note that M207 / M208 / M209 settings are saved to EEPROM.
1953-
*
19541956
*/
19551957
//#define FWRETRACT
19561958
#if ENABLED(FWRETRACT)
@@ -1976,7 +1978,7 @@
19761978
* Universal tool change settings.
19771979
* Applies to all types of extruders except where explicitly noted.
19781980
*/
1979-
#if EXTRUDERS > 1
1981+
#if HAS_MULTI_EXTRUDER
19801982
// Z raise distance for tool-change, as needed for some extruders
19811983
#define TOOLCHANGE_ZRAISE 2 // (mm)
19821984
//#define TOOLCHANGE_ZRAISE_BEFORE_RETRACT // Apply raise before swap retraction (if enabled)
@@ -2040,7 +2042,7 @@
20402042
//#define TOOLCHANGE_PARK_X_ONLY // X axis only move
20412043
//#define TOOLCHANGE_PARK_Y_ONLY // Y axis only move
20422044
#endif
2043-
#endif // EXTRUDERS > 1
2045+
#endif // HAS_MULTI_EXTRUDER
20442046

20452047
/**
20462048
* Advanced Pause
@@ -2487,7 +2489,7 @@
24872489
#define E7_HYBRID_THRESHOLD 30
24882490

24892491
/**
2490-
* Use StallGuard2 to home / probe X, Y, Z.
2492+
* Use StallGuard to home / probe X, Y, Z.
24912493
*
24922494
* TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only
24932495
* Connect the stepper driver's DIAG1 pin to the X/Y endstop pin.
@@ -2508,6 +2510,8 @@
25082510
*
25092511
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
25102512
* homing and adds a guard period for endstop triggering.
2513+
*
2514+
* Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis.
25112515
*/
25122516
//#define SENSORLESS_HOMING // StallGuard capable drivers only
25132517

@@ -3227,6 +3231,7 @@
32273231
//#define HOST_ACTION_COMMANDS
32283232
#if ENABLED(HOST_ACTION_COMMANDS)
32293233
//#define HOST_PROMPT_SUPPORT
3234+
//#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start
32303235
#endif
32313236

32323237
/**
@@ -3334,6 +3339,7 @@
33343339
#define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max
33353340
#define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 }
33363341
#define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 }
3342+
//#define JOYSTICK_DEBUG
33373343
#endif
33383344

33393345
/**
@@ -3411,10 +3417,10 @@
34113417
#if ENABLED(PRUSA_MMU2)
34123418

34133419
// Serial port used for communication with MMU2.
3414-
// For AVR enable the UART port used for the MMU. (e.g., internalSerial)
3420+
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
34153421
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
3416-
#define INTERNAL_SERIAL_PORT 2
3417-
#define MMU2_SERIAL internalSerial
3422+
#define MMU2_SERIAL_PORT 2
3423+
#define MMU2_SERIAL mmuSerial
34183424

34193425
// Use hardware reset for MMU if a pin is defined for it
34203426
//#define MMU2_RST_PIN 23
@@ -3465,7 +3471,7 @@
34653471
*/
34663472
//#define MMU_EXTRUDER_SENSOR
34673473
#if ENABLED(MMU_EXTRUDER_SENSOR)
3468-
#define MMU_LOADING_ATTEMPTS_NR 5 //max. number of attempts to load filament if first load fail
3474+
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
34693475
#endif
34703476

34713477
/**

0 commit comments

Comments
 (0)