Merge remote-tracking branch 'upstream/bugfix-2.1.x' into pr/26943
This commit is contained in:
@@ -1053,7 +1053,8 @@
|
||||
// Delta radius and diagonal rod adjustments
|
||||
//#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm)
|
||||
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm)
|
||||
#endif
|
||||
|
||||
#endif // DELTA
|
||||
|
||||
// @section scara
|
||||
|
||||
|
||||
@@ -1628,7 +1628,7 @@
|
||||
#if HAS_MARLINUI_U8GLIB
|
||||
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of flash.
|
||||
#endif
|
||||
#if ANY(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE, HAS_MARLINUI_HD44780)
|
||||
#if ANY(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE, HAS_MARLINUI_HD44780, HAS_GRAPHICAL_TFT)
|
||||
//#define SHOW_CUSTOM_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
//#define STRING_DISTRIBUTION_DATE "2025-11-08"
|
||||
//#define STRING_DISTRIBUTION_DATE "2025-11-10"
|
||||
|
||||
/**
|
||||
* The protocol for communication to the host. Protocol indicates communication
|
||||
|
||||
@@ -380,9 +380,9 @@ static float auto_tune_a(const float dcr) {
|
||||
* With HAS_DELTA_SENSORLESS_PROBING:
|
||||
* Use these flags to calibrate stall sensitivity:
|
||||
* Example: G33 P1 Y Z - to calibrate X only
|
||||
* X Don't activate stallguard on X
|
||||
* Y Don't activate stallguard on Y
|
||||
* Z Don't activate stallguard on Z
|
||||
* X Don't activate StallGuard on X
|
||||
* Y Don't activate StallGuard on Y
|
||||
* Z Don't activate StallGuard on Z
|
||||
* S Save offset_sensorless_adj
|
||||
*/
|
||||
void GcodeSuite::G33() {
|
||||
|
||||
@@ -121,7 +121,7 @@ void GcodeSuite::M494() {
|
||||
report = true; \
|
||||
} \
|
||||
else \
|
||||
SERIAL_ECHOLN("?Invalid ", C(N), " smoothing time [", C(CHARIFY(A)), "] value."); \
|
||||
SERIAL_ECHOLNPGM("?Invalid ", C(N), " smoothing time [", C(CHARIFY(A)), "] value."); \
|
||||
}
|
||||
|
||||
CARTES_GANG(
|
||||
|
||||
@@ -3303,6 +3303,9 @@
|
||||
#if ANY(ADVANCED_PAUSE_FEATURE, PROBING_HEATERS_OFF)
|
||||
#define HEATER_IDLE_HANDLER 1
|
||||
#endif
|
||||
#if ENABLED(DELTA)
|
||||
#undef PROBING_STEPPERS_OFF
|
||||
#endif
|
||||
#if HAS_BED_PROBE && (ANY(PROBING_HEATERS_OFF, PROBING_STEPPERS_OFF, PROBING_ESTEPPERS_OFF, PROBING_FANS_OFF) || DELAY_BEFORE_PROBING > 0)
|
||||
#define HAS_QUIET_PROBING 1
|
||||
#endif
|
||||
@@ -3684,4 +3687,10 @@
|
||||
#define FTM_BUFFER_SIZE 128
|
||||
#endif
|
||||
#define FTM_BUFFER_MASK (FTM_BUFFER_SIZE - 1u)
|
||||
#if ANY(BIQU_MICROPROBE_V1, BIQU_MICROPROBE_V2)
|
||||
#ifndef PROBE_WAKEUP_TIME_MS
|
||||
#define PROBE_WAKEUP_TIME_MS 30
|
||||
#define PROBE_WAKEUP_TIME_WARNING 1
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -399,8 +399,8 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
||||
/**
|
||||
* Custom Boot and Status screens
|
||||
*/
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) && NONE(HAS_MARLINUI_HD44780, HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE, IS_DWIN_MARLINUI)
|
||||
#error "SHOW_CUSTOM_BOOTSCREEN requires Character LCD, Graphical LCD, or TOUCH_UI_FTDI_EVE."
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) && NONE(TFT_COLOR_UI, HAS_MARLINUI_HD44780, HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE, IS_DWIN_MARLINUI)
|
||||
#error "SHOW_CUSTOM_BOOTSCREEN requires Character LCD, Graphical LCD, TOUCH_UI_FTDI_EVE, or TFT_COLOR_UI."
|
||||
#elif ENABLED(SHOW_CUSTOM_BOOTSCREEN) && DISABLED(SHOW_BOOTSCREEN)
|
||||
#error "SHOW_CUSTOM_BOOTSCREEN requires SHOW_BOOTSCREEN."
|
||||
#elif ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) && !HAS_MARLINUI_U8GLIB
|
||||
@@ -1277,53 +1277,22 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i
|
||||
+ (DISABLED(BLTOUCH) && HAS_Z_SERVO_PROBE) \
|
||||
+ COUNT_ENABLED(PROBE_MANUALLY, BLTOUCH, BD_SENSOR, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, RACK_AND_PINION_PROBE, SENSORLESS_PROBING, MAGLEV4, MAG_MOUNTED_PROBE, BIQU_MICROPROBE_V1, BIQU_MICROPROBE_V2)
|
||||
#error "Please enable only one probe option. See the following errors:"
|
||||
#if ENABLED(BLTOUCH)
|
||||
#error "(BLTOUCH is enabled.)"
|
||||
#elif HAS_Z_SERVO_PROBE
|
||||
#error "(Z_SERVO_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(PROBE_MANUALLY)
|
||||
#error "(PROBE_MANUALLY is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(BD_SENSOR)
|
||||
#error "(BD_SENSOR is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(FIX_MOUNTED_PROBE)
|
||||
#error "(FIX_MOUNTED_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(NOZZLE_AS_PROBE)
|
||||
#error "(NOZZLE_AS_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(TOUCH_MI_PROBE)
|
||||
#error "(TOUCH_MI_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(SOLENOID_PROBE)
|
||||
#error "(SOLENOID_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(Z_PROBE_ALLEN_KEY)
|
||||
#error "(Z_PROBE_ALLEN_KEY is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(Z_PROBE_SLED)
|
||||
#error "(Z_PROBE_SLED is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(RACK_AND_PINION_PROBE)
|
||||
#error "(RACK_AND_PINION_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(SENSORLESS_PROBING)
|
||||
#error "(SENSORLESS_PROBING is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(MAGLEV4)
|
||||
#error "(MAGLEV4 is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(MAG_MOUNTED_PROBE)
|
||||
#error "(MAG_MOUNTED_PROBE is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(BIQU_MICROPROBE_V1)
|
||||
#error "(BIQU_MICROPROBE_V1 is enabled.)"
|
||||
#endif
|
||||
#if ENABLED(BIQU_MICROPROBE_V2)
|
||||
#error "(BIQU_MICROPROBE_V2 is enabled.)"
|
||||
#endif
|
||||
static_assert(DISABLED(BLTOUCH), "(BLTOUCH is enabled.)");
|
||||
static_assert(ENABLED(BLTOUCH) || DISABLED(HAS_Z_SERVO_PROBE), "(Z_SERVO_PROBE is enabled.)");
|
||||
static_assert(DISABLED(PROBE_MANUALLY), "(PROBE_MANUALLY is enabled.)");
|
||||
static_assert(DISABLED(BD_SENSOR), "(BD_SENSOR is enabled.)");
|
||||
static_assert(DISABLED(FIX_MOUNTED_PROBE), "(FIX_MOUNTED_PROBE is enabled.)");
|
||||
static_assert(DISABLED(NOZZLE_AS_PROBE), "(NOZZLE_AS_PROBE is enabled.)");
|
||||
static_assert(DISABLED(TOUCH_MI_PROBE), "(TOUCH_MI_PROBE is enabled.)");
|
||||
static_assert(DISABLED(SOLENOID_PROBE), "(SOLENOID_PROBE is enabled.)");
|
||||
static_assert(DISABLED(Z_PROBE_ALLEN_KEY), "(Z_PROBE_ALLEN_KEY is enabled.)");
|
||||
static_assert(DISABLED(Z_PROBE_SLED), "(Z_PROBE_SLED is enabled.)");
|
||||
static_assert(DISABLED(RACK_AND_PINION_PROBE), "(RACK_AND_PINION_PROBE is enabled.)");
|
||||
static_assert(DISABLED(SENSORLESS_PROBING), "(SENSORLESS_PROBING is enabled.)");
|
||||
static_assert(DISABLED(MAGLEV4), "(MAGLEV4 is enabled.)");
|
||||
static_assert(DISABLED(MAG_MOUNTED_PROBE), "(MAG_MOUNTED_PROBE is enabled.)");
|
||||
static_assert(DISABLED(BIQU_MICROPROBE_V1), "(BIQU_MICROPROBE_V1 is enabled.)");
|
||||
static_assert(DISABLED(BIQU_MICROPROBE_V2), "(BIQU_MICROPROBE_V2 is enabled.)");
|
||||
#endif
|
||||
|
||||
#if HAS_BED_PROBE
|
||||
@@ -1500,7 +1469,6 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i
|
||||
#elif !PIN_EXISTS(PROBE_ENABLE)
|
||||
#error "BIQU MicroProbe requires a PROBE_ENABLE_PIN."
|
||||
#endif
|
||||
|
||||
#if ENABLED(BIQU_MICROPROBE_V1)
|
||||
#if ENABLED(INVERTED_PROBE_STATE)
|
||||
#if Z_MIN_PROBE_ENDSTOP_HIT_STATE != LOW
|
||||
@@ -1518,6 +1486,13 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i
|
||||
#error "BIQU_MICROPROBE_V1 requires Z_MIN_ENDSTOP_HIT_STATE HIGH."
|
||||
#endif
|
||||
#endif
|
||||
#if NONE(ONBOARD_ENDSTOPPULLUPS, ENDSTOPPULLUPS, ENDSTOPPULLUP_ZMIN, ENDSTOPPULLUP_ZMIN_PROBE)
|
||||
#if USE_Z_MIN_PROBE
|
||||
#error "BIQU_MICROPROBE_V1 on Z_MIN_PROBE_PIN requires ENDSTOPPULLUP_ZMIN_PROBE, or ENDSTOPPULLUPS."
|
||||
#else
|
||||
#error "BIQU_MICROPROBE_V1 on Z_MIN_PIN requires ENDSTOPPULLUP_ZMIN, or ENDSTOPPULLUPS."
|
||||
#endif
|
||||
#endif
|
||||
#elif ENABLED(BIQU_MICROPROBE_V2)
|
||||
#if ENABLED(INVERTED_PROBE_STATE)
|
||||
#if Z_MIN_PROBE_ENDSTOP_HIT_STATE != HIGH
|
||||
@@ -1536,6 +1511,13 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#if NONE(ONBOARD_ENDSTOPPULLUPS, ENDSTOPPULLUPS, ENDSTOPPULLUP_ZMIN, ENDSTOPPULLUP_ZMIN_PROBE)
|
||||
#if USE_Z_MIN_PROBE
|
||||
#error "BIQU_MICROPROBE_V2 on Z_MIN_PROBE_PIN requires ENDSTOPPULLUP_ZMIN_PROBE, or ENDSTOPPULLUPS."
|
||||
#else
|
||||
#error "BIQU_MICROPROBE_V2 on Z_MIN_PIN requires ENDSTOPPULLUP_ZMIN, or ENDSTOPPULLUPS."
|
||||
#endif
|
||||
#endif
|
||||
#endif // BIQU_MICROPROBE_V1 || BIQU_MICROPROBE_V2
|
||||
|
||||
/**
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
* version was tagged.
|
||||
*/
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
#define STRING_DISTRIBUTION_DATE "2025-11-08"
|
||||
#define STRING_DISTRIBUTION_DATE "2025-11-10"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@@ -724,6 +724,10 @@
|
||||
#warning "BIQU MicroProbe V2 detect signal requires a strong pull-up. Some processors have weak internal pull-up capabilities, so we recommended connecting MicroProbe SIGNAL / GND to Z-MIN / Z-STOP instead of the dedicated PROBE port. (Define NO_MICROPROBE_WARNING to suppress this warning.)"
|
||||
#endif
|
||||
|
||||
#if PROBE_WAKEUP_TIME_WARNING
|
||||
#warning "PROBE_WAKEUP_TIME_MS has been set to the default 30ms."
|
||||
#endif
|
||||
|
||||
//
|
||||
// Warn users of potential endstop/DIAG pin conflicts to prevent homing issues when not using sensorless homing
|
||||
//
|
||||
@@ -943,6 +947,9 @@
|
||||
#if ENABLED(FTM_HOME_AND_PROBE)
|
||||
#if ANY(BIQU_MICROPROBE_V1, BIQU_MICROPROBE_V2)
|
||||
#warning "Let us know if you experience any issues with BIQU Microprobe and FT_MOTION."
|
||||
#if PROBE_WAKEUP_TIME_MS <= 25
|
||||
#warning "A PROBE_WAKEUP_TIME_MS over 25 ms is recommended with FT_MOTION and BIQU_MICROPROBE_V1 or BIQU_MICROPROBE_V2."
|
||||
#endif
|
||||
#endif
|
||||
#if PROBE_WAKEUP_TIME_MS < 30
|
||||
#warning "A PROBE_WAKEUP_TIME_MS over 30 ms is recommended with FT_MOTION."
|
||||
@@ -973,8 +980,6 @@
|
||||
/**
|
||||
* Smooth Linear Advance with Mixing Extruder, S-Curve Acceleration
|
||||
*/
|
||||
#if ENABLED(SMOOTH_LIN_ADVANCE)
|
||||
#if ENABLED(MIXING_EXTRUDER)
|
||||
#warning "SMOOTH_LIN_ADVANCE with MIXING_EXTRUDER is untested. Use with caution."
|
||||
#endif
|
||||
#if ALL(SMOOTH_LIN_ADVANCE, MIXING_EXTRUDER)
|
||||
#warning "SMOOTH_LIN_ADVANCE with MIXING_EXTRUDER is untested. Use with caution."
|
||||
#endif
|
||||
|
||||
@@ -134,11 +134,22 @@ void Canvas::addImage(int16_t x, int16_t y, MarlinImage image, uint16_t *colors)
|
||||
uint32_t rle_offset;
|
||||
} rle_state;
|
||||
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
static MarlinImage last_image = noImage;
|
||||
#endif
|
||||
|
||||
// RLE16 HIGHCOLOR - 16 bits per pixel
|
||||
if (color_mode == RLE16) {
|
||||
uint8_t *bytedata = (uint8_t *)images[image].data;
|
||||
if (!bytedata) return;
|
||||
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) // Reset RLE state if a different image
|
||||
if (image != last_image) {
|
||||
rle_state.has_rle_state = false;
|
||||
last_image = image;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Loop through the image data advancing the row and column as needed
|
||||
int16_t srcy = 0, srcx = 0, // Image data line / column index
|
||||
dsty = y, dstx = x; // Destination line / column index
|
||||
|
||||
@@ -30,40 +30,41 @@
|
||||
const tImage NoLogo = { nullptr, 0, 0, NOCOLORS };
|
||||
|
||||
const tImage images[imgCount] = {
|
||||
TERN(SHOW_BOOTSCREEN, BOOTSCREEN_LOGO, NoLogo), // imgBootScreen
|
||||
HotEnd_64x64x4, // imgHotEnd
|
||||
Bed_64x64x4, // imgBed
|
||||
Bed_Heated_64x64x4, // imgBedHeated
|
||||
Chamber_64x64x4, // imgChamber
|
||||
Chamber_Heated_64x64x4, // imgChamberHeated
|
||||
Fan0_64x64x4, // imgFanIdle
|
||||
Fan_Slow0_64x64x4, // imgFanSlow0
|
||||
Fan_Slow1_64x64x4, // imgFanSlow1
|
||||
Fan_Fast0_64x64x4, // imgFanFast0
|
||||
Fan_Fast1_64x64x4, // imgFanFast1
|
||||
Feedrate_32x32x4, // imgFeedRate
|
||||
Flowrate_32x32x4, // imgFlowRate
|
||||
SD_64x64x4, // imgSD
|
||||
Menu_64x64x4, // imgMenu
|
||||
Settings_64x64x4, // imgSettings
|
||||
Directory_32x32x4, // imgDirectory
|
||||
Confirm_64x64x4, // imgConfirm
|
||||
Cancel_64x64x4, // imgCancel
|
||||
Increase_64x64x4, // imgIncrease
|
||||
Decrease_64x64x4, // imgDecrease
|
||||
Back_32x32x4, // imgBack
|
||||
Up_32x32x4, // imgUp
|
||||
Down_32x32x4, // imgDown
|
||||
Left_32x32x4, // imgLeft
|
||||
Right_32x32x4, // imgRight
|
||||
Refresh_32x32x4, // imgRefresh
|
||||
Leveling_32x32x4, // imgLeveling
|
||||
Slider8x16x4, // imgSlider
|
||||
Home_64x64x4, // imgHome
|
||||
BtnRounded_64x52x4, // imgBtn52Rounded
|
||||
BtnRounded_42x39x4, // imgBtn39Rounded
|
||||
Time_Elapsed_32x32x4, // imgTimeElapsed
|
||||
Time_Remaining_32x32x4, // imgTimeRemaining
|
||||
TERN(SHOW_CUSTOM_BOOTSCREEN, CUSTOM_BOOTSCREEN, NoLogo), // imgCustomBoot
|
||||
TERN(SHOW_BOOTSCREEN, BOOTSCREEN_LOGO, NoLogo), // imgBootScreen
|
||||
HotEnd_64x64x4, // imgHotEnd
|
||||
Bed_64x64x4, // imgBed
|
||||
Bed_Heated_64x64x4, // imgBedHeated
|
||||
Chamber_64x64x4, // imgChamber
|
||||
Chamber_Heated_64x64x4, // imgChamberHeated
|
||||
Fan0_64x64x4, // imgFanIdle
|
||||
Fan_Slow0_64x64x4, // imgFanSlow0
|
||||
Fan_Slow1_64x64x4, // imgFanSlow1
|
||||
Fan_Fast0_64x64x4, // imgFanFast0
|
||||
Fan_Fast1_64x64x4, // imgFanFast1
|
||||
Feedrate_32x32x4, // imgFeedRate
|
||||
Flowrate_32x32x4, // imgFlowRate
|
||||
SD_64x64x4, // imgSD
|
||||
Menu_64x64x4, // imgMenu
|
||||
Settings_64x64x4, // imgSettings
|
||||
Directory_32x32x4, // imgDirectory
|
||||
Confirm_64x64x4, // imgConfirm
|
||||
Cancel_64x64x4, // imgCancel
|
||||
Increase_64x64x4, // imgIncrease
|
||||
Decrease_64x64x4, // imgDecrease
|
||||
Back_32x32x4, // imgBack
|
||||
Up_32x32x4, // imgUp
|
||||
Down_32x32x4, // imgDown
|
||||
Left_32x32x4, // imgLeft
|
||||
Right_32x32x4, // imgRight
|
||||
Refresh_32x32x4, // imgRefresh
|
||||
Leveling_32x32x4, // imgLeveling
|
||||
Slider8x16x4, // imgSlider
|
||||
Home_64x64x4, // imgHome
|
||||
BtnRounded_64x52x4, // imgBtn52Rounded
|
||||
BtnRounded_42x39x4, // imgBtn39Rounded
|
||||
Time_Elapsed_32x32x4, // imgTimeElapsed
|
||||
Time_Remaining_32x32x4, // imgTimeRemaining
|
||||
};
|
||||
|
||||
#endif // HAS_GRAPHICAL_TFT
|
||||
|
||||
@@ -25,12 +25,21 @@
|
||||
|
||||
#if ENABLED(COMPACT_MARLIN_BOOT_LOGO)
|
||||
#define MARLIN_LOGO_CHOSEN(W,H) { (void *)marlin_logo_##W##x##H##x16_rle16, W, H, RLE16 }
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
#define _CUSTOM_BOOTSCREEN_CHOSEN(W,H) { (void *)custom_bootscreen_##W##x##H##x16_rle16, W, H, RLE16 }
|
||||
#define CUSTOM_BOOTSCREEN_CHOSEN(W,H) _CUSTOM_BOOTSCREEN_CHOSEN(W,H)
|
||||
#endif
|
||||
#else
|
||||
#define MARLIN_LOGO_CHOSEN(W,H) { (void *)marlin_logo_##W##x##H##x16, W, H, HIGHCOLOR }
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
#define _CUSTOM_BOOTSCREEN_CHOSEN(W,H){ (void *)custom_bootscreen_##W##x##H##x16, W, H, HIGHCOLOR }
|
||||
#define CUSTOM_BOOTSCREEN_CHOSEN(W,H) _CUSTOM_BOOTSCREEN_CHOSEN(W,H)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
enum MarlinImage : uint8_t {
|
||||
imgBootScreen = 0x00, // BOOTSCREEN_LOGO / NoLogo
|
||||
imgCustomBoot = 0x00, // CUSTOM_BOOTSCREEN
|
||||
imgBootScreen, // BOOTSCREEN_LOGO / NoLogo
|
||||
imgHotEnd, // HotEnd_64x64x4
|
||||
imgBed, // Bed_64x64x4
|
||||
imgBedHeated, // Bed_Heated_64x64x4
|
||||
|
||||
@@ -64,6 +64,20 @@ void MarlinUI::tft_idle() {
|
||||
#if ENABLED(SHOW_BOOTSCREEN)
|
||||
|
||||
void MarlinUI::show_bootscreen() {
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
tft.queue.reset();
|
||||
tft.canvas(CUSTOM_BOOTSCREEN_X, CUSTOM_BOOTSCREEN_Y, CUSTOM_BOOTSCREEN_WIDTH, CUSTOM_BOOTSCREEN_HEIGHT);
|
||||
tft.set_background(COLOR_BACKGROUND);
|
||||
tft.add_image(0, 0, imgCustomBoot);
|
||||
tft.queue.sync();
|
||||
#ifndef CUSTOM_BOOTSCREEN_TIMEOUT
|
||||
#define CUSTOM_BOOTSCREEN_TIMEOUT 2500
|
||||
#endif
|
||||
#if CUSTOM_BOOTSCREEN_TIMEOUT
|
||||
safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
tft.queue.reset();
|
||||
|
||||
tft.canvas(0, 0, TFT_WIDTH, TFT_HEIGHT);
|
||||
|
||||
@@ -30,14 +30,37 @@
|
||||
#include "tft.h"
|
||||
#include "tft_image.h"
|
||||
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
|
||||
#include "../../../_Bootscreen.h"
|
||||
|
||||
#ifndef CUSTOM_BOOTSCREEN
|
||||
#define CUSTOM_BOOTSCREEN CustomBootscreen
|
||||
#endif
|
||||
#ifndef CUSTOM_BOOTSCREEN_WIDTH
|
||||
#define CUSTOM_BOOTSCREEN_WIDTH TFT_WIDTH
|
||||
#endif
|
||||
#ifndef CUSTOM_BOOTSCREEN_HEIGHT
|
||||
#define CUSTOM_BOOTSCREEN_HEIGHT TFT_HEIGHT
|
||||
#endif
|
||||
|
||||
#ifndef CUSTOM_BOOTSCREEN_X
|
||||
#define CUSTOM_BOOTSCREEN_X ((TFT_WIDTH - (CUSTOM_BOOTSCREEN_WIDTH)) / 2)
|
||||
#endif
|
||||
#ifndef CUSTOM_BOOTSCREEN_Y
|
||||
#define CUSTOM_BOOTSCREEN_Y ((TFT_HEIGHT - (CUSTOM_BOOTSCREEN_HEIGHT)) / 2)
|
||||
#endif
|
||||
|
||||
const tImage CustomBootscreen = CUSTOM_BOOTSCREEN_CHOSEN(CUSTOM_BOOTSCREEN_WIDTH, CUSTOM_BOOTSCREEN_HEIGHT);
|
||||
|
||||
#endif // SHOW_CUSTOM_BOOTSCREEN
|
||||
|
||||
#if ENABLED(TOUCH_SCREEN)
|
||||
#include "touch.h"
|
||||
extern bool draw_menu_navigation;
|
||||
#else
|
||||
// add_control() function is used to display encoder-controlled elements
|
||||
enum TouchControlType : uint16_t {
|
||||
NONE = 0x0000,
|
||||
};
|
||||
enum TouchControlType : uint16_t { NONE = 0x0000 };
|
||||
#endif
|
||||
|
||||
#define UI_INCL_(W, H) STRINGIFY_(ui_##W##x##H.h)
|
||||
|
||||
@@ -2207,7 +2207,7 @@ void prepare_line_to_destination() {
|
||||
thermalManager.wait_for_hotend_heating(active_extruder);
|
||||
#endif
|
||||
|
||||
TERN_(HAS_QUIET_PROBING, if (final_approach) probe.set_probing_paused(true));
|
||||
TERN_(HAS_QUIET_PROBING, if (final_approach) probe.set_devices_paused_for_probing(true));
|
||||
}
|
||||
|
||||
// Disable stealthChop if used. Enable diag1 pin on driver.
|
||||
@@ -2246,7 +2246,7 @@ void prepare_line_to_destination() {
|
||||
if (is_home_dir) {
|
||||
|
||||
#if HOMING_Z_WITH_PROBE && HAS_QUIET_PROBING
|
||||
if (axis == Z_AXIS && final_approach) probe.set_probing_paused(false);
|
||||
if (axis == Z_AXIS && final_approach) probe.set_devices_paused_for_probing(false);
|
||||
#endif
|
||||
|
||||
endstops.validate_homing_move();
|
||||
|
||||
@@ -347,12 +347,16 @@ xyz_pos_t Probe::offset; // Initialized by settings.load
|
||||
#define DELAY_BEFORE_PROBING 25
|
||||
#endif
|
||||
|
||||
void Probe::set_probing_paused(const bool dopause) {
|
||||
/**
|
||||
* Optionally turn off noisy components so we get a cleaner probe signal.
|
||||
* Pause for at least 25ms when preparing to probe (dopause == true).
|
||||
*/
|
||||
void Probe::set_devices_paused_for_probing(const bool dopause) {
|
||||
TERN_(PROBING_HEATERS_OFF, thermalManager.pause_heaters(dopause));
|
||||
TERN_(PROBING_FANS_OFF, thermalManager.set_fans_paused(dopause));
|
||||
TERN_(PROBING_ESTEPPERS_OFF, if (dopause) stepper.disable_e_steppers());
|
||||
#if ENABLED(PROBING_STEPPERS_OFF) && DISABLED(DELTA)
|
||||
static uint8_t old_trusted;
|
||||
#if ENABLED(PROBING_STEPPERS_OFF)
|
||||
static main_axes_bits_t old_trusted;
|
||||
if (dopause) {
|
||||
old_trusted = axes_trusted;
|
||||
stepper.disable_axis(X_AXIS);
|
||||
@@ -660,7 +664,7 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
|
||||
endstops.enable(true);
|
||||
#endif // SENSORLESS_PROBING
|
||||
|
||||
TERN_(HAS_QUIET_PROBING, set_probing_paused(true));
|
||||
TERN_(HAS_QUIET_PROBING, set_devices_paused_for_probing(true));
|
||||
|
||||
// Move down until the probe is triggered
|
||||
do_blocking_move_to_z(z, fr_mm_s);
|
||||
@@ -668,7 +672,7 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
|
||||
// Check to see if the probe was triggered
|
||||
const bool probe_triggered = (
|
||||
#if HAS_DELTA_SENSORLESS_PROBING
|
||||
endstops.trigger_state() & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX))
|
||||
PROBE_TRIGGERED()
|
||||
#else
|
||||
TEST(endstops.trigger_state(), Z_MIN_PROBE)
|
||||
#endif
|
||||
@@ -679,7 +683,7 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
|
||||
if (probe_triggered) refresh_largest_sensorless_adj();
|
||||
#endif
|
||||
|
||||
TERN_(HAS_QUIET_PROBING, set_probing_paused(false));
|
||||
TERN_(HAS_QUIET_PROBING, set_devices_paused_for_probing(false));
|
||||
|
||||
// Re-enable stealthChop if used. Disable diag1 pin on driver.
|
||||
#if ENABLED(SENSORLESS_PROBING)
|
||||
|
||||
+21
-13
@@ -33,6 +33,10 @@
|
||||
#include "../feature/bltouch.h"
|
||||
#endif
|
||||
|
||||
#if ANY(BD_SENSOR, HAS_DELTA_SENSORLESS_PROBING)
|
||||
#include "endstops.h"
|
||||
#endif
|
||||
|
||||
#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
#include "../core/debug_out.h"
|
||||
|
||||
@@ -45,20 +49,24 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
#if ENABLED(BD_SENSOR)
|
||||
#include "endstops.h"
|
||||
#define PROBE_READ() endstops.bdp_state
|
||||
#elif USE_Z_MIN_PROBE
|
||||
#define PROBE_READ() READ(Z_MIN_PROBE_PIN)
|
||||
#if HAS_DELTA_SENSORLESS_PROBING
|
||||
#define PROBE_READ() (endstops.trigger_state() & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)))
|
||||
#define PROBE_TRIGGERED() (PROBE_READ() != 0)
|
||||
#else
|
||||
#define PROBE_READ() READ(Z_MIN_PIN)
|
||||
#if ENABLED(BD_SENSOR)
|
||||
#define PROBE_READ() endstops.bdp_state
|
||||
#elif USE_Z_MIN_PROBE
|
||||
#define PROBE_READ() READ(Z_MIN_PROBE_PIN)
|
||||
#else
|
||||
#define PROBE_READ() READ(Z_MIN_PIN)
|
||||
#endif
|
||||
#if USE_Z_MIN_PROBE
|
||||
#define PROBE_HIT_STATE Z_MIN_PROBE_ENDSTOP_HIT_STATE
|
||||
#else
|
||||
#define PROBE_HIT_STATE Z_MIN_ENDSTOP_HIT_STATE
|
||||
#endif
|
||||
#define PROBE_TRIGGERED() (PROBE_READ() == PROBE_HIT_STATE)
|
||||
#endif
|
||||
#if USE_Z_MIN_PROBE
|
||||
#define PROBE_HIT_STATE Z_MIN_PROBE_ENDSTOP_HIT_STATE
|
||||
#else
|
||||
#define PROBE_HIT_STATE Z_MIN_ENDSTOP_HIT_STATE
|
||||
#endif
|
||||
#define PROBE_TRIGGERED() (PROBE_READ() == PROBE_HIT_STATE)
|
||||
|
||||
// In BLTOUCH HS mode, the probe travels in a deployed state.
|
||||
#define Z_TWEEN_SAFE_CLEARANCE SUM_TERN(BLTOUCH, Z_CLEARANCE_BETWEEN_PROBES, bltouch.z_extra_clearance())
|
||||
@@ -347,7 +355,7 @@ public:
|
||||
#endif
|
||||
|
||||
#if HAS_QUIET_PROBING
|
||||
static void set_probing_paused(const bool p);
|
||||
static void set_devices_paused_for_probing(const bool p);
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBE_TARE)
|
||||
|
||||
@@ -101,6 +101,8 @@ def main():
|
||||
|
||||
if branch.startswith("bugfix-2."):
|
||||
branch = branch
|
||||
elif branch.endswith("bugfix-2.1.x"):
|
||||
branch = "bugfix-2.1.x"
|
||||
elif branch.endswith("-2.1.x") or branch == "2.1.x":
|
||||
branch = "latest-2.1.x"
|
||||
elif branch.endswith("-2.0.x") or branch == "2.0.x":
|
||||
|
||||
Reference in New Issue
Block a user