Skip to content

Commit

Permalink
⛙ Merge w/HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
classicrocker883 committed Aug 13, 2024
2 parents 563142e + e29579e commit 78d8bb4
Show file tree
Hide file tree
Showing 106 changed files with 920 additions and 560 deletions.
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ contact_links:
- name: 👤 Professional Firmware Facebook group
url: https://www.facebook.com/groups/513889302986197
about: Please ask and answer questions here.
- name: 🕹 Marlin on Discord
url: https://discord.com/servers/marlin-firmware-461605380783472640
about: Join the Discord server for support and discussion.
- name: 🔗 Marlin Discussion Forum
url: https://reprap.org/forum/list.php?415
about: A searchable web forum hosted by RepRap dot org.
- name: 📺 Marlin Videos on YouTube
url: https://www.youtube.com/results?search_query=marlin+firmware
about: Tutorials and more from Marlin users all around the world. Great for new users!
- name: 💸 Want to donate?
url: https://www.paypal.com/paypalme/andrewleduc
about: Your contribution to this project is always welcome!
2 changes: 1 addition & 1 deletion .github/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ We have a Message Board and a Facebook group where our knowledgable user communi

If chat is more your speed, you can join the MarlinFirmware Discord server:

* Use the link https://discord.gg/n5NJ59y to join up as a General User.
* Use the link https://discord.com/servers/marlin-firmware-461605380783472640 to join up as a General User.
* Even though our Discord is pretty active, it may take a while for community members to respond — please be patient!
* Use the `#general` channel for general questions or discussion about Marlin.
* Other channels exist for certain topics or are limited to Patrons. Check the channel list.
Expand Down
2 changes: 1 addition & 1 deletion Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -2570,7 +2570,7 @@
//#define NOZZLE_CLEAN_HEATUP // Heat up the nozzle instead of skipping wipe

// Explicit wipe G-code script applies to a G12 with no arguments.
#define WIPE_SEQUENCE_COMMANDS "G0 X2 Y200 Z50\nG0 Z0.3\nG0 Z0.3\nG92 E0\nG1 Y140 E10 F1500\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200\nG92 E0"
#define WIPE_SEQUENCE_COMMANDS "G0X2Y200Z50\nG0Z0.3\nG0Z0.3\nG92E0\nG1Y140E10F1500\nG1X2.3F5000\nG92E0\nG1Y10E10F1200\nG92E0"
// PrusaSlicer Start G-code Purge Line
#endif

Expand Down
2 changes: 1 addition & 1 deletion Marlin/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
//#define STRING_DISTRIBUTION_DATE "2024-08-03"
//#define STRING_DISTRIBUTION_DATE "2024-08-13"

#define STRING_DISTRIBUTION_DATE __DATE__
#define STRING_DISTRIBUTION_TIME __TIME__
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/STM32/pinsDebug.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ const XrefInfo pin_xref[] PROGMEM = {
#ifndef NUM_ANALOG_LAST
#define NUM_ANALOG_LAST ((NUM_ANALOG_FIRST) + (NUM_ANALOG_INPUTS) - 1)
#endif
#define NUMBER_PINS_TOTAL ((NUM_DIGITAL_PINS) + TERN0(HAS_HIGH_ANALOG_PINS, NUM_ANALOG_INPUTS))
#define NUMBER_PINS_TOTAL ((NUM_DIGITAL_PINS) PLUS_TERN0(HAS_HIGH_ANALOG_PINS, NUM_ANALOG_INPUTS))
#define isValidPin(P) (WITHIN(P, 0, (NUM_DIGITAL_PINS) - 1) || TERN0(HAS_HIGH_ANALOG_PINS, WITHIN(P, NUM_ANALOG_FIRST, NUM_ANALOG_LAST)))
#define digitalRead_mod(Ard_num) extDigitalRead(Ard_num) // must use Arduino pin numbers when doing reads
#define printPinNumber(Q)
Expand Down
6 changes: 3 additions & 3 deletions Marlin/src/core/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ enum AxisEnum : uint8_t {
#endif

// Distinct axes, including all E and Core
NUM_AXIS_ENUMS,
NUM_AXIS_HEADS,

// Most of the time we refer only to the single E_AXIS
#if HAS_EXTRUDERS
Expand Down Expand Up @@ -995,7 +995,7 @@ class AxisBits;

class AxisBits {
public:
typedef bits_t(NUM_AXIS_ENUMS) el;
typedef bits_t(NUM_AXIS_HEADS) el;
union {
el bits;
// Axes x, y, z ... e0, e1, e2 ... hx, hy, hz
Expand Down Expand Up @@ -1056,7 +1056,7 @@ class AxisBits {
FI AxisBits& operator=(const el p) { set(p); return *this; }

FI void reset() { set(0); }
FI void fill() { set(_BV(NUM_AXIS_ENUMS) - 1); }
FI void fill() { set(_BV(NUM_AXIS_HEADS) - 1); }

#define MSET(pE,pX,pY,pZ,pI,pJ,pK,pU,pV,pW) LOGICAL_AXIS_CODE(e=pE, x=pX, y=pY, z=pZ, i=pI, j=pJ, k=pK, u=pU, v=pV, w=pW)

Expand Down
8 changes: 4 additions & 4 deletions Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1200,9 +1200,9 @@ bool unified_bed_leveling::G29_parse_parameters() {
}

param.XY_seen.x = parser.seenval('X');
float sx = param.XY_seen.x ? parser.value_float() : TERN(DWIN_LCD_PROUI, 0, current_position.x - TERN0(HAS_BED_PROBE, probe.offset.x));
float sx = param.XY_seen.x ? parser.value_float() : TERN(DWIN_LCD_PROUI, 0, current_position.x MINUS_TERN0(HAS_BED_PROBE, probe.offset.x));
param.XY_seen.y = parser.seenval('Y');
float sy = param.XY_seen.y ? parser.value_float() : TERN(DWIN_LCD_PROUI, 0, current_position.y - TERN0(HAS_BED_PROBE, probe.offset.y));
float sy = param.XY_seen.y ? parser.value_float() : TERN(DWIN_LCD_PROUI, 0, current_position.y MINUS_TERN0(HAS_BED_PROBE, probe.offset.y));

if (param.XY_seen.x != param.XY_seen.y) {
SERIAL_ECHOLNPGM("Both X & Y locations must be specified.\n");
Expand All @@ -1211,8 +1211,8 @@ bool unified_bed_leveling::G29_parse_parameters() {

// If X or Y are not valid, use center of the bed values
// (for UBL_HILBERT_CURVE default to lower-left corner instead)
if (!COORDINATE_OKAY(sx, X_MIN_BED, X_MAX_BED)) sx = TERN(UBL_HILBERT_CURVE, 0, X_CENTER - TERN0(HAS_BED_PROBE, probe.offset.x));
if (!COORDINATE_OKAY(sy, Y_MIN_BED, Y_MAX_BED)) sy = TERN(UBL_HILBERT_CURVE, 0, Y_CENTER - TERN0(HAS_BED_PROBE, probe.offset.y));
if (!COORDINATE_OKAY(sx, X_MIN_BED, X_MAX_BED)) sx = TERN(UBL_HILBERT_CURVE, 0, X_CENTER MINUS_TERN0(HAS_BED_PROBE, probe.offset.x));
if (!COORDINATE_OKAY(sy, Y_MIN_BED, Y_MAX_BED)) sy = TERN(UBL_HILBERT_CURVE, 0, Y_CENTER MINUS_TERN0(HAS_BED_PROBE, probe.offset.y));

if (err_flag) return UBL_ERR;

Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/feature/leds/leds.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ typedef struct LEDColor {
bool operator!=(const LEDColor &right) { return !operator==(right); }

bool is_off() const {
return 3 > r + g + b + TERN0(HAS_WHITE_LED, w);
return 3 > r + g + b PLUS_TERN0(HAS_WHITE_LED, w);
}
} LEDColor;

Expand Down
3 changes: 2 additions & 1 deletion Marlin/src/feature/pause.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ bool load_filament(const_float_t slow_load_length/*=0*/, const_float_t fast_load
TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired(GET_TEXT_F(MSG_FILAMENTLOAD)));

#if ENABLED(HOST_PROMPT_SUPPORT)
const char tool = '0' + TERN0(MULTI_FILAMENT_SENSOR, active_extruder);
const char tool = '0' PLUS_TERN0(MULTI_FILAMENT_SENSOR, active_extruder);
hostui.prompt_do(PROMPT_USER_CONTINUE, F("Load Filament T"), tool, FPSTR(CONTINUE_STR));
#endif

Expand Down Expand Up @@ -540,6 +540,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
KEEPALIVE_STATE(PAUSED_FOR_USER);
TERN_(HOST_PROMPT_SUPPORT, hostui.continue_prompt(GET_TEXT_F(MSG_NOZZLE_PARKED)));
TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired(GET_TEXT_F(MSG_NOZZLE_PARKED)));
TERN_(DWIN_LCD_PROUI, LCD_MESSAGE(MSG_NOZZLE_PARKED));
wait_for_user = true; // LCD click or M108 will clear this
while (wait_for_user) {
impatient_beep(max_beep_count);
Expand Down
15 changes: 11 additions & 4 deletions Marlin/src/feature/powerloss.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ void PrintJobRecovery::resume() {
// establish the current position as best we can.
//

#if ENABLED(DWIN_LCD_PROUI) && DISABLED(NOZZLE_CLEAN_FEATURE)
#if ENABLED(DWIN_LCD_PROUI) && (DISABLED(NOZZLE_CLEAN_FEATURE) || defined(WIPE_SEQUENCE_COMMANDS))
xyze_pos_t save_pos = info.current_position;
#endif

Expand Down Expand Up @@ -502,9 +502,16 @@ void PrintJobRecovery::resume() {
#endif
#endif

#if ENABLED(DWIN_LCD_PROUI) && DISABLED(NOZZLE_CLEAN_FEATURE)
#if ENABLED(DWIN_LCD_PROUI) && (DISABLED(NOZZLE_CLEAN_FEATURE) || defined(WIPE_SEQUENCE_COMMANDS))
// Parking head to allow clean before of heating the hotend
gcode.process_subcommands_now(F("G27"));
#if ENABLED(NOZZLE_PARK_FEATURE)
gcode.process_subcommands_now(F("G27P3\nG27P2"));
#else
const_float_t zpos = current_position.z + TERN(NOZZLE_PARK_FEATURE, NOZZLE_PARK_Z_RAISE_MIN, Z_POST_CLEARANCE);
_MIN(zpos, Z_MAX_POS);
const int16_t ypos = TERN(NOZZLE_PARK_FEATURE, TERN(PROUI_EX, PRO_data.Park_point.y, DEF_NOZZLE_PARK_POINT.y), Y_MAX_POS);
gcode.process_subcommands_now(TS(F("G0F600Z"), zpos, F("\nG0F2000Y"), ypos, F("\nM400")));
#endif
DWIN_Popup_Continue(ICON_Leveling_0, GET_TEXT_F(MSG_NOZZLE_PARKED), GET_TEXT_F(MSG_NOZZLE_CLEAN));
wait_for_user_response();
info.current_position = save_pos;
Expand Down Expand Up @@ -578,7 +585,7 @@ void PrintJobRecovery::resume() {
PROCESS_SUBCOMMANDS_NOW(TS(F("G1F3000E"), (POWER_LOSS_PURGE_LEN) + (POWER_LOSS_RETRACT_LEN)));
#endif

#if ENABLED(NOZZLE_CLEAN_FEATURE)
#if ENABLED(NOZZLE_CLEAN_FEATURE) && !defined(WIPE_SEQUENCE_COMMANDS)
PROCESS_SUBCOMMANDS_NOW(F("G12"));
#endif

Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/feature/runout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ void event_filament_runout(const uint8_t extruder) {
TERN_(DWIN_LCD_PROUI, LCD_MESSAGE(MSG_RUNOUT_SENSOR));

#if ANY(HOST_PROMPT_SUPPORT, HOST_ACTION_COMMANDS, MULTI_FILAMENT_SENSOR)
const char tool = '0' + TERN0(MULTI_FILAMENT_SENSOR, extruder);
const char tool = '0' PLUS_TERN0(MULTI_FILAMENT_SENSOR, extruder);
#endif

//action:out_of_filament
Expand Down
6 changes: 3 additions & 3 deletions Marlin/src/gcode/bedlevel/G26.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,11 @@
#endif

#ifndef G26_XY_FEEDRATE
#define G26_XY_FEEDRATE (PLANNER_XY_FEEDRATE() / 3.0)
#define G26_XY_FEEDRATE (PLANNER_XY_FEEDRATE_MM_S / 3.0)
#endif

#ifndef G26_XY_FEEDRATE_TRAVEL
#define G26_XY_FEEDRATE_TRAVEL (PLANNER_XY_FEEDRATE() / 1.5)
#define G26_XY_FEEDRATE_TRAVEL (PLANNER_XY_FEEDRATE_MM_S / 1.5)
#endif

#if CROSSHAIRS_SIZE >= INTERSECTION_CIRCLE_RADIUS
Expand Down Expand Up @@ -783,7 +783,7 @@ void GcodeSuite::G26() {

g26.recover_filament(destination);

{ REMEMBER(fr, feedrate_mm_s, PLANNER_XY_FEEDRATE() * 0.1f);
{ REMEMBER(fr, feedrate_mm_s, PLANNER_XY_FEEDRATE_MM_S * 0.1f);
plan_arc(endpoint, arc_offset, false, 0); // Draw a counter-clockwise arc
destination = current_position;
}
Expand Down
5 changes: 4 additions & 1 deletion Marlin/src/gcode/bedlevel/G42.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@
#include "../gcode.h"
#include "../../MarlinCore.h" // for IsRunning()
#include "../../module/motion.h"
#include "../../module/probe.h" // for probe.offset
#include "../../feature/bedlevel/bedlevel.h"

#if HAS_PROBE_XY_OFFSET
#include "../../module/probe.h" // for probe.offset
#endif

/**
* G42: Move X & Y axes to mesh coordinates (I & J)
*
Expand Down
5 changes: 4 additions & 1 deletion Marlin/src/gcode/bedlevel/M420.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@
#include "../gcode.h"
#include "../../feature/bedlevel/bedlevel.h"
#include "../../module/planner.h"
#include "../../module/probe.h"

#if ENABLED(MARLIN_DEV_MODE)
#include "../../module/probe.h"
#endif

#if ENABLED(EEPROM_SETTINGS)
#include "../../module/settings.h"
Expand Down
4 changes: 3 additions & 1 deletion Marlin/src/gcode/calibrate/G28.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@
#include "../../feature/tmc_util.h"
#endif

#include "../../module/probe.h"
#if HAS_BED_PROBE
#include "../../module/probe.h"
#endif

#if ENABLED(BLTOUCH)
#include "../../feature/bltouch.h"
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/gcode/calibrate/G34_M422.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ void GcodeSuite::G34() {

SERIAL_EOL();

SString<15 + TERN0(TRIPLE_Z, 30) + TERN0(QUAD_Z, 45)> msg(F("1:2="), p_float_t(ABS(z_measured[1] - z_measured[0]), 3));
SString<15 PLUS_TERN0(TRIPLE_Z, 30) PLUS_TERN0(QUAD_Z, 45)> msg(F("1:2="), p_float_t(ABS(z_measured[1] - z_measured[0]), 3));
#if TRIPLE_Z
msg.append(F(" 3-2="), p_float_t(ABS(z_measured[2] - z_measured[1]), 3))
.append(F(" 3-1="), p_float_t(ABS(z_measured[2] - z_measured[0]), 3));
Expand Down
1 change: 0 additions & 1 deletion Marlin/src/gcode/calibrate/M48.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
#if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)

#include "../gcode.h"
#include "../../module/motion.h"
#include "../../module/probe.h"
#include "../../lcd/marlinui.h"

Expand Down
4 changes: 1 addition & 3 deletions Marlin/src/gcode/control/M997.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@

#if ENABLED(EXTENSIBLE_UI)
#include "../../lcd/extui/ui_api.h"
#endif

#if ENABLED(DWIN_LCD_PROUI)
#elif ENABLED(DWIN_LCD_PROUI)
#include "../../lcd/e3v2/proui/dwin.h"
#endif

Expand Down
27 changes: 15 additions & 12 deletions Marlin/src/gcode/feature/ft_motion/M493.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,13 @@ void say_shaping() {

// FT Shaping
#if HAS_X_AXIS
if (CMPNSTR_HAS_SHAPER(X_AXIS)) {
if (AXIS_HAS_SHAPER(X)) {
SERIAL_ECHOPGM(" with " AXIS_0_NAME);
say_shaper_type(X_AXIS);
}
#endif
#if HAS_Y_AXIS
if (CMPNSTR_HAS_SHAPER(Y_AXIS)) {
if (AXIS_HAS_SHAPER(Y)) {
SERIAL_ECHOPGM(" and with " AXIS_1_NAME);
say_shaper_type(Y_AXIS);
}
Expand All @@ -80,7 +80,7 @@ void say_shaping() {
dynamic = z_based || g_based;

// FT Dynamic Frequency Mode
if (CMPNSTR_HAS_SHAPER(X_AXIS) || CMPNSTR_HAS_SHAPER(Y_AXIS)) {
if (AXIS_HAS_SHAPER(X) || AXIS_HAS_SHAPER(Y)) {
#if HAS_DYNAMIC_FREQ
SERIAL_ECHOPGM("Dynamic Frequency Mode ");
switch (ftMotion.cfg.dynFreqMode) {
Expand Down Expand Up @@ -201,8 +201,11 @@ void GcodeSuite::M493() {

if (active != ftMotion.cfg.active) {
switch (active) {
case false: flag.reset_ft = true;
case true: flag.report_h = true;
case false:
flag.reset_ft = true;
// fall-thru
case true:
flag.report_h = true;
ftMotion.cfg.active = active;
break;
}
Expand Down Expand Up @@ -267,7 +270,7 @@ void GcodeSuite::M493() {

// Dynamic frequency mode parameter.
if (parser.seenval('D')) {
if (CMPNSTR_HAS_SHAPER(X_AXIS) || CMPNSTR_HAS_SHAPER(Y_AXIS)) {
if (AXIS_HAS_SHAPER(X) || AXIS_HAS_SHAPER(Y)) {
const dynFreqMode_t val = dynFreqMode_t(parser.value_byte());
switch (val) {
#if HAS_DYNAMIC_FREQ_MM
Expand Down Expand Up @@ -301,7 +304,7 @@ void GcodeSuite::M493() {

// Parse frequency parameter (X axis).
if (parser.seenval('A')) {
if (CMPNSTR_HAS_SHAPER(X_AXIS)) {
if (AXIS_HAS_SHAPER(X)) {
const float val = parser.value_float();
/// TODO: Frequency minimum is dependent on the shaper used; the above check isn't always correct.
if (WITHIN(val, FTM_MIN_SHAPE_FREQ, (FTM_FS) / 2)) {
Expand Down Expand Up @@ -330,7 +333,7 @@ void GcodeSuite::M493() {
// Parse zeta parameter (X axis).
if (parser.seenval('I')) {
const float val = parser.value_float();
if (CMPNSTR_HAS_SHAPER(X_AXIS)) {
if (AXIS_HAS_SHAPER(X)) {
if (WITHIN(val, 0.01f, 1.0f)) {
ftMotion.cfg.zeta[0] = val;
flag.update = true;
Expand All @@ -345,7 +348,7 @@ void GcodeSuite::M493() {
// Parse vtol parameter (X axis).
if (parser.seenval('Q')) {
const float val = parser.value_float();
if (CMPNSTR_IS_EISHAPER(X_AXIS)) {
if (AXIS_HAS_EISHAPER(X)) {
if (WITHIN(val, 0.00f, 1.0f)) {
ftMotion.cfg.vtol[0] = val;
flag.update = true;
Expand All @@ -363,7 +366,7 @@ void GcodeSuite::M493() {

// Parse frequency parameter (Y axis).
if (parser.seenval('B')) {
if (CMPNSTR_HAS_SHAPER(Y_AXIS)) {
if (AXIS_HAS_SHAPER(Y)) {
const float val = parser.value_float();
if (WITHIN(val, FTM_MIN_SHAPE_FREQ, (FTM_FS) / 2)) {
ftMotion.cfg.baseFreq[Y_AXIS] = val;
Expand Down Expand Up @@ -391,7 +394,7 @@ void GcodeSuite::M493() {
// Parse zeta parameter (Y axis).
if (parser.seenval('J')) {
const float val = parser.value_float();
if (CMPNSTR_HAS_SHAPER(Y_AXIS)) {
if (AXIS_HAS_SHAPER(Y)) {
if (WITHIN(val, 0.01f, 1.0f)) {
ftMotion.cfg.zeta[1] = val;
flag.update = true;
Expand All @@ -406,7 +409,7 @@ void GcodeSuite::M493() {
// Parse vtol parameter (Y axis).
if (parser.seenval('R')) {
const float val = parser.value_float();
if (CMPNSTR_IS_EISHAPER(Y_AXIS)) {
if (AXIS_HAS_EISHAPER(Y)) {
if (WITHIN(val, 0.00f, 1.0f)) {
ftMotion.cfg.vtol[1] = val;
flag.update = true;
Expand Down
4 changes: 0 additions & 4 deletions Marlin/src/gcode/lcd/M73.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@
#include "../../sd/cardreader.h"
#include "../../libs/numtostr.h"

#if ENABLED(DWIN_LCD_PROUI)
#include "../../lcd/e3v2/proui/dwin.h"
#endif

/**
* M73: Set percentage complete (for display on LCD)
*
Expand Down
2 changes: 0 additions & 2 deletions Marlin/src/gcode/sd/M1001.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@

#if ENABLED(EXTENSIBLE_UI)
#include "../../lcd/extui/ui_api.h"
#elif ENABLED(DWIN_LCD_PROUI)
#include "../../lcd/e3v2/proui/dwin.h"
#endif

#if ENABLED(HOST_ACTION_COMMANDS)
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/gcode/temp/M303.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ void GcodeSuite::M303() {
TERN_(DWIN_LCD_PROUI, DWIN_M303(c, hid, temp);)
TERN_(EXTENSIBLE_UI, ExtUI::onStartM303(c, hid, temp));

IF_DISABLED(BUSY_WHILE_HEATING, KEEPALIVE_STATE(NOT_BUSY);)
IF_DISABLED(BUSY_WHILE_HEATING, KEEPALIVE_STATE(NOT_BUSY));

LCD_MESSAGE(MSG_PID_AUTOTUNE);
thermalManager.PID_autotune(temp, hid, c, u);
Expand Down
Loading

0 comments on commit 78d8bb4

Please sign in to comment.