Skip to content

Commit 8977f54

Browse files
committed
Merge branch 'bugfix-2.1.x' into pr/25015
2 parents 43c8716 + 70288c6 commit 8977f54

File tree

642 files changed

+18036
-12882
lines changed

Some content is hidden

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

642 files changed

+18036
-12882
lines changed

.github/workflows/bump-date.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020

2121
- name: Check out bugfix-2.0.x
22-
uses: actions/checkout@v2
22+
uses: actions/checkout@v3
2323
with:
2424
ref: bugfix-2.0.x
2525

@@ -39,7 +39,7 @@ jobs:
3939
exit 0
4040
4141
- name: Check out bugfix-2.1.x
42-
uses: actions/checkout@v2
42+
uses: actions/checkout@v3
4343
with:
4444
ref: bugfix-2.1.x
4545

.github/workflows/clean-closed.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- "Needs: Work"
3232

3333
steps:
34-
- uses: actions/checkout@v2
34+
- uses: actions/checkout@v3
3535
- name: Remove Labels
3636
uses: actions-ecosystem/action-remove-labels@v1
3737
with:

.github/workflows/test-builds.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ jobs:
3939

4040
# AVR
4141
- mega2560
42+
- mega1280
4243
- at90usb1286_dfu
4344

4445
# AVR Extended
4546
- FYSETC_F6
46-
- mega1280
4747
- melzi_optiboot
4848
- rambo
4949
- sanguino1284p
@@ -105,10 +105,12 @@ jobs:
105105
- FYSETC_S6
106106
- LERDGEK
107107
- LERDGEX
108+
- mks_robin_pro2
108109
- Opulo_Lumen_REV3
109110
- rumba32
110111
- STM32F401RC_creality
111112
- STM32F407VE_black
113+
- I3DBEEZ9_V1
112114

113115
# STM32F7
114116
- NUCLEO_F767ZI

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ bdf2u8g.exe
2525
genpages.exe
2626
marlin_config.json
2727
mczip.h
28+
language*.csv
29+
csv-out/
2830
*.gen
2931
*.sublime-workspace
3032

Marlin/Configuration.h

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@
266266
*/
267267
//#define MAGNETIC_PARKING_EXTRUDER
268268

269-
#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
269+
#if ANY(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
270270

271271
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
272272
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // (mm) Distance to move beyond the parking point to grab the extruder
@@ -419,7 +419,7 @@
419419
#define POWER_TIMEOUT 30 // (s) Turn off power if the machine is idle for this duration
420420
//#define POWER_OFF_DELAY 60 // (s) Delay of poweroff after M81 command. Useful to let fans run for extra time.
421421
#endif
422-
#if EITHER(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
422+
#if ANY(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
423423
//#define AUTO_POWER_E_TEMP 50 // (°C) PSU on if any extruder is over this temperature
424424
//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) PSU on if the chamber is over this temperature
425425
//#define AUTO_POWER_COOLER_TEMP 26 // (°C) PSU on if the cooler is over this temperature
@@ -547,7 +547,7 @@
547547
#define TEMP_SENSOR_5 0
548548
#define TEMP_SENSOR_6 0
549549
#define TEMP_SENSOR_7 0
550-
#define TEMP_SENSOR_BED 0
550+
#define TEMP_SENSOR_BED 1
551551
#define TEMP_SENSOR_PROBE 0
552552
#define TEMP_SENSOR_CHAMBER 0
553553
#define TEMP_SENSOR_COOLER 0
@@ -650,14 +650,18 @@
650650

651651
// @section hotend temp
652652

653-
// Enable PIDTEMP for PID control or MPCTEMP for Predictive Model.
654-
// temperature control. Disable both for bang-bang heating.
655-
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
656-
//#define MPCTEMP // ** EXPERIMENTAL **
653+
/**
654+
* Temperature Control
655+
*
656+
* (NONE) : Bang-bang heating
657+
* PIDTEMP : PID temperature control (~4.1K)
658+
* MPCTEMP : Predictive Model temperature control. (~1.8K without auto-tune)
659+
*/
660+
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
661+
//#define MPCTEMP // ** EXPERIMENTAL ** See https://marlinfw.org/docs/features/model_predictive_control.html
657662

658-
#define BANG_MAX 255 // Limits current to nozzle while in bang-bang mode; 255=full current
659-
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
660-
#define PID_K1 0.95 // Smoothing factor within any PID loop
663+
#define PID_MAX 255 // Limit hotend current while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
664+
#define PID_K1 0.95 // Smoothing factor within any PID loop
661665

662666
#if ENABLED(PIDTEMP)
663667
//#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation.
@@ -675,6 +679,8 @@
675679
#define DEFAULT_Ki 1.08
676680
#define DEFAULT_Kd 114.00
677681
#endif
682+
#else
683+
#define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current
678684
#endif
679685

680686
/**
@@ -686,11 +692,11 @@
686692
* @section mpctemp
687693
*/
688694
#if ENABLED(MPCTEMP)
689-
//#define MPC_AUTOTUNE // Include a method to do MPC auto-tuning (~5664-5882 bytes of flash)
690-
//#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1300 bytes of flash)
695+
//#define MPC_AUTOTUNE // Include a method to do MPC auto-tuning (~6.3K bytes of flash)
696+
//#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1.3K bytes of flash)
691697
//#define MPC_AUTOTUNE_MENU // Add MPC auto-tuning to the "Advanced Settings" menu. (~350 bytes of flash)
692698

693-
#define MPC_MAX BANG_MAX // (0..255) Current to nozzle while MPC is active.
699+
#define MPC_MAX 255 // (0..255) Current to nozzle while MPC is active.
694700
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers.
695701

696702
#define MPC_INCLUDE_FAN // Model the fan speed?
@@ -725,32 +731,30 @@
725731
//====================== PID > Bed Temperature Control ======================
726732
//===========================================================================
727733

734+
// @section bed temp
735+
736+
/**
737+
* Max Bed Power
738+
* Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis).
739+
* When set to any value below 255, enables a form of PWM to the bed that acts like a divider
740+
* so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED)
741+
*/
742+
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
743+
728744
/**
729745
* PID Bed Heating
730746
*
731-
* If this option is enabled set PID constants below.
732-
* If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis.
733-
*
734747
* The PID frequency will be the same as the extruder PWM.
735748
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
736749
* which is fine for driving a square wave into a resistive load and does not significantly
737750
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W
738751
* heater. If your configuration is significantly different than this and you don't understand
739752
* the issues involved, don't use bed PID until someone else verifies that your hardware works.
740-
* @section bed temp
753+
*
754+
* With this option disabled, bang-bang will be used. BED_LIMIT_SWITCHING enables hysteresis.
741755
*/
742756
//#define PIDTEMPBED
743757

744-
//#define BED_LIMIT_SWITCHING
745-
746-
/**
747-
* Max Bed Power
748-
* Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis).
749-
* When set to any value below 255, enables a form of PWM to the bed that acts like a divider
750-
* so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED)
751-
*/
752-
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
753-
754758
#if ENABLED(PIDTEMPBED)
755759
//#define MIN_BED_POWER 0
756760
//#define PID_BED_DEBUG // Print Bed PID debug data to the serial port.
@@ -762,7 +766,9 @@
762766
#define DEFAULT_bedKd 305.4
763767

764768
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
765-
#endif // PIDTEMPBED
769+
#else
770+
//#define BED_LIMIT_SWITCHING // Keep the bed temperature within BED_HYSTERESIS of the target
771+
#endif
766772

767773
//===========================================================================
768774
//==================== PID > Chamber Temperature Control ====================
@@ -915,7 +921,7 @@
915921
#define DELTA_CALIBRATION_DEFAULT_POINTS 4
916922
#endif
917923

918-
#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
924+
#if ANY(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
919925
// Step size for paper-test probing
920926
#define PROBE_MANUALLY_STEP 0.05 // (mm)
921927
#endif
@@ -959,7 +965,7 @@
959965
*/
960966
//#define MORGAN_SCARA
961967
//#define MP_SCARA
962-
#if EITHER(MORGAN_SCARA, MP_SCARA)
968+
#if ANY(MORGAN_SCARA, MP_SCARA)
963969
// If movement is choppy try lowering this value
964970
#define DEFAULT_SEGMENTS_PER_SECOND 200
965971

@@ -1803,7 +1809,7 @@
18031809
#define MAX_SOFTWARE_ENDSTOP_W
18041810
#endif
18051811

1806-
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
1812+
#if ANY(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
18071813
//#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
18081814
#endif
18091815

@@ -2040,7 +2046,7 @@
20402046

20412047
#endif
20422048

2043-
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
2049+
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
20442050

20452051
// Set the number of grid points per dimension.
20462052
#define GRID_MAX_POINTS_X 3
@@ -3334,7 +3340,7 @@
33343340
//#define TOUCH_OFFSET_Y 257
33353341
//#define TOUCH_ORIENTATION TOUCH_LANDSCAPE
33363342

3337-
#if BOTH(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
3343+
#if ALL(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
33383344
#define TOUCH_CALIBRATION_AUTO_SAVE // Auto save successful calibration values to EEPROM
33393345
#endif
33403346

@@ -3431,7 +3437,7 @@
34313437
//#define RGB_LED
34323438
//#define RGBW_LED
34333439

3434-
#if EITHER(RGB_LED, RGBW_LED)
3440+
#if ANY(RGB_LED, RGBW_LED)
34353441
//#define RGB_LED_R_PIN 34
34363442
//#define RGB_LED_G_PIN 43
34373443
//#define RGB_LED_B_PIN 35

0 commit comments

Comments
 (0)