Skip to content

Commit 8e0066e

Browse files
committed
Update to Marlin 2.0.5.3
1 parent 283dce9 commit 8e0066e

File tree

145 files changed

+2290
-1305
lines changed

Some content is hidden

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

145 files changed

+2290
-1305
lines changed

Marlin/Configuration.h

+1-4
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,6 @@
108108

109109
/**
110110
* Select a secondary serial port on the board to use for communication with the host.
111-
112-
113-
114111
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
115112
*/
116113
#define SERIAL_PORT_2 -1
@@ -2250,4 +2247,4 @@
22502247
//#define DEACTIVATE_SERVOS_AFTER_MOVE
22512248

22522249
// Allow servo angle to be edited and saved to EEPROM
2253-
//#define EDITABLE_SERVO_ANGLES
2250+
//#define EDITABLE_SERVO_ANGLES

Marlin/Configuration_adv.h

+110-42
Original file line numberDiff line numberDiff line change
@@ -720,7 +720,6 @@
720720
#define Z_STEPPER_ALIGN_AMP 1.0
721721
#endif
722722

723-
724723
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
725724
#define Z_STEPPER_ALIGN_ITERATIONS 3 // Number of iterations to apply during alignment
726725
#define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this
@@ -1035,9 +1034,6 @@
10351034

10361035
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
10371036
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
1038-
1039-
1040-
10411037
#define SD_DETECT_STATE HIGH
10421038

10431039
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
@@ -1249,10 +1245,6 @@
12491245
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
12501246
//#define USE_SMALL_INFOFONT
12511247

1252-
1253-
1254-
1255-
12561248
// Swap the CW/CCW indicators in the graphics overlay
12571249
//#define OVERLAY_GFX_REVERSE
12581250

@@ -1318,7 +1310,6 @@
13181310
//#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
13191311

13201312
#define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates
1321-
13221313

13231314
#if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY)
13241315
#define DGUS_PRINT_FILENAME // Display the filename during printing
@@ -1608,18 +1599,11 @@
16081599
// Add additional compensation depending on hotend temperature
16091600
// Note: this values cannot be calibrated and have to be set manually
16101601
#if ENABLED(PROBE_TEMP_COMPENSATION)
1611-
// Max temperature that can be reached by heated bed.
1612-
// This is required only for the calibration process.
1613-
#define PTC_MAX_BED_TEMP BED_MAXTEMP
1614-
16151602
// Park position to wait for probe cooldown
1616-
#define PTC_PARK_POS_X 0.0F
1617-
#define PTC_PARK_POS_Y 0.0F
1618-
#define PTC_PARK_POS_Z 100.0F
1603+
#define PTC_PARK_POS { 0, 0, 100 }
16191604

16201605
// Probe position to probe and wait for probe to reach target temperature
1621-
#define PTC_PROBE_POS_X 90.0F
1622-
#define PTC_PROBE_POS_Y 100.0F
1606+
#define PTC_PROBE_POS { 90, 100 }
16231607

16241608
// Enable additional compensation using hotend temperature
16251609
// Note: this values cannot be calibrated automatically but have to be set manually
@@ -2334,14 +2318,6 @@
23342318
*/
23352319
//#define SENSORLESS_HOMING // StallGuard capable drivers only
23362320

2337-
2338-
2339-
2340-
2341-
2342-
2343-
2344-
23452321
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
23462322
// TMC2209: 0...255. TMC2130: -64...63
23472323
#define X_STALL_SENSITIVITY 8
@@ -2678,31 +2654,123 @@
26782654
#define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH
26792655
#define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power
26802656
#define SPINDLE_LASER_PWM_INVERT true // Set to "true" if the speed/power goes up when you want it to go slower
2681-
#define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power
2682-
#define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop
2657+
2658+
#define SPINDLE_LASER_FREQUENCY 2500 // (Hz) Spindle/laser frequency (only on supported HALs: AVR and LPC)
2659+
2660+
/**
2661+
* Speed / Power can be set ('M3 S') and displayed in terms of:
2662+
* - PWM (S0 - S255)
2663+
* - PERCENT (S0 - S100)
2664+
* - RPM (S0 - S50000) Best for use with a spindle
2665+
*/
2666+
#define CUTTER_POWER_DISPLAY PWM
2667+
2668+
/**
2669+
* Relative mode uses relative range (SPEED_POWER_MIN to SPEED_POWER_MAX) instead of normal range (0 to SPEED_POWER_MAX)
2670+
* Best use with SuperPID router controller where for example S0 = 5,000 RPM and S255 = 30,000 RPM
2671+
*/
2672+
//#define CUTTER_POWER_RELATIVE // Set speed proportional to [SPEED_POWER_MIN...SPEED_POWER_MAX] instead of directly
26832673

26842674
#if ENABLED(SPINDLE_FEATURE)
26852675
//#define SPINDLE_CHANGE_DIR // Enable if your spindle controller can change spindle direction
26862676
#define SPINDLE_CHANGE_DIR_STOP // Enable if the spindle should stop before changing spin direction
26872677
#define SPINDLE_INVERT_DIR false // Set to "true" if the spin direction is reversed
26882678

2679+
#define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power
2680+
#define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop
2681+
26892682
/**
2690-
* The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
2691-
*
2692-
* SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
2693-
* where PWM duty cycle varies from 0 to 255
2683+
* M3/M4 uses the following equation to convert speed/power to PWM duty cycle
2684+
* Power = ((DC / 255 * 100) - SPEED_POWER_INTERCEPT)) * (1 / SPEED_POWER_SLOPE)
2685+
* where PWM DC varies from 0 to 255
26942686
*
2695-
* set the following for your controller (ALL MUST BE SET)
2687+
* Set these required parameters for your controller
26962688
*/
2697-
#define SPEED_POWER_SLOPE 118.4
2698-
#define SPEED_POWER_INTERCEPT 0
2699-
#define SPEED_POWER_MIN 5000
2700-
#define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM
2689+
#define SPEED_POWER_SLOPE 118.4 // SPEED_POWER_SLOPE = SPEED_POWER_MAX / 255
2690+
#define SPEED_POWER_INTERCEPT 0
2691+
#define SPEED_POWER_MIN 5000
2692+
#define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM
2693+
#define SPEED_POWER_STARTUP 25000 // The default value for speed power when M3 is called without arguments
2694+
27012695
#else
2702-
#define SPEED_POWER_SLOPE 0.3922
2703-
#define SPEED_POWER_INTERCEPT 0
2704-
#define SPEED_POWER_MIN 10
2705-
#define SPEED_POWER_MAX 100 // 0-100%
2696+
2697+
#define SPEED_POWER_SLOPE 0.3922 // SPEED_POWER_SLOPE = SPEED_POWER_MAX / 255
2698+
#define SPEED_POWER_INTERCEPT 0
2699+
#define SPEED_POWER_MIN 0
2700+
#define SPEED_POWER_MAX 100 // 0-100%
2701+
#define SPEED_POWER_STARTUP 80 // The default value for speed power when M3 is called without arguments
2702+
2703+
/**
2704+
* Enable inline laser power to be handled in the planner / stepper routines.
2705+
* Inline power is specified by the I (inline) flag in an M3 command (e.g., M3 S20 I)
2706+
* or by the 'S' parameter in G0/G1/G2/G3 moves (see LASER_MOVE_POWER).
2707+
*
2708+
* This allows the laser to keep in perfect sync with the planner and removes
2709+
* the powerup/down delay since lasers require negligible time.
2710+
*/
2711+
#define LASER_POWER_INLINE
2712+
2713+
#if ENABLED(LASER_POWER_INLINE)
2714+
/**
2715+
* Scale the laser's power in proportion to the movement rate.
2716+
*
2717+
* - Sets the entry power proportional to the entry speed over the nominal speed.
2718+
* - Ramps the power up every N steps to approximate the speed trapezoid.
2719+
* - Due to the limited power resolution this is only approximate.
2720+
*/
2721+
#define LASER_POWER_INLINE_TRAPEZOID
2722+
2723+
/**
2724+
* Continuously calculate the current power (nominal_power * current_rate / nominal_rate).
2725+
* Required for accurate power with non-trapezoidal acceleration (e.g., S_CURVE_ACCELERATION).
2726+
* This is a costly calculation so this option is discouraged on 8-bit AVR boards.
2727+
*
2728+
* LASER_POWER_INLINE_TRAPEZOID_CONT_PER defines how many step cycles there are between power updates. If your
2729+
* board isn't able to generate steps fast enough (and you are using LASER_POWER_INLINE_TRAPEZOID_CONT), increase this.
2730+
* Note that when this is zero it means it occurs every cycle; 1 means a delay wait one cycle then run, etc.
2731+
*/
2732+
//#define LASER_POWER_INLINE_TRAPEZOID_CONT
2733+
2734+
/**
2735+
* Stepper iterations between power updates. Increase this value if the board
2736+
* can't keep up with the processing demands of LASER_POWER_INLINE_TRAPEZOID_CONT.
2737+
* Disable (or set to 0) to recalculate power on every stepper iteration.
2738+
*/
2739+
//#define LASER_POWER_INLINE_TRAPEZOID_CONT_PER 10
2740+
2741+
/**
2742+
* Include laser power in G0/G1/G2/G3/G5 commands with the 'S' parameter
2743+
*/
2744+
//#define LASER_MOVE_POWER
2745+
2746+
#if ENABLED(LASER_MOVE_POWER)
2747+
// Turn off the laser on G0 moves with no power parameter.
2748+
// If a power parameter is provided, use that instead.
2749+
//#define LASER_MOVE_G0_OFF
2750+
#endif
2751+
2752+
/**
2753+
* Inline flag inverted
2754+
*
2755+
* WARNING: M5 will NOT turn off the laser unless another move
2756+
* is done (so G-code files must end with 'M5 I').
2757+
*/
2758+
//#define LASER_POWER_INLINE_INVERT
2759+
2760+
/**
2761+
* Continuously apply inline power. ('M3 S3' == 'G1 S3' == 'M3 S3 I')
2762+
*
2763+
* The laser might do some weird things, so only enable this
2764+
* feature if you understand the implications.
2765+
*/
2766+
//#define LASER_POWER_INLINE_CONTINUOUS
2767+
2768+
#else
2769+
2770+
#define SPINDLE_LASER_POWERUP_DELAY 50 // (ms) Delay to allow the spindle/laser to come up to speed/power
2771+
#define SPINDLE_LASER_POWERDOWN_DELAY 50 // (ms) Delay to allow the spindle to stop
2772+
2773+
#endif
27062774
#endif
27072775
#endif
27082776

@@ -3158,4 +3226,4 @@
31583226
//#define PINS_DEBUGGING
31593227

31603228
// Enable Marlin dev mode which adds some special commands
3161-
//#define MARLIN_DEV_MODE
3229+
//#define MARLIN_DEV_MODE

Marlin/Version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/**
2929
* Marlin release version identifier
3030
*/
31-
//#define SHORT_BUILD_VERSION "2.0.5.2"
31+
//#define SHORT_BUILD_VERSION "2.0.5.3"
3232

3333
/**
3434
* Verbose version identifier which should contain a reference to the location

Marlin/src/HAL/AVR/persistent_store_eeprom.cpp Marlin/src/HAL/AVR/eeprom.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
#if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
2727

28-
#include "../shared/persistent_store_api.h"
28+
#include "../shared/eeprom_api.h"
2929

3030
bool PersistentStore::access_start() { return true; }
3131
bool PersistentStore::access_finish() { return true; }

Marlin/src/HAL/AVR/fastio.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@
9898

9999
#define SET_INPUT(IO) _SET_INPUT(IO)
100100
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO, HIGH); }while(0)
101+
#define SET_INPUT_PULLDOWN SET_INPUT
101102
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
102-
103-
#define SET_PWM(IO) SET_OUTPUT(IO)
103+
#define SET_PWM SET_OUTPUT
104104

105105
#define IS_INPUT(IO) _IS_INPUT(IO)
106106
#define IS_OUTPUT(IO) _IS_OUTPUT(IO)

Marlin/src/HAL/DUE/EepromEmulation.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
#if ENABLED(FLASH_EEPROM_EMULATION)
5858

5959
#include "../shared/Marduino.h"
60-
#include "../shared/persistent_store_api.h"
60+
#include "../shared/eeprom_api.h"
6161

6262
#define EEPROMSize 4096
6363
#define PagesPerGroup 128

Marlin/src/HAL/DUE/persistent_store_eeprom.cpp Marlin/src/HAL/DUE/eeprom.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#if ENABLED(EEPROM_SETTINGS)
2828

2929
#include "../../inc/MarlinConfig.h"
30-
#include "../shared/persistent_store_api.h"
30+
#include "../shared/eeprom_api.h"
3131

3232
#if !defined(E2END) && ENABLED(FLASH_EEPROM_EMULATION)
3333
#define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp)

Marlin/src/HAL/DUE/fastio.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166
// Set pin as output (wrapper) - reads the pin and sets the output to that value
167167
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
168168
// Set pin as PWM
169-
#define SET_PWM(IO) SET_OUTPUT(IO)
169+
#define SET_PWM SET_OUTPUT
170170

171171
// Check if pin is an input
172172
#define IS_INPUT(IO) ((digitalPinToPort(IO)->PIO_OSR & digitalPinToBitMask(IO)) == 0)

0 commit comments

Comments
 (0)