mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-03-13 09:49:56 +00:00
🧑💻 Dump BOTH and EITHER macros (#25908)
This commit is contained in:
parent
32be4065ef
commit
2691167afe
305 changed files with 946 additions and 952 deletions
Marlin
Configuration.hConfiguration_adv.hMarlinCore.cpp
src
HAL
AVR
DUE
ESP32
LINUX
LPC1768
NATIVE_SIM
SAMD21
SAMD51
STM32
STM32F1
shared
core
feature
babystep.cppbabystep.hbacklash.cpp
bedlevel
cancel_object.cppcooler.cpphost_actions.cppleds
mixing.cppmixing.hmmu
pause.cpppause.hpower.cpppower.hpowerloss.cppsolenoid.cppgcode
inc
lcd
|
@ -266,7 +266,7 @@
|
|||
*/
|
||||
//#define MAGNETIC_PARKING_EXTRUDER
|
||||
|
||||
#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
|
||||
#if ANY(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
|
||||
|
||||
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
|
||||
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // (mm) Distance to move beyond the parking point to grab the extruder
|
||||
|
@ -419,7 +419,7 @@
|
|||
#define POWER_TIMEOUT 30 // (s) Turn off power if the machine is idle for this duration
|
||||
//#define POWER_OFF_DELAY 60 // (s) Delay of poweroff after M81 command. Useful to let fans run for extra time.
|
||||
#endif
|
||||
#if EITHER(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
//#define AUTO_POWER_E_TEMP 50 // (°C) PSU on if any extruder is over this temperature
|
||||
//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) PSU on if the chamber is over this temperature
|
||||
//#define AUTO_POWER_COOLER_TEMP 26 // (°C) PSU on if the cooler is over this temperature
|
||||
|
@ -921,7 +921,7 @@
|
|||
#define DELTA_CALIBRATION_DEFAULT_POINTS 4
|
||||
#endif
|
||||
|
||||
#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
|
||||
#if ANY(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
|
||||
// Step size for paper-test probing
|
||||
#define PROBE_MANUALLY_STEP 0.05 // (mm)
|
||||
#endif
|
||||
|
@ -965,7 +965,7 @@
|
|||
*/
|
||||
//#define MORGAN_SCARA
|
||||
//#define MP_SCARA
|
||||
#if EITHER(MORGAN_SCARA, MP_SCARA)
|
||||
#if ANY(MORGAN_SCARA, MP_SCARA)
|
||||
// If movement is choppy try lowering this value
|
||||
#define DEFAULT_SEGMENTS_PER_SECOND 200
|
||||
|
||||
|
@ -1809,7 +1809,7 @@
|
|||
#define MAX_SOFTWARE_ENDSTOP_W
|
||||
#endif
|
||||
|
||||
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
#if ANY(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
//#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
|
||||
#endif
|
||||
|
||||
|
@ -2046,7 +2046,7 @@
|
|||
|
||||
#endif
|
||||
|
||||
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
|
||||
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
|
||||
|
||||
// Set the number of grid points per dimension.
|
||||
#define GRID_MAX_POINTS_X 3
|
||||
|
@ -3340,7 +3340,7 @@
|
|||
//#define TOUCH_OFFSET_Y 257
|
||||
//#define TOUCH_ORIENTATION TOUCH_LANDSCAPE
|
||||
|
||||
#if BOTH(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
|
||||
#if ALL(TOUCH_SCREEN_CALIBRATION, EEPROM_SETTINGS)
|
||||
#define TOUCH_CALIBRATION_AUTO_SAVE // Auto save successful calibration values to EEPROM
|
||||
#endif
|
||||
|
||||
|
@ -3437,7 +3437,7 @@
|
|||
//#define RGB_LED
|
||||
//#define RGBW_LED
|
||||
|
||||
#if EITHER(RGB_LED, RGBW_LED)
|
||||
#if ANY(RGB_LED, RGBW_LED)
|
||||
//#define RGB_LED_R_PIN 34
|
||||
//#define RGB_LED_G_PIN 43
|
||||
//#define RGB_LED_B_PIN 35
|
||||
|
|
|
@ -310,7 +310,7 @@
|
|||
//#define ADAPTIVE_FAN_SLOWING // Slow down the part-cooling fan if the temperature drops
|
||||
#if ENABLED(ADAPTIVE_FAN_SLOWING)
|
||||
//#define REPORT_ADAPTIVE_FAN_SLOWING // Report fan slowing activity to the console
|
||||
#if EITHER(MPCTEMP, PIDTEMP)
|
||||
#if ANY(MPCTEMP, PIDTEMP)
|
||||
//#define TEMP_TUNING_MAINTAIN_FAN // Don't slow down the fan speed during M303 or M306 T
|
||||
#endif
|
||||
#endif
|
||||
|
@ -759,10 +759,10 @@
|
|||
#if ENABLED(NEOPIXEL_LED)
|
||||
//#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light
|
||||
#endif
|
||||
#if EITHER(RGB_LED, RGBW_LED)
|
||||
#if ANY(RGB_LED, RGBW_LED)
|
||||
//#define CASE_LIGHT_USE_RGB_LED // Use RGB / RGBW LED as case light
|
||||
#endif
|
||||
#if EITHER(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED)
|
||||
#if ANY(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED)
|
||||
#define CASE_LIGHT_DEFAULT_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1175,7 +1175,7 @@
|
|||
*/
|
||||
//#define INPUT_SHAPING_X
|
||||
//#define INPUT_SHAPING_Y
|
||||
#if EITHER(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#if ANY(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#if ENABLED(INPUT_SHAPING_X)
|
||||
#define SHAPING_FREQ_X 40 // (Hz) The default dominant resonant frequency on the X axis.
|
||||
#define SHAPING_ZETA_X 0.15f // Damping ratio of the X axis (range: 0.0 = no damping to 1.0 = critical damping).
|
||||
|
@ -1417,7 +1417,7 @@
|
|||
*/
|
||||
//#define DIGIPOT_MCP4018 // Requires https://github.com/felias-fogg/SlowSoftI2CMaster
|
||||
//#define DIGIPOT_MCP4451
|
||||
#if EITHER(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#if ANY(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT:4 AZTEEG_X3_PRO:8 MKS_SBASE:5 MIGHTYBOARD_REVE:5
|
||||
|
||||
// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS.
|
||||
|
@ -1474,7 +1474,7 @@
|
|||
//
|
||||
//#define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
|
||||
|
||||
#if HAS_BED_PROBE && EITHER(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
|
||||
#if HAS_BED_PROBE && ANY(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
|
||||
//#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu
|
||||
#if ENABLED(PROBE_OFFSET_WIZARD)
|
||||
/**
|
||||
|
@ -1544,13 +1544,13 @@
|
|||
#define SHOW_BOOTSCREEN // Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
|
||||
#if ENABLED(SHOW_BOOTSCREEN)
|
||||
#define BOOTSCREEN_TIMEOUT 3000 // (ms) Total Duration to display the boot screen(s)
|
||||
#if EITHER(HAS_MARLINUI_U8GLIB, TFT_COLOR_UI)
|
||||
#if ANY(HAS_MARLINUI_U8GLIB, TFT_COLOR_UI)
|
||||
#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving lots of flash)
|
||||
#endif
|
||||
#if HAS_MARLINUI_U8GLIB
|
||||
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of flash.
|
||||
#endif
|
||||
#if EITHER(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE)
|
||||
#if ANY(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE)
|
||||
//#define SHOW_CUSTOM_BOOTSCREEN // Show the bitmap in Marlin/_Bootscreen.h on startup.
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1615,13 +1615,13 @@
|
|||
#define SET_REMAINING_TIME // Add 'R' parameter to set remaining time
|
||||
//#define SET_INTERACTION_TIME // Add 'C' parameter to set time until next filament change or other user interaction
|
||||
//#define M73_REPORT // Report M73 values to host
|
||||
#if BOTH(M73_REPORT, HAS_MEDIA)
|
||||
#if ALL(M73_REPORT, HAS_MEDIA)
|
||||
#define M73_REPORT_SD_ONLY // Report only when printing from SD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// LCD Print Progress options. Multiple times may be displayed in turn.
|
||||
#if HAS_DISPLAY && EITHER(HAS_MEDIA, SET_PROGRESS_MANUALLY)
|
||||
#if HAS_DISPLAY && ANY(HAS_MEDIA, SET_PROGRESS_MANUALLY)
|
||||
#define SHOW_PROGRESS_PERCENT // Show print progress percentage (doesn't affect progress bar)
|
||||
#define SHOW_ELAPSED_TIME // Display elapsed printing time (prefix 'E')
|
||||
//#define SHOW_REMAINING_TIME // Display estimated time to completion (prefix 'R')
|
||||
|
@ -1630,7 +1630,7 @@
|
|||
#endif
|
||||
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show/report progress with decimal digits, not all UIs support this
|
||||
|
||||
#if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
|
||||
#if ANY(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
|
||||
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
|
||||
#if ENABLED(LCD_PROGRESS_BAR)
|
||||
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
|
||||
|
@ -2302,7 +2302,7 @@
|
|||
//#define PROBING_MARGIN_BACK PROBING_MARGIN
|
||||
#endif
|
||||
|
||||
#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
// Override the mesh area if the automatic (max) area is too large
|
||||
//#define MESH_MIN_X MESH_INSET
|
||||
//#define MESH_MIN_Y MESH_INSET
|
||||
|
@ -2310,7 +2310,7 @@
|
|||
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||
#endif
|
||||
|
||||
#if BOTH(AUTO_BED_LEVELING_UBL, EEPROM_SETTINGS)
|
||||
#if ALL(AUTO_BED_LEVELING_UBL, EEPROM_SETTINGS)
|
||||
//#define OPTIMIZED_MESH_STORAGE // Store mesh with less precision to save EEPROM space
|
||||
#endif
|
||||
|
||||
|
@ -2380,7 +2380,7 @@
|
|||
#endif
|
||||
|
||||
// G76 options
|
||||
#if BOTH(PTC_PROBE, PTC_BED)
|
||||
#if ALL(PTC_PROBE, PTC_BED)
|
||||
// Park position to wait for probe cooldown
|
||||
#define PTC_PARK_POS { 0, 0, 100 }
|
||||
|
||||
|
@ -2422,7 +2422,7 @@
|
|||
// G5 Bézier Curve Support with XYZE destination and IJPQ offsets
|
||||
//#define BEZIER_CURVE_SUPPORT // Requires ~2666 bytes
|
||||
|
||||
#if EITHER(ARC_SUPPORT, BEZIER_CURVE_SUPPORT)
|
||||
#if ANY(ARC_SUPPORT, BEZIER_CURVE_SUPPORT)
|
||||
//#define CNC_WORKSPACE_PLANES // Allow G2/G3/G5 to operate in XY, ZX, or YZ planes
|
||||
#endif
|
||||
|
||||
|
@ -2508,7 +2508,7 @@
|
|||
|
||||
// The number of linear moves that can be in the planner at once.
|
||||
// The value of BLOCK_BUFFER_SIZE must be a power of 2 (e.g., 8, 16, 32)
|
||||
#if BOTH(HAS_MEDIA, DIRECT_STEPPING)
|
||||
#if ALL(HAS_MEDIA, DIRECT_STEPPING)
|
||||
#define BLOCK_BUFFER_SIZE 8
|
||||
#elif HAS_MEDIA
|
||||
#define BLOCK_BUFFER_SIZE 16
|
||||
|
@ -3290,7 +3290,7 @@
|
|||
*/
|
||||
//#define SENSORLESS_HOMING // StallGuard capable drivers only
|
||||
|
||||
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
#if ANY(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
// TMC2209: 0...255. TMC2130: -64...63
|
||||
#define X_STALL_SENSITIVITY 8
|
||||
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
|
||||
|
@ -3453,7 +3453,7 @@
|
|||
*/
|
||||
//#define SPINDLE_FEATURE
|
||||
//#define LASER_FEATURE
|
||||
#if EITHER(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#if ANY(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#define SPINDLE_LASER_ACTIVE_STATE LOW // Set to "HIGH" if SPINDLE_LASER_ENA_PIN is active HIGH
|
||||
|
||||
#define SPINDLE_LASER_USE_PWM // Enable if your controller supports setting the speed/power
|
||||
|
@ -4205,7 +4205,7 @@
|
|||
//#define WIFISUPPORT // Marlin embedded WiFi management
|
||||
//#define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
|
||||
|
||||
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
|
||||
#if ANY(WIFISUPPORT, ESP3D_WIFISUPPORT)
|
||||
//#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
|
||||
//#define OTASUPPORT // Support over-the-air firmware updates
|
||||
//#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
|
||||
|
|
|
@ -280,7 +280,7 @@
|
|||
static constexpr bool DROPPED_RX = false;
|
||||
static constexpr bool RX_FRAMING_ERRORS = false;
|
||||
static constexpr bool MAX_RX_QUEUED = false;
|
||||
static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
|
||||
static constexpr bool RX_OVERRUNS = ALL(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
|
||||
};
|
||||
|
||||
typedef Serial1Class< MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> > > MSerialLCD;
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
|
||||
#if ANY(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
|
||||
|
||||
/**
|
||||
* PersistentStore for Arduino-style EEPROM interface
|
||||
|
|
|
@ -95,11 +95,11 @@
|
|||
/**
|
||||
* The Trinamic library includes SoftwareSerial.h, leading to a compile error.
|
||||
*/
|
||||
#if BOTH(HAS_TRINAMIC_CONFIG, ENDSTOP_INTERRUPTS_FEATURE)
|
||||
#if ALL(HAS_TRINAMIC_CONFIG, ENDSTOP_INTERRUPTS_FEATURE)
|
||||
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_TMC_SW_SERIAL, MONITOR_DRIVER_STATUS)
|
||||
#if ALL(HAS_TMC_SW_SERIAL, MONITOR_DRIVER_STATUS)
|
||||
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
|
||||
#endif
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
// Public functions
|
||||
// ------------------------
|
||||
|
||||
#if EITHER(DUE_SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
#if ANY(DUE_SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
|
||||
// ------------------------
|
||||
// Software SPI
|
||||
|
|
|
@ -23,6 +23,6 @@
|
|||
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define FLASH_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
|
|
@ -165,7 +165,7 @@ void MarlinHAL::init_board() {
|
|||
}
|
||||
|
||||
void MarlinHAL::idletask() {
|
||||
#if BOTH(WIFISUPPORT, OTASUPPORT)
|
||||
#if ALL(WIFISUPPORT, OTASUPPORT)
|
||||
OTA_handle();
|
||||
#endif
|
||||
TERN_(ESP3D_WIFISUPPORT, esp3dlib.idletask());
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#error "TMC220x Software Serial is not supported on ESP32."
|
||||
#endif
|
||||
|
||||
#if BOTH(WIFISUPPORT, ESP3D_WIFISUPPORT)
|
||||
#if ALL(WIFISUPPORT, ESP3D_WIFISUPPORT)
|
||||
#error "Only enable one WiFi option, either WIFISUPPORT or ESP3D_WIFISUPPORT."
|
||||
#endif
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
|||
#error "FAST_PWM_FAN is not available on TinyBee."
|
||||
#endif
|
||||
|
||||
#if BOTH(I2S_STEPPER_STREAM, BABYSTEPPING) && DISABLED(INTEGRATED_BABYSTEPPING)
|
||||
#if ALL(I2S_STEPPER_STREAM, BABYSTEPPING) && DISABLED(INTEGRATED_BABYSTEPPING)
|
||||
#error "BABYSTEPPING on I2S stream requires INTEGRATED_BABYSTEPPING."
|
||||
#endif
|
||||
|
||||
|
@ -60,10 +60,10 @@
|
|||
#error "PULLDOWN pin mode is not available on ESP32 boards."
|
||||
#endif
|
||||
|
||||
#if BOTH(I2S_STEPPER_STREAM, LIN_ADVANCE) && DISABLED(EXPERIMENTAL_I2S_LA)
|
||||
#if ALL(I2S_STEPPER_STREAM, LIN_ADVANCE) && DISABLED(EXPERIMENTAL_I2S_LA)
|
||||
#error "I2S stream is currently incompatible with LIN_ADVANCE."
|
||||
#endif
|
||||
|
||||
#if BOTH(I2S_STEPPER_STREAM, PRINTCOUNTER) && PRINTCOUNTER_SAVE_INTERVAL > 0 && DISABLED(PRINTCOUNTER_SYNC)
|
||||
#if ALL(I2S_STEPPER_STREAM, PRINTCOUNTER) && PRINTCOUNTER_SAVE_INTERVAL > 0 && DISABLED(PRINTCOUNTER_SYNC)
|
||||
#error "PRINTCOUNTER_SAVE_INTERVAL may cause issues on ESP32 with an I2S expander. Define PRINTCOUNTER_SYNC in Configuration.h for an imperfect solution."
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(WIFISUPPORT, OTASUPPORT)
|
||||
#if ALL(WIFISUPPORT, OTASUPPORT)
|
||||
|
||||
#include <WiFi.h>
|
||||
#include <ESPmDNS.h>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(WIFISUPPORT, WEBSUPPORT)
|
||||
#if ALL(WIFISUPPORT, WEBSUPPORT)
|
||||
|
||||
#include "../../core/serial.h"
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
|
||||
#if ANY(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
|
||||
|
||||
#include <U8glib-HAL.h>
|
||||
#include "../shared/HAL_SPI.h"
|
||||
|
@ -101,6 +101,6 @@ uint8_t u8g_eps_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_pt
|
|||
return 1;
|
||||
}
|
||||
|
||||
#endif // EITHER(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
|
||||
#endif // MKS_MINI_12864 || FYSETC_MINI_12864_2_1
|
||||
|
||||
#endif // ARDUINO_ARCH_ESP32
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(WIFISUPPORT, WEBSUPPORT)
|
||||
#if ALL(WIFISUPPORT, WEBSUPPORT)
|
||||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "../../core/macros.h"
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(HAS_MARLINUI_U8GLIB, HAS_MEDIA) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#if ALL(HAS_MARLINUI_U8GLIB, HAS_MEDIA) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#define SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
|
||||
// needed due to the speed and mode required for communicating with each device being different.
|
||||
// This requirement can be removed if the SPI access to these devices is updated to use
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define FLASH_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "../../core/macros.h"
|
||||
|
||||
#if BOTH(HAS_MEDIA, HAS_MARLINUI_U8GLIB) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#if ALL(HAS_MEDIA, HAS_MARLINUI_U8GLIB) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#define SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
|
||||
// needed due to the speed and mode required for communicating with each device being different.
|
||||
// This requirement can be removed if the SPI access to these devices is updated to use
|
||||
|
|
|
@ -132,7 +132,7 @@ uint8_t swSpiTransfer_mode_3(uint8_t b, const uint8_t spi_speed, const pin_t sck
|
|||
static uint8_t SPI_speed = 0;
|
||||
|
||||
static void u8g_sw_spi_HAL_LPC1768_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) {
|
||||
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864)
|
||||
#if ANY(FYSETC_MINI_12864, MKS_MINI_12864)
|
||||
swSpiTransfer_mode_3(val, SPI_speed, clockPin, -1, dataPin);
|
||||
#else
|
||||
swSpiTransfer_mode_0(val, SPI_speed, clockPin, -1, dataPin);
|
||||
|
@ -160,7 +160,7 @@ uint8_t u8g_com_HAL_LPC1768_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val,
|
|||
break;
|
||||
|
||||
case U8G_COM_MSG_CHIP_SELECT:
|
||||
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
|
||||
#if ANY(FYSETC_MINI_12864, MKS_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
|
||||
if (arg_val) { // SCK idle state needs to be set to the proper idle state before
|
||||
// the next chip select goes active
|
||||
u8g_SetPILevel(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "../../core/macros.h"
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(HAS_MARLINUI_U8GLIB, HAS_MEDIA) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#if ALL(HAS_MARLINUI_U8GLIB, HAS_MEDIA) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_EN == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
|
||||
#define SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
|
||||
// needed due to the speed and mode required for communicating with each device being different.
|
||||
// This requirement can be removed if the SPI access to these devices is updated to use
|
||||
|
|
|
@ -131,7 +131,7 @@ static uint8_t swSpiInit(const uint8_t spi_speed, const uint8_t clk_pin, const u
|
|||
}
|
||||
|
||||
static void u8g_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) {
|
||||
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864)
|
||||
#if ANY(FYSETC_MINI_12864, MKS_MINI_12864)
|
||||
swSpiTransfer_mode_3(val, SPI_speed, clockPin, -1, dataPin);
|
||||
#else
|
||||
swSpiTransfer_mode_0(val, SPI_speed, clockPin, -1, dataPin);
|
||||
|
@ -159,7 +159,7 @@ uint8_t u8g_com_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_pt
|
|||
break;
|
||||
|
||||
case U8G_COM_MSG_CHIP_SELECT:
|
||||
#if EITHER(FYSETC_MINI_12864, MKS_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
|
||||
#if ANY(FYSETC_MINI_12864, MKS_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0
|
||||
if (arg_val) { // SCK idle state needs to be set to the proper idle state before
|
||||
// the next chip select goes active
|
||||
u8g_SetPILevel(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
// Public functions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
#if EITHER(SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
#if ANY(SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
|
||||
// ------------------------
|
||||
// Software SPI
|
||||
|
|
|
@ -28,6 +28,6 @@
|
|||
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define FLASH_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
// Public functions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
#if EITHER(SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
#if ANY(SOFTWARE_SPI, FORCE_SOFT_SPI)
|
||||
|
||||
// ------------------------
|
||||
// Software SPI
|
||||
|
|
|
@ -23,6 +23,6 @@
|
|||
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define FLASH_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#if BOTH(HAS_MEDIA, USBD_USE_CDC_MSC) && DISABLED(NO_SD_HOST_DRIVE)
|
||||
#if ALL(HAS_MEDIA, USBD_USE_CDC_MSC) && DISABLED(NO_SD_HOST_DRIVE)
|
||||
#define HAS_SD_HOST_DRIVE 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
// If no real or emulated EEPROM selected, fall back to SD emulation
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define SDCARD_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -292,9 +292,9 @@ static constexpr int get_timer_num_from_base_address(uintptr_t base_address) {
|
|||
// constexpr doesn't like using the base address pointers that timers evaluate to.
|
||||
// We can get away with casting them to uintptr_t, if we do so inside an array.
|
||||
// GCC will not currently do it directly to a uintptr_t.
|
||||
IF_ENABLED(HAS_TMC_SW_SERIAL, static constexpr uintptr_t timer_serial[] = {uintptr_t(TIMER_SERIAL)});
|
||||
IF_ENABLED(SPEAKER, static constexpr uintptr_t timer_tone[] = {uintptr_t(TIMER_TONE)});
|
||||
IF_ENABLED(HAS_SERVOS, static constexpr uintptr_t timer_servo[] = {uintptr_t(TIMER_SERVO)});
|
||||
TERN_(HAS_TMC_SW_SERIAL, static constexpr uintptr_t timer_serial[] = {uintptr_t(TIMER_SERIAL)});
|
||||
TERN_(SPEAKER, static constexpr uintptr_t timer_tone[] = {uintptr_t(TIMER_TONE)});
|
||||
TERN_(HAS_SERVOS, static constexpr uintptr_t timer_servo[] = {uintptr_t(TIMER_SERVO)});
|
||||
|
||||
enum TimerPurpose { TP_SERIAL, TP_TONE, TP_SERVO, TP_STEP, TP_TEMP };
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if BOTH(USE_OTG_USB_HOST, USBHOST)
|
||||
#if ALL(USE_OTG_USB_HOST, USBHOST)
|
||||
|
||||
#include "usb_host.h"
|
||||
#include "../shared/Marduino.h"
|
||||
|
|
|
@ -224,7 +224,7 @@ void MarlinHAL::init() {
|
|||
#endif
|
||||
#if HAS_SD_HOST_DRIVE
|
||||
MSC_SD_init();
|
||||
#elif BOTH(SERIAL_USB, EMERGENCY_PARSER)
|
||||
#elif ALL(SERIAL_USB, EMERGENCY_PARSER)
|
||||
usb_cdcacm_set_hooks(USB_CDCACM_HOOK_RX, my_rx_callback);
|
||||
#endif
|
||||
#if PIN_EXISTS(USB_CONNECT)
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
#define _MSERIAL(X) MSerial##X
|
||||
#define MSERIAL(X) _MSERIAL(X)
|
||||
|
||||
#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#if ANY(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#define NUM_UARTS 5
|
||||
#else
|
||||
#define NUM_UARTS 3
|
||||
|
|
|
@ -116,7 +116,7 @@ constexpr bool serial_handles_emergency(int port) {
|
|||
#endif
|
||||
DEFINE_HWSERIAL_MARLIN(MSerial2, 2);
|
||||
DEFINE_HWSERIAL_MARLIN(MSerial3, 3);
|
||||
#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#if ANY(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
DEFINE_HWSERIAL_UART_MARLIN(MSerial4, 4);
|
||||
DEFINE_HWSERIAL_UART_MARLIN(MSerial5, 5);
|
||||
#endif
|
||||
|
|
|
@ -52,7 +52,7 @@ typedef Serial1Class<MarlinSerial> MSerialT;
|
|||
extern MSerialT MSerial1;
|
||||
extern MSerialT MSerial2;
|
||||
extern MSerialT MSerial3;
|
||||
#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#if ANY(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
extern MSerialT MSerial4;
|
||||
extern MSerialT MSerial5;
|
||||
#endif
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include "../../../inc/MarlinConfig.h"
|
||||
|
||||
#if BOTH(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
|
||||
#if ALL(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
|
||||
|
||||
#include <U8glib-HAL.h>
|
||||
#include "../../shared/HAL_SPI.h"
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
// If no real EEPROM, Flash emulation, or SRAM emulation is available fall back to SD emulation
|
||||
#if USE_FALLBACK_EEPROM
|
||||
#define SDCARD_EEPROM_EMULATION
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_SHARED_EEPROM 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ void pwm_details(const pin_t pin) {
|
|||
timer_dev * const tdev = PIN_MAP[pin].timer_device;
|
||||
const uint8_t channel = PIN_MAP[pin].timer_channel;
|
||||
const char num = (
|
||||
#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#if ANY(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
tdev == &timer8 ? '8' :
|
||||
tdev == &timer5 ? '5' :
|
||||
#endif
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h" // Allow pins/pins.h to set density
|
||||
|
||||
#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
#if ANY(STM32_HIGH_DENSITY, STM32_XL_DENSITY)
|
||||
|
||||
#include "sdio.h"
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* (bypassing U8G), it will allow the LIGHTWEIGHT_UI to operate.
|
||||
*/
|
||||
|
||||
#if BOTH(HAS_MARLINUI_U8GLIB, LIGHTWEIGHT_UI)
|
||||
#if ALL(HAS_MARLINUI_U8GLIB, LIGHTWEIGHT_UI)
|
||||
void ST7920_cs();
|
||||
void ST7920_ncs();
|
||||
void ST7920_set_cmd();
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
|
||||
#if ANY(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
|
||||
|
||||
#include "eeprom_api.h"
|
||||
PersistentStore persistentStore;
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
#include "feature/runout.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(PROBE_TARE, HAS_Z_SERVO_PROBE)
|
||||
#if ANY(PROBE_TARE, HAS_Z_SERVO_PROBE)
|
||||
#include "module/probe.h"
|
||||
#endif
|
||||
|
||||
|
@ -726,7 +726,7 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
|
|||
#endif
|
||||
}
|
||||
|
||||
#if BOTH(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
#if ALL(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
#include "feature/babystep.h"
|
||||
#endif
|
||||
|
||||
|
@ -853,7 +853,7 @@ void idle(const bool no_stepper_sleep/*=false*/) {
|
|||
TERN_(POLL_JOG, joystick.inject_jog_moves());
|
||||
|
||||
// Async Babystepping via the Emergency Parser
|
||||
#if BOTH(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
#if ALL(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
babystep.do_ep_steps();
|
||||
#endif
|
||||
|
||||
|
@ -924,7 +924,7 @@ void minkill(const bool steppers_off/*=false*/) {
|
|||
|
||||
TERN_(HAS_SUICIDE, suicide());
|
||||
|
||||
#if EITHER(HAS_KILL, SOFT_RESET_ON_KILL)
|
||||
#if ANY(HAS_KILL, SOFT_RESET_ON_KILL)
|
||||
|
||||
// Wait for both KILL and ENC to be released
|
||||
while (TERN0(HAS_KILL, kill_state()) || TERN0(SOFT_RESET_ON_KILL, ui.button_pressed()))
|
||||
|
@ -953,7 +953,7 @@ void stop() {
|
|||
|
||||
print_job_timer.stop();
|
||||
|
||||
#if EITHER(PROBING_FANS_OFF, ADVANCED_PAUSE_FANS_PAUSE)
|
||||
#if ANY(PROBING_FANS_OFF, ADVANCED_PAUSE_FANS_PAUSE)
|
||||
thermalManager.set_fans_paused(false); // Un-pause fans for safety
|
||||
#endif
|
||||
|
||||
|
@ -1315,14 +1315,14 @@ void setup() {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_MEDIA, SDCARD_EEPROM_EMULATION)
|
||||
#if ALL(HAS_MEDIA, SDCARD_EEPROM_EMULATION)
|
||||
SETUP_RUN(card.mount()); // Mount media with settings before first_load
|
||||
#endif
|
||||
|
||||
SETUP_RUN(settings.first_load()); // Load data from EEPROM if available (or use defaults)
|
||||
// This also updates variables in the planner, elsewhere
|
||||
|
||||
#if BOTH(HAS_WIRED_LCD, SHOW_BOOTSCREEN)
|
||||
#if ALL(HAS_WIRED_LCD, SHOW_BOOTSCREEN)
|
||||
SETUP_RUN(ui.show_bootscreen());
|
||||
const millis_t bootscreen_ms = millis();
|
||||
#endif
|
||||
|
@ -1397,7 +1397,7 @@ void setup() {
|
|||
SETUP_RUN(stepper_dac.init());
|
||||
#endif
|
||||
|
||||
#if EITHER(Z_PROBE_SLED, SOLENOID_PROBE) && HAS_SOLENOID_1
|
||||
#if ANY(Z_PROBE_SLED, SOLENOID_PROBE) && HAS_SOLENOID_1
|
||||
OUT_WRITE(SOL1_PIN, LOW); // OFF
|
||||
#endif
|
||||
|
||||
|
@ -1605,7 +1605,7 @@ void setup() {
|
|||
SETUP_RUN(tft_lvgl_init());
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_WIRED_LCD, SHOW_BOOTSCREEN)
|
||||
#if ALL(HAS_WIRED_LCD, SHOW_BOOTSCREEN)
|
||||
const millis_t elapsed = millis() - bootscreen_ms;
|
||||
#if ENABLED(MARLIN_DEV_MODE)
|
||||
SERIAL_ECHOLNPGM("elapsed=", elapsed);
|
||||
|
@ -1617,7 +1617,7 @@ void setup() {
|
|||
SETUP_RUN(password.lock_machine()); // Will not proceed until correct password provided
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_MARLINUI_MENU, TOUCH_SCREEN_CALIBRATION) && EITHER(TFT_CLASSIC_UI, TFT_COLOR_UI)
|
||||
#if ALL(HAS_MARLINUI_MENU, TOUCH_SCREEN_CALIBRATION) && ANY(TFT_CLASSIC_UI, TFT_COLOR_UI)
|
||||
SETUP_RUN(ui.check_touch_calibration());
|
||||
#endif
|
||||
|
||||
|
@ -1674,7 +1674,7 @@ void loop() {
|
|||
|
||||
queue.advance();
|
||||
|
||||
#if EITHER(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
powerManager.checkAutoPowerOff();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -508,7 +508,7 @@
|
|||
#define STR_W ""
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
|
||||
#if ANY(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
|
||||
|
||||
// Custom characters defined in the first 8 characters of the LCD
|
||||
#define LCD_STR_BEDTEMP "\x00" // Print only as a char. This will have 'unexpected' results when used in a string!
|
||||
|
|
|
@ -192,7 +192,11 @@
|
|||
#define _DIS_1(O) NOT(_ENA_1(O))
|
||||
#define ENABLED(V...) DO(ENA,&&,V)
|
||||
#define DISABLED(V...) DO(DIS,&&,V)
|
||||
#define ANY(V...) !DISABLED(V)
|
||||
#define ALL ENABLED
|
||||
#define NONE DISABLED
|
||||
#define COUNT_ENABLED(V...) DO(ENA,+,V)
|
||||
#define MANY(V...) (COUNT_ENABLED(V) > 1)
|
||||
|
||||
#define TERN(O,A,B) _TERN(_ENA_1(O),B,A) // OPTION ? 'A' : 'B'
|
||||
#define TERN0(O,A) _TERN(_ENA_1(O),0,A) // OPTION ? 'A' : '0'
|
||||
|
@ -216,16 +220,8 @@
|
|||
#define SUM_TERN(O,B,A) ((B) PLUS_TERN0(O,A)) // ((B) (OPTION ? '+ (A)' : '<nul>'))
|
||||
#define DIFF_TERN(O,B,A) ((B) MINUS_TERN0(O,A)) // ((B) (OPTION ? '- (A)' : '<nul>'))
|
||||
|
||||
#define IF_ENABLED TERN_
|
||||
#define IF_DISABLED(O,A) TERN(O,,A)
|
||||
|
||||
#define ANY(V...) !DISABLED(V)
|
||||
#define NONE(V...) DISABLED(V)
|
||||
#define ALL(V...) ENABLED(V)
|
||||
#define BOTH(V1,V2) ALL(V1,V2)
|
||||
#define EITHER(V1,V2) ANY(V1,V2)
|
||||
#define MANY(V...) (COUNT_ENABLED(V) > 1)
|
||||
|
||||
// Macros to support pins/buttons exist testing
|
||||
#define PIN_EXISTS(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
|
||||
#define _PINEX_1 PIN_EXISTS
|
||||
|
|
|
@ -42,7 +42,7 @@ volatile int16_t Babystep::steps[BS_AXIS_IND(Z_AXIS) + 1];
|
|||
#endif
|
||||
int16_t Babystep::accum;
|
||||
|
||||
#if BOTH(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
#if ALL(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
int16_t Babystep::ep_babysteps;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#define BABYSTEP_TICKS ((TEMP_TIMER_RATE) / (BABYSTEPS_PER_SEC))
|
||||
#endif
|
||||
|
||||
#if IS_CORE || EITHER(BABYSTEP_XY, I2C_POSITION_ENCODERS)
|
||||
#if ANY(IS_CORE, BABYSTEP_XY, I2C_POSITION_ENCODERS)
|
||||
#define BS_AXIS_IND(A) A
|
||||
#define BS_AXIS(I) AxisEnum(I)
|
||||
#else
|
||||
|
@ -52,7 +52,7 @@ public:
|
|||
static volatile int16_t steps[BS_AXIS_IND(Z_AXIS) + 1];
|
||||
static int16_t accum; // Total babysteps in current edit
|
||||
|
||||
#if BOTH(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
#if ALL(EP_BABYSTEPPING, EMERGENCY_PARSER)
|
||||
static int16_t ep_babysteps;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ Backlash backlash;
|
|||
void Backlash::add_correction_steps(const int32_t &da, const int32_t &db, const int32_t &dc, const AxisBits dm, block_t * const block) {
|
||||
AxisBits changed_dir = last_direction_bits ^ dm;
|
||||
// Ignore direction change unless steps are taken in that direction
|
||||
#if DISABLED(CORE_BACKLASH) || EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#if DISABLED(CORE_BACKLASH) || ANY(MARKFORGED_XY, MARKFORGED_YX)
|
||||
if (!da) changed_dir.x = false;
|
||||
if (!db) changed_dir.y = false;
|
||||
if (!dc) changed_dir.z = false;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "bedlevel.h"
|
||||
#include "../../module/planner.h"
|
||||
|
||||
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
#if ANY(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
#include "../../module/motion.h"
|
||||
#endif
|
||||
|
||||
|
@ -120,7 +120,7 @@ void reset_bed_level() {
|
|||
TERN_(ABL_PLANAR, planner.bed_level_matrix.set_to_identity());
|
||||
}
|
||||
|
||||
#if EITHER(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
||||
#if ANY(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
||||
|
||||
/**
|
||||
* Enable to produce output in JSON format suitable
|
||||
|
@ -188,7 +188,7 @@ void reset_bed_level() {
|
|||
|
||||
#endif // AUTO_BED_LEVELING_BILINEAR || MESH_BED_LEVELING
|
||||
|
||||
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
#if ANY(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
|
||||
void _manual_goto_xy(const xy_pos_t &pos) {
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if EITHER(RESTORE_LEVELING_AFTER_G28, ENABLE_LEVELING_AFTER_G28)
|
||||
#if ANY(RESTORE_LEVELING_AFTER_G28, ENABLE_LEVELING_AFTER_G28)
|
||||
#define CAN_SET_LEVELING_AFTER_G28 1
|
||||
#endif
|
||||
|
||||
|
@ -41,7 +41,7 @@ void reset_bed_level();
|
|||
void set_z_fade_height(const_float_t zfh, const bool do_report=true);
|
||||
#endif
|
||||
|
||||
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
#if ANY(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
void _manual_goto_xy(const xy_pos_t &pos);
|
||||
#endif
|
||||
|
||||
|
@ -69,7 +69,7 @@ class TemporaryBedLevelingState {
|
|||
#include "mbl/mesh_bed_leveling.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
||||
#if ANY(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ void CancelObject::set_active_object(const int8_t obj) {
|
|||
else
|
||||
skipping = false;
|
||||
|
||||
#if BOTH(HAS_STATUS_MESSAGE, CANCEL_OBJECTS_REPORTING)
|
||||
#if ALL(HAS_STATUS_MESSAGE, CANCEL_OBJECTS_REPORTING)
|
||||
if (active_object >= 0)
|
||||
ui.status_printf(0, F(S_FMT " %i"), GET_TEXT(MSG_PRINTING_OBJECT), int(active_object));
|
||||
else
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#if ANY(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
|
||||
#include "cooler.h"
|
||||
Cooler cooler;
|
||||
|
|
|
@ -187,13 +187,13 @@ void HostUI::action(FSTR_P const fstr, const bool eol) {
|
|||
switch (response) {
|
||||
|
||||
case 0: // "Purge More" button
|
||||
#if BOTH(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
|
||||
#if ALL(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
|
||||
pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; // Simulate menu selection (menu exits, doesn't extrude more)
|
||||
#endif
|
||||
break;
|
||||
|
||||
case 1: // "Continue" / "Disable Runout" button
|
||||
#if BOTH(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
|
||||
#if ALL(M600_PURGE_MORE_RESUMABLE, ADVANCED_PAUSE_FEATURE)
|
||||
pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; // Simulate menu selection
|
||||
#endif
|
||||
#if HAS_FILAMENT_SENSOR
|
||||
|
@ -209,7 +209,7 @@ void HostUI::action(FSTR_P const fstr, const bool eol) {
|
|||
TERN_(HAS_RESUME_CONTINUE, wait_for_user = false);
|
||||
break;
|
||||
case PROMPT_PAUSE_RESUME:
|
||||
#if BOTH(ADVANCED_PAUSE_FEATURE, HAS_MEDIA)
|
||||
#if ALL(ADVANCED_PAUSE_FEATURE, HAS_MEDIA)
|
||||
extern const char M24_STR[];
|
||||
queue.inject_P(M24_STR);
|
||||
#endif
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include "leds.h"
|
||||
|
||||
#if EITHER(CASE_LIGHT_USE_RGB_LED, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#if ANY(CASE_LIGHT_USE_RGB_LED, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#include "../../feature/caselight.h"
|
||||
#endif
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
|||
LEDLights leds;
|
||||
|
||||
void LEDLights::setup() {
|
||||
#if EITHER(RGB_LED, RGBW_LED)
|
||||
#if ANY(RGB_LED, RGBW_LED)
|
||||
if (PWM_PIN(RGB_LED_R_PIN)) SET_PWM(RGB_LED_R_PIN); else SET_OUTPUT(RGB_LED_R_PIN);
|
||||
if (PWM_PIN(RGB_LED_G_PIN)) SET_PWM(RGB_LED_G_PIN); else SET_OUTPUT(RGB_LED_G_PIN);
|
||||
if (PWM_PIN(RGB_LED_B_PIN)) SET_PWM(RGB_LED_B_PIN); else SET_OUTPUT(RGB_LED_B_PIN);
|
||||
|
@ -96,7 +96,7 @@ void LEDLights::setup() {
|
|||
}
|
||||
#endif // RGB_STARTUP_TEST
|
||||
|
||||
#elif BOTH(PCA9632, RGB_STARTUP_TEST) // PCA9632 RGB_STARTUP_TEST
|
||||
#elif ALL(PCA9632, RGB_STARTUP_TEST) // PCA9632 RGB_STARTUP_TEST
|
||||
|
||||
constexpr int8_t led_pin_count = TERN(HAS_WHITE_LED, 4, 3);
|
||||
|
||||
|
@ -176,7 +176,7 @@ void LEDLights::set_color(const LEDColor &incol
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#if ALL(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
// Update brightness only if caselight is ON or switching leds off
|
||||
if (caselight.on || incol.is_off())
|
||||
#endif
|
||||
|
@ -191,7 +191,7 @@ void LEDLights::set_color(const LEDColor &incol
|
|||
}
|
||||
#endif
|
||||
|
||||
#if BOTH(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#if ALL(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
// Update color only if caselight is ON or switching leds off
|
||||
if (caselight.on || incol.is_off())
|
||||
#endif
|
||||
|
@ -206,7 +206,7 @@ void LEDLights::set_color(const LEDColor &incol
|
|||
|
||||
#endif
|
||||
|
||||
#if EITHER(RGB_LED, RGBW_LED)
|
||||
#if ANY(RGB_LED, RGBW_LED)
|
||||
|
||||
// This variant uses 3-4 separate pins for the RGB(W) components.
|
||||
// If the pins can do PWM then their intensity will be set.
|
||||
|
@ -228,7 +228,7 @@ void LEDLights::set_color(const LEDColor &incol
|
|||
TERN_(PCA9632, PCA9632_set_led_color(incol));
|
||||
TERN_(PCA9533, PCA9533_set_rgb(incol.r, incol.g, incol.b));
|
||||
|
||||
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
|
||||
#if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
|
||||
// Don't update the color when OFF
|
||||
lights_on = !incol.is_off();
|
||||
if (lights_on) color = incol;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <string.h>
|
||||
|
||||
// A white component can be passed
|
||||
#if EITHER(RGBW_LED, PCA9632_RGBW)
|
||||
#if ANY(RGBW_LED, PCA9632_RGBW)
|
||||
#define HAS_WHITE_LED 1
|
||||
#endif
|
||||
|
||||
|
@ -164,7 +164,7 @@ public:
|
|||
#if ENABLED(LED_CONTROL_MENU)
|
||||
static void toggle(); // swap "off" with color
|
||||
#endif
|
||||
#if EITHER(LED_CONTROL_MENU, CASE_LIGHT_USE_RGB_LED) || LED_POWEROFF_TIMEOUT > 0
|
||||
#if ANY(LED_CONTROL_MENU, CASE_LIGHT_USE_RGB_LED) || LED_POWEROFF_TIMEOUT > 0
|
||||
static void update() { set_color(color); }
|
||||
#endif
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include "leds.h"
|
||||
|
||||
#if EITHER(NEOPIXEL_STARTUP_TEST, NEOPIXEL2_STARTUP_TEST)
|
||||
#if ANY(NEOPIXEL_STARTUP_TEST, NEOPIXEL2_STARTUP_TEST)
|
||||
#include "../../core/utility.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
#define MULTIPLE_NEOPIXEL_TYPES 1
|
||||
#endif
|
||||
|
||||
#if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES)
|
||||
#if ANY(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES)
|
||||
#define CONJOINED_NEOPIXEL 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ int_fast8_t Mixer::runner = 0;
|
|||
mixer_comp_t Mixer::s_color[MIXING_STEPPERS];
|
||||
mixer_accu_t Mixer::accu[MIXING_STEPPERS] = { 0 };
|
||||
|
||||
#if EITHER(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
#if ANY(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
mixer_perc_t Mixer::mix[MIXING_STEPPERS];
|
||||
#endif
|
||||
|
||||
|
@ -138,7 +138,7 @@ void Mixer::init() {
|
|||
color[MIXER_AUTORETRACT_TOOL][i] = COLOR_A_MASK;
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
#if ANY(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
update_mix_from_vtool();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ class Mixer {
|
|||
MIXER_STEPPER_LOOP(i) s_color[i] = b_color[i];
|
||||
}
|
||||
|
||||
#if EITHER(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
#if ANY(HAS_DUAL_MIXING, GRADIENT_MIX)
|
||||
|
||||
static mixer_perc_t mix[MIXING_STEPPERS]; // Scratch array for the Mix in proportion to 100
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ void MMU2::reset() {
|
|||
|
||||
int8_t MMU2::get_current_tool() { return extruder == MMU2_NO_TOOL ? -1 : extruder; }
|
||||
|
||||
#if EITHER(HAS_PRUSA_MMU2S, MMU_EXTRUDER_SENSOR)
|
||||
#if ANY(HAS_PRUSA_MMU2S, MMU_EXTRUDER_SENSOR)
|
||||
#define FILAMENT_PRESENT() (READ(FIL_RUNOUT1_PIN) != FIL_RUNOUT1_STATE)
|
||||
#else
|
||||
#define FILAMENT_PRESENT() true
|
||||
|
|
|
@ -210,7 +210,7 @@ bool load_filament(const_float_t slow_load_length/*=0*/, const_float_t fast_load
|
|||
|
||||
while (wait_for_user) {
|
||||
impatient_beep(max_beep_count);
|
||||
#if BOTH(FILAMENT_CHANGE_RESUME_ON_INSERT, FILAMENT_RUNOUT_SENSOR)
|
||||
#if ALL(FILAMENT_CHANGE_RESUME_ON_INSERT, FILAMENT_RUNOUT_SENSOR)
|
||||
#if MULTI_FILAMENT_SENSOR
|
||||
#define _CASE_INSERTED(N) case N-1: if (READ(FIL_RUNOUT##N##_PIN) != FIL_RUNOUT##N##_STATE) wait_for_user = false; break;
|
||||
switch (active_extruder) {
|
||||
|
@ -286,7 +286,7 @@ bool load_filament(const_float_t slow_load_length/*=0*/, const_float_t fast_load
|
|||
// Show "Purge More" / "Resume" menu and wait for reply
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
wait_for_user = false;
|
||||
#if EITHER(HAS_MARLINUI_MENU, DWIN_LCD_PROUI)
|
||||
#if ANY(HAS_MARLINUI_MENU, DWIN_LCD_PROUI)
|
||||
ui.pause_show_message(PAUSE_MESSAGE_OPTION); // Also sets PAUSE_RESPONSE_WAIT_FOR
|
||||
#else
|
||||
pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
|
||||
|
@ -331,18 +331,18 @@ inline void disable_active_extruder() {
|
|||
*/
|
||||
bool unload_filament(const_float_t unload_length, const bool show_lcd/*=false*/,
|
||||
const PauseMode mode/*=PAUSE_MODE_PAUSE_PRINT*/
|
||||
#if BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
#if ALL(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
, const_float_t mix_multiplier/*=1.0*/
|
||||
#endif
|
||||
) {
|
||||
DEBUG_SECTION(uf, "unload_filament", true);
|
||||
DEBUG_ECHOLNPGM("... unloadlen:", unload_length, " showlcd:", show_lcd, " mode:", mode
|
||||
#if BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
#if ALL(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
, " mixmult:", mix_multiplier
|
||||
#endif
|
||||
);
|
||||
|
||||
#if !BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
#if !ALL(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
constexpr float mix_multiplier = 1.0f;
|
||||
#endif
|
||||
|
||||
|
@ -445,7 +445,7 @@ bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const bool
|
|||
// Wait for buffered blocks to complete
|
||||
planner.synchronize();
|
||||
|
||||
#if BOTH(ADVANCED_PAUSE_FANS_PAUSE, HAS_FAN)
|
||||
#if ALL(ADVANCED_PAUSE_FANS_PAUSE, HAS_FAN)
|
||||
thermalManager.set_fans_paused(true);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ bool unload_filament(
|
|||
const_float_t unload_length, // (mm) Filament Unload Length - 0 to skip
|
||||
const bool show_lcd=false, // Set LCD status messages?
|
||||
const PauseMode mode=PAUSE_MODE_PAUSE_PRINT // Pause Mode to apply
|
||||
#if BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
#if ALL(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
|
||||
, const_float_t mix_multiplier=1.0f // Extrusion multiplier (for a Mixing Extruder)
|
||||
#endif
|
||||
);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "../inc/MarlinConfigPre.h"
|
||||
|
||||
#if EITHER(PSU_CONTROL, AUTO_POWER_CONTROL)
|
||||
#if ANY(PSU_CONTROL, AUTO_POWER_CONTROL)
|
||||
|
||||
#include "power.h"
|
||||
#include "../module/planner.h"
|
||||
|
@ -49,7 +49,7 @@ bool Power::psu_on;
|
|||
#include "../module/stepper.h"
|
||||
#include "../module/temperature.h"
|
||||
|
||||
#if BOTH(USE_CONTROLLER_FAN, AUTO_POWER_CONTROLLERFAN)
|
||||
#if ALL(USE_CONTROLLER_FAN, AUTO_POWER_CONTROLLERFAN)
|
||||
#include "controllerfan.h"
|
||||
#endif
|
||||
|
||||
|
@ -78,7 +78,7 @@ void Power::power_on() {
|
|||
|
||||
if (psu_on) return;
|
||||
|
||||
#if EITHER(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
cancelAutoPowerOff();
|
||||
#endif
|
||||
|
||||
|
@ -115,12 +115,12 @@ void Power::power_off() {
|
|||
OUT_WRITE(PS_ON_PIN, !PSU_ACTIVE_STATE);
|
||||
psu_on = false;
|
||||
|
||||
#if EITHER(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
cancelAutoPowerOff();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if EITHER(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(AUTO_POWER_CONTROL, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
|
||||
bool Power::is_cooling_needed() {
|
||||
#if HAS_HOTEND && AUTO_POWER_E_TEMP
|
||||
|
@ -140,7 +140,7 @@ void Power::power_off() {
|
|||
|
||||
#endif
|
||||
|
||||
#if EITHER(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
|
||||
#if ENABLED(POWER_OFF_TIMER)
|
||||
millis_t Power::power_off_time = 0;
|
||||
|
@ -192,7 +192,7 @@ void Power::power_off() {
|
|||
HOTEND_LOOP() if (thermalManager.autofan_speed[e]) return true;
|
||||
#endif
|
||||
|
||||
#if BOTH(USE_CONTROLLER_FAN, AUTO_POWER_CONTROLLERFAN)
|
||||
#if ALL(USE_CONTROLLER_FAN, AUTO_POWER_CONTROLLERFAN)
|
||||
if (controllerFan.state()) return true;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
* power.h - power control
|
||||
*/
|
||||
|
||||
#if EITHER(AUTO_POWER_CONTROL, POWER_OFF_TIMER)
|
||||
#if ANY(AUTO_POWER_CONTROL, POWER_OFF_TIMER)
|
||||
#include "../core/millis_t.h"
|
||||
#endif
|
||||
|
||||
|
@ -37,7 +37,7 @@ class Power {
|
|||
static void power_on();
|
||||
static void power_off();
|
||||
|
||||
#if EITHER(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ANY(POWER_OFF_TIMER, POWER_OFF_WAIT_FOR_COOLDOWN)
|
||||
#if ENABLED(POWER_OFF_TIMER)
|
||||
static millis_t power_off_time;
|
||||
static void setPowerOffTimer(const millis_t delay_ms);
|
||||
|
|
|
@ -699,7 +699,7 @@ void PrintJobRecovery::resume() {
|
|||
#endif
|
||||
|
||||
// Mixing extruder and gradient
|
||||
#if BOTH(MIXING_EXTRUDER, GRADIENT_MIX)
|
||||
#if ALL(MIXING_EXTRUDER, GRADIENT_MIX)
|
||||
DEBUG_ECHOLNPGM("gradient: ", info.gradient.enabled ? "ON" : "OFF");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
#if ANY(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
|
||||
#include "solenoid.h"
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ void GcodeSuite::G35() {
|
|||
// Restore the active tool after homing
|
||||
probe.use_probing_tool(false);
|
||||
|
||||
#if BOTH(HAS_LEVELING, RESTORE_LEVELING_AFTER_G35)
|
||||
#if ALL(HAS_LEVELING, RESTORE_LEVELING_AFTER_G35)
|
||||
set_bed_leveling_enabled(leveling_was_active);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ public:
|
|||
bool dryrun,
|
||||
reenable;
|
||||
|
||||
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
#if ANY(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
int abl_probe_index;
|
||||
#endif
|
||||
|
||||
|
@ -139,7 +139,7 @@ public:
|
|||
#endif
|
||||
};
|
||||
|
||||
#if ABL_USES_GRID && EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR)
|
||||
#if ABL_USES_GRID && ANY(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR)
|
||||
constexpr xy_uint8_t G29_State::grid_points;
|
||||
constexpr grid_count_t G29_State::abl_points;
|
||||
#endif
|
||||
|
@ -231,7 +231,7 @@ G29_TYPE GcodeSuite::G29() {
|
|||
reset_stepper_timeout();
|
||||
|
||||
// Q = Query leveling and G29 state
|
||||
const bool seenQ = EITHER(DEBUG_LEVELING_FEATURE, PROBE_MANUALLY) && parser.seen_test('Q');
|
||||
const bool seenQ = ANY(DEBUG_LEVELING_FEATURE, PROBE_MANUALLY) && parser.seen_test('Q');
|
||||
|
||||
// G29 Q is also available if debugging
|
||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
|
@ -279,7 +279,7 @@ G29_TYPE GcodeSuite::G29() {
|
|||
|
||||
probe.use_probing_tool();
|
||||
|
||||
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
#if ANY(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
abl.abl_probe_index = -1;
|
||||
#endif
|
||||
|
||||
|
@ -436,7 +436,7 @@ G29_TYPE GcodeSuite::G29() {
|
|||
|
||||
#if ENABLED(PREHEAT_BEFORE_LEVELING)
|
||||
if (!abl.dryrun) probe.preheat_for_probing(LEVELING_NOZZLE_TEMP,
|
||||
#if BOTH(DWIN_LCD_PROUI, HAS_HEATED_BED)
|
||||
#if ALL(DWIN_LCD_PROUI, HAS_HEATED_BED)
|
||||
HMI_data.BedLevT
|
||||
#else
|
||||
LEVELING_BED_TEMP
|
||||
|
@ -484,7 +484,7 @@ G29_TYPE GcodeSuite::G29() {
|
|||
if (!no_action) set_bed_leveling_enabled(false);
|
||||
|
||||
// Deploy certain probes before starting probing
|
||||
#if ENABLED(BLTOUCH) || BOTH(HAS_Z_SERVO_PROBE, Z_SERVO_INTERMEDIATE_STOW)
|
||||
#if ENABLED(BLTOUCH) || ALL(HAS_Z_SERVO_PROBE, Z_SERVO_INTERMEDIATE_STOW)
|
||||
do_z_clearance(Z_CLEARANCE_DEPLOY_PROBE);
|
||||
#elif HAS_BED_PROBE
|
||||
if (probe.deploy()) { // (returns true on deploy failure)
|
||||
|
@ -542,7 +542,7 @@ G29_TYPE GcodeSuite::G29() {
|
|||
}
|
||||
else {
|
||||
|
||||
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
const uint16_t index = abl.abl_probe_index - 1;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -486,7 +486,7 @@ void GcodeSuite::G28() {
|
|||
}
|
||||
#endif // HAS_X_AXIS
|
||||
|
||||
#if BOTH(FOAMCUTTER_XYUV, HAS_I_AXIS)
|
||||
#if ALL(FOAMCUTTER_XYUV, HAS_I_AXIS)
|
||||
// Home I (after X)
|
||||
if (doI) homeaxis(I_AXIS);
|
||||
#endif
|
||||
|
@ -497,7 +497,7 @@ void GcodeSuite::G28() {
|
|||
homeaxis(Y_AXIS);
|
||||
#endif
|
||||
|
||||
#if BOTH(FOAMCUTTER_XYUV, HAS_J_AXIS)
|
||||
#if ALL(FOAMCUTTER_XYUV, HAS_J_AXIS)
|
||||
// Home J (after Y)
|
||||
if (doJ) homeaxis(J_AXIS);
|
||||
#endif
|
||||
|
@ -514,7 +514,7 @@ void GcodeSuite::G28() {
|
|||
// Home Z last if homing towards the bed
|
||||
#if DISABLED(HOME_Z_FIRST)
|
||||
if (doZ) {
|
||||
#if EITHER(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN)
|
||||
#if ANY(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN)
|
||||
stepper.set_all_z_lock(false);
|
||||
stepper.set_separate_multi_axis(false);
|
||||
#endif
|
||||
|
@ -525,7 +525,7 @@ void GcodeSuite::G28() {
|
|||
homeaxis(Z_AXIS);
|
||||
#endif
|
||||
|
||||
#if EITHER(Z_HOME_TO_MIN, ALLOW_Z_AFTER_HOMING)
|
||||
#if ANY(Z_HOME_TO_MIN, ALLOW_Z_AFTER_HOMING)
|
||||
finalRaiseZ = true;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if EITHER(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN)
|
||||
#if ANY(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN)
|
||||
|
||||
#include "../../feature/z_stepper_align.h"
|
||||
|
||||
|
@ -431,7 +431,7 @@ void GcodeSuite::G34() {
|
|||
|
||||
probe.use_probing_tool(false);
|
||||
|
||||
#if BOTH(HAS_LEVELING, RESTORE_LEVELING_AFTER_G34)
|
||||
#if ALL(HAS_LEVELING, RESTORE_LEVELING_AFTER_G34)
|
||||
set_bed_leveling_enabled(leveling_was_active);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
* - `P` - Run probe temperature calibration.
|
||||
*/
|
||||
|
||||
#if BOTH(PTC_PROBE, PTC_BED)
|
||||
#if ALL(PTC_PROBE, PTC_BED)
|
||||
|
||||
static void say_waiting_for() { SERIAL_ECHOPGM("Waiting for "); }
|
||||
static void say_waiting_for_probe_heating() { say_waiting_for(); SERIAL_ECHOLNPGM("probe heating."); }
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
#define TEST_BYTE ((char) 0xE5)
|
||||
|
||||
#if EITHER(__AVR__, IS_32BIT_TEENSY)
|
||||
#if ANY(__AVR__, IS_32BIT_TEENSY)
|
||||
|
||||
extern char __bss_end;
|
||||
char *end_bss = &__bss_end,
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
#if ANY(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
|
||||
#include "../gcode.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
#if ANY(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
|
||||
#include "../gcode.h"
|
||||
#include "../../feature/solenoid.h"
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
}
|
||||
#endif
|
||||
|
||||
#if EITHER(COOLANT_FLOOD, AIR_ASSIST)
|
||||
#if ANY(COOLANT_FLOOD, AIR_ASSIST)
|
||||
|
||||
#if ENABLED(AIR_ASSIST)
|
||||
#include "../../feature/spindle_laser.h"
|
||||
|
|
|
@ -79,7 +79,7 @@ void GcodeSuite::M81() {
|
|||
|
||||
print_job_timer.stop();
|
||||
|
||||
#if BOTH(HAS_FAN, PROBING_FANS_OFF)
|
||||
#if ALL(HAS_FAN, PROBING_FANS_OFF)
|
||||
thermalManager.fans_paused = false;
|
||||
ZERO(thermalManager.saved_fan_speed);
|
||||
#endif
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "../gcode.h"
|
||||
#include "../../module/tool_change.h"
|
||||
|
||||
#if EITHER(HAS_MULTI_EXTRUDER, DEBUG_LEVELING_FEATURE)
|
||||
#if ANY(HAS_MULTI_EXTRUDER, DEBUG_LEVELING_FEATURE)
|
||||
#include "../../module/motion.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ void GcodeSuite::M125() {
|
|||
const bool show_lcd = TERN0(HAS_MARLINUI_MENU, parser.boolval('P'));
|
||||
|
||||
if (pause_print(retract, park_point, show_lcd, 0)) {
|
||||
if (ENABLED(EXTENSIBLE_UI) || BOTH(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT) || !sd_printing || show_lcd) {
|
||||
if (ENABLED(EXTENSIBLE_UI) || ALL(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT) || !sd_printing || show_lcd) {
|
||||
wait_for_confirmation(false, 0);
|
||||
resume_print(0, 0, -retract, 0);
|
||||
}
|
||||
|
|
|
@ -199,7 +199,7 @@ void GcodeSuite::M702() {
|
|||
#if HAS_PRUSA_MMU2
|
||||
mmu2.unload();
|
||||
#else
|
||||
#if BOTH(HAS_MULTI_EXTRUDER, FILAMENT_UNLOAD_ALL_EXTRUDERS)
|
||||
#if ALL(HAS_MULTI_EXTRUDER, FILAMENT_UNLOAD_ALL_EXTRUDERS)
|
||||
if (!parser.seenval('T')) {
|
||||
HOTEND_LOOP() {
|
||||
if (e != active_extruder) tool_change(e);
|
||||
|
|
|
@ -82,7 +82,7 @@ millis_t GcodeSuite::previous_move_ms = 0,
|
|||
// Relative motion mode for each logical axis
|
||||
relative_t GcodeSuite::axis_relative; // Init in constructor
|
||||
|
||||
#if EITHER(HAS_AUTO_REPORTING, HOST_KEEPALIVE_FEATURE)
|
||||
#if ANY(HAS_AUTO_REPORTING, HOST_KEEPALIVE_FEATURE)
|
||||
bool GcodeSuite::autoreport_paused; // = false
|
||||
#endif
|
||||
|
||||
|
@ -204,13 +204,13 @@ void GcodeSuite::get_destination_from_command() {
|
|||
TERN_(LASER_FEATURE, cutter.feedrate_mm_m = MMS_TO_MMM(feedrate_mm_s));
|
||||
}
|
||||
|
||||
#if BOTH(PRINTCOUNTER, HAS_EXTRUDERS)
|
||||
#if ALL(PRINTCOUNTER, HAS_EXTRUDERS)
|
||||
if (!DEBUGGING(DRYRUN) && !skip_move)
|
||||
print_job_timer.incFilamentUsed(destination.e - current_position.e);
|
||||
#endif
|
||||
|
||||
// Get ABCDHI mixing factors
|
||||
#if BOTH(MIXING_EXTRUDER, DIRECT_MIXING_IN_G1)
|
||||
#if ALL(MIXING_EXTRUDER, DIRECT_MIXING_IN_G1)
|
||||
M165();
|
||||
#endif
|
||||
|
||||
|
@ -442,7 +442,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 61: G61(); break; // G61: Apply/restore saved coordinates.
|
||||
#endif
|
||||
|
||||
#if BOTH(PTC_PROBE, PTC_BED)
|
||||
#if ALL(PTC_PROBE, PTC_BED)
|
||||
case 76: G76(); break; // G76: Calibrate first layer compensation values
|
||||
#endif
|
||||
|
||||
|
@ -484,11 +484,11 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 7: M7(); break; // M7: Coolant Mist ON
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_FLOOD)
|
||||
#if ANY(AIR_ASSIST, COOLANT_FLOOD)
|
||||
case 8: M8(); break; // M8: Air Assist / Coolant Flood ON
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_CONTROL)
|
||||
#if ANY(AIR_ASSIST, COOLANT_CONTROL)
|
||||
case 9: M9(); break; // M9: Air Assist / Coolant OFF
|
||||
#endif
|
||||
|
||||
|
@ -528,7 +528,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 33: M33(); break; // M33: Get the long full path to a file or folder
|
||||
#endif
|
||||
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
#if ALL(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
case 34: M34(); break; // M34: Set SD card sorting options
|
||||
#endif
|
||||
|
||||
|
@ -628,7 +628,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 154: M154(); break; // M154: Set position auto-report interval
|
||||
#endif
|
||||
|
||||
#if BOTH(AUTO_REPORT_TEMPERATURES, HAS_TEMP_SENSOR)
|
||||
#if ALL(AUTO_REPORT_TEMPERATURES, HAS_TEMP_SENSOR)
|
||||
case 155: M155(); break; // M155: Set temperature auto-report interval
|
||||
#endif
|
||||
|
||||
|
@ -828,7 +828,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 364: if (M364()) return; break; // M364: SCARA Psi pos3 (90 deg to Theta)
|
||||
#endif
|
||||
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
#if ANY(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
case 380: M380(); break; // M380: Activate solenoid on active (or specified) extruder
|
||||
case 381: M381(); break; // M381: Disable all solenoids or, if MANUAL_SOLENOID_CONTROL, active (or specified) solenoid
|
||||
#endif
|
||||
|
@ -946,7 +946,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
case 665: M665(); break; // M665: Set Kinematics parameters
|
||||
#endif
|
||||
|
||||
#if EITHER(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
#if ANY(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
case 666: M666(); break; // M666: Set delta or multiple endstop adjustment
|
||||
#endif
|
||||
|
||||
|
@ -987,7 +987,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||
|
||||
#if ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_PWM, HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC)
|
||||
case 907: M907(); break; // M907: Set digital trimpot motor current using axis codes.
|
||||
#if EITHER(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC)
|
||||
#if ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC)
|
||||
case 908: M908(); break; // M908: Control digital trimpot directly.
|
||||
#if HAS_MOTOR_CURRENT_DAC
|
||||
case 909: M909(); break; // M909: Print digipot/DAC current value
|
||||
|
|
|
@ -336,7 +336,7 @@
|
|||
#include "../feature/encoder_i2c.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(IS_SCARA, POLAR) || defined(G0_FEEDRATE)
|
||||
#if ANY(IS_SCARA, POLAR) || defined(G0_FEEDRATE)
|
||||
#define HAS_FAST_MOVES 1
|
||||
#endif
|
||||
|
||||
|
@ -442,7 +442,7 @@ public:
|
|||
process_subcommands_now(keep_leveling ? FPSTR(G28_STR) : TERN(CAN_SET_LEVELING_AFTER_G28, F("G28L0"), FPSTR(G28_STR)));
|
||||
}
|
||||
|
||||
#if EITHER(HAS_AUTO_REPORTING, HOST_KEEPALIVE_FEATURE)
|
||||
#if ANY(HAS_AUTO_REPORTING, HOST_KEEPALIVE_FEATURE)
|
||||
static bool autoreport_paused;
|
||||
static bool set_autoreport_paused(const bool p) {
|
||||
const bool was = autoreport_paused;
|
||||
|
@ -592,7 +592,7 @@ private:
|
|||
static void G59();
|
||||
#endif
|
||||
|
||||
#if BOTH(PTC_PROBE, PTC_BED)
|
||||
#if ALL(PTC_PROBE, PTC_BED)
|
||||
static void G76();
|
||||
#endif
|
||||
|
||||
|
@ -624,11 +624,11 @@ private:
|
|||
static void M7();
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_FLOOD)
|
||||
#if ANY(AIR_ASSIST, COOLANT_FLOOD)
|
||||
static void M8();
|
||||
#endif
|
||||
|
||||
#if EITHER(AIR_ASSIST, COOLANT_CONTROL)
|
||||
#if ANY(AIR_ASSIST, COOLANT_CONTROL)
|
||||
static void M9();
|
||||
#endif
|
||||
|
||||
|
@ -672,7 +672,7 @@ private:
|
|||
#if ENABLED(LONG_FILENAME_HOST_SUPPORT)
|
||||
static void M33();
|
||||
#endif
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
#if ALL(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
static void M34();
|
||||
#endif
|
||||
#endif
|
||||
|
@ -821,7 +821,7 @@ private:
|
|||
static void M154();
|
||||
#endif
|
||||
|
||||
#if BOTH(AUTO_REPORT_TEMPERATURES, HAS_TEMP_SENSOR)
|
||||
#if ALL(AUTO_REPORT_TEMPERATURES, HAS_TEMP_SENSOR)
|
||||
static void M155();
|
||||
#endif
|
||||
|
||||
|
@ -993,7 +993,7 @@ private:
|
|||
static bool M364();
|
||||
#endif
|
||||
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
#if ANY(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
static void M380();
|
||||
static void M381();
|
||||
#endif
|
||||
|
@ -1120,7 +1120,7 @@ private:
|
|||
static void M665_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
||||
#if EITHER(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
#if ANY(DELTA, HAS_EXTRA_ENDSTOPS)
|
||||
static void M666();
|
||||
static void M666_report(const bool forReplay=true);
|
||||
#endif
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
#include "../../MarlinCore.h"
|
||||
|
||||
#if BOTH(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
#if ALL(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
#include "../../feature/fwretract.h"
|
||||
#endif
|
||||
|
||||
|
@ -72,7 +72,7 @@ void GcodeSuite::G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move/*=false*/)) {
|
|||
}
|
||||
#endif
|
||||
|
||||
#if BOTH(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
#if ALL(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
|
||||
if (MIN_AUTORETRACT <= MAX_AUTORETRACT) {
|
||||
// When M209 Autoretract is enabled, convert E-only moves to firmware retract/recover moves
|
||||
|
@ -91,7 +91,7 @@ void GcodeSuite::G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move/*=false*/)) {
|
|||
|
||||
#endif // FWRETRACT
|
||||
|
||||
#if EITHER(IS_SCARA, POLAR)
|
||||
#if ANY(IS_SCARA, POLAR)
|
||||
fast_move ? prepare_fast_move_to_destination() : prepare_line_to_destination();
|
||||
#else
|
||||
prepare_line_to_destination();
|
||||
|
|
|
@ -233,7 +233,7 @@ void GCodeParser::parse(char *p) {
|
|||
|
||||
#if ENABLED(GCODE_MOTION_MODES)
|
||||
|
||||
#if EITHER(BEZIER_CURVE_SUPPORT, ARC_SUPPORT)
|
||||
#if ANY(BEZIER_CURVE_SUPPORT, ARC_SUPPORT)
|
||||
case 'I' ... 'J': case 'P':
|
||||
if (TERN1(BEZIER_CURVE_SUPPORT, motion_mode_codenum != 5)
|
||||
&& TERN1(ARC_P_CIRCLES, !WITHIN(motion_mode_codenum, 2, 3))
|
||||
|
|
|
@ -79,7 +79,7 @@ void GcodeSuite::G30() {
|
|||
TERN_(HAS_PTC, ptc.set_enabled(true));
|
||||
if (!isnan(measured_z)) {
|
||||
SERIAL_ECHOLNPGM("Bed X: ", probepos.asLogical().x, " Y: ", probepos.asLogical().y, " Z: ", measured_z);
|
||||
#if EITHER(DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
|
||||
#if ANY(DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
|
||||
char msg[31], str_1[6], str_2[6], str_3[6];
|
||||
sprintf_P(msg, PSTR("X:%s, Y:%s, Z:%s"),
|
||||
dtostrf(probepos.x, 1, 1, str_1),
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
#include "../queue.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(SET_PROGRESS_MANUALLY, SD_REPRINT_LAST_SELECTED_FILE)
|
||||
#if ANY(SET_PROGRESS_MANUALLY, SD_REPRINT_LAST_SELECTED_FILE)
|
||||
#include "../../lcd/marlinui.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
#if ALL(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
|
||||
#include "../gcode.h"
|
||||
#include "../../sd/cardreader.h"
|
||||
|
|
|
@ -31,12 +31,12 @@
|
|||
#endif
|
||||
|
||||
// MKS_LCD12864A/B is a variant of MKS_MINI_12864
|
||||
#if EITHER(MKS_LCD12864A, MKS_LCD12864B)
|
||||
#if ANY(MKS_LCD12864A, MKS_LCD12864B)
|
||||
#define MKS_MINI_12864
|
||||
#endif
|
||||
|
||||
// MKS_MINI_12864_V3 and BTT_MINI_12864_V1 are identical to FYSETC_MINI_12864_2_1
|
||||
#if EITHER(MKS_MINI_12864_V3, BTT_MINI_12864_V1)
|
||||
#if ANY(MKS_MINI_12864_V3, BTT_MINI_12864_V1)
|
||||
#define FYSETC_MINI_12864_2_1
|
||||
#endif
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
* IS_U8GLIB_ST7565_64128N : ST7565 128x64 LCD with SPI interface via U8GLib
|
||||
* IS_U8GLIB_LM6059_AF : LM6059 with Hardware SPI via U8GLib
|
||||
*/
|
||||
#if EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
|
||||
#if ANY(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
|
||||
|
||||
#define MINIPANEL
|
||||
|
||||
|
@ -83,7 +83,7 @@
|
|||
#define DOGLCD
|
||||
#define IS_ULTIPANEL 1
|
||||
|
||||
#elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE)
|
||||
#elif ANY(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE)
|
||||
|
||||
#define IS_DWIN_MARLINUI 1
|
||||
#define IS_ULTIPANEL 1
|
||||
|
@ -216,7 +216,7 @@
|
|||
#define LCD_WIDTH 16
|
||||
#define LCD_HEIGHT 2
|
||||
|
||||
#elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C)
|
||||
#elif ANY(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C)
|
||||
|
||||
#define IS_TFTGLCD_PANEL 1
|
||||
#define IS_ULTIPANEL 1 // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD
|
||||
|
@ -246,7 +246,7 @@
|
|||
#define LCD_ST7920_DELAY_2 125
|
||||
#define LCD_ST7920_DELAY_3 125
|
||||
|
||||
#elif EITHER(ANET_FULL_GRAPHICS_LCD, ANET_FULL_GRAPHICS_LCD_ALT_WIRING)
|
||||
#elif ANY(ANET_FULL_GRAPHICS_LCD, ANET_FULL_GRAPHICS_LCD_ALT_WIRING)
|
||||
|
||||
#define IS_RRD_FG_SC 1
|
||||
#define LCD_ST7920_DELAY_1 150
|
||||
|
@ -276,7 +276,7 @@
|
|||
#endif
|
||||
|
||||
// ST7565 / 64128N graphical displays
|
||||
#if EITHER(MAKRPANEL, MINIPANEL)
|
||||
#if ANY(MAKRPANEL, MINIPANEL)
|
||||
#define IS_ULTIPANEL 1
|
||||
#define DOGLCD
|
||||
#if ENABLED(MAKRPANEL)
|
||||
|
@ -337,11 +337,11 @@
|
|||
#elif ANY(SPI_GRAPHICAL_TFT, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI)
|
||||
#define TFT_INTERFACE_SPI
|
||||
#endif
|
||||
#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
|
||||
#if ANY(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
|
||||
#define TFT_CLASSIC_UI
|
||||
#elif ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI)
|
||||
#define TFT_COLOR_UI
|
||||
#elif EITHER(TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI)
|
||||
#elif ANY(TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI)
|
||||
#define TFT_LVGL_UI
|
||||
#endif
|
||||
#endif
|
||||
|
@ -387,7 +387,7 @@
|
|||
#define IS_ULTIPANEL 1
|
||||
#endif
|
||||
|
||||
#elif EITHER(LCD_SAINSMART_I2C_1602, LCD_SAINSMART_I2C_2004)
|
||||
#elif ANY(LCD_SAINSMART_I2C_1602, LCD_SAINSMART_I2C_2004)
|
||||
|
||||
#define LCD_I2C_TYPE_PCF8575 // I2C Character-based 12864 display
|
||||
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
|
||||
|
@ -425,7 +425,7 @@
|
|||
|
||||
#endif
|
||||
|
||||
#if EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) && DISABLED(NO_LCD_DETECT)
|
||||
#if ANY(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) && DISABLED(NO_LCD_DETECT)
|
||||
#define DETECT_I2C_LCD_DEVICE 1
|
||||
#endif
|
||||
|
||||
|
@ -463,15 +463,15 @@
|
|||
#define IS_ULTIPANEL 1
|
||||
#endif
|
||||
|
||||
#if EITHER(IS_ULTIPANEL, ULTRA_LCD)
|
||||
#if ANY(IS_ULTIPANEL, ULTRA_LCD)
|
||||
#define HAS_WIRED_LCD 1
|
||||
#endif
|
||||
|
||||
#if EITHER(IS_ULTIPANEL, REPRAPWORLD_KEYPAD)
|
||||
#if ANY(IS_ULTIPANEL, REPRAPWORLD_KEYPAD)
|
||||
#define IS_NEWPANEL 1
|
||||
#endif
|
||||
|
||||
#if EITHER(ZONESTAR_LCD, REPRAPWORLD_KEYPAD)
|
||||
#if ANY(ZONESTAR_LCD, REPRAPWORLD_KEYPAD)
|
||||
#define IS_RRW_KEYPAD 1
|
||||
#ifndef REPRAPWORLD_KEYPAD_MOVE_STEP
|
||||
#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
|
||||
|
@ -493,10 +493,10 @@
|
|||
#endif
|
||||
|
||||
// Aliases for LCD features
|
||||
#if EITHER(DWIN_CREALITY_LCD, DWIN_LCD_PROUI)
|
||||
#if ANY(DWIN_CREALITY_LCD, DWIN_LCD_PROUI)
|
||||
#define HAS_DWIN_E3V2_BASIC 1
|
||||
#endif
|
||||
#if EITHER(HAS_DWIN_E3V2_BASIC, DWIN_CREALITY_LCD_JYERSUI)
|
||||
#if ANY(HAS_DWIN_E3V2_BASIC, DWIN_CREALITY_LCD_JYERSUI)
|
||||
#define HAS_DWIN_E3V2 1
|
||||
#endif
|
||||
|
||||
|
@ -639,10 +639,10 @@
|
|||
#define E_TERN_(N) TERN_(HAS_MULTI_EXTRUDER, N)
|
||||
#define E_TERN0(N) TERN0(HAS_MULTI_EXTRUDER, N)
|
||||
|
||||
#if EITHER(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
|
||||
#if ANY(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
|
||||
#define HAS_SWITCHING_EXTRUDER 1
|
||||
#endif
|
||||
#if EITHER(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
|
||||
#if ANY(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
|
||||
#define HAS_SWITCHING_NOZZLE 1
|
||||
#endif
|
||||
|
||||
|
@ -700,7 +700,7 @@
|
|||
#endif
|
||||
|
||||
// Number of hotends...
|
||||
#if EITHER(SINGLENOZZLE, MIXING_EXTRUDER) // Only one for singlenozzle or mixing extruder
|
||||
#if ANY(SINGLENOZZLE, MIXING_EXTRUDER) // Only one for singlenozzle or mixing extruder
|
||||
#define HOTENDS 1
|
||||
#elif HAS_SWITCHING_EXTRUDER && !HAS_SWITCHING_NOZZLE // One for each pair of abstract "extruders"
|
||||
#define HOTENDS E_STEPPERS
|
||||
|
@ -1104,7 +1104,7 @@
|
|||
#if DISABLED(SINGLENOZZLE)
|
||||
#undef SINGLENOZZLE_STANDBY_TEMP
|
||||
#endif
|
||||
#if !BOTH(HAS_FAN, SINGLENOZZLE)
|
||||
#if !ALL(HAS_FAN, SINGLENOZZLE)
|
||||
#undef SINGLENOZZLE_STANDBY_FAN
|
||||
#endif
|
||||
|
||||
|
@ -1409,7 +1409,7 @@
|
|||
#if DISABLED(NOZZLE_AS_PROBE)
|
||||
#define HAS_PROBE_XY_OFFSET 1
|
||||
#endif
|
||||
#if BOTH(DELTA, SENSORLESS_PROBING)
|
||||
#if ALL(DELTA, SENSORLESS_PROBING)
|
||||
#define HAS_DELTA_SENSORLESS_PROBING 1
|
||||
#endif
|
||||
#if NONE(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING)
|
||||
|
@ -1421,7 +1421,7 @@
|
|||
#ifndef Z_PROBE_LOW_POINT
|
||||
#define Z_PROBE_LOW_POINT -5
|
||||
#endif
|
||||
#if EITHER(Z_PROBE_ALLEN_KEY, MAG_MOUNTED_PROBE)
|
||||
#if ANY(Z_PROBE_ALLEN_KEY, MAG_MOUNTED_PROBE)
|
||||
#define PROBE_TRIGGERED_WHEN_STOWED_TEST 1 // Extra test for Allen Key Probe
|
||||
#endif
|
||||
#if MULTIPLE_PROBING > 1
|
||||
|
@ -1451,14 +1451,14 @@
|
|||
*/
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
#undef LCD_BED_LEVELING
|
||||
#if EITHER(DELTA, SEGMENT_LEVELED_MOVES)
|
||||
#if ANY(DELTA, SEGMENT_LEVELED_MOVES)
|
||||
#define UBL_SEGMENTED 1
|
||||
#endif
|
||||
#endif
|
||||
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
#define ABL_PLANAR 1
|
||||
#endif
|
||||
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
|
||||
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
|
||||
#define ABL_USES_GRID 1
|
||||
#endif
|
||||
#if ANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
|
@ -1467,16 +1467,16 @@
|
|||
#if ANY(AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL, MESH_BED_LEVELING)
|
||||
#define HAS_MESH 1
|
||||
#endif
|
||||
#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT)
|
||||
#if ANY(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT)
|
||||
#define NEEDS_THREE_PROBE_POINTS 1
|
||||
#endif
|
||||
#if EITHER(HAS_ABL_NOT_UBL, AUTO_BED_LEVELING_UBL)
|
||||
#if ANY(HAS_ABL_NOT_UBL, AUTO_BED_LEVELING_UBL)
|
||||
#define HAS_ABL_OR_UBL 1
|
||||
#if DISABLED(PROBE_MANUALLY)
|
||||
#define HAS_AUTOLEVEL 1
|
||||
#endif
|
||||
#endif
|
||||
#if EITHER(HAS_ABL_OR_UBL, MESH_BED_LEVELING)
|
||||
#if ANY(HAS_ABL_OR_UBL, MESH_BED_LEVELING)
|
||||
#define HAS_LEVELING 1
|
||||
#if DISABLED(AUTO_BED_LEVELING_UBL)
|
||||
#define PLANNER_LEVELING 1
|
||||
|
@ -1487,7 +1487,7 @@
|
|||
#undef ENABLE_LEVELING_AFTER_G28
|
||||
#undef G29_RETRY_AND_RECOVER
|
||||
#endif
|
||||
#if !HAS_LEVELING || EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
#if !HAS_LEVELING || ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
#undef PROBE_MANUALLY
|
||||
#endif
|
||||
#if ANY(HAS_BED_PROBE, PROBE_MANUALLY, MESH_BED_LEVELING)
|
||||
|
@ -1507,13 +1507,13 @@
|
|||
/**
|
||||
* CoreXY, CoreXZ, and CoreYZ - and their reverse
|
||||
*/
|
||||
#if EITHER(COREXY, COREYX)
|
||||
#if ANY(COREXY, COREYX)
|
||||
#define CORE_IS_XY 1
|
||||
#endif
|
||||
#if EITHER(COREXZ, COREZX)
|
||||
#if ANY(COREXZ, COREZX)
|
||||
#define CORE_IS_XZ 1
|
||||
#endif
|
||||
#if EITHER(COREYZ, COREZY)
|
||||
#if ANY(COREYZ, COREZY)
|
||||
#define CORE_IS_YZ 1
|
||||
#endif
|
||||
#if CORE_IS_XY || CORE_IS_XZ || CORE_IS_YZ
|
||||
|
@ -1534,7 +1534,7 @@
|
|||
#define CORE_AXIS_2 C_AXIS
|
||||
#endif
|
||||
#define CORESIGN(n) (ANY(COREYX, COREZX, COREZY) ? (-(n)) : (n))
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#elif ANY(MARKFORGED_XY, MARKFORGED_YX)
|
||||
// Markforged kinematics
|
||||
#define CORE_AXIS_1 A_AXIS
|
||||
#define CORE_AXIS_2 B_AXIS
|
||||
|
@ -1558,7 +1558,7 @@
|
|||
#endif
|
||||
|
||||
// This flag indicates some kind of jerk storage is needed
|
||||
#if EITHER(CLASSIC_JERK, IS_KINEMATIC)
|
||||
#if ANY(CLASSIC_JERK, IS_KINEMATIC)
|
||||
#define HAS_CLASSIC_JERK 1
|
||||
#endif
|
||||
|
||||
|
@ -1622,12 +1622,12 @@
|
|||
* - TFT_COLOR
|
||||
* - GRAPHICAL_TFT_UPSCALE
|
||||
*/
|
||||
#if EITHER(MKS_TS35_V2_0, BTT_TFT35_SPI_V1_0) // ST7796
|
||||
#if ANY(MKS_TS35_V2_0, BTT_TFT35_SPI_V1_0) // ST7796
|
||||
#define TFT_DEFAULT_DRIVER ST7796
|
||||
#define TFT_DEFAULT_ORIENTATION TFT_EXCHANGE_XY
|
||||
#define TFT_RES_480x320
|
||||
#define TFT_INTERFACE_SPI
|
||||
#elif EITHER(LERDGE_TFT35, ANET_ET5_TFT35) // ST7796
|
||||
#elif ANY(LERDGE_TFT35, ANET_ET5_TFT35) // ST7796
|
||||
#define TFT_DEFAULT_ORIENTATION TFT_EXCHANGE_XY
|
||||
#define TFT_RES_480x320
|
||||
#define TFT_INTERFACE_FSMC
|
||||
|
@ -1645,7 +1645,7 @@
|
|||
#define TFT_DEFAULT_ORIENTATION 0
|
||||
#define TFT_RES_480x272
|
||||
#define TFT_INTERFACE_FSMC
|
||||
#elif EITHER(MKS_ROBIN_TFT_V1_1R, LONGER_LK_TFT28) // ILI9328 or R61505
|
||||
#elif ANY(MKS_ROBIN_TFT_V1_1R, LONGER_LK_TFT28) // ILI9328 or R61505
|
||||
#define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
|
||||
#define TFT_RES_320x240
|
||||
#define TFT_INTERFACE_FSMC
|
||||
|
@ -1756,13 +1756,13 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if EITHER(TFT_320x240, TFT_320x240_SPI)
|
||||
#if ANY(TFT_320x240, TFT_320x240_SPI)
|
||||
#define HAS_UI_320x240 1
|
||||
#elif EITHER(TFT_480x320, TFT_480x320_SPI)
|
||||
#elif ANY(TFT_480x320, TFT_480x320_SPI)
|
||||
#define HAS_UI_480x320 1
|
||||
#elif EITHER(TFT_480x272, TFT_480x272_SPI)
|
||||
#elif ANY(TFT_480x272, TFT_480x272_SPI)
|
||||
#define HAS_UI_480x272 1
|
||||
#elif EITHER(TFT_1024x600_LTDC, TFT_1024x600_SIM)
|
||||
#elif ANY(TFT_1024x600_LTDC, TFT_1024x600_SIM)
|
||||
#define HAS_UI_1024x600 1
|
||||
#endif
|
||||
#if ANY(HAS_UI_320x240, HAS_UI_480x320, HAS_UI_480x272)
|
||||
|
|
|
@ -245,8 +245,8 @@
|
|||
#define DISABLE_IDLE_E
|
||||
#endif
|
||||
|
||||
#define _OR_HAS_DI(A) || BOTH(HAS_##A##_AXIS, DISABLE_IDLE_##A)
|
||||
#if BOTH(HAS_EXTRUDERS, DISABLE_IDLE_E) MAP(_OR_HAS_DI, X, Y, Z, I, J, K, U, V, W)
|
||||
#define _OR_HAS_DI(A) || ALL(HAS_##A##_AXIS, DISABLE_IDLE_##A)
|
||||
#if ALL(HAS_EXTRUDERS, DISABLE_IDLE_E) MAP(_OR_HAS_DI, X, Y, Z, I, J, K, U, V, W)
|
||||
#define HAS_DISABLE_IDLE_AXES 1
|
||||
#endif
|
||||
#undef _OR_HAS_DI
|
||||
|
@ -768,11 +768,11 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(MIXING_EXTRUDER) && (ENABLED(RETRACT_SYNC_MIXING) || BOTH(FILAMENT_LOAD_UNLOAD_GCODES, FILAMENT_UNLOAD_ALL_EXTRUDERS))
|
||||
#if ENABLED(MIXING_EXTRUDER) && (ENABLED(RETRACT_SYNC_MIXING) || ALL(FILAMENT_LOAD_UNLOAD_GCODES, FILAMENT_UNLOAD_ALL_EXTRUDERS))
|
||||
#define HAS_MIXER_SYNC_CHANNEL 1
|
||||
#endif
|
||||
|
||||
#if EITHER(DUAL_X_CARRIAGE, MULTI_NOZZLE_DUPLICATION)
|
||||
#if ANY(DUAL_X_CARRIAGE, MULTI_NOZZLE_DUPLICATION)
|
||||
#define HAS_DUPLICATION_MODE 1
|
||||
#endif
|
||||
|
||||
|
@ -810,7 +810,7 @@
|
|||
#undef MENU_ADDAUTOSTART
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_MEDIA, SET_PROGRESS_MANUALLY)
|
||||
#if ANY(HAS_MEDIA, SET_PROGRESS_MANUALLY)
|
||||
#define HAS_PRINT_PROGRESS 1
|
||||
#endif
|
||||
|
||||
|
@ -836,7 +836,7 @@
|
|||
#define HAS_EXTRA_PROGRESS 1
|
||||
#endif
|
||||
|
||||
#if HAS_PRINT_PROGRESS && EITHER(PRINT_PROGRESS_SHOW_DECIMALS, SHOW_REMAINING_TIME)
|
||||
#if HAS_PRINT_PROGRESS && ANY(PRINT_PROGRESS_SHOW_DECIMALS, SHOW_REMAINING_TIME)
|
||||
#define HAS_PRINT_PROGRESS_PERMYRIAD 1
|
||||
#endif
|
||||
|
||||
|
@ -854,7 +854,7 @@
|
|||
#if ANY(X_DUAL_ENDSTOPS, Y_DUAL_ENDSTOPS, Z_MULTI_ENDSTOPS)
|
||||
#define HAS_EXTRA_ENDSTOPS 1
|
||||
#endif
|
||||
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
#if ANY(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
#define HAS_SOFTWARE_ENDSTOPS 1
|
||||
#endif
|
||||
#if ANY(EXTENSIBLE_UI, IS_NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, HAS_DWIN_E3V2)
|
||||
|
@ -876,7 +876,7 @@
|
|||
#define HAS_GCODE_M255 1
|
||||
#endif
|
||||
|
||||
#if EITHER(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#if ANY(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#define HAS_MOTOR_CURRENT_I2C 1
|
||||
#endif
|
||||
|
||||
|
@ -927,7 +927,7 @@
|
|||
// Spindle/Laser power display types
|
||||
// Defined here so sanity checks can use them
|
||||
//
|
||||
#if EITHER(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#if ANY(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#define HAS_CUTTER 1
|
||||
#define _CUTTER_POWER_PWM255 1
|
||||
#define _CUTTER_POWER_PERCENT 2
|
||||
|
@ -1000,7 +1000,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if EITHER(FYSETC_MINI_12864_2_1, FYSETC_242_OLED_12864)
|
||||
#if ANY(FYSETC_MINI_12864_2_1, FYSETC_242_OLED_12864)
|
||||
#ifndef LED_USER_PRESET_GREEN
|
||||
#define LED_USER_PRESET_GREEN 128
|
||||
#endif
|
||||
|
@ -1035,7 +1035,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(LED_CONTROL_MENU, NEOPIXEL2_SEPARATE)
|
||||
#if ALL(LED_CONTROL_MENU, NEOPIXEL2_SEPARATE)
|
||||
#ifndef LED2_USER_PRESET_RED
|
||||
#define LED2_USER_PRESET_RED 255
|
||||
#endif
|
||||
|
@ -1058,7 +1058,7 @@
|
|||
#endif
|
||||
|
||||
// Full Touch Screen needs 'tft/xpt2046'
|
||||
#if EITHER(TFT_TOUCH_DEVICE_XPT2046, HAS_TFT_LVGL_UI)
|
||||
#if ANY(TFT_TOUCH_DEVICE_XPT2046, HAS_TFT_LVGL_UI)
|
||||
#define HAS_TFT_XPT2046 1
|
||||
#endif
|
||||
|
||||
|
@ -1188,7 +1188,7 @@
|
|||
#endif
|
||||
|
||||
// Power Monitor sensors
|
||||
#if EITHER(POWER_MONITOR_CURRENT, POWER_MONITOR_VOLTAGE)
|
||||
#if ANY(POWER_MONITOR_CURRENT, POWER_MONITOR_VOLTAGE)
|
||||
#define HAS_POWER_MONITOR 1
|
||||
#if ENABLED(POWER_MONITOR_CURRENT) && (ENABLED(POWER_MONITOR_VOLTAGE) || defined(POWER_MONITOR_FIXED_VOLTAGE))
|
||||
#define HAS_POWER_MONITOR_WATTS 1
|
||||
|
@ -1207,7 +1207,7 @@
|
|||
|
||||
// Flags for Case Light having a color property or a single pin
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
#if EITHER(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED)
|
||||
#if ANY(CASE_LIGHT_USE_NEOPIXEL, CASE_LIGHT_USE_RGB_LED)
|
||||
#define CASE_LIGHT_IS_COLOR_LED 1
|
||||
#else
|
||||
#define NEED_CASE_LIGHT_PIN 1
|
||||
|
@ -1224,7 +1224,7 @@
|
|||
#define NEED_LSF 1
|
||||
#endif
|
||||
|
||||
#if BOTH(HAS_TFT_LVGL_UI, CUSTOM_MENU_MAIN)
|
||||
#if ALL(HAS_TFT_LVGL_UI, CUSTOM_MENU_MAIN)
|
||||
#define _HAS_1(N) (defined(MAIN_MENU_ITEM_##N##_DESC) && defined(MAIN_MENU_ITEM_##N##_GCODE))
|
||||
#define HAS_USER_ITEM(V...) DO(HAS,||,V)
|
||||
#else
|
||||
|
@ -1251,18 +1251,18 @@
|
|||
#if !HAS_MULTI_SERIAL
|
||||
#undef MEATPACK_ON_SERIAL_PORT_2
|
||||
#endif
|
||||
#if EITHER(MEATPACK_ON_SERIAL_PORT_1, MEATPACK_ON_SERIAL_PORT_2)
|
||||
#if ANY(MEATPACK_ON_SERIAL_PORT_1, MEATPACK_ON_SERIAL_PORT_2)
|
||||
#define HAS_MEATPACK 1
|
||||
#endif
|
||||
|
||||
// AVR are (usually) too limited in resources to store the configuration into the binary
|
||||
#if ENABLED(CONFIGURATION_EMBEDDING) && !defined(FORCE_CONFIG_EMBED) && (defined(__AVR__) || !HAS_MEDIA || EITHER(SDCARD_READONLY, DISABLE_M503))
|
||||
#if ENABLED(CONFIGURATION_EMBEDDING) && !defined(FORCE_CONFIG_EMBED) && (defined(__AVR__) || !HAS_MEDIA || ANY(SDCARD_READONLY, DISABLE_M503))
|
||||
#undef CONFIGURATION_EMBEDDING
|
||||
#define CANNOT_EMBED_CONFIGURATION defined(__AVR__)
|
||||
#endif
|
||||
|
||||
// Input shaping
|
||||
#if EITHER(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#if ANY(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#define HAS_ZV_SHAPING 1
|
||||
#endif
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#endif
|
||||
|
||||
// Linear advance uses Jerk since E is an isolated axis
|
||||
#if BOTH(HAS_JUNCTION_DEVIATION, LIN_ADVANCE)
|
||||
#if ALL(HAS_JUNCTION_DEVIATION, LIN_ADVANCE)
|
||||
#define HAS_LINEAR_E_JERK 1
|
||||
#endif
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
|||
// Set additional flags to let HALs choose in their Conditionals_post.h
|
||||
#if ANY(FLASH_EEPROM_EMULATION, SRAM_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION, QSPI_EEPROM)
|
||||
#define USE_EMULATED_EEPROM 1
|
||||
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
|
||||
#elif ANY(I2C_EEPROM, SPI_EEPROM)
|
||||
#define USE_WIRED_EEPROM 1
|
||||
#elif ENABLED(IIC_BL24CXX_EEPROM)
|
||||
// nothing
|
||||
|
@ -265,7 +265,7 @@
|
|||
#endif
|
||||
|
||||
// Calibration codes only for non-core axes
|
||||
#if EITHER(BACKLASH_GCODE, CALIBRATION_GCODE)
|
||||
#if ANY(BACKLASH_GCODE, CALIBRATION_GCODE)
|
||||
#if ANY(IS_CORE, MARKFORGED_XY, MARKFORGED_YX)
|
||||
#define CAN_CALIBRATE(A,B) TERN0(HAS_##A##_AXIS, (_AXIS(A) == B))
|
||||
#else
|
||||
|
@ -466,14 +466,15 @@
|
|||
#elif ENABLED(AZSMZ_12864)
|
||||
#define _LCD_CONTRAST_MIN 120
|
||||
#define _LCD_CONTRAST_INIT 190
|
||||
#elif EITHER(MKS_LCD12864A, MKS_LCD12864B)
|
||||
#elif ANY(MKS_LCD12864A, MKS_LCD12864B)
|
||||
#define _LCD_CONTRAST_MIN 120
|
||||
#define _LCD_CONTRAST_INIT 205
|
||||
#elif EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
|
||||
#elif ANY(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
|
||||
#define _LCD_CONTRAST_MIN 120
|
||||
#define _LCD_CONTRAST_INIT 195
|
||||
#elif ENABLED(FYSETC_MINI_12864_2_1)
|
||||
#define _LCD_CONTRAST_MIN 230
|
||||
#define _LCD_CONTRAST_MIN 255
|
||||
#define _LCD_CONTRAST_INIT 255
|
||||
#elif ENABLED(FYSETC_MINI_12864)
|
||||
#define _LCD_CONTRAST_MIN 180
|
||||
|
@ -558,7 +559,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if DISABLED(USB_FLASH_DRIVE_SUPPORT) || BOTH(MULTI_VOLUME, VOLUME_SD_ONBOARD)
|
||||
#if DISABLED(USB_FLASH_DRIVE_SUPPORT) || ALL(MULTI_VOLUME, VOLUME_SD_ONBOARD)
|
||||
#if ENABLED(ONBOARD_SDIO)
|
||||
#define NEED_SD2CARD_SDIO 1
|
||||
#else
|
||||
|
@ -731,13 +732,13 @@
|
|||
// Add LIB_MAX6675 / LIB_MAX31855 / LIB_MAX31865 to the build_flags
|
||||
// to select a USER library for MAX6675, MAX31855, MAX31865
|
||||
//
|
||||
#if BOTH(HAS_MAX6675, LIB_MAX6675)
|
||||
#if ALL(HAS_MAX6675, LIB_MAX6675)
|
||||
#define USE_LIB_MAX6675 1
|
||||
#endif
|
||||
#if BOTH(HAS_MAX31855, LIB_MAX31855)
|
||||
#if ALL(HAS_MAX31855, LIB_MAX31855)
|
||||
#define USE_ADAFRUIT_MAX31855 1
|
||||
#endif
|
||||
#if BOTH(HAS_MAX31865, LIB_MAX31865)
|
||||
#if ALL(HAS_MAX31865, LIB_MAX31865)
|
||||
#define USE_ADAFRUIT_MAX31865 1
|
||||
#elif HAS_MAX31865
|
||||
#define LIB_INTERNAL_MAX31865 1
|
||||
|
@ -1375,7 +1376,7 @@
|
|||
* - Z_PROBE_SLED uses SOL1_PIN, when defined (unless EXT_SOLENOID is enabled)
|
||||
*/
|
||||
#if ANY(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL, PARKING_EXTRUDER, SOLENOID_PROBE, Z_PROBE_SLED)
|
||||
#if PIN_EXISTS(SOL0) && (EITHER(MANUAL_SOLENOID_CONTROL, PARKING_EXTRUDER) || BOTH(EXT_SOLENOID, HAS_EXTRUDERS))
|
||||
#if PIN_EXISTS(SOL0) && (ANY(MANUAL_SOLENOID_CONTROL, PARKING_EXTRUDER) || ALL(EXT_SOLENOID, HAS_EXTRUDERS))
|
||||
#define HAS_SOLENOID_0 1
|
||||
#endif
|
||||
#if PIN_EXISTS(SOL1) && (ANY(MANUAL_SOLENOID_CONTROL, PARKING_EXTRUDER, SOLENOID_PROBE, Z_PROBE_SLED) || TERN0(EXT_SOLENOID, E_STEPPERS > 1))
|
||||
|
@ -1409,7 +1410,7 @@
|
|||
#if ANY(STEALTHCHOP_E, STEALTHCHOP_XY, STEALTHCHOP_Z, STEALTHCHOP_I, STEALTHCHOP_J, STEALTHCHOP_K, STEALTHCHOP_U, STEALTHCHOP_V, STEALTHCHOP_W)
|
||||
#define STEALTHCHOP_ENABLED 1
|
||||
#endif
|
||||
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
#if ANY(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
#define USE_SENSORLESS 1
|
||||
#endif
|
||||
|
||||
|
@ -1970,7 +1971,7 @@
|
|||
#define HAS_Y_ENDSTOP 1
|
||||
#endif
|
||||
|
||||
#if _USE_STOP(Z,,MIN,EITHER(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING))
|
||||
#if _USE_STOP(Z,,MIN,ANY(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING))
|
||||
#define USE_Z_MIN 1
|
||||
#if !HAS_DELTA_SENSORLESS_PROBING
|
||||
#define HAS_Z_MIN_PIN 1
|
||||
|
@ -2037,7 +2038,7 @@
|
|||
#define HAS_W_ENDSTOP 1
|
||||
#endif
|
||||
|
||||
#if EITHER(DUAL_X_CARRIAGE, X_DUAL_ENDSTOPS)
|
||||
#if ANY(DUAL_X_CARRIAGE, X_DUAL_ENDSTOPS)
|
||||
#if _USE_STOP(X,2,MIN,)
|
||||
#define USE_X2_MIN 1
|
||||
#elif _USE_STOP(X,2,MAX,)
|
||||
|
@ -2382,10 +2383,10 @@
|
|||
#endif
|
||||
|
||||
#if ENABLED(DWIN_LCD_PROUI)
|
||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
||||
#if ANY(PIDTEMP, PIDTEMPBED)
|
||||
#define DWIN_PID_TUNE 1
|
||||
#endif
|
||||
#if EITHER(DWIN_PID_TUNE, MPC_AUTOTUNE) && DISABLED(DISABLE_TUNING_GRAPH)
|
||||
#if ANY(DWIN_PID_TUNE, MPC_AUTOTUNE) && DISABLED(DISABLE_TUNING_GRAPH)
|
||||
#define SHOW_TUNING_GRAPH 1
|
||||
#endif
|
||||
#endif
|
||||
|
@ -2401,10 +2402,10 @@
|
|||
#if ENABLED(THERMAL_PROTECTION_BED) && WATCH_BED_TEMP_PERIOD > 0
|
||||
#define WATCH_BED 1
|
||||
#endif
|
||||
#if BOTH(HAS_HEATED_CHAMBER, THERMAL_PROTECTION_CHAMBER) && WATCH_CHAMBER_TEMP_PERIOD > 0
|
||||
#if ALL(HAS_HEATED_CHAMBER, THERMAL_PROTECTION_CHAMBER) && WATCH_CHAMBER_TEMP_PERIOD > 0
|
||||
#define WATCH_CHAMBER 1
|
||||
#endif
|
||||
#if BOTH(HAS_COOLER, THERMAL_PROTECTION_COOLER) && WATCH_COOLER_TEMP_PERIOD > 0
|
||||
#if ALL(HAS_COOLER, THERMAL_PROTECTION_COOLER) && WATCH_COOLER_TEMP_PERIOD > 0
|
||||
#define WATCH_COOLER 1
|
||||
#endif
|
||||
#if NONE(THERMAL_PROTECTION_HOTENDS, THERMAL_PROTECTION_CHAMBER, THERMAL_PROTECTION_BED, THERMAL_PROTECTION_COOLER)
|
||||
|
@ -2616,7 +2617,7 @@
|
|||
/**
|
||||
* MIN/MAX fan PWM scaling
|
||||
*/
|
||||
#if EITHER(HAS_FAN, USE_CONTROLLER_FAN)
|
||||
#if ANY(HAS_FAN, USE_CONTROLLER_FAN)
|
||||
#ifndef FAN_OFF_PWM
|
||||
#define FAN_OFF_PWM 0
|
||||
#endif
|
||||
|
@ -2716,7 +2717,7 @@
|
|||
* Helper Macros for heaters and extruder fan
|
||||
*/
|
||||
#define WRITE_HEATER_0P(v) WRITE(HEATER_0_PIN, (v) ^ ENABLED(HEATER_0_INVERTING))
|
||||
#if EITHER(HAS_MULTI_HOTEND, HEATERS_PARALLEL)
|
||||
#if ANY(HAS_MULTI_HOTEND, HEATERS_PARALLEL)
|
||||
#define WRITE_HEATER_1(v) WRITE(HEATER_1_PIN, (v) ^ ENABLED(HEATER_1_INVERTING))
|
||||
#if HOTENDS > 2
|
||||
#define WRITE_HEATER_2(v) WRITE(HEATER_2_PIN, (v) ^ ENABLED(HEATER_2_INVERTING))
|
||||
|
@ -2829,7 +2830,7 @@
|
|||
/**
|
||||
* Bed Probe dependencies
|
||||
*/
|
||||
#if EITHER(MESH_BED_LEVELING, HAS_BED_PROBE)
|
||||
#if ANY(MESH_BED_LEVELING, HAS_BED_PROBE)
|
||||
#ifndef Z_PROBE_OFFSET_RANGE_MIN
|
||||
#define Z_PROBE_OFFSET_RANGE_MIN -20
|
||||
#endif
|
||||
|
@ -2838,7 +2839,7 @@
|
|||
#endif
|
||||
#endif
|
||||
#if HAS_BED_PROBE
|
||||
#if BOTH(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
|
||||
#if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
|
||||
#define ENDSTOPPULLUP_ZMIN_PROBE
|
||||
#endif
|
||||
#ifndef XY_PROBE_FEEDRATE
|
||||
|
@ -2896,16 +2897,16 @@
|
|||
#undef ADAPTIVE_FAN_SLOWING
|
||||
#undef TEMP_TUNING_MAINTAIN_FAN
|
||||
#endif
|
||||
#if !BOTH(HAS_BED_PROBE, HAS_FAN)
|
||||
#if !ALL(HAS_BED_PROBE, HAS_FAN)
|
||||
#undef PROBING_FANS_OFF
|
||||
#endif
|
||||
#if !BOTH(HAS_BED_PROBE, HAS_EXTRUDERS)
|
||||
#if !ALL(HAS_BED_PROBE, HAS_EXTRUDERS)
|
||||
#undef PROBING_ESTEPPERS_OFF
|
||||
#elif ENABLED(PROBING_STEPPERS_OFF)
|
||||
// PROBING_STEPPERS_OFF implies PROBING_ESTEPPERS_OFF, make sure it is defined
|
||||
#define PROBING_ESTEPPERS_OFF
|
||||
#endif
|
||||
#if EITHER(ADVANCED_PAUSE_FEATURE, PROBING_HEATERS_OFF)
|
||||
#if ANY(ADVANCED_PAUSE_FEATURE, PROBING_HEATERS_OFF)
|
||||
#define HEATER_IDLE_HANDLER 1
|
||||
#endif
|
||||
#if HAS_BED_PROBE && (ANY(PROBING_HEATERS_OFF, PROBING_STEPPERS_OFF, PROBING_ESTEPPERS_OFF, PROBING_FANS_OFF) || DELAY_BEFORE_PROBING > 0)
|
||||
|
@ -2916,7 +2917,7 @@
|
|||
* Advanced Pause - Filament Change
|
||||
*/
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
#if ANY(HAS_MARLINUI_MENU, EXTENSIBLE_UI, DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI) || BOTH(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT)
|
||||
#if ANY(HAS_MARLINUI_MENU, EXTENSIBLE_UI, DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI) || ALL(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT)
|
||||
#define M600_PURGE_MORE_RESUMABLE 1
|
||||
#endif
|
||||
#ifndef FILAMENT_CHANGE_SLOW_LOAD_LENGTH
|
||||
|
@ -3002,7 +3003,7 @@
|
|||
/**
|
||||
* Default mesh area is an area with an inset margin on the print area.
|
||||
*/
|
||||
#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||
#if IS_KINEMATIC
|
||||
// Probing points may be verified at compile time within the radius
|
||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(PRINTABLE_RADIUS),"bad probe point!")
|
||||
|
@ -3052,7 +3053,7 @@
|
|||
#if ANY(IS_TFTGLCD_PANEL, PCA9632_BUZZER, LCD_USE_I2C_BUZZER)
|
||||
#define USE_MARLINUI_BUZZER 1
|
||||
#endif
|
||||
#if EITHER(HAS_BEEPER, USE_MARLINUI_BUZZER)
|
||||
#if ANY(HAS_BEEPER, USE_MARLINUI_BUZZER)
|
||||
#define HAS_SOUND 1
|
||||
#endif
|
||||
|
||||
|
@ -3123,7 +3124,7 @@
|
|||
|
||||
// Define a starting height for measuring manual probe points
|
||||
#ifndef MANUAL_PROBE_START_Z
|
||||
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
#if ANY(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||
// Leave MANUAL_PROBE_START_Z undefined so the prior Z height will be used.
|
||||
// Note: If Z_CLEARANCE_BETWEEN_MANUAL_PROBES is 0 there will be no raise between points
|
||||
#elif ENABLED(AUTO_BED_LEVELING_UBL) && defined(Z_CLEARANCE_BETWEEN_PROBES)
|
||||
|
@ -3149,7 +3150,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_MARLINUI_MENU, TOUCH_UI_FTDI_EVE)
|
||||
#if ANY(HAS_MARLINUI_MENU, TOUCH_UI_FTDI_EVE)
|
||||
// LCD timeout to status screen default is 15s
|
||||
#ifndef LCD_TIMEOUT_TO_STATUS
|
||||
#define LCD_TIMEOUT_TO_STATUS 15000
|
||||
|
@ -3202,7 +3203,7 @@
|
|||
#define MAX_VFAT_ENTRIES 20 // by VFAT specs to fit LFN of length 255
|
||||
|
||||
// Nozzle park for Delta
|
||||
#if BOTH(NOZZLE_PARK_FEATURE, DELTA)
|
||||
#if ALL(NOZZLE_PARK_FEATURE, DELTA)
|
||||
#undef NOZZLE_PARK_Z_FEEDRATE
|
||||
#define NOZZLE_PARK_Z_FEEDRATE NOZZLE_PARK_XY_FEEDRATE
|
||||
#endif
|
||||
|
|
|
@ -46,8 +46,8 @@
|
|||
#if ENABLED(TEST0) || !ENABLED(TEST2) || ENABLED(TEST3) || !ENABLED(TEST1, TEST2, TEST4)
|
||||
#error "ENABLED is borked!"
|
||||
#endif
|
||||
#if BOTH(TEST0, TEST1)
|
||||
#error "BOTH is borked!"
|
||||
#if ALL(TEST0, TEST1)
|
||||
#error "ALL is borked!"
|
||||
#endif
|
||||
#if DISABLED(TEST1) || !DISABLED(TEST3) || DISABLED(TEST4) || DISABLED(TEST0, TEST1, TEST2, TEST4) || !DISABLED(TEST0, TEST3)
|
||||
#error "DISABLED is borked!"
|
||||
|
@ -300,45 +300,45 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(ENDSTOPPULLUPS, ENDSTOPPULLDOWNS)
|
||||
#if ALL(ENDSTOPPULLUPS, ENDSTOPPULLDOWNS)
|
||||
#error "Enable only one of ENDSTOPPULLUPS or ENDSTOPPULLDOWNS."
|
||||
#elif BOTH(FIL_RUNOUT_PULLUP, FIL_RUNOUT_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT_PULLUP, FIL_RUNOUT_PULLDOWN)
|
||||
#error "Enable only one of FIL_RUNOUT_PULLUP or FIL_RUNOUT_PULLDOWN."
|
||||
#elif BOTH(ENDSTOPPULLUP_XMAX, ENDSTOPPULLDOWN_XMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_XMAX, ENDSTOPPULLDOWN_XMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_X_MAX or ENDSTOPPULLDOWN_X_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_YMAX, ENDSTOPPULLDOWN_YMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_YMAX, ENDSTOPPULLDOWN_YMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_Y_MAX or ENDSTOPPULLDOWN_Y_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_ZMAX, ENDSTOPPULLDOWN_ZMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_ZMAX, ENDSTOPPULLDOWN_ZMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_Z_MAX or ENDSTOPPULLDOWN_Z_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_IMAX, ENDSTOPPULLDOWN_IMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_IMAX, ENDSTOPPULLDOWN_IMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_I_MAX or ENDSTOPPULLDOWN_I_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_JMAX, ENDSTOPPULLDOWN_JMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_JMAX, ENDSTOPPULLDOWN_JMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_J_MAX or ENDSTOPPULLDOWN_J_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_KMAX, ENDSTOPPULLDOWN_KMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_KMAX, ENDSTOPPULLDOWN_KMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_K_MAX or ENDSTOPPULLDOWN_K_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_UMAX, ENDSTOPPULLDOWN_UMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_UMAX, ENDSTOPPULLDOWN_UMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_U_MAX or ENDSTOPPULLDOWN_U_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_VMAX, ENDSTOPPULLDOWN_VMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_VMAX, ENDSTOPPULLDOWN_VMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_V_MAX or ENDSTOPPULLDOWN_V_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_WMAX, ENDSTOPPULLDOWN_WMAX)
|
||||
#elif ALL(ENDSTOPPULLUP_WMAX, ENDSTOPPULLDOWN_WMAX)
|
||||
#error "Enable only one of ENDSTOPPULLUP_W_MAX or ENDSTOPPULLDOWN_W_MAX."
|
||||
#elif BOTH(ENDSTOPPULLUP_XMIN, ENDSTOPPULLDOWN_XMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_XMIN, ENDSTOPPULLDOWN_XMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_X_MIN or ENDSTOPPULLDOWN_X_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_YMIN, ENDSTOPPULLDOWN_YMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_YMIN, ENDSTOPPULLDOWN_YMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_Y_MIN or ENDSTOPPULLDOWN_Y_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_ZMIN, ENDSTOPPULLDOWN_ZMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_ZMIN, ENDSTOPPULLDOWN_ZMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_Z_MIN or ENDSTOPPULLDOWN_Z_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_IMIN, ENDSTOPPULLDOWN_IMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_IMIN, ENDSTOPPULLDOWN_IMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_I_MIN or ENDSTOPPULLDOWN_I_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_JMIN, ENDSTOPPULLDOWN_JMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_JMIN, ENDSTOPPULLDOWN_JMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_J_MIN or ENDSTOPPULLDOWN_J_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_KMIN, ENDSTOPPULLDOWN_KMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_KMIN, ENDSTOPPULLDOWN_KMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_K_MIN or ENDSTOPPULLDOWN_K_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_UMIN, ENDSTOPPULLDOWN_UMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_UMIN, ENDSTOPPULLDOWN_UMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_U_MIN or ENDSTOPPULLDOWN_U_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_VMIN, ENDSTOPPULLDOWN_VMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_VMIN, ENDSTOPPULLDOWN_VMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_V_MIN or ENDSTOPPULLDOWN_V_MIN."
|
||||
#elif BOTH(ENDSTOPPULLUP_WMIN, ENDSTOPPULLDOWN_WMIN)
|
||||
#elif ALL(ENDSTOPPULLUP_WMIN, ENDSTOPPULLDOWN_WMIN)
|
||||
#error "Enable only one of ENDSTOPPULLUP_W_MIN or ENDSTOPPULLDOWN_W_MIN."
|
||||
#endif
|
||||
|
||||
|
@ -455,7 +455,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
* I2C Position Encoders
|
||||
*/
|
||||
#if ENABLED(I2C_POSITION_ENCODERS)
|
||||
#if !BOTH(BABYSTEPPING, BABYSTEP_XY)
|
||||
#if !ALL(BABYSTEPPING, BABYSTEP_XY)
|
||||
#error "I2C_POSITION_ENCODERS requires BABYSTEPPING and BABYSTEP_XY."
|
||||
#elif !WITHIN(I2CPE_ENCODER_CNT, 1, 5)
|
||||
#error "I2CPE_ENCODER_CNT must be between 1 and 5."
|
||||
|
@ -468,11 +468,11 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#if ENABLED(BABYSTEPPING)
|
||||
#if ENABLED(SCARA)
|
||||
#error "BABYSTEPPING is not implemented for SCARA yet."
|
||||
#elif ENABLED(BABYSTEP_XY) && EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#elif ENABLED(BABYSTEP_XY) && ANY(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#error "BABYSTEPPING only implemented for Z axis on MarkForged."
|
||||
#elif BOTH(DELTA, BABYSTEP_XY)
|
||||
#elif ALL(DELTA, BABYSTEP_XY)
|
||||
#error "BABYSTEPPING only implemented for Z axis on deltabots."
|
||||
#elif BOTH(BABYSTEP_ZPROBE_OFFSET, MESH_BED_LEVELING)
|
||||
#elif ALL(BABYSTEP_ZPROBE_OFFSET, MESH_BED_LEVELING)
|
||||
#error "MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET is not a valid combination"
|
||||
#elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE
|
||||
#error "BABYSTEP_ZPROBE_OFFSET requires a probe."
|
||||
|
@ -482,7 +482,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#error "BABYSTEP_GFX_OVERLAY requires a BABYSTEP_ZPROBE_OFFSET."
|
||||
#elif ENABLED(BABYSTEP_HOTEND_Z_OFFSET) && !HAS_HOTEND_OFFSET
|
||||
#error "BABYSTEP_HOTEND_Z_OFFSET requires 2 or more HOTENDS."
|
||||
#elif BOTH(BABYSTEP_ALWAYS_AVAILABLE, MOVE_Z_WHEN_IDLE)
|
||||
#elif ALL(BABYSTEP_ALWAYS_AVAILABLE, MOVE_Z_WHEN_IDLE)
|
||||
#error "BABYSTEP_ALWAYS_AVAILABLE and MOVE_Z_WHEN_IDLE are incompatible."
|
||||
#elif !defined(BABYSTEP_MULTIPLICATOR_Z)
|
||||
#error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
|
||||
|
@ -520,21 +520,21 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#error "FIL_RUNOUT3_PIN is required with NUM_RUNOUT_SENSORS >= 3."
|
||||
#elif NUM_RUNOUT_SENSORS >= 2 && !PIN_EXISTS(FIL_RUNOUT2)
|
||||
#error "FIL_RUNOUT2_PIN is required with NUM_RUNOUT_SENSORS >= 2."
|
||||
#elif BOTH(FIL_RUNOUT1_PULLUP, FIL_RUNOUT1_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT1_PULLUP, FIL_RUNOUT1_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT1_PULLUP and FIL_RUNOUT1_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT2_PULLUP, FIL_RUNOUT2_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT2_PULLUP, FIL_RUNOUT2_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT2_PULLUP and FIL_RUNOUT2_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT3_PULLUP, FIL_RUNOUT3_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT3_PULLUP, FIL_RUNOUT3_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT3_PULLUP and FIL_RUNOUT3_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT4_PULLUP, FIL_RUNOUT4_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT4_PULLUP, FIL_RUNOUT4_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT4_PULLUP and FIL_RUNOUT4_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT5_PULLUP, FIL_RUNOUT5_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT5_PULLUP, FIL_RUNOUT5_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT5_PULLUP and FIL_RUNOUT5_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT6_PULLUP, FIL_RUNOUT6_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT6_PULLUP, FIL_RUNOUT6_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT6_PULLUP and FIL_RUNOUT6_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT7_PULLUP, FIL_RUNOUT7_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT7_PULLUP, FIL_RUNOUT7_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT7_PULLUP and FIL_RUNOUT7_PULLDOWN at the same time."
|
||||
#elif BOTH(FIL_RUNOUT8_PULLUP, FIL_RUNOUT8_PULLDOWN)
|
||||
#elif ALL(FIL_RUNOUT8_PULLUP, FIL_RUNOUT8_PULLDOWN)
|
||||
#error "You can't enable FIL_RUNOUT8_PULLUP and FIL_RUNOUT8_PULLDOWN at the same time."
|
||||
#elif FILAMENT_RUNOUT_DISTANCE_MM < 0
|
||||
#error "FILAMENT_RUNOUT_DISTANCE_MM must be greater than or equal to zero."
|
||||
|
@ -587,7 +587,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Individual axis homing is useless for DELTAS
|
||||
*/
|
||||
#if BOTH(INDIVIDUAL_AXIS_HOMING_MENU, DELTA)
|
||||
#if ALL(INDIVIDUAL_AXIS_HOMING_MENU, DELTA)
|
||||
#error "INDIVIDUAL_AXIS_HOMING_MENU is incompatible with DELTA kinematics."
|
||||
#endif
|
||||
|
||||
|
@ -691,7 +691,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* A Dual Nozzle carriage with switching servo
|
||||
*/
|
||||
#if BOTH(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
|
||||
#if ALL(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
|
||||
#error "Enable only one of SWITCHING_NOZZLE or MECHANICAL_SWITCHING_NOZZLE."
|
||||
#elif ENABLED(MECHANICAL_SWITCHING_NOZZLE)
|
||||
#if EXTRUDERS != 2
|
||||
|
@ -747,7 +747,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Single Stepper Dual Extruder with switching servo
|
||||
*/
|
||||
#if BOTH(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
|
||||
#if ALL(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
|
||||
#error "Enable only one of SWITCHING_EXTRUDER or MECHANICAL_SWITCHING_EXTRUDER."
|
||||
#elif ENABLED(MECHANICAL_SWITCHING_EXTRUDER)
|
||||
#if EXTRUDERS < 2
|
||||
|
@ -855,7 +855,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* (Magnetic) Parking Extruder requirements
|
||||
*/
|
||||
#if EITHER(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
|
||||
#if ANY(PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER)
|
||||
#if ENABLED(EXT_SOLENOID)
|
||||
#error "(MAGNETIC_)PARKING_EXTRUDER and EXT_SOLENOID are incompatible. (Pins are used twice.)"
|
||||
#elif EXTRUDERS != 2
|
||||
|
@ -913,7 +913,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Magnetic / Electromagnetic Switching Toolhead requirements
|
||||
*/
|
||||
#if EITHER(MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
|
||||
#if ANY(MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
|
||||
#ifndef SWITCHING_TOOLHEAD_Y_POS
|
||||
#error "(ELECTRO)?MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Y_POS"
|
||||
#elif !defined(SWITCHING_TOOLHEAD_X_POS)
|
||||
|
@ -983,7 +983,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Extruder temperature control algorithm - There can be only one!
|
||||
*/
|
||||
#if BOTH(PIDTEMP, MPCTEMP)
|
||||
#if ALL(PIDTEMP, MPCTEMP)
|
||||
#error "Only enable PIDTEMP or MPCTEMP, but not both."
|
||||
#undef MPCTEMP
|
||||
#undef MPC_AUTOTUNE
|
||||
|
@ -1007,7 +1007,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Bed Heating Options - PID vs Limit Switching
|
||||
*/
|
||||
#if BOTH(PIDTEMPBED, BED_LIMIT_SWITCHING)
|
||||
#if ALL(PIDTEMPBED, BED_LIMIT_SWITCHING)
|
||||
#error "To use BED_LIMIT_SWITCHING you must disable PIDTEMPBED."
|
||||
#endif
|
||||
|
||||
|
@ -1030,7 +1030,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Chamber Heating Options - PID vs Limit Switching
|
||||
*/
|
||||
#if BOTH(PIDTEMPCHAMBER, CHAMBER_LIMIT_SWITCHING)
|
||||
#if ALL(PIDTEMPCHAMBER, CHAMBER_LIMIT_SWITCHING)
|
||||
#error "To use CHAMBER_LIMIT_SWITCHING you must disable PIDTEMPCHAMBER."
|
||||
#endif
|
||||
|
||||
|
@ -1196,7 +1196,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Some things should not be used on Belt Printers
|
||||
*/
|
||||
#if BOTH(BELTPRINTER, HAS_LEVELING)
|
||||
#if ALL(BELTPRINTER, HAS_LEVELING)
|
||||
#error "Bed Leveling is not compatible with BELTPRINTER."
|
||||
#endif
|
||||
|
||||
|
@ -1218,7 +1218,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Z_PROBE_SLED is incompatible with DELTA
|
||||
*/
|
||||
#if BOTH(Z_PROBE_SLED, DELTA)
|
||||
#if ALL(Z_PROBE_SLED, DELTA)
|
||||
#error "You cannot use Z_PROBE_SLED with DELTA."
|
||||
#endif
|
||||
|
||||
|
@ -1361,7 +1361,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Mag mounted probe requirements
|
||||
*/
|
||||
#if BOTH(MAG_MOUNTED_PROBE, USE_PROBE_FOR_Z_HOMING) && DISABLED(Z_SAFE_HOMING)
|
||||
#if ALL(MAG_MOUNTED_PROBE, USE_PROBE_FOR_Z_HOMING) && DISABLED(Z_SAFE_HOMING)
|
||||
#error "MAG_MOUNTED_PROBE requires Z_SAFE_HOMING if it's being used to home Z."
|
||||
#endif
|
||||
|
||||
|
@ -1586,7 +1586,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(PREHEAT_BEFORE_PROBING, PREHEAT_BEFORE_LEVELING)
|
||||
#if ALL(PREHEAT_BEFORE_PROBING, PREHEAT_BEFORE_LEVELING)
|
||||
#error "Disable PREHEAT_BEFORE_LEVELING when using PREHEAT_BEFORE_PROBING."
|
||||
#endif
|
||||
|
||||
|
@ -1703,7 +1703,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Make sure DISABLE_[XYZ] compatible with selected homing options
|
||||
*/
|
||||
#if HAS_DISABLE_MAIN_AXES && EITHER(HOME_AFTER_DEACTIVATE, Z_SAFE_HOMING)
|
||||
#if HAS_DISABLE_MAIN_AXES && ANY(HOME_AFTER_DEACTIVATE, Z_SAFE_HOMING)
|
||||
#error "DISABLE_[XYZIJKUVW] is not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING."
|
||||
#endif
|
||||
|
||||
|
@ -1725,7 +1725,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#error "POWER_MONITOR_CURRENT requires a valid POWER_MONITOR_CURRENT_PIN."
|
||||
#elif ENABLED(POWER_MONITOR_VOLTAGE) && !PIN_EXISTS(POWER_MONITOR_VOLTAGE)
|
||||
#error "POWER_MONITOR_VOLTAGE requires POWER_MONITOR_VOLTAGE_PIN to be defined."
|
||||
#elif BOTH(POWER_MONITOR_CURRENT, POWER_MONITOR_VOLTAGE) && POWER_MONITOR_CURRENT_PIN == POWER_MONITOR_VOLTAGE_PIN
|
||||
#elif ALL(POWER_MONITOR_CURRENT, POWER_MONITOR_VOLTAGE) && POWER_MONITOR_CURRENT_PIN == POWER_MONITOR_VOLTAGE_PIN
|
||||
#error "POWER_MONITOR_CURRENT_PIN and POWER_MONITOR_VOLTAGE_PIN must be different."
|
||||
#endif
|
||||
|
||||
|
@ -1757,7 +1757,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#if ENABLED(SAV_3DGLCD)
|
||||
#if NONE(U8GLIB_SSD1306, U8GLIB_SH1106)
|
||||
#error "Enable a SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106."
|
||||
#elif BOTH(U8GLIB_SSD1306, U8GLIB_SH1106)
|
||||
#elif ALL(U8GLIB_SSD1306, U8GLIB_SH1106)
|
||||
#error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106."
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1841,7 +1841,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* Make sure FAN_*_PWM values are sensible
|
||||
*/
|
||||
#if EITHER(HAS_FAN, USE_CONTROLLER_FAN)
|
||||
#if ANY(HAS_FAN, USE_CONTROLLER_FAN)
|
||||
#if !WITHIN(FAN_MIN_PWM, 0, 255)
|
||||
#error "FAN_MIN_PWM must be a value from 0 to 255."
|
||||
#elif !WITHIN(FAN_MAX_PWM, 0, 255)
|
||||
|
@ -2047,7 +2047,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#elif !ANY_PIN(TEMP_0, TEMP_0_CS) && !TEMP_SENSOR_0_IS_DUMMY
|
||||
#error "TEMP_0_PIN or TEMP_0_CS_PIN not defined for this board."
|
||||
#endif
|
||||
#if EITHER(HAS_MULTI_HOTEND, HEATERS_PARALLEL) && !HAS_HEATER_1
|
||||
#if ANY(HAS_MULTI_HOTEND, HEATERS_PARALLEL) && !HAS_HEATER_1
|
||||
#error "HEATER_1_PIN is not defined. TEMP_SENSOR_1 might not be set, or the board (not EEB / EEF?) doesn't define a pin."
|
||||
#endif
|
||||
#if HAS_MULTI_HOTEND
|
||||
|
@ -2230,7 +2230,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
/**
|
||||
* FYSETC/MKS/BTT Mini Panel Requirements
|
||||
*/
|
||||
#if EITHER(FYSETC_242_OLED_12864, FYSETC_MINI_12864_2_1)
|
||||
#if ANY(FYSETC_242_OLED_12864, FYSETC_MINI_12864_2_1)
|
||||
#ifndef NEO_RGB
|
||||
#define NEO_RGB 123
|
||||
#define FAUX_RGB 1
|
||||
|
@ -2244,7 +2244,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#undef NEO_RGB
|
||||
#undef FAUX_RGB
|
||||
#endif
|
||||
#elif EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) && DISABLED(RGB_LED)
|
||||
#elif ANY(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) && DISABLED(RGB_LED)
|
||||
#error "Your FYSETC Mini Panel requires RGB_LED."
|
||||
#endif
|
||||
|
||||
|
@ -2354,12 +2354,12 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
// Z homing requirements
|
||||
#if Z_HOME_TO_MAX && ENABLED(USE_PROBE_FOR_Z_HOMING)
|
||||
#error "Z_HOME_DIR must be -1 when homing Z with the probe."
|
||||
#elif BOTH(HOMING_Z_WITH_PROBE, Z_MULTI_ENDSTOPS)
|
||||
#elif ALL(HOMING_Z_WITH_PROBE, Z_MULTI_ENDSTOPS)
|
||||
#error "Z_MULTI_ENDSTOPS is incompatible with USE_PROBE_FOR_Z_HOMING."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(HOME_Z_FIRST, USE_PROBE_FOR_Z_HOMING)
|
||||
#if ALL(HOME_Z_FIRST, USE_PROBE_FOR_Z_HOMING)
|
||||
#error "HOME_Z_FIRST can't be used when homing Z with a probe."
|
||||
#endif
|
||||
|
||||
|
@ -2498,21 +2498,21 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
* Fan check
|
||||
*/
|
||||
#if HAS_FANCHECK
|
||||
#if BOTH(E0_FAN_TACHO_PULLUP, E0_FAN_TACHO_PULLDOWN)
|
||||
#if ALL(E0_FAN_TACHO_PULLUP, E0_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E0_FAN_TACHO_PULLUP or E0_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E1_FAN_TACHO_PULLUP, E1_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E1_FAN_TACHO_PULLUP, E1_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E1_FAN_TACHO_PULLUP or E1_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E2_FAN_TACHO_PULLUP, E2_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E2_FAN_TACHO_PULLUP, E2_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E2_FAN_TACHO_PULLUP or E2_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E3_FAN_TACHO_PULLUP, E3_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E3_FAN_TACHO_PULLUP, E3_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E3_FAN_TACHO_PULLUP or E3_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E4_FAN_TACHO_PULLUP, E4_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E4_FAN_TACHO_PULLUP, E4_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E4_FAN_TACHO_PULLUP or E4_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E5_FAN_TACHO_PULLUP, E5_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E5_FAN_TACHO_PULLUP, E5_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E5_FAN_TACHO_PULLUP or E5_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E6_FAN_TACHO_PULLUP, E6_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E6_FAN_TACHO_PULLUP, E6_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E6_FAN_TACHO_PULLUP or E6_FAN_TACHO_PULLDOWN."
|
||||
#elif BOTH(E7_FAN_TACHO_PULLUP, E7_FAN_TACHO_PULLDOWN)
|
||||
#elif ALL(E7_FAN_TACHO_PULLUP, E7_FAN_TACHO_PULLDOWN)
|
||||
#error "Enable only one of E7_FAN_TACHO_PULLUP or E7_FAN_TACHO_PULLDOWN."
|
||||
#endif
|
||||
#elif ENABLED(AUTO_REPORT_FANS)
|
||||
|
@ -2640,7 +2640,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
|
||||
#if ENABLED(TFT_GENERIC) && NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
|
||||
#error "TFT_GENERIC requires either TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI interface."
|
||||
#elif BOTH(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
|
||||
#elif ALL(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
|
||||
#error "Please enable only one of TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI."
|
||||
#endif
|
||||
|
||||
|
@ -2664,7 +2664,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#error "GRAPHICAL_TFT_UPSCALE must be between 2 and 8."
|
||||
#endif
|
||||
|
||||
#if BOTH(CHIRON_TFT_STANDARD, CHIRON_TFT_NEW)
|
||||
#if ALL(CHIRON_TFT_STANDARD, CHIRON_TFT_NEW)
|
||||
#error "Please select only one of CHIRON_TFT_STANDARD or CHIRON_TFT_NEW."
|
||||
#endif
|
||||
|
||||
|
@ -2686,7 +2686,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
static_assert(strcmp(STRINGIFY(LCD_LANGUAGE_2), "zh_CN") == 0, "LCD_LANGUAGE_2 must be set to zh_CN for ANYCUBIC_LCD_VYPER.");
|
||||
#endif
|
||||
|
||||
#if EITHER(MKS_TS35_V2_0, BTT_TFT35_SPI_V1_0) && SD_CONNECTION_IS(LCD)
|
||||
#if ANY(MKS_TS35_V2_0, BTT_TFT35_SPI_V1_0) && SD_CONNECTION_IS(LCD)
|
||||
#error "SDCARD_CONNECTION cannot be set to LCD for the enabled TFT. No available SD card reader."
|
||||
#endif
|
||||
|
||||
|
@ -2696,25 +2696,25 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#if ENABLED(DWIN_CREALITY_LCD)
|
||||
#if !HAS_MEDIA
|
||||
#error "DWIN_CREALITY_LCD requires SDSUPPORT to be enabled."
|
||||
#elif EITHER(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
|
||||
#elif ANY(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
|
||||
#error "DWIN_CREALITY_LCD does not support PID_EDIT_MENU or PID_AUTOTUNE_MENU."
|
||||
#elif EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#elif ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#error "DWIN_CREALITY_LCD does not support MPC_EDIT_MENU or MPC_AUTOTUNE_MENU."
|
||||
#elif ENABLED(LCD_BED_TRAMMING)
|
||||
#error "DWIN_CREALITY_LCD does not support LCD_BED_TRAMMING."
|
||||
#elif BOTH(LCD_BED_LEVELING, PROBE_MANUALLY)
|
||||
#elif ALL(LCD_BED_LEVELING, PROBE_MANUALLY)
|
||||
#error "DWIN_CREALITY_LCD does not support LCD_BED_LEVELING with PROBE_MANUALLY."
|
||||
#endif
|
||||
#elif ENABLED(DWIN_LCD_PROUI)
|
||||
#if !HAS_MEDIA
|
||||
#error "DWIN_LCD_PROUI requires SDSUPPORT to be enabled."
|
||||
#elif EITHER(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
|
||||
#elif ANY(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
|
||||
#error "DWIN_LCD_PROUI does not support PID_EDIT_MENU or PID_AUTOTUNE_MENU."
|
||||
#elif EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#elif ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#error "DWIN_LCD_PROUI does not support MPC_EDIT_MENU or MPC_AUTOTUNE_MENU."
|
||||
#elif ENABLED(LCD_BED_TRAMMING)
|
||||
#error "DWIN_LCD_PROUI does not support LCD_BED_TRAMMING."
|
||||
#elif BOTH(LCD_BED_LEVELING, PROBE_MANUALLY)
|
||||
#elif ALL(LCD_BED_LEVELING, PROBE_MANUALLY)
|
||||
#error "DWIN_LCD_PROUI does not support LCD_BED_LEVELING with PROBE_MANUALLY."
|
||||
#endif
|
||||
#endif
|
||||
|
@ -2735,9 +2735,9 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
|
||||
// Startup Tune requirements
|
||||
#ifdef STARTUP_TUNE
|
||||
#if EITHER(ANYCUBIC_LCD_CHIRON, ANYCUBIC_LCD_VYPER)
|
||||
#if ANY(ANYCUBIC_LCD_CHIRON, ANYCUBIC_LCD_VYPER)
|
||||
#error "STARTUP_TUNE should be disabled with ANYCUBIC_LCD_CHIRON or ANYCUBIC_LCD_VYPER."
|
||||
#elif !(BOTH(HAS_BEEPER, SPEAKER) || USE_MARLINUI_BUZZER)
|
||||
#elif !(ALL(HAS_BEEPER, SPEAKER) || USE_MARLINUI_BUZZER)
|
||||
#error "STARTUP_TUNE requires a BEEPER_PIN with SPEAKER or USE_MARLINUI_BUZZER."
|
||||
#undef STARTUP_TUNE
|
||||
#endif
|
||||
|
@ -3232,7 +3232,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
|
||||
#endif // !SPI_ENDSTOPS
|
||||
|
||||
#if ENABLED(DELTA) && !BOTH(STEALTHCHOP_XY, STEALTHCHOP_Z)
|
||||
#if ENABLED(DELTA) && !ALL(STEALTHCHOP_XY, STEALTHCHOP_Z)
|
||||
#error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP_XY and STEALTHCHOP_Z."
|
||||
#elif ENDSTOP_NOISE_THRESHOLD
|
||||
#error "SENSORLESS_HOMING is incompatible with ENDSTOP_NOISE_THRESHOLD."
|
||||
|
@ -3262,7 +3262,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
#error "CoreXZ requires both X and Z to use sensorless homing if either one does."
|
||||
#elif CORE_IS_YZ && Y_SENSORLESS != Z_SENSORLESS && !HOMING_Z_WITH_PROBE
|
||||
#error "CoreYZ requires both Y and Z to use sensorless homing if either one does."
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX) && X_SENSORLESS != Y_SENSORLESS
|
||||
#elif ANY(MARKFORGED_XY, MARKFORGED_YX) && X_SENSORLESS != Y_SENSORLESS
|
||||
#error "MARKFORGED requires both X and Y to use sensorless homing if either one does."
|
||||
#endif
|
||||
|
||||
|
@ -3350,7 +3350,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L
|
|||
* Digipot requirement
|
||||
*/
|
||||
#if HAS_MOTOR_CURRENT_I2C
|
||||
#if BOTH(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#if ALL(DIGIPOT_MCP4018, DIGIPOT_MCP4451)
|
||||
#error "Enable only one of DIGIPOT_MCP4018 or DIGIPOT_MCP4451."
|
||||
#elif !MB(MKS_SBASE, AZTEEG_X5_GT, AZTEEG_X5_MINI, AZTEEG_X5_MINI_WIFI) \
|
||||
&& (!defined(DIGIPOTS_I2C_SDA_X) || !defined(DIGIPOTS_I2C_SDA_Y) || !defined(DIGIPOTS_I2C_SDA_Z) || !defined(DIGIPOTS_I2C_SDA_E0) || !defined(DIGIPOTS_I2C_SDA_E1))
|
||||
|
@ -3423,7 +3423,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#undef _PLUS_TEST
|
||||
#undef _EXTRA_NOTE
|
||||
|
||||
#if BOTH(CNC_COORDINATE_SYSTEMS, NO_WORKSPACE_OFFSETS)
|
||||
#if ALL(CNC_COORDINATE_SYSTEMS, NO_WORKSPACE_OFFSETS)
|
||||
#error "CNC_COORDINATE_SYSTEMS is incompatible with NO_WORKSPACE_OFFSETS."
|
||||
#endif
|
||||
|
||||
|
@ -3459,18 +3459,18 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(X_AXIS_TWIST_COMPENSATION, NOZZLE_AS_PROBE)
|
||||
#if ALL(X_AXIS_TWIST_COMPENSATION, NOZZLE_AS_PROBE)
|
||||
#error "X_AXIS_TWIST_COMPENSATION is incompatible with NOZZLE_AS_PROBE."
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
#if ENABLED(BACKUP_POWER_SUPPLY) && !PIN_EXISTS(POWER_LOSS)
|
||||
#error "BACKUP_POWER_SUPPLY requires a POWER_LOSS_PIN."
|
||||
#elif BOTH(POWER_LOSS_PULLUP, POWER_LOSS_PULLDOWN)
|
||||
#elif ALL(POWER_LOSS_PULLUP, POWER_LOSS_PULLDOWN)
|
||||
#error "You can't enable POWER_LOSS_PULLUP and POWER_LOSS_PULLDOWN at the same time."
|
||||
#elif ENABLED(POWER_LOSS_RECOVER_ZHOME) && Z_HOME_TO_MAX
|
||||
#error "POWER_LOSS_RECOVER_ZHOME is not needed on a machine that homes to ZMAX."
|
||||
#elif BOTH(IS_CARTESIAN, POWER_LOSS_RECOVER_ZHOME) && Z_HOME_TO_MIN && !defined(POWER_LOSS_ZHOME_POS)
|
||||
#elif ALL(IS_CARTESIAN, POWER_LOSS_RECOVER_ZHOME) && Z_HOME_TO_MIN && !defined(POWER_LOSS_ZHOME_POS)
|
||||
#error "POWER_LOSS_RECOVER_ZHOME requires POWER_LOSS_ZHOME_POS for a Cartesian that homes to ZMIN."
|
||||
#endif
|
||||
#endif
|
||||
|
@ -3532,7 +3532,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#error "BACKLASH_COMPENSATION requires BACKLASH_DISTANCE_MM."
|
||||
#elif !defined(BACKLASH_CORRECTION)
|
||||
#error "BACKLASH_COMPENSATION requires BACKLASH_CORRECTION."
|
||||
#elif EITHER(MARKFORGED_XY, MARKFORGED_YX)
|
||||
#elif ANY(MARKFORGED_XY, MARKFORGED_YX)
|
||||
constexpr float backlash_arr[] = BACKLASH_DISTANCE_MM;
|
||||
static_assert(!backlash_arr[CORE_AXIS_1] && !backlash_arr[CORE_AXIS_2],
|
||||
"BACKLASH_COMPENSATION can only apply to " STRINGIFY(NORMAL_AXIS) " on a MarkForged system.");
|
||||
|
@ -3582,7 +3582,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
/**
|
||||
* Require soft endstops for certain setups
|
||||
*/
|
||||
#if !BOTH(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
#if !ALL(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
#error "DUAL_X_CARRIAGE requires both MIN_ and MAX_SOFTWARE_ENDSTOPS."
|
||||
#elif HAS_HOTEND_OFFSET
|
||||
|
@ -3643,7 +3643,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#endif
|
||||
|
||||
#define _PIN_CONFLICT(P) (PIN_EXISTS(P) && P##_PIN == SPINDLE_LASER_PWM_PIN)
|
||||
#if BOTH(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#if ALL(SPINDLE_FEATURE, LASER_FEATURE)
|
||||
#error "Enable only one of SPINDLE_FEATURE or LASER_FEATURE."
|
||||
#elif NONE(SPINDLE_SERVO, SPINDLE_LASER_USE_PWM) && !PIN_EXISTS(SPINDLE_LASER_ENA)
|
||||
#error "(SPINDLE|LASER)_FEATURE requires SPINDLE_LASER_ENA_PIN, SPINDLE_LASER_USE_PWM, or SPINDLE_SERVO to control the power."
|
||||
|
@ -3792,7 +3792,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#error "ESP3D_WIFISUPPORT requires an ESP32 MOTHERBOARD."
|
||||
#elif ENABLED(WEBSUPPORT) && NONE(ARDUINO_ARCH_ESP32, WIFISUPPORT)
|
||||
#error "WEBSUPPORT requires WIFISUPPORT and an ESP32 MOTHERBOARD."
|
||||
#elif BOTH(ESP3D_WIFISUPPORT, WIFISUPPORT)
|
||||
#elif ALL(ESP3D_WIFISUPPORT, WIFISUPPORT)
|
||||
#error "Enable only one of ESP3D_WIFISUPPORT or WIFISUPPORT."
|
||||
#endif
|
||||
|
||||
|
@ -3810,14 +3810,14 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
/**
|
||||
* Sanity Check for MEATPACK and BINARY_FILE_TRANSFER Features
|
||||
*/
|
||||
#if BOTH(HAS_MEATPACK, BINARY_FILE_TRANSFER)
|
||||
#if ALL(HAS_MEATPACK, BINARY_FILE_TRANSFER)
|
||||
#error "Either enable MEATPACK_ON_SERIAL_PORT_* or BINARY_FILE_TRANSFER, not both."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Sanity Check for Slim LCD Menus and Probe Offset Wizard
|
||||
*/
|
||||
#if BOTH(SLIM_LCD_MENUS, PROBE_OFFSET_WIZARD)
|
||||
#if ALL(SLIM_LCD_MENUS, PROBE_OFFSET_WIZARD)
|
||||
#error "SLIM_LCD_MENUS disables \"Advanced Settings > Probe Offsets > PROBE_OFFSET_WIZARD.\""
|
||||
#endif
|
||||
|
||||
|
@ -3854,7 +3854,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
/**
|
||||
* Sanity check for MIXING_EXTRUDER & DISTINCT_E_FACTORS these are not compatible
|
||||
*/
|
||||
#if BOTH(MIXING_EXTRUDER, DISTINCT_E_FACTORS)
|
||||
#if ALL(MIXING_EXTRUDER, DISTINCT_E_FACTORS)
|
||||
#error "MIXING_EXTRUDER can't be used with DISTINCT_E_FACTORS. But you may use SINGLENOZZLE with DISTINCT_E_FACTORS."
|
||||
#endif
|
||||
|
||||
|
@ -3988,7 +3988,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#endif
|
||||
|
||||
// Check requirements for upload.py
|
||||
#if ENABLED(XFER_BUILD) && !BOTH(BINARY_FILE_TRANSFER, CUSTOM_FIRMWARE_UPLOAD)
|
||||
#if ENABLED(XFER_BUILD) && !ALL(BINARY_FILE_TRANSFER, CUSTOM_FIRMWARE_UPLOAD)
|
||||
#error "BINARY_FILE_TRANSFER and CUSTOM_FIRMWARE_UPLOAD are required for custom upload."
|
||||
#endif
|
||||
|
||||
|
@ -4008,12 +4008,12 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
|
|||
#error "Input Shaping is not compatible with POLARGRAPH kinematics."
|
||||
#elif ENABLED(DIRECT_STEPPING)
|
||||
#error "Input Shaping is not compatible with DIRECT_STEPPING."
|
||||
#elif BOTH(INPUT_SHAPING_X, CORE_IS_XZ)
|
||||
#elif ALL(INPUT_SHAPING_X, CORE_IS_XZ)
|
||||
#error "INPUT_SHAPING_X is not supported with COREXZ."
|
||||
#elif BOTH(INPUT_SHAPING_Y, CORE_IS_YZ)
|
||||
#elif ALL(INPUT_SHAPING_Y, CORE_IS_YZ)
|
||||
#error "INPUT_SHAPING_Y is not supported with COREYZ."
|
||||
#elif ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
||||
#if !BOTH(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#if !ALL(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#error "INPUT_SHAPING_X and INPUT_SHAPING_Y must both be enabled for COREXY, COREYX, or MARKFORGED_*."
|
||||
#else
|
||||
static_assert(SHAPING_FREQ_X == SHAPING_FREQ_Y, "SHAPING_FREQ_X and SHAPING_FREQ_Y must be the same for COREXY / COREYX / MARKFORGED_*.");
|
||||
|
|
|
@ -687,17 +687,17 @@
|
|||
/**
|
||||
* FYSETC/MKS/BTT Mini Panel backlighting
|
||||
*/
|
||||
#if EITHER(FYSETC_242_OLED_12864, FYSETC_MINI_12864_2_1) && !ALL(NEOPIXEL_LED, LED_CONTROL_MENU, LED_USER_PRESET_STARTUP, LED_COLOR_PRESETS)
|
||||
#if ANY(FYSETC_242_OLED_12864, FYSETC_MINI_12864_2_1) && !ALL(NEOPIXEL_LED, LED_CONTROL_MENU, LED_USER_PRESET_STARTUP, LED_COLOR_PRESETS)
|
||||
#warning "Your FYSETC/MKS/BTT Mini Panel works best with NEOPIXEL_LED, LED_CONTROL_MENU, LED_USER_PRESET_STARTUP, and LED_COLOR_PRESETS."
|
||||
#endif
|
||||
|
||||
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) && DISABLED(RGB_LED)
|
||||
#if ANY(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) && DISABLED(RGB_LED)
|
||||
#warning "Your FYSETC Mini Panel works best with RGB_LED."
|
||||
#elif EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1) && DISABLED(LED_USER_PRESET_STARTUP)
|
||||
#elif ANY(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1) && DISABLED(LED_USER_PRESET_STARTUP)
|
||||
#warning "Your FYSETC Mini Panel works best with LED_USER_PRESET_STARTUP."
|
||||
#endif
|
||||
|
||||
#if EITHER(FYSETC_242_OLED_12864, FYSETC_MINI_12864) && BOTH(PSU_CONTROL, HAS_COLOR_LEDS) && !LED_POWEROFF_TIMEOUT
|
||||
#if ANY(FYSETC_242_OLED_12864, FYSETC_MINI_12864) && ALL(PSU_CONTROL, HAS_COLOR_LEDS) && !LED_POWEROFF_TIMEOUT
|
||||
#warning "Your FYSETC display with PSU_CONTROL works best with LED_POWEROFF_TIMEOUT."
|
||||
#endif
|
||||
|
||||
|
@ -739,7 +739,7 @@
|
|||
/**
|
||||
* POLAR warnings
|
||||
*/
|
||||
#if BOTH(POLAR, S_CURVE_ACCELERATION)
|
||||
#if ALL(POLAR, S_CURVE_ACCELERATION)
|
||||
#warning "POLAR kinematics may not work well with S_CURVE_ACCELERATION."
|
||||
#endif
|
||||
|
||||
|
|
|
@ -41,12 +41,12 @@
|
|||
#include "../../module/planner.h"
|
||||
#include "../../module/motion.h"
|
||||
|
||||
#if DISABLED(LCD_PROGRESS_BAR) && BOTH(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#if DISABLED(LCD_PROGRESS_BAR) && ALL(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#include "../../feature/filwidth.h"
|
||||
#include "../../gcode/parser.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#if ANY(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#include "../../feature/cooler.h"
|
||||
#endif
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_I2C_PIN_EN, LCD_I2C_PIN_RW, LCD_I2C_PIN_RS, LCD_I2C_PIN_D4, LCD_I2C_PIN_D5, LCD_I2C_PIN_D6, LCD_I2C_PIN_D7);
|
||||
|
||||
#elif EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008)
|
||||
#elif ANY(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008)
|
||||
|
||||
LCD_CLASS lcd(LCD_I2C_ADDRESS OPTARG(DETECT_I2C_LCD_DEVICE, 1));
|
||||
|
||||
|
@ -305,7 +305,7 @@ void MarlinUI::set_custom_characters(const HD44780CharSet screen_charset/*=CHARS
|
|||
|
||||
#endif // LCD_PROGRESS_BAR
|
||||
|
||||
#if BOTH(HAS_MEDIA, HAS_MARLINUI_MENU)
|
||||
#if ALL(HAS_MEDIA, HAS_MARLINUI_MENU)
|
||||
|
||||
// CHARSET_MENU
|
||||
const static PROGMEM byte refresh[8] = {
|
||||
|
@ -355,7 +355,7 @@ void MarlinUI::set_custom_characters(const HD44780CharSet screen_charset/*=CHARS
|
|||
#endif
|
||||
{
|
||||
createChar_P(LCD_STR_UPLEVEL[0], uplevel);
|
||||
#if BOTH(HAS_MEDIA, HAS_MARLINUI_MENU)
|
||||
#if ALL(HAS_MEDIA, HAS_MARLINUI_MENU)
|
||||
// SD Card sub-menu special characters
|
||||
createChar_P(LCD_STR_REFRESH[0], refresh);
|
||||
createChar_P(LCD_STR_FOLDER[0], folder);
|
||||
|
@ -713,7 +713,7 @@ void MarlinUI::draw_status_message(const bool blink) {
|
|||
if (progress > 2) return draw_progress_bar(progress);
|
||||
}
|
||||
|
||||
#elif BOTH(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#elif ALL(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
|
||||
// Alternate Status message and Filament display
|
||||
if (ELAPSED(millis(), next_filament_display)) {
|
||||
|
@ -1046,7 +1046,7 @@ void MarlinUI::draw_status_screen() {
|
|||
uint16_t per;
|
||||
#if HAS_FAN0
|
||||
if (true
|
||||
#if BOTH(HAS_EXTRUDERS, ADAPTIVE_FAN_SLOWING)
|
||||
#if ALL(HAS_EXTRUDERS, ADAPTIVE_FAN_SLOWING)
|
||||
&& (blink || thermalManager.fan_speed_scaler[0] < 128)
|
||||
#endif
|
||||
) {
|
||||
|
|
|
@ -52,12 +52,12 @@
|
|||
#include "../../module/planner.h"
|
||||
#include "../../module/motion.h"
|
||||
|
||||
#if DISABLED(LCD_PROGRESS_BAR) && BOTH(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#if DISABLED(LCD_PROGRESS_BAR) && ALL(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#include "../../feature/filwidth.h"
|
||||
#include "../../gcode/parser.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#if ANY(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#include "../../feature/cooler.h"
|
||||
#endif
|
||||
|
||||
|
@ -141,7 +141,7 @@ static uint8_t PanelDetected = 0;
|
|||
#if ANY(__AVR__, TARGET_LPC1768, __STM32F1__, ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__)
|
||||
#define SPI_SEND_ONE(V) SPI.transfer(V);
|
||||
#define SPI_SEND_TWO(V) SPI.transfer16(V);
|
||||
#elif EITHER(STM32F4xx, STM32F1xx)
|
||||
#elif ANY(STM32F4xx, STM32F1xx)
|
||||
#define SPI_SEND_ONE(V) SPI.transfer(V, SPI_CONTINUE);
|
||||
#define SPI_SEND_TWO(V) SPI.transfer16(V, SPI_CONTINUE);
|
||||
#elif defined(ARDUINO_ARCH_ESP32)
|
||||
|
@ -151,7 +151,7 @@ static uint8_t PanelDetected = 0;
|
|||
|
||||
#if ANY(__AVR__, ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__)
|
||||
#define SPI_SEND_SOME(V,L,Z) SPI.transfer(&V[Z], L);
|
||||
#elif EITHER(STM32F4xx, STM32F1xx)
|
||||
#elif ANY(STM32F4xx, STM32F1xx)
|
||||
#define SPI_SEND_SOME(V,L,Z) SPI.transfer(&V[Z], L, SPI_CONTINUE);
|
||||
#elif ANY(TARGET_LPC1768, __STM32F1__, ARDUINO_ARCH_ESP32)
|
||||
#define SPI_SEND_SOME(V,L,Z) do{ for (uint16_t i = 0; i < L; i++) SPI_SEND_ONE(V[(Z)+i]); }while(0)
|
||||
|
@ -290,7 +290,7 @@ uint8_t MarlinUI::read_slow_buttons() {
|
|||
Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, 2, 0, 0, 1);
|
||||
#elif defined(STM32F1)
|
||||
Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, (uint8_t)2);
|
||||
#elif EITHER(STM32F4xx, TARGET_LPC1768)
|
||||
#elif ANY(STM32F4xx, TARGET_LPC1768)
|
||||
Wire.requestFrom(LCD_I2C_ADDRESS, 2);
|
||||
#endif
|
||||
encoderDiff += Wire.read();
|
||||
|
@ -672,7 +672,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
|
|||
void MarlinUI::draw_status_message(const bool blink) {
|
||||
if (!PanelDetected) return;
|
||||
lcd_moveto(0, 3);
|
||||
#if BOTH(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#if ALL(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
|
||||
// Alternate Status message and Filament display
|
||||
if (ELAPSED(millis(), next_filament_display)) {
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#define HAS_SLOW_BUTTONS 1
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_DIGITAL_BUTTONS, HAS_DWIN_E3V2)
|
||||
#if ANY(HAS_DIGITAL_BUTTONS, HAS_DWIN_E3V2)
|
||||
// Wheel spin pins where BA is 00, 10, 11, 01 (1 bit always changes)
|
||||
#define BLEN_A 0
|
||||
#define BLEN_B 1
|
||||
|
@ -149,7 +149,7 @@
|
|||
#ifndef EN_C
|
||||
#define EN_C 0
|
||||
#endif
|
||||
#if BUTTON_EXISTS(BACK) || EITHER(HAS_TOUCH_BUTTONS, IS_TFTGLCD_PANEL)
|
||||
#if BUTTON_EXISTS(BACK) || ANY(HAS_TOUCH_BUTTONS, IS_TFTGLCD_PANEL)
|
||||
#define BLEN_D 3
|
||||
#define EN_D _BV(BLEN_D)
|
||||
#else
|
||||
|
|
|
@ -143,7 +143,7 @@
|
|||
// Can also be overridden in Configuration_adv.h
|
||||
// If you can afford it, try the 3-frame fan animation!
|
||||
// Don't compile in the fan animation with no fan
|
||||
#if !HAS_FAN0 || (HOTENDS == 5 || (HOTENDS == 4 && BED_OR_CHAMBER) || BOTH(STATUS_COMBINE_HEATERS, HAS_HEATED_CHAMBER))
|
||||
#if !HAS_FAN0 || (HOTENDS == 5 || (HOTENDS == 4 && BED_OR_CHAMBER) || ALL(STATUS_COMBINE_HEATERS, HAS_HEATED_CHAMBER))
|
||||
#undef STATUS_FAN_FRAMES
|
||||
#elif !STATUS_FAN_FRAMES
|
||||
#define STATUS_FAN_FRAMES 2
|
||||
|
@ -253,7 +253,7 @@
|
|||
((STATUS_CHAMBER_WIDTH || STATUS_FAN_WIDTH || STATUS_BED_WIDTH) && STATUS_HOTEND_BITMAPS == 4)
|
||||
#define STATUS_HEATERS_X 5
|
||||
#else
|
||||
#if BOTH(STATUS_COMBINE_HEATERS, HAS_HEATED_BED) && HOTENDS <= 4
|
||||
#if ALL(STATUS_COMBINE_HEATERS, HAS_HEATED_BED) && HOTENDS <= 4
|
||||
#define STATUS_HEATERS_X 5
|
||||
#else
|
||||
#define STATUS_HEATERS_X 8 // Like the included bitmaps
|
||||
|
@ -742,22 +742,22 @@
|
|||
#if HAS_FAN0 && STATUS_FAN_WIDTH && HOTENDS <= 4 && defined(STATUS_FAN_FRAMES)
|
||||
#define DO_DRAW_FAN 1
|
||||
#endif
|
||||
#if BOTH(HAS_HOTEND, STATUS_HOTEND_ANIM)
|
||||
#if ALL(HAS_HOTEND, STATUS_HOTEND_ANIM)
|
||||
#define ANIM_HOTEND 1
|
||||
#endif
|
||||
#if BOTH(DO_DRAW_BED, STATUS_BED_ANIM)
|
||||
#if ALL(DO_DRAW_BED, STATUS_BED_ANIM)
|
||||
#define ANIM_BED 1
|
||||
#endif
|
||||
#if BOTH(DO_DRAW_CHAMBER, STATUS_CHAMBER_ANIM)
|
||||
#if ALL(DO_DRAW_CHAMBER, STATUS_CHAMBER_ANIM)
|
||||
#define ANIM_CHAMBER 1
|
||||
#endif
|
||||
#if BOTH(DO_DRAW_CUTTER, STATUS_CUTTER_ANIM)
|
||||
#if ALL(DO_DRAW_CUTTER, STATUS_CUTTER_ANIM)
|
||||
#define ANIM_CUTTER 1
|
||||
#endif
|
||||
#if BOTH(DO_DRAW_COOLER, STATUS_COOLER_ANIM)
|
||||
#if ALL(DO_DRAW_COOLER, STATUS_COOLER_ANIM)
|
||||
#define ANIM_COOLER 1
|
||||
#endif
|
||||
#if BOTH(DO_DRAW_FLOWMETER, STATUS_FLOWMETER_ANIM)
|
||||
#if ALL(DO_DRAW_FLOWMETER, STATUS_FLOWMETER_ANIM)
|
||||
#define ANIM_FLOWMETER 1
|
||||
#endif
|
||||
#if ANIM_HOTEND || ANIM_BED || ANIM_CHAMBER || ANIM_CUTTER
|
||||
|
|
|
@ -645,7 +645,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
|
|||
|
||||
#endif // AUTO_BED_LEVELING_UBL
|
||||
|
||||
#if EITHER(BABYSTEP_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY)
|
||||
#if ANY(BABYSTEP_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY)
|
||||
|
||||
//
|
||||
// Draw knob rotation => Z motion key for:
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
#define U8G_CLASS U8GLIB_SSD1306_128X64 // 8 stripes
|
||||
#endif
|
||||
|
||||
#elif EITHER(FYSETC_242_OLED_12864, K3D_242_OLED_CONTROLLER)
|
||||
#elif ANY(FYSETC_242_OLED_12864, K3D_242_OLED_CONTROLLER)
|
||||
|
||||
// FYSETC OLED 2.42" 128 × 64 Full Graphics Controller
|
||||
// or K3D OLED 2.42" 128 × 64 Full Graphics Controller
|
||||
|
@ -151,7 +151,7 @@
|
|||
#define U8G_CLASS U8GLIB_SH1306_128X64 // 8 stripes
|
||||
#endif
|
||||
|
||||
#elif EITHER(MKS_12864OLED, ZONESTAR_12864OLED)
|
||||
#elif ANY(MKS_12864OLED, ZONESTAR_12864OLED)
|
||||
|
||||
// MKS 128x64 (SH1106) OLED I2C LCD
|
||||
// - or -
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
#include "../../feature/spindle_laser.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#if ANY(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||
#include "../../feature/cooler.h"
|
||||
#endif
|
||||
|
||||
|
@ -127,7 +127,7 @@
|
|||
#define MAX_HOTEND_DRAW _MIN(HOTENDS, ((LCD_PIXEL_WIDTH - (STATUS_LOGO_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8) / (STATUS_HEATERS_XSPACE)))
|
||||
#endif
|
||||
|
||||
#if EITHER(DO_DRAW_BED, DO_DRAW_HOTENDS)
|
||||
#if ANY(DO_DRAW_BED, DO_DRAW_HOTENDS)
|
||||
#define STATUS_HEATERS_BOT (STATUS_HEATERS_Y + STATUS_HEATERS_HEIGHT - 1)
|
||||
#endif
|
||||
|
||||
|
@ -457,7 +457,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
|
|||
}
|
||||
|
||||
// Prepare strings for progress display
|
||||
#if EITHER(HAS_EXTRA_PROGRESS, HAS_PRINT_PROGRESS)
|
||||
#if ANY(HAS_EXTRA_PROGRESS, HAS_PRINT_PROGRESS)
|
||||
static MarlinUI::progress_t progress = 0;
|
||||
static char bufferc[13];
|
||||
#endif
|
||||
|
@ -512,7 +512,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
|
|||
void MarlinUI::draw_status_screen() {
|
||||
#if NUM_AXES
|
||||
constexpr int xystorage = TERN(INCH_MODE_SUPPORT, 8, 5);
|
||||
#if EITHER(HAS_X_AXIS, LCD_SHOW_E_TOTAL)
|
||||
#if ANY(HAS_X_AXIS, LCD_SHOW_E_TOTAL)
|
||||
static char xstring[TERN(LCD_SHOW_E_TOTAL, 12, xystorage)];
|
||||
#endif
|
||||
#if HAS_Y_AXIS
|
||||
|
@ -612,7 +612,7 @@ void MarlinUI::draw_status_screen() {
|
|||
|
||||
#if DO_DRAW_BED && DISABLED(STATUS_COMBINE_HEATERS)
|
||||
#if ANIM_BED
|
||||
#if BOTH(HAS_LEVELING, STATUS_ALT_BED_BITMAP)
|
||||
#if ALL(HAS_LEVELING, STATUS_ALT_BED_BITMAP)
|
||||
#define BED_BITMAP(S) ((S) \
|
||||
? (planner.leveling_active ? status_bed_leveled_on_bmp : status_bed_on_bmp) \
|
||||
: (planner.leveling_active ? status_bed_leveled_bmp : status_bed_bmp))
|
||||
|
@ -783,7 +783,7 @@ void MarlinUI::draw_status_screen() {
|
|||
// XYZ Coordinates
|
||||
//
|
||||
|
||||
#if EITHER(XYZ_NO_FRAME, XYZ_HOLLOW_FRAME)
|
||||
#if ANY(XYZ_NO_FRAME, XYZ_HOLLOW_FRAME)
|
||||
#define XYZ_FRAME_TOP 29
|
||||
#define XYZ_FRAME_HEIGHT INFO_FONT_ASCENT + 3
|
||||
#else
|
||||
|
@ -890,7 +890,7 @@ void MarlinUI::draw_status_screen() {
|
|||
if (PAGE_CONTAINS(STATUS_BASELINE - INFO_FONT_ASCENT, STATUS_BASELINE + INFO_FONT_DESCENT)) {
|
||||
lcd_moveto(0, STATUS_BASELINE);
|
||||
|
||||
#if BOTH(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
#if ALL(FILAMENT_LCD_DISPLAY, HAS_MEDIA)
|
||||
// Alternate Status message and Filament display
|
||||
if (ELAPSED(millis(), next_filament_display)) {
|
||||
lcd_put_u8str(F(LCD_STR_FILAM_DIA));
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
#include "../../../module/probe.h"
|
||||
#endif
|
||||
|
||||
#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#if ANY(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#include "../../../feature/babystep.h"
|
||||
#endif
|
||||
|
||||
|
@ -201,7 +201,7 @@ void HMI_SetLanguageCache() {
|
|||
}
|
||||
|
||||
void HMI_SetLanguage() {
|
||||
#if BOTH(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
#if ALL(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language));
|
||||
#endif
|
||||
HMI_SetLanguageCache();
|
||||
|
@ -210,7 +210,7 @@ void HMI_SetLanguage() {
|
|||
void HMI_ToggleLanguage() {
|
||||
HMI_flag.language = HMI_IsChinese() ? DWIN_ENGLISH : DWIN_CHINESE;
|
||||
HMI_SetLanguageCache();
|
||||
#if BOTH(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
#if ALL(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language));
|
||||
#endif
|
||||
}
|
||||
|
@ -475,7 +475,7 @@ void Draw_Back_First(const bool is_sel=true) {
|
|||
#define PREPARE_CASE_ZOFF (PREPARE_CASE_HOME + ENABLED(HAS_ZOFFSET_ITEM))
|
||||
#define PREPARE_CASE_PLA (PREPARE_CASE_ZOFF + ENABLED(HAS_PREHEAT))
|
||||
#define PREPARE_CASE_ABS (PREPARE_CASE_PLA + (TERN0(HAS_PREHEAT, PREHEAT_COUNT > 1)))
|
||||
#define PREPARE_CASE_COOL (PREPARE_CASE_ABS + EITHER(HAS_HOTEND, HAS_HEATED_BED))
|
||||
#define PREPARE_CASE_COOL (PREPARE_CASE_ABS + ANY(HAS_HOTEND, HAS_HEATED_BED))
|
||||
#define PREPARE_CASE_LANG (PREPARE_CASE_COOL + 1)
|
||||
#define PREPARE_CASE_TOTAL PREPARE_CASE_LANG
|
||||
|
||||
|
@ -1375,7 +1375,7 @@ void HMI_Move_Z() {
|
|||
LIMIT(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MIN) * 100, (Z_PROBE_OFFSET_RANGE_MAX) * 100);
|
||||
last_zoffset = dwin_zoffset;
|
||||
dwin_zoffset = HMI_ValueStruct.offset_value / 100.0f;
|
||||
#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#if ANY(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
if (BABYSTEP_ALLOWED()) babystep.add_mm(Z_AXIS, dwin_zoffset - last_zoffset);
|
||||
#endif
|
||||
Draw_Edit_Signed_Float2(zoff_line, HMI_ValueStruct.offset_value, true);
|
||||
|
@ -2291,10 +2291,10 @@ void HMI_Printing() {
|
|||
char cmd[40];
|
||||
cmd[0] = '\0';
|
||||
|
||||
#if BOTH(HAS_HEATED_BED, PAUSE_HEAT)
|
||||
#if ALL(HAS_HEATED_BED, PAUSE_HEAT)
|
||||
if (resume_bed_temp) sprintf_P(cmd, PSTR("M190 S%i\n"), resume_bed_temp);
|
||||
#endif
|
||||
#if BOTH(HAS_HOTEND, PAUSE_HEAT)
|
||||
#if ALL(HAS_HOTEND, PAUSE_HEAT)
|
||||
if (resume_hotend_temp) sprintf_P(&cmd[strlen(cmd)], PSTR("M109 S%i\n"), resume_hotend_temp);
|
||||
#endif
|
||||
|
||||
|
@ -2701,7 +2701,7 @@ void HMI_Prepare() {
|
|||
|
||||
#if HAS_ZOFFSET_ITEM
|
||||
case PREPARE_CASE_ZOFF:
|
||||
#if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
||||
#if ANY(HAS_BED_PROBE, BABYSTEPPING)
|
||||
checkkey = Homeoffset;
|
||||
HMI_ValueStruct.show_mode = -4;
|
||||
HMI_ValueStruct.offset_value = BABY_Z_VAR * 100;
|
||||
|
@ -3780,7 +3780,7 @@ void HMI_Tune() {
|
|||
#endif
|
||||
#if HAS_ZOFFSET_ITEM
|
||||
case TUNE_CASE_ZOFF: // Z-offset
|
||||
#if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
||||
#if ANY(HAS_BED_PROBE, BABYSTEPPING)
|
||||
checkkey = Homeoffset;
|
||||
HMI_ValueStruct.offset_value = BABY_Z_VAR * 100;
|
||||
Draw_Edit_Signed_Float2(TUNE_CASE_ZOFF + MROWS - index_tune, HMI_ValueStruct.offset_value, true);
|
||||
|
@ -4240,7 +4240,7 @@ void DWIN_HandleScreen() {
|
|||
case Extruder: HMI_Move_E(); break;
|
||||
case ETemp: HMI_ETemp(); break;
|
||||
#endif
|
||||
#if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
||||
#if ANY(HAS_BED_PROBE, BABYSTEPPING)
|
||||
case Homeoffset: HMI_Zoffset(); break;
|
||||
#endif
|
||||
#if HAS_HEATED_BED
|
||||
|
|
|
@ -1104,7 +1104,7 @@ void CrealityDWINClass::Menu_Item_Handler(const uint8_t menu, const uint8_t item
|
|||
#define PREPARE_MANUALLEVEL (PREPARE_HOME + 1)
|
||||
#define PREPARE_ZOFFSET (PREPARE_MANUALLEVEL + ENABLED(HAS_ZOFFSET_ITEM))
|
||||
#define PREPARE_PREHEAT (PREPARE_ZOFFSET + ENABLED(HAS_PREHEAT))
|
||||
#define PREPARE_COOLDOWN (PREPARE_PREHEAT + EITHER(HAS_HOTEND, HAS_HEATED_BED))
|
||||
#define PREPARE_COOLDOWN (PREPARE_PREHEAT + ANY(HAS_HOTEND, HAS_HEATED_BED))
|
||||
#define PREPARE_CHANGEFIL (PREPARE_COOLDOWN + ENABLED(ADVANCED_PAUSE_FEATURE))
|
||||
#define PREPARE_CUSTOM_MENU (PREPARE_CHANGEFIL + ENABLED(HAS_CUSTOM_MENU))
|
||||
#define PREPARE_TOTAL PREPARE_CUSTOM_MENU
|
||||
|
@ -3081,7 +3081,7 @@ void CrealityDWINClass::Menu_Item_Handler(const uint8_t menu, const uint8_t item
|
|||
|
||||
#define LEVELING_BACK 0
|
||||
#define LEVELING_ACTIVE (LEVELING_BACK + 1)
|
||||
#define LEVELING_GET_TILT (LEVELING_ACTIVE + BOTH(HAS_BED_PROBE, AUTO_BED_LEVELING_UBL))
|
||||
#define LEVELING_GET_TILT (LEVELING_ACTIVE + ALL(HAS_BED_PROBE, AUTO_BED_LEVELING_UBL))
|
||||
#define LEVELING_GET_MESH (LEVELING_GET_TILT + 1)
|
||||
#define LEVELING_MANUAL (LEVELING_GET_MESH + 1)
|
||||
#define LEVELING_VIEW (LEVELING_MANUAL + 1)
|
||||
|
@ -3116,7 +3116,7 @@ void CrealityDWINClass::Menu_Item_Handler(const uint8_t menu, const uint8_t item
|
|||
Draw_Checkbox(row, planner.leveling_active);
|
||||
}
|
||||
break;
|
||||
#if BOTH(HAS_BED_PROBE, AUTO_BED_LEVELING_UBL)
|
||||
#if ALL(HAS_BED_PROBE, AUTO_BED_LEVELING_UBL)
|
||||
case LEVELING_GET_TILT:
|
||||
if (draw)
|
||||
Draw_Menu_Item(row, ICON_Tilt, F("Autotilt Current Mesh"));
|
||||
|
|
|
@ -582,7 +582,7 @@ void MarlinUI::draw_status_message(const bool blink) {
|
|||
|
||||
#endif // AUTO_BED_LEVELING_UBL
|
||||
|
||||
#if EITHER(BABYSTEP_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY)
|
||||
#if ANY(BABYSTEP_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY)
|
||||
|
||||
void MarlinUI::zoffset_overlay(const int8_t dir) {
|
||||
const int rot_up = TERN(OVERLAY_GFX_REVERSE, ICON_RotateCCW, ICON_RotateCW),
|
||||
|
|
|
@ -192,7 +192,7 @@ FORCE_INLINE void _draw_heater_status(const heater_id_t heater, const uint16_t x
|
|||
#endif
|
||||
|
||||
celsius_float_t tc = 0, tt = 0;
|
||||
bool isBed = (DISABLED(HAS_HOTEND) && ENABLED(HAS_HEATED_BED)) || (BOTH(HAS_HOTEND, HAS_HEATED_BED) && heater < 0),
|
||||
bool isBed = (DISABLED(HAS_HOTEND) && ENABLED(HAS_HEATED_BED)) || (ALL(HAS_HOTEND, HAS_HEATED_BED) && heater < 0),
|
||||
ta = false, c_draw, t_draw, i_draw;
|
||||
c_draw = t_draw = i_draw = !ui.did_first_redraw;
|
||||
if (isBed) {
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
#include "../../../inc/MarlinConfigPre.h"
|
||||
|
||||
#if BOTH(DWIN_LCD_PROUI, HAS_LEVELING)
|
||||
#if ALL(DWIN_LCD_PROUI, HAS_LEVELING)
|
||||
|
||||
#include "../../marlinui.h"
|
||||
#include "../../../core/types.h"
|
||||
|
|
|
@ -233,7 +233,7 @@ MenuClass *MaxAccelMenu = nullptr;
|
|||
MenuClass *MaxJerkMenu = nullptr;
|
||||
#endif
|
||||
MenuClass *StepsMenu = nullptr;
|
||||
#if EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#if ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
MenuClass *HotendMPCMenu = nullptr;
|
||||
#endif
|
||||
#if ENABLED(PIDTEMP)
|
||||
|
@ -285,7 +285,7 @@ void HMI_SetLanguageCache() {
|
|||
}
|
||||
|
||||
void HMI_SetLanguage() {
|
||||
#if BOTH(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
#if ALL(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language));
|
||||
#endif
|
||||
HMI_SetLanguageCache();
|
||||
|
@ -294,7 +294,7 @@ void HMI_SetLanguage() {
|
|||
void HMI_ToggleLanguage() {
|
||||
HMI_flag.language = HMI_IsChinese() ? DWIN_ENGLISH : DWIN_CHINESE;
|
||||
HMI_SetLanguageCache();
|
||||
#if BOTH(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
#if ALL(EEPROM_SETTINGS, IIC_BL24CXX_EEPROM)
|
||||
BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language));
|
||||
#endif
|
||||
}
|
||||
|
@ -1410,7 +1410,7 @@ void DWIN_LevelingStart() {
|
|||
HMI_SaveProcessID(Leveling);
|
||||
Title.ShowCaption(GET_TEXT_F(MSG_BED_LEVELING));
|
||||
DWIN_Show_Popup(ICON_AutoLeveling, GET_TEXT_F(MSG_BED_LEVELING), GET_TEXT_F(MSG_PLEASE_WAIT));
|
||||
#if BOTH(AUTO_BED_LEVELING_UBL, PREHEAT_BEFORE_LEVELING)
|
||||
#if ALL(AUTO_BED_LEVELING_UBL, PREHEAT_BEFORE_LEVELING)
|
||||
#if HAS_HOTEND
|
||||
if (thermalManager.degTargetHotend(0) < LEVELING_NOZZLE_TEMP)
|
||||
thermalManager.setTargetHotend(LEVELING_NOZZLE_TEMP, 0);
|
||||
|
@ -1460,7 +1460,7 @@ void DWIN_LevelingDone() {
|
|||
DWINUI::Draw_String(HMI_data.PopupTxt_Color, gfrm.x, gfrm.y - DWINUI::fontHeight() - 4, F("MPC target: Celsius"));
|
||||
break;
|
||||
#endif
|
||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
||||
#if ANY(PIDTEMP, PIDTEMPBED)
|
||||
TERN_(PIDTEMP, case PIDTEMP_START:)
|
||||
TERN_(PIDTEMPBED, case PIDTEMPBED_START:)
|
||||
DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 100, GET_TEXT_F(MSG_PID_AUTOTUNE));
|
||||
|
@ -1471,7 +1471,7 @@ void DWIN_LevelingDone() {
|
|||
|
||||
switch (HMI_value.pidresult) {
|
||||
default: break;
|
||||
#if EITHER(PIDTEMP, MPC_AUTOTUNE)
|
||||
#if ANY(PIDTEMP, MPC_AUTOTUNE)
|
||||
TERN_(PIDTEMP, case PIDTEMP_START:)
|
||||
TERN_(MPC_AUTOTUNE, case MPCTEMP_START:)
|
||||
DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 120, F("for Nozzle is running."));
|
||||
|
@ -1705,10 +1705,10 @@ void DWIN_SetDataDefaults() {
|
|||
TERN_(BAUD_RATE_GCODE, SetBaud250K());
|
||||
HMI_data.FullManualTramming = false;
|
||||
HMI_data.MediaAutoMount = ENABLED(HAS_SD_EXTENDER);
|
||||
#if BOTH(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
#if ALL(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
HMI_data.z_after_homing = DEF_Z_AFTER_HOMING;
|
||||
#endif
|
||||
#if BOTH(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
#if ALL(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
TERN_(LED_COLOR_PRESETS, leds.set_default());
|
||||
ApplyLEDColor();
|
||||
#endif
|
||||
|
@ -1725,7 +1725,7 @@ void DWIN_CopySettingsFrom(const char * const buff) {
|
|||
TERN_(PREVENT_COLD_EXTRUSION, ApplyExtMinT());
|
||||
feedrate_percentage = 100;
|
||||
TERN_(BAUD_RATE_GCODE, HMI_SetBaudRate());
|
||||
#if BOTH(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
#if ALL(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
leds.set_color(
|
||||
HMI_data.Led_Color.r,
|
||||
HMI_data.Led_Color.g,
|
||||
|
@ -1983,7 +1983,7 @@ void AutoHome() { queue.inject_P(G28_STR); }
|
|||
void HomeX() { queue.inject(F("G28X")); }
|
||||
void HomeY() { queue.inject(F("G28Y")); }
|
||||
void HomeZ() { queue.inject(F("G28Z")); }
|
||||
#if BOTH(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
#if ALL(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
void ApplyZAfterHoming() { HMI_data.z_after_homing = MenuData.Value; };
|
||||
void SetZAfterHoming() { SetIntOnClick(0, 20, HMI_data.z_after_homing, ApplyZAfterHoming); }
|
||||
#endif
|
||||
|
@ -2001,13 +2001,13 @@ void AutoHome() { queue.inject_P(G28_STR); }
|
|||
|
||||
void ApplyZOffset() { TERN_(EEPROM_SETTINGS, settings.save()); }
|
||||
void LiveZOffset() {
|
||||
#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#if ANY(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
const_float_t step_zoffset = round((MenuData.Value / 100.0f) * planner.settings.axis_steps_per_mm[Z_AXIS]) - babystep.accum;
|
||||
if (BABYSTEP_ALLOWED()) babystep.add_steps(Z_AXIS, step_zoffset);
|
||||
#endif
|
||||
}
|
||||
void SetZOffset() {
|
||||
#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#if ANY(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
babystep.accum = round(planner.settings.axis_steps_per_mm[Z_AXIS] * BABY_Z_VAR);
|
||||
#endif
|
||||
SetPFloatOnClick(Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, 2, ApplyZOffset, LiveZOffset);
|
||||
|
@ -2135,7 +2135,7 @@ void SetMoveZ() { HMI_value.axis = Z_AXIS; SetPFloatOnClick(Z_MIN_POS, Z_MAX_POS
|
|||
#endif
|
||||
|
||||
#if ENABLED(LED_CONTROL_MENU)
|
||||
#if !BOTH(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#if !ALL(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
void SetLedStatus() {
|
||||
leds.toggle();
|
||||
Show_Chkb_Line(leds.lights_on);
|
||||
|
@ -2675,7 +2675,7 @@ void onDrawAutoHome(MenuItemClass* menuitem, int8_t line) {
|
|||
}
|
||||
|
||||
#if HAS_ZOFFSET_ITEM
|
||||
#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
#if ANY(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP)
|
||||
void onDrawZOffset(MenuItemClass* menuitem, int8_t line) {
|
||||
if (HMI_IsChinese()) menuitem->SetFrame(1, 174, 164, 223, 177);
|
||||
onDrawPFloat2Menu(menuitem, line);
|
||||
|
@ -3118,7 +3118,7 @@ void Draw_AdvancedSettings_Menu() {
|
|||
#if ENABLED(PIDTEMP)
|
||||
MENU_ITEM_F(ICON_PIDNozzle, STR_HOTEND_PID " Settings", onDrawSubMenu, Draw_HotendPID_Menu);
|
||||
#endif
|
||||
#if EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#if ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
MENU_ITEM_F(ICON_MPCNozzle, "MPC Settings", onDrawSubMenu, Draw_HotendMPC_Menu);
|
||||
#endif
|
||||
#if ENABLED(PIDTEMPBED)
|
||||
|
@ -3292,7 +3292,7 @@ void Draw_GetColor_Menu() {
|
|||
DWIN_Draw_Rectangle(1, *MenuData.P_Int, 20, 315, DWIN_WIDTH - 20, 335);
|
||||
}
|
||||
|
||||
#if BOTH(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS)
|
||||
#if ALL(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS)
|
||||
|
||||
void Draw_CaseLight_Menu() {
|
||||
checkkey = Menu;
|
||||
|
@ -3312,7 +3312,7 @@ void Draw_GetColor_Menu() {
|
|||
checkkey = Menu;
|
||||
if (SET_MENU(LedControlMenu, MSG_LED_CONTROL, 10)) {
|
||||
BACK_ITEM(Draw_Control_Menu);
|
||||
#if !BOTH(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
#if !ALL(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL)
|
||||
EDIT_ITEM(ICON_LedControl, MSG_LEDS, onDrawChkbMenu, SetLedStatus, &leds.lights_on);
|
||||
#endif
|
||||
#if HAS_COLOR_LEDS
|
||||
|
@ -3594,7 +3594,7 @@ void Draw_Steps_Menu() {
|
|||
|
||||
#endif
|
||||
|
||||
#if EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#if ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
|
||||
#if ENABLED(MPC_AUTOTUNE_MENU)
|
||||
void HotendMPC() { thermalManager.MPC_autotune(active_extruder); }
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "../common/limits.h"
|
||||
#include "../../../libs/BL24CXX.h"
|
||||
|
||||
#if EITHER(BABYSTEPPING, HAS_BED_PROBE)
|
||||
#if ANY(BABYSTEPPING, HAS_BED_PROBE)
|
||||
#define HAS_ZOFFSET_ITEM 1
|
||||
#if !HAS_BED_PROBE
|
||||
#define JUST_BABYSTEP 1
|
||||
|
@ -75,7 +75,7 @@ enum processID : uint8_t {
|
|||
NothingToDo
|
||||
};
|
||||
|
||||
#if EITHER(DWIN_PID_TUNE, MPC_AUTOTUNE)
|
||||
#if ANY(DWIN_PID_TUNE, MPC_AUTOTUNE)
|
||||
|
||||
enum tempcontrol_t : uint8_t {
|
||||
#if DWIN_PID_TUNE
|
||||
|
@ -142,10 +142,10 @@ typedef struct {
|
|||
|
||||
bool FullManualTramming = false;
|
||||
bool MediaAutoMount = ENABLED(HAS_SD_EXTENDER);
|
||||
#if BOTH(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
#if ALL(INDIVIDUAL_AXIS_HOMING_SUBMENU, MESH_BED_LEVELING)
|
||||
uint8_t z_after_homing = DEF_Z_AFTER_HOMING;
|
||||
#endif
|
||||
#if BOTH(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
#if ALL(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
LEDColor Led_Color = Def_Leds_Color;
|
||||
#endif
|
||||
} HMI_data_t;
|
||||
|
@ -225,7 +225,7 @@ void ParkHead();
|
|||
#if HAS_ONESTEP_LEVELING
|
||||
void Trammingwizard();
|
||||
#endif
|
||||
#if BOTH(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
#if ALL(LED_CONTROL_MENU, HAS_COLOR_LEDS)
|
||||
void ApplyLEDColor();
|
||||
#endif
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
|
@ -333,7 +333,7 @@ void Draw_FilSet_Menu();
|
|||
void Draw_PhySet_Menu();
|
||||
void Draw_SelectColors_Menu();
|
||||
void Draw_GetColor_Menu();
|
||||
#if BOTH(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS)
|
||||
#if ALL(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS)
|
||||
void Draw_CaseLight_Menu();
|
||||
#endif
|
||||
#if ENABLED(LED_CONTROL_MENU)
|
||||
|
@ -354,7 +354,7 @@ void Draw_MaxAccel_Menu();
|
|||
void Draw_MaxJerk_Menu();
|
||||
#endif
|
||||
void Draw_Steps_Menu();
|
||||
#if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
||||
#if ANY(HAS_BED_PROBE, BABYSTEPPING)
|
||||
void Draw_ZOffsetWiz_Menu();
|
||||
#endif
|
||||
#if ENABLED(INDIVIDUAL_AXIS_HOMING_SUBMENU)
|
||||
|
@ -384,7 +384,7 @@ void Draw_Steps_Menu();
|
|||
#endif
|
||||
|
||||
// MPC
|
||||
#if EITHER(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
#if ANY(MPC_EDIT_MENU, MPC_AUTOTUNE_MENU)
|
||||
void Draw_HotendMPC_Menu();
|
||||
#endif
|
||||
#if ENABLED(MPC_AUTOTUNE)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue