Skip to content

Commit 95c8f12

Browse files
Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x-February2
2 parents 027c976 + cbe8a68 commit 95c8f12

File tree

330 files changed

+4431
-3927
lines changed

Some content is hidden

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

330 files changed

+4431
-3927
lines changed

Marlin/Configuration.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@
260260
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // A pair of angles for { E0, E1 }.
261261
// For Dual Servo use two pairs: { { lower, raise }, { lower, raise } }
262262
#define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move
263+
#define SWITCHING_NOZZLE_LIFT_TO_PROBE // Lift toolheads out of the way while probing
263264
#endif
264265

265266
// Switch nozzles by bumping the toolhead. Requires EVENT_GCODE_TOOLCHANGE_#.
@@ -899,7 +900,7 @@
899900
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
900901
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
901902
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
902-
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
903+
#define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
903904
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
904905

905906
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
@@ -2036,8 +2037,11 @@
20362037
//#define FILAMENT_MOTION_SENSOR
20372038

20382039
#if ENABLED(FILAMENT_MOTION_SENSOR)
2039-
//#define FILAMENT_SWITCH_AND_MOTION
2040+
//#define FILAMENT_SWITCH_AND_MOTION // Define separate pins below to sense motion
20402041
#if ENABLED(FILAMENT_SWITCH_AND_MOTION)
2042+
2043+
#define FILAMENT_MOTION_DISTANCE_MM 3.0 // (mm) Missing distance required to trigger runout
2044+
20412045
#define NUM_MOTION_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_MOTION#_PIN for each.
20422046
//#define FIL_MOTION1_PIN -1
20432047

@@ -2073,7 +2077,7 @@
20732077
//#define FIL_MOTION8_STATE LOW
20742078
//#define FIL_MOTION8_PULLUP
20752079
//#define FIL_MOTION8_PULLDOWN
2076-
#endif
2080+
#endif // FILAMENT_SWITCH_AND_MOTION
20772081
#endif // FILAMENT_MOTION_SENSOR
20782082
#endif // FILAMENT_RUNOUT_DISTANCE_MM
20792083
#endif // FILAMENT_RUNOUT_SENSOR
@@ -2276,7 +2280,7 @@
22762280
//===========================================================================
22772281

22782282
#define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed
2279-
#define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.
2283+
#define GRID_MAX_POINTS_X 3
22802284
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
22812285

22822286
//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS
@@ -3282,7 +3286,7 @@
32823286
#endif
32833287

32843288
//
3285-
// Touch-screen LCD for Malyan M200/M300 printers
3289+
// LCD for Malyan M200/M300 printers
32863290
//
32873291
//#define MALYAN_LCD
32883292

Marlin/Configuration_adv.h

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1960,8 +1960,8 @@
19601960
#if ENABLED(MULTI_VOLUME)
19611961
#define VOLUME_SD_ONBOARD
19621962
#define VOLUME_USB_FLASH_DRIVE
1963-
#define DEFAULT_VOLUME SV_SD_ONBOARD
1964-
#define DEFAULT_SHARED_VOLUME SV_USB_FLASH_DRIVE
1963+
#define DEFAULT_VOLUME SD_ONBOARD // :[ 'SD_ONBOARD', 'USB_FLASH_DRIVE' ]
1964+
#define DEFAULT_SHARED_VOLUME USB_FLASH_DRIVE // :[ 'SD_ONBOARD', 'USB_FLASH_DRIVE' ]
19651965
#endif
19661966

19671967
#endif // HAS_MEDIA
@@ -2268,6 +2268,8 @@
22682268
#define ADC_BUTTON_DEBOUNCE_DELAY 16 // (count) Increase if buttons bounce or repeat too fast
22692269
#endif
22702270

2271+
//#define FAST_BUTTON_POLLING // Poll buttons at ~1kHz on 8-bit AVR. Set to 'false' for slow polling on 32-bit.
2272+
22712273
// @section safety
22722274

22732275
/**
@@ -2350,6 +2352,24 @@
23502352
//#define ADVANCE_K_EXTRA // Add a second linear advance constant, configurable with M900 L.
23512353
//#define LA_DEBUG // Print debug information to serial during operation. Disable for production use.
23522354
//#define EXPERIMENTAL_I2S_LA // Allow I2S_STEPPER_STREAM to be used with LA. Performance degrades as the LA step rate reaches ~20kHz.
2355+
2356+
//#define SMOOTH_LIN_ADVANCE // Remove limits on acceleration by gradual increase of nozzle pressure
2357+
#if ENABLED(SMOOTH_LIN_ADVANCE)
2358+
/**
2359+
* ADVANCE_TAU is also the time ahead that the smoother needs to look
2360+
* into the planner, so the planner needs to have enough blocks loaded.
2361+
* For k=0.04 at 10k acceleration and an "Orbiter 2" extruder it can be as low as 0.0075.
2362+
* Adjust by lowering the value until you observe the extruder skipping, then raise slightly.
2363+
* Higher k and higher XY acceleration may require larger ADVANCE_TAU to avoid skipping steps.
2364+
*/
2365+
#if ENABLED(DISTINCT_E_FACTORS)
2366+
#define ADVANCE_TAU { 0.01 } // (s) Smoothing time to reduce extruder acceleration, per extruder
2367+
#else
2368+
#define ADVANCE_TAU 0.01 // (s) Smoothing time to reduce extruder acceleration
2369+
#endif
2370+
#define SMOOTH_LIN_ADV_HZ 5000 // (Hz) How often to update extruder speed
2371+
#define INPUT_SHAPING_E_SYNC // Synchronize the extruder-shaped XY axes (to increase precision)
2372+
#endif
23532373
#endif
23542374

23552375
/**
@@ -3682,6 +3702,8 @@
36823702
#define SPEED_POWER_MIN 5000 // (RPM)
36833703
#define SPEED_POWER_MAX 30000 // (RPM) SuperPID router controller 0 - 30,000 RPM
36843704
#define SPEED_POWER_STARTUP 25000 // (RPM) M3/M4 speed/power default (with no arguments)
3705+
3706+
//#define DEFAULT_ACCELERATION_SPINDLE 1000 // (°/s/s) Default spindle acceleration (speed change with time)
36853707
#endif
36863708

36873709
#else

Marlin/Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ NEOPIXEL ?= 0
127127
# on GCC versions:
128128
# https://www.avrfreaks.net/comment/1789106#comment-1789106
129129

130-
CC_MAJ:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC__ | cut -f3 -d\ )
131-
CC_MIN:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_MINOR__ | cut -f3 -d\ )
132-
CC_PATCHLEVEL:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_PATCHLEVEL__ | cut -f3 -d\ )
130+
CC_MAJ:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC__ | cut -f3 -d' ' )
131+
CC_MIN:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_MINOR__ | cut -f3 -d' ' )
132+
CC_PATCHLEVEL:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_PATCHLEVEL__ | cut -f3 -d' ' )
133133
CC_VER:=$(shell echo $$(( $(CC_MAJ) * 10000 + $(CC_MIN) * 100 + $(CC_PATCHLEVEL) )))
134134
ifeq ($(shell test $(CC_VER) -lt 40901 && echo 1),1)
135135
$(warning This GCC version $(CC_VER) is likely broken. Enabling relocation workaround.)
@@ -868,8 +868,8 @@ else ifeq ($(HARDWARE_VARIANT), archim)
868868
endif
869869

870870
# Add all the source directories as include directories too
871-
CINCS = ${addprefix -I ,${VPATH}}
872-
CXXINCS = ${addprefix -I ,${VPATH}}
871+
CINCS = ${addprefix -I, ${VPATH}}
872+
CXXINCS = ${addprefix -I, ${VPATH}}
873873

874874
# Silence warnings for library code (won't work for .h files, unfortunately)
875875
LIBWARN = -w -Wno-packed-bitfield-compat

Marlin/Version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
* here we define this default string as the date where the latest release
4242
* version was tagged.
4343
*/
44-
//#define STRING_DISTRIBUTION_DATE "2025-04-08"
44+
//#define STRING_DISTRIBUTION_DATE "2025-05-04"
4545

4646
/**
4747
* The protocol for communication to the host. Protocol indicates communication

Marlin/src/HAL/AVR/HAL.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class MarlinHAL {
204204
static void isr_on() { sei(); }
205205
static void isr_off() { cli(); }
206206

207-
static void delay_ms(const int ms) { _delay_ms(ms); }
207+
static void delay_ms(const int ms) { delay(ms); }
208208

209209
// Tasks, called from idle()
210210
static void idletask() {}

Marlin/src/HAL/AVR/fastio/fastio_AT90USB.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -363,8 +363,11 @@
363363
#define AIO7_PWM 0
364364
#define AIO7_DDR DDRF
365365

366-
//-- Begin not supported by Teensyduino
367-
//-- don't use Arduino functions on these pins pinMode/digitalWrite/etc
366+
//-- 46-47 are not supported by Teensyduino
367+
//-- Don't use Arduino functions (pinMode, digitalWrite, etc.) on these pins
368+
#define PIN_E2 46
369+
#define PIN_E3 47
370+
368371
#define DIO46_PIN PINE2
369372
#define DIO46_RPORT PINE
370373
#define DIO46_WPORT PORTE
@@ -377,10 +380,7 @@
377380
#define DIO47_PWM 0
378381
#define DIO47_DDR DDRE
379382

380-
#define TEENSY_E2 46
381-
#define TEENSY_E3 47
382-
383-
//-- end not supported by Teensyduino
383+
//--
384384

385385
#undef PA0
386386
#define PA0_PIN PINA0

Marlin/src/HAL/AVR/pinsDebug.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -377,16 +377,16 @@ void printPinPort(const pin_t pin) { // print port number
377377
uint8_t x;
378378
SERIAL_ECHOPGM(" Port: ");
379379
#if AVR_AT90USB1286_FAMILY
380-
x = (pin == 46 || pin == 47) ? 'E' : digitalPinToPort_DEBUG(pin) + 64;
380+
x = (pin == PIN_E2 || pin == PIN_E3) ? 'E' : 'A' + digitalPinToPort_DEBUG(pin) - 1;
381381
#else
382-
x = digitalPinToPort_DEBUG(pin) + 64;
382+
x = 'A' + digitalPinToPort_DEBUG(pin) - 1;
383383
#endif
384384
SERIAL_CHAR(x);
385385

386386
#if AVR_AT90USB1286_FAMILY
387-
if (pin == 46)
387+
if (pin == PIN_E2)
388388
x = '2';
389-
else if (pin == 47)
389+
else if (pin == PIN_E3)
390390
x = '3';
391391
else {
392392
uint8_t temp = digitalPinToBitMask_DEBUG(pin);

0 commit comments

Comments
 (0)