Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x
This commit is contained in:
@ -62,6 +62,19 @@
|
||||
#define ENCODER_STEPS_PER_MENU_ITEM 1
|
||||
#define ENCODER_FEEDRATE_DEADZONE 2
|
||||
|
||||
#elif ENABLED(ZONESTAR_12864LCD)
|
||||
#define DOGLCD
|
||||
#define IS_RRD_SC
|
||||
#define U8GLIB_ST7920
|
||||
|
||||
#elif ENABLED(ZONESTAR_12864OLED)
|
||||
#define IS_RRD_SC
|
||||
#define U8GLIB_SH1106
|
||||
|
||||
#elif ENABLED(ZONESTAR_12864OLED_SSD1306)
|
||||
#define IS_RRD_SC
|
||||
#define IS_U8GLIB_SSD1306
|
||||
|
||||
#elif ENABLED(RADDS_DISPLAY)
|
||||
#define IS_ULTIPANEL
|
||||
#define ENCODER_PULSES_PER_STEP 2
|
||||
@ -255,13 +268,17 @@
|
||||
#define IS_ULTIPANEL
|
||||
#endif
|
||||
|
||||
// LVGL UI, SPI or FSMC
|
||||
// FSMC/SPI TFT Panels (LVGL)
|
||||
#if EITHER(TFT_LVGL_UI_SPI, TFT_LVGL_UI_FSMC)
|
||||
#define HAS_TFT_LVGL_UI 1
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels
|
||||
#if ENABLED(FSMC_GRAPHICAL_TFT)
|
||||
#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
|
||||
#define TFT_SCALED_DOGLCD 1
|
||||
#endif
|
||||
|
||||
#if TFT_SCALED_DOGLCD
|
||||
#define DOGLCD
|
||||
#define IS_ULTIPANEL
|
||||
#define DELAYED_BACKLIGHT_INIT
|
||||
@ -269,6 +286,28 @@
|
||||
#define DELAYED_BACKLIGHT_INIT
|
||||
#endif
|
||||
|
||||
// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h
|
||||
#if ANY(TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC, FSMC_GRAPHICAL_TFT)
|
||||
#define HAS_FSMC_TFT 1
|
||||
#elif ANY(TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI, SPI_GRAPHICAL_TFT)
|
||||
#define HAS_SPI_TFT 1
|
||||
#endif
|
||||
|
||||
// Color UI
|
||||
#if ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI)
|
||||
#define HAS_GRAPHICAL_TFT 1
|
||||
#define IS_ULTIPANEL
|
||||
#endif
|
||||
|
||||
// Fewer lines with touch buttons on-screen
|
||||
#if EITHER(TFT_320x240, TFT_320x240_SPI)
|
||||
#define HAS_UI_320x240 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#elif EITHER(TFT_480x320, TFT_480x320_SPI)
|
||||
#define HAS_UI_480x320 1
|
||||
#define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* I2C Panels
|
||||
*/
|
||||
@ -325,7 +364,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef STD_ENCODER_PULSES_PER_STEP
|
||||
#if ENABLED(TOUCH_BUTTONS)
|
||||
#if ENABLED(TOUCH_SCREEN)
|
||||
#define STD_ENCODER_PULSES_PER_STEP 2
|
||||
#else
|
||||
#define STD_ENCODER_PULSES_PER_STEP 5
|
||||
@ -386,7 +425,7 @@
|
||||
#endif
|
||||
|
||||
// Extensible UI serial touch screens. (See src/lcd/extui)
|
||||
#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE)
|
||||
#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON)
|
||||
#define IS_EXTUI
|
||||
#define EXTENSIBLE_UI
|
||||
#endif
|
||||
@ -394,22 +433,15 @@
|
||||
// Aliases for LCD features
|
||||
#if EITHER(ULTRA_LCD, EXTENSIBLE_UI)
|
||||
#define HAS_DISPLAY 1
|
||||
#if ENABLED(ULTRA_LCD)
|
||||
#define HAS_SPI_LCD 1
|
||||
#if ENABLED(DOGLCD)
|
||||
#define HAS_GRAPHICAL_LCD 1
|
||||
#else
|
||||
#define HAS_CHARACTER_LCD 1
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(SR_LCD_3W_NL)
|
||||
// Feature checks for SR_LCD_3W_NL
|
||||
#elif EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008)
|
||||
#define USES_LIQUIDTWI2
|
||||
#elif ANY(HAS_CHARACTER_LCD, LCD_I2C_TYPE_PCF8575, LCD_I2C_TYPE_PCA8574, SR_LCD_2W_NL, LCM1602)
|
||||
#define USES_LIQUIDCRYSTAL
|
||||
#if ENABLED(ULTRA_LCD)
|
||||
#define HAS_SPI_LCD 1
|
||||
#if ENABLED(DOGLCD)
|
||||
#define HAS_GRAPHICAL_LCD 1
|
||||
#elif DISABLED(HAS_GRAPHICAL_TFT)
|
||||
#define HAS_CHARACTER_LCD 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS)
|
||||
@ -480,7 +512,7 @@
|
||||
#undef DISABLE_INACTIVE_EXTRUDER
|
||||
#endif
|
||||
|
||||
// Prusa MK2 Multiplexer and MMU 2.0 force SINGLENOZZLE
|
||||
// Průša MK2 Multiplexer and MMU 2.0 force SINGLENOZZLE
|
||||
#if EITHER(MK2_MULTIPLEXER, PRUSA_MMU2)
|
||||
#define SINGLENOZZLE
|
||||
#endif
|
||||
@ -749,9 +781,7 @@
|
||||
#define EXTRUDE_MINTEMP 170
|
||||
#endif
|
||||
|
||||
/**
|
||||
* To check if we need the folder src/features/leds
|
||||
*/
|
||||
#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU, NEOPIXEL_LED)
|
||||
#define HAS_LED_FEATURE 1
|
||||
// This flag indicates if Neopixel pins are shared or separated
|
||||
#if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES)
|
||||
#define CONJOINED_NEOPIXEL 1
|
||||
#endif
|
||||
|
@ -246,11 +246,44 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if BOTH(LED_CONTROL_MENU, NEOPIXEL2_SEPARATE)
|
||||
#ifndef LED2_USER_PRESET_RED
|
||||
#define LED2_USER_PRESET_RED 255
|
||||
#endif
|
||||
#ifndef LED2_USER_PRESET_GREEN
|
||||
#define LED2_USER_PRESET_GREEN 255
|
||||
#endif
|
||||
#ifndef LED2_USER_PRESET_BLUE
|
||||
#define LED2_USER_PRESET_BLUE 255
|
||||
#endif
|
||||
#ifndef LED2_USER_PRESET_WHITE
|
||||
#define LED2_USER_PRESET_WHITE 0
|
||||
#endif
|
||||
#ifndef LED2_USER_PRESET_BRIGHTNESS
|
||||
#ifdef NEOPIXEL2_BRIGHTNESS
|
||||
#define LED2_USER_PRESET_BRIGHTNESS NEOPIXEL2_BRIGHTNESS
|
||||
#else
|
||||
#define LED2_USER_PRESET_BRIGHTNESS 255
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// If platform requires early initialization of watchdog to properly boot
|
||||
#if ENABLED(USE_WATCHDOG) && defined(ARDUINO_ARCH_SAM)
|
||||
#define EARLY_WATCHDOG 1
|
||||
#endif
|
||||
|
||||
// Full Touch Screen needs 'tft/xpt2046'
|
||||
#if EITHER(TOUCH_SCREEN, HAS_TFT_LVGL_UI)
|
||||
#define HAS_TFT_XPT2046 1
|
||||
#endif
|
||||
|
||||
// Touch Screen or "Touch Buttons" need XPT2046 pins
|
||||
// but they use different components
|
||||
#if EITHER(HAS_TFT_XPT2046, HAS_TOUCH_XPT2046)
|
||||
#define NEED_TOUCH_PINS 1
|
||||
#endif
|
||||
|
||||
// Extensible UI pin mapping for RepRapDiscount
|
||||
#if ENABLED(TOUCH_UI_FTDI_EVE) && ANY(AO_EXP1_PINMAP, AO_EXP2_PINMAP, CR10_TFT_PINMAP)
|
||||
#define TOUCH_UI_ULTIPANEL 1
|
||||
@ -367,3 +400,13 @@
|
||||
#if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM, QSPI_EEPROM, FLASH_EEPROM_EMULATION, SRAM_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
|
||||
#define NO_EEPROM_SELECTED 1
|
||||
#endif
|
||||
|
||||
// Flag whether hex_print.cpp is used
|
||||
#if ANY(AUTO_BED_LEVELING_UBL, M100_FREE_MEMORY_WATCHER, DEBUG_GCODE_PARSER, TMC_DEBUG, MARLIN_DEV_MODE)
|
||||
#define NEED_HEX_PRINT 1
|
||||
#endif
|
||||
|
||||
// Flag whether least_squares_fit.cpp is used
|
||||
#if ANY(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_LINEAR, Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
||||
#define NEED_LSF 1
|
||||
#endif
|
||||
|
@ -312,6 +312,10 @@
|
||||
#define _LCD_CONTRAST_INIT 17
|
||||
#elif ENABLED(MINIPANEL)
|
||||
#define _LCD_CONTRAST_INIT 150
|
||||
#elif ENABLED(ZONESTAR_12864OLED)
|
||||
#define _LCD_CONTRAST_MIN 64
|
||||
#define _LCD_CONTRAST_INIT 128
|
||||
#define _LCD_CONTRAST_MAX 255
|
||||
#endif
|
||||
|
||||
#ifdef _LCD_CONTRAST_INIT
|
||||
@ -373,7 +377,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#if EITHER(LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT)
|
||||
#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT)
|
||||
#define NO_LCD_REINIT 1 // Suppress LCD re-initialization
|
||||
#endif
|
||||
|
||||
@ -399,7 +403,7 @@
|
||||
#ifndef PSU_NAME
|
||||
#if DISABLED(PSU_CONTROL)
|
||||
#define PSU_NAME "Generic" // No control
|
||||
#elif PSU_ACTIVE_HIGH
|
||||
#elif PSU_ACTIVE_STATE
|
||||
#define PSU_NAME "XBox" // X-Box 360 (203W)
|
||||
#else
|
||||
#define PSU_NAME "ATX" // ATX style
|
||||
@ -1872,12 +1876,28 @@
|
||||
#undef AUTO_POWER_CHAMBER_FAN
|
||||
#endif
|
||||
|
||||
// Other fans
|
||||
// Print Cooling fans (limit)
|
||||
#ifdef NUM_M106_FANS
|
||||
#define MAX_FANS NUM_M106_FANS
|
||||
#else
|
||||
#define MAX_FANS 8 // Max supported fans
|
||||
#endif
|
||||
|
||||
#define _NOT_E_AUTO(N,F) (E##N##_AUTO_FAN_PIN != FAN##F##_PIN)
|
||||
#define _HAS_FAN(F) (PIN_EXISTS(FAN##F) \
|
||||
&& CONTROLLER_FAN_PIN != FAN##F##_PIN \
|
||||
&& _NOT_E_AUTO(0,F) \
|
||||
&& _NOT_E_AUTO(1,F) \
|
||||
&& _NOT_E_AUTO(2,F) \
|
||||
&& _NOT_E_AUTO(3,F) \
|
||||
&& _NOT_E_AUTO(4,F) \
|
||||
&& _NOT_E_AUTO(5,F) \
|
||||
&& _NOT_E_AUTO(6,F) \
|
||||
&& _NOT_E_AUTO(7,F) \
|
||||
&& F < MAX_FANS)
|
||||
#if PIN_EXISTS(FAN)
|
||||
#define HAS_FAN0 1
|
||||
#endif
|
||||
#define _NOT_E_AUTO(N,F) (E##N##_AUTO_FAN_PIN != FAN##F##_PIN)
|
||||
#define _HAS_FAN(F) (PIN_EXISTS(FAN##F) && CONTROLLER_FAN_PIN != FAN##F##_PIN && _NOT_E_AUTO(0,F) && _NOT_E_AUTO(1,F) && _NOT_E_AUTO(2,F) && _NOT_E_AUTO(3,F) && _NOT_E_AUTO(4,F) && _NOT_E_AUTO(5,F) && _NOT_E_AUTO(6,F) && _NOT_E_AUTO(7,F))
|
||||
#if _HAS_FAN(1)
|
||||
#define HAS_FAN1 1
|
||||
#endif
|
||||
@ -1944,9 +1964,6 @@
|
||||
#if PIN_EXISTS(PHOTOGRAPH)
|
||||
#define HAS_PHOTOGRAPH 1
|
||||
#endif
|
||||
#if PIN_EXISTS(CASE_LIGHT) && ENABLED(CASE_LIGHT_ENABLE)
|
||||
#define HAS_CASE_LIGHT 1
|
||||
#endif
|
||||
|
||||
// Digital control
|
||||
#if PIN_EXISTS(STEPPER_RESET)
|
||||
@ -1955,7 +1972,7 @@
|
||||
#if PIN_EXISTS(DIGIPOTSS)
|
||||
#define HAS_DIGIPOTSS 1
|
||||
#endif
|
||||
#if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY, MOTOR_CURRENT_PWM_Z, MOTOR_CURRENT_PWM_E)
|
||||
#if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY, MOTOR_CURRENT_PWM_Z, MOTOR_CURRENT_PWM_E)
|
||||
#define HAS_MOTOR_CURRENT_PWM 1
|
||||
#endif
|
||||
|
||||
@ -2223,7 +2240,7 @@
|
||||
/**
|
||||
* MIN/MAX case light PWM scaling
|
||||
*/
|
||||
#if HAS_CASE_LIGHT
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
#ifndef CASE_LIGHT_MAX_PWM
|
||||
#define CASE_LIGHT_MAX_PWM 255
|
||||
#elif !WITHIN(CASE_LIGHT_MAX_PWM, 1, 255)
|
||||
@ -2436,7 +2453,7 @@
|
||||
*/
|
||||
#if PIN_EXISTS(BEEPER) || EITHER(LCD_USE_I2C_BUZZER, PCA9632_BUZZER)
|
||||
#define HAS_BUZZER 1
|
||||
#if DISABLED(LCD_USE_I2C_BUZZER, PCA9632_BUZZER)
|
||||
#if NONE(LCD_USE_I2C_BUZZER, PCA9632_BUZZER)
|
||||
#define USE_BEEPER 1
|
||||
#endif
|
||||
#endif
|
||||
|
@ -39,26 +39,20 @@
|
||||
#define TEST2 1
|
||||
#define TEST3 0
|
||||
#define TEST4 true
|
||||
#if ENABLED(TEST0)
|
||||
#if ENABLED(TEST0) || !ENABLED(TEST2) || ENABLED(TEST3)
|
||||
#error "ENABLED is borked!"
|
||||
#endif
|
||||
#if DISABLED(TEST1)
|
||||
#error "DISABLED is borked!"
|
||||
#if BOTH(TEST0, TEST1)
|
||||
#error "BOTH is borked!"
|
||||
#endif
|
||||
#if !ENABLED(TEST2)
|
||||
#error "ENABLED is borked!"
|
||||
#endif
|
||||
#if ENABLED(TEST3)
|
||||
#error "ENABLED is borked!"
|
||||
#endif
|
||||
#if DISABLED(TEST4)
|
||||
#if DISABLED(TEST1) || !DISABLED(TEST3) || DISABLED(TEST4) || DISABLED(TEST0, TEST1, TEST2, TEST4) || !DISABLED(TEST0, TEST3)
|
||||
#error "DISABLED is borked!"
|
||||
#endif
|
||||
#if !ANY(TEST1, TEST2, TEST3, TEST4) || ANY(TEST0, TEST3)
|
||||
#error "ANY is borked!"
|
||||
#endif
|
||||
#if DISABLED(TEST0, TEST1, TEST2, TEST4)
|
||||
#error "DISABLED is borked!"
|
||||
#if NONE(TEST0, TEST1, TEST2, TEST4) || !NONE(TEST0, TEST3)
|
||||
#error "NONE is borked!"
|
||||
#endif
|
||||
#undef TEST1
|
||||
#undef TEST2
|
||||
@ -419,8 +413,10 @@
|
||||
#error "SPINDLE_DIR_CHANGE is now SPINDLE_CHANGE_DIR. Please update your Configuration_adv.h."
|
||||
#elif defined(SPINDLE_STOP_ON_DIR_CHANGE)
|
||||
#error "SPINDLE_STOP_ON_DIR_CHANGE is now SPINDLE_CHANGE_DIR_STOP. Please update your Configuration_adv.h."
|
||||
#elif defined(SPINDLE_LASER_ACTIVE_HIGH)
|
||||
#error "SPINDLE_LASER_ACTIVE_HIGH is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h."
|
||||
#elif defined(SPINDLE_LASER_ENABLE_INVERT)
|
||||
#error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_HIGH. Please update your Configuration_adv.h."
|
||||
#error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h."
|
||||
#elif defined(CUTTER_POWER_DISPLAY)
|
||||
#error "CUTTER_POWER_DISPLAY is now CUTTER_POWER_UNIT. Please update your Configuration_adv.h."
|
||||
#elif defined(CHAMBER_HEATER_PIN)
|
||||
@ -441,18 +437,18 @@
|
||||
#error "USB_SD_DISABLED is now NO_SD_HOST_DRIVE. Please update your Configuration_adv.h."
|
||||
#elif defined(USB_SD_ONBOARD)
|
||||
#error "USB_SD_ONBOARD is obsolete. Disable NO_SD_HOST_DRIVE instead."
|
||||
#elif defined(PSU_ACTIVE_HIGH)
|
||||
#error "PSU_ACTIVE_HIGH is now PSU_ACTIVE_STATE. Please update your configuration."
|
||||
#elif POWER_SUPPLY == 1
|
||||
#error "Replace POWER_SUPPLY 1 by enabling PSU_CONTROL and setting PSU_ACTIVE_HIGH to 'false'."
|
||||
#error "Replace POWER_SUPPLY 1 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'LOW'."
|
||||
#elif POWER_SUPPLY == 2
|
||||
#error "Replace POWER_SUPPLY 2 by enabling PSU_CONTROL and setting PSU_ACTIVE_HIGH to 'true'."
|
||||
#error "Replace POWER_SUPPLY 2 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'HIGH'."
|
||||
#elif defined(POWER_SUPPLY)
|
||||
#error "POWER_SUPPLY is now obsolete. Please remove it from Configuration.h."
|
||||
#elif defined(MKS_ROBIN_TFT)
|
||||
#error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. Please update your configuration."
|
||||
#elif defined(TFT_LVGL_UI)
|
||||
#error "TFT_LVGL_UI is now TFT_LVGL_UI_FSMC. Please update your configuration."
|
||||
#elif defined(SPI_GRAPHICAL_TFT)
|
||||
#error "SPI_GRAPHICAL_TFT is now TFT_LVGL_UI_SPI. Please update your configuration."
|
||||
#elif defined(SDPOWER)
|
||||
#error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/or pins."
|
||||
#elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2)
|
||||
@ -515,16 +511,23 @@
|
||||
#error "[XYZ]_HOME_BUMP_MM is now HOMING_BUMP_MM. Please update Configuration_adv.h."
|
||||
#elif defined(DIGIPOT_I2C)
|
||||
#error "DIGIPOT_I2C is now DIGIPOT_MCP4451 (or DIGIPOT_MCP4018). Please update Configuration_adv.h."
|
||||
#endif
|
||||
|
||||
#ifdef FIL_RUNOUT_INVERTING
|
||||
#elif defined(TOUCH_BUTTONS)
|
||||
#error "TOUCH_BUTTONS is now TOUCH_SCREEN. Please update your Configuration.h."
|
||||
#elif defined(LCD_FULL_PIXEL_HEIGHT)
|
||||
#error "LCD_FULL_PIXEL_HEIGHT is deprecated and should be removed. Please update your Configuration.h."
|
||||
#elif defined(LCD_FULL_PIXEL_WIDTH)
|
||||
#error "LCD_FULL_PIXEL_WIDTH is deprecated and should be removed. Please update your Configuration.h."
|
||||
#elif defined(FSMC_UPSCALE)
|
||||
#error "FSMC_UPSCALE is now GRAPHICAL_TFT_UPSCALE. Please update your Configuration.h."
|
||||
#elif defined(ANYCUBIC_TFT_MODEL)
|
||||
#error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. Please update your Configuration.h."
|
||||
#elif defined(EVENT_GCODE_SD_STOP)
|
||||
#error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. Please update your Configuration.h."
|
||||
#elif defined(FIL_RUNOUT_INVERTING)
|
||||
#if FIL_RUNOUT_INVERTING
|
||||
#warning "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update Configuration.h."
|
||||
#error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update your Configuration.h."
|
||||
#else
|
||||
#warning "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. Please update Configuration.h."
|
||||
#endif
|
||||
#ifndef FIL_RUNOUT_STATE
|
||||
#define FIL_RUNOUT_STATE ((FIL_RUNOUT_INVERTING) ? HIGH : LOW)
|
||||
#error "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. Please update your Configuration.h."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -689,8 +692,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#elif PROGRESS_MSG_EXPIRE < 0
|
||||
#error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0."
|
||||
#endif
|
||||
#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, EXTENSIBLE_UI)
|
||||
#error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, or EXTENSIBLE_UI."
|
||||
#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, HAS_GRAPHICAL_TFT, EXTENSIBLE_UI)
|
||||
#error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, TFT, or EXTENSIBLE_UI."
|
||||
#endif
|
||||
|
||||
#if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
|
||||
@ -740,8 +743,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(EVENT_GCODE_SD_STOP) && DISABLED(NOZZLE_PARK_FEATURE)
|
||||
static_assert(nullptr == strstr(EVENT_GCODE_SD_STOP, "G27"), "NOZZLE_PARK_FEATURE is required to use G27 in EVENT_GCODE_SD_STOP.");
|
||||
#if defined(EVENT_GCODE_SD_ABORT) && DISABLED(NOZZLE_PARK_FEATURE)
|
||||
static_assert(nullptr == strstr(EVENT_GCODE_SD_ABORT, "G27"), "NOZZLE_PARK_FEATURE is required to use G27 in EVENT_GCODE_SD_ABORT.");
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -819,7 +822,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
*/
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
#if !HAS_RESUME_CONTINUE
|
||||
#error "ADVANCED_PAUSE_FEATURE currently requires an LCD controller or EMERGENCY_PARSER."
|
||||
#error "ADVANCED_PAUSE_FEATURE requires a supported LCD controller (or EMERGENCY_PARSER)."
|
||||
#elif DISABLED(NOZZLE_PARK_FEATURE)
|
||||
#error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE."
|
||||
#elif !defined(FILAMENT_UNLOAD_PURGE_FEEDRATE)
|
||||
@ -1102,6 +1105,13 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "FANMUX0_PIN and FANMUX1_PIN must be set before FANMUX2_PIN can be set."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Limited user-controlled fans
|
||||
*/
|
||||
#if NUM_M106_FANS > FAN_COUNT
|
||||
#error "The selected board doesn't support enough user-controlled fans. Reduce NUM_M106_FANS."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Limited number of servos
|
||||
*/
|
||||
@ -1307,7 +1317,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
static_assert(PROBING_MARGIN_RIGHT >= 0, "PROBING_MARGIN_RIGHT must be >= 0.");
|
||||
#endif
|
||||
|
||||
#define _MARGIN(A) TERN(IS_SCARA, SCARA_PRINTABLE_RADIUS, TERN(DELTA, DELTA_PRINTABLE_RADIUS, A##_CENTER))
|
||||
#define _MARGIN(A) TERN(IS_SCARA, SCARA_PRINTABLE_RADIUS, TERN(DELTA, DELTA_PRINTABLE_RADIUS, ((A##_BED_SIZE) / 2)))
|
||||
static_assert(PROBING_MARGIN < _MARGIN(X), "PROBING_MARGIN is too large.");
|
||||
static_assert(PROBING_MARGIN_BACK < _MARGIN(Y), "PROBING_MARGIN_BACK is too large.");
|
||||
static_assert(PROBING_MARGIN_FRONT < _MARGIN(Y), "PROBING_MARGIN_FRONT is too large.");
|
||||
@ -1799,7 +1809,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
/**
|
||||
* Test Heater, Temp Sensor, and Extruder Pins
|
||||
*/
|
||||
#if !HAS_HEATER_0
|
||||
#if !HAS_HEATER_0 && EXTRUDERS
|
||||
#error "HEATER_0_PIN not defined for this board."
|
||||
#elif !ANY_PIN(TEMP_0, MAX6675_SS)
|
||||
#error "TEMP_0_PIN not defined for this board."
|
||||
@ -2072,6 +2082,13 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* G35 Assisted Tramming
|
||||
*/
|
||||
#if ENABLED(ASSISTED_TRAMMING) && !HAS_BED_PROBE
|
||||
#error "ASSISTED_TRAMMING requires a bed probe."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* G38 Probe Target
|
||||
*/
|
||||
@ -2103,7 +2120,12 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
#if !(PIN_EXISTS(NEOPIXEL) && NEOPIXEL_PIXELS > 0)
|
||||
#error "NEOPIXEL_LED requires NEOPIXEL_PIN and NEOPIXEL_PIXELS."
|
||||
#endif
|
||||
#elif ENABLED(NEOPIXEL2_SEPARATE)
|
||||
#if !(PIN_EXISTS(NEOPIXEL2) && NEOPIXEL2_PIXELS > 0)
|
||||
#error "NEOPIXEL2 requires NEOPIXEL2_PIN and NEOPIXEL2_PIXELS."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef _RGB_TEST
|
||||
|
||||
#if DISABLED(NO_COMPILE_TIME_PWM)
|
||||
@ -2174,7 +2196,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
+ (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(IS_RRD_FG_SC)) \
|
||||
+ (ENABLED(ULTRA_LCD) && DISABLED(IS_ULTRA_LCD)) \
|
||||
+ (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \
|
||||
+ (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \
|
||||
+ (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \
|
||||
+ (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \
|
||||
+ (ENABLED(EXTENSIBLE_UI) && DISABLED(IS_EXTUI)) \
|
||||
+ (ENABLED(ULTIPANEL) && DISABLED(IS_ULTIPANEL)) \
|
||||
@ -2218,6 +2240,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
+ ENABLED(OLED_PANEL_TINYBOY2) \
|
||||
+ ENABLED(MKS_12864OLED) \
|
||||
+ ENABLED(MKS_12864OLED_SSD1306) \
|
||||
+ ENABLED(ZONESTAR_12864LCD) \
|
||||
+ ENABLED(ZONESTAR_12864OLED) \
|
||||
+ ENABLED(ZONESTAR_12864OLED_SSD1306) \
|
||||
+ ENABLED(U8GLIB_SH1106_EINSTART) \
|
||||
+ ENABLED(OVERLORD_OLED) \
|
||||
+ ENABLED(FYSETC_242_OLED_12864) \
|
||||
@ -2226,10 +2251,14 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
+ ENABLED(DGUS_LCD_UI_HIPRECY) \
|
||||
+ ENABLED(MALYAN_LCD) \
|
||||
+ ENABLED(TOUCH_UI_FTDI_EVE) \
|
||||
+ ENABLED(TFT_320x240) \
|
||||
+ ENABLED(TFT_320x240_SPI) \
|
||||
+ ENABLED(FSMC_GRAPHICAL_TFT) \
|
||||
+ ENABLED(TFT_LVGL_UI_FSMC) \
|
||||
+ ENABLED(TFT_LVGL_UI_SPI)
|
||||
#error "Please select no more than one LCD controller option."
|
||||
+ ENABLED(TFT_LVGL_UI_SPI) \
|
||||
+ ENABLED(ANYCUBIC_LCD_I3MEGA) \
|
||||
+ ENABLED(ANYCUBIC_LCD_CHIRON)
|
||||
#error "Please select only one LCD controller option."
|
||||
#endif
|
||||
|
||||
#undef IS_RRD_SC
|
||||
@ -2848,7 +2877,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Prusa MMU2 requirements
|
||||
* Průša MMU2 requirements
|
||||
*/
|
||||
#if ENABLED(PRUSA_MMU2)
|
||||
#if EXTRUDERS != 5
|
||||
@ -2892,8 +2921,8 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
* Ensure this option is set intentionally
|
||||
*/
|
||||
#if ENABLED(PSU_CONTROL)
|
||||
#ifndef PSU_ACTIVE_HIGH
|
||||
#error "PSU_CONTROL requires PSU_ACTIVE_HIGH to be defined as 'true' or 'false'."
|
||||
#ifndef PSU_ACTIVE_STATE
|
||||
#error "PSU_CONTROL requires PSU_ACTIVE_STATE to be defined as 'HIGH' or 'LOW'."
|
||||
#elif !PIN_EXISTS(PS_ON)
|
||||
#error "PSU_CONTROL requires PS_ON_PIN."
|
||||
#endif
|
||||
@ -3036,11 +3065,27 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Sanity checks for stepper chunk support
|
||||
* Stepper Chunk support
|
||||
*/
|
||||
#if ENABLED(DIRECT_STEPPING)
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
#error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible."
|
||||
#if BOTH(DIRECT_STEPPING, LIN_ADVANCE)
|
||||
#error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Touch Buttons
|
||||
*/
|
||||
#if ENABLED(TOUCH_SCREEN)
|
||||
#ifndef XPT2046_X_CALIBRATION
|
||||
#error "XPT2046_X_CALIBRATION must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef XPT2046_Y_CALIBRATION
|
||||
#error "XPT2046_Y_CALIBRATION must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef XPT2046_X_OFFSET
|
||||
#error "XPT2046_X_OFFSET must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#ifndef XPT2046_Y_OFFSET
|
||||
#error "XPT2046_Y_OFFSET must be defined with TOUCH_SCREEN."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -3051,5 +3096,16 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#error "ESP3D_WIFISUPPORT or WIFISUPPORT requires an ESP32 controller."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Sanity Check for Password Feature
|
||||
*/
|
||||
#if ENABLED(PASSWORD_FEATURE)
|
||||
#if NONE(HAS_LCD_MENU, PASSWORD_UNLOCK_GCODE, PASSWORD_CHANGE_GCODE)
|
||||
#error "Without PASSWORD_UNLOCK_GCODE, PASSWORD_CHANGE_GCODE, or a supported LCD there's no way to unlock the printer or set a password."
|
||||
#elif DISABLED(EEPROM_SETTINGS)
|
||||
#warning "PASSWORD_FEATURE settings will be lost on power-off without EEPROM_SETTINGS."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Misc. Cleanup
|
||||
#undef _TEST_PWM
|
||||
|
@ -42,7 +42,7 @@
|
||||
* version was tagged.
|
||||
*/
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
#define STRING_DISTRIBUTION_DATE "2020-07-28"
|
||||
#define STRING_DISTRIBUTION_DATE "2020-08-28"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user