diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index b2287837998b..f7ba348cc002 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -81,6 +81,7 @@ jobs: - STM32F103RET6_creality - LERDGEX - mks_robin_nano35 + - NUCLEO_F767ZI # Put lengthy tests last diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index db266b524b35..1f6b0db9469c 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -35,7 +35,7 @@ * * Advanced settings can be found in Configuration_adv.h */ -#define CONFIGURATION_H_VERSION 020007 +#define CONFIGURATION_H_VERSION 020008 //=========================================================================== //============================= Getting Started ============================= @@ -2205,22 +2205,83 @@ //============================================================================= /** - * TFT Type - Select your Display type - * - * Available options are: - * MKS_TS35_V2_0, - * MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, - * MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R - * TFT_TRONXY_X5SA, ANYCUBIC_TFT35, LONGER_LK_TFT28 - * TFT_GENERIC - * - * For TFT_GENERIC, you need to configure these 3 options: - * Driver: TFT_DRIVER - * Current Drivers are: AUTO, ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 - * Resolution: TFT_WIDTH and TFT_HEIGHT - * Interface: TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI + * Specific TFT Model Presets. Enable one of the following options + * or enable TFT_GENERIC and set sub-options. */ + +// +// 480x320, 3.5", SPI Display From MKS +// Normally used in MKS Robin Nano V2 +// +//#define MKS_TS35_V2_0 + +// +// 320x240, 2.4", FSMC Display From MKS +// Normally used in MKS Robin Nano V1.2 +// +//#define MKS_ROBIN_TFT24 + +// +// 320x240, 2.8", FSMC Display From MKS +// Normally used in MKS Robin Nano V1.2 +// +//#define MKS_ROBIN_TFT28 + +// +// 320x240, 3.2", FSMC Display From MKS +// Normally used in MKS Robin Nano V1.2 +// +//#define MKS_ROBIN_TFT32 + +// +// 480x320, 3.5", FSMC Display From MKS +// Normally used in MKS Robin Nano V1.2 +// +//#define MKS_ROBIN_TFT35 + +// +// 480x272, 4.3", FSMC Display From MKS +// +//#define MKS_ROBIN_TFT43 + +// +// 320x240, 3.2", FSMC Display From MKS +// Normally used in MKS Robin +// +//#define MKS_ROBIN_TFT_V1_1R + +// +// 480x320, 3.5", FSMC Stock Display from TronxXY +// +//#define TFT_TRONXY_X5SA + +// +// 480x320, 3.5", FSMC Stock Display from AnyCubic +// +//#define ANYCUBIC_TFT35 + +// +// 320x240, 2.8", FSMC Stock Display from Longer/Alfawise +// +//#define LONGER_LK_TFT28 + +// +// Generic TFT with detailed options +// //#define TFT_GENERIC +#if ENABLED(TFT_GENERIC) + // :[ 'AUTO', 'ST7735', 'ST7789', 'ST7796', 'R61505', 'ILI9328', 'ILI9341', 'ILI9488' ] + #define TFT_DRIVER AUTO + + // Interface. Enable one of the following options: + //#define TFT_INTERFACE_FSMC + //#define TFT_INTERFACE_SPI + + // TFT Resolution. Enable one of the following options: + //#define TFT_RES_320x240 + //#define TFT_RES_480x272 + //#define TFT_RES_480x320 +#endif /** * TFT UI - User Interface Selection. Enable one of the following options: diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index bcacddd20d42..c3ba3f7e226b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -30,7 +30,7 @@ * * Basic settings can be found in Configuration.h */ -#define CONFIGURATION_ADV_H_VERSION 020007 +#define CONFIGURATION_ADV_H_VERSION 020008 //=========================================================================== //============================= Thermal Settings ============================ @@ -1048,10 +1048,10 @@ // @section lcd -#if EITHER(ULTIPANEL, EXTENSIBLE_UI) +#if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI) #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen #endif @@ -2958,7 +2958,7 @@ * This allows the laser to keep in perfect sync with the planner and removes * the powerup/down delay since lasers require negligible time. */ - #define LASER_POWER_INLINE + //#define LASER_POWER_INLINE #if ENABLED(LASER_POWER_INLINE) /** diff --git a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp index 47060d6a5be2..7df180cbaa82 100644 --- a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp +++ b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp @@ -145,7 +145,7 @@ uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va } #if ENABLED(LIGHTWEIGHT_UI) - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #include "../../shared/HAL_ST7920.h" #define ST7920_CS_PIN LCD_PINS_RS diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index f5051d32a168..8b7d27742d40 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -72,7 +72,7 @@ static_assert(!(NUM_SERVOS && ENABLED(FAST_PWM_FAN)), "BLTOUCH and Servos are in //#endif #if MB(RAMPS_14_RE_ARM_EFB, RAMPS_14_RE_ARM_EEB, RAMPS_14_RE_ARM_EFF, RAMPS_14_RE_ARM_EEF, RAMPS_14_RE_ARM_SF) - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI) + #if IS_RRD_FG_SC && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI) #error "Re-ARM with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and TMC2130 requires TMC_USE_SW_SPI." #endif #endif diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index abc6c04a693b..7cb3635bd7c9 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -35,7 +35,8 @@ // MYSERIAL0 required before MarlinSerial includes! - #define _MSERIAL(X) Serial##X + #define __MSERIAL(X) Serial##X + #define _MSERIAL(X) __MSERIAL(X) #define MSERIAL(X) _MSERIAL(INCREMENT(X)) #if SERIAL_PORT == -1 diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index f000d68cf0c3..ea28b8f3bfaa 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO))) ; \ + else FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BRR = _BV32(STM_PIN(digitalPinToPinName(IO))) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO)) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->IDR, _BV32(STM_PIN(digitalPinToPinName(IO))))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->ODR ^= _BV32(STM_PIN(digitalPinToPinName(IO)))) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) diff --git a/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h b/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h index 09f2bb54e66a..71480153a717 100644 --- a/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h +++ b/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h @@ -51,8 +51,8 @@ * It contains: * - name of the signal * - the Ard_num assigned by the pins_YOUR_BOARD.h file using the platform defines. - * EXAMPLE: "#define KILL_PIN PB1" results in Ard_num of 57. 57 is then used as an - * index into digitalPin[] to get the Port_pin number + * EXAMPLE: "#define KILL_PIN PB1" results in Ard_num of 57. 57 is then used as the + * argument to digitalPinToPinName(IO) to get the Port_pin number * - if it is a digital or analog signal. PWMs are considered digital here. * * pin_xref is a structure generated by this header file. It is generated by the @@ -68,8 +68,6 @@ * signal. The Arduino pin number is listed by the M43 I command. */ -extern const PinName digitalPin[]; // provided by the platform - //////////////////////////////////////////////////////// // // make a list of the Arduino pin numbers in the Port/Pin order @@ -137,7 +135,7 @@ const XrefInfo pin_xref[] PROGMEM = { uint8_t get_pin_mode(const pin_t Ard_num) { uint32_t mode_all = 0; - const PinName dp = digitalPin[Ard_num]; + const PinName dp = digitalPinToPinName(Ard_num); switch (PORT_ALPHA(dp)) { case 'A' : mode_all = GPIOA->MODER; break; case 'B' : mode_all = GPIOB->MODER; break; @@ -218,7 +216,7 @@ bool pwm_status(const pin_t Ard_num) { void pwm_details(const pin_t Ard_num) { if (pwm_status(Ard_num)) { uint32_t alt_all = 0; - const PinName dp = digitalPin[Ard_num]; + const PinName dp = digitalPinToPinName(Ard_num); pin_t pin_number = uint8_t(PIN_NUM(dp)); const bool over_7 = pin_number >= 8; const uint8_t ind = over_7 ? 1 : 0; diff --git a/Marlin/src/HAL/STM32F1/HAL.cpp b/Marlin/src/HAL/STM32F1/HAL.cpp index cd1efc16591d..6733aead6d7c 100644 --- a/Marlin/src/HAL/STM32F1/HAL.cpp +++ b/Marlin/src/HAL/STM32F1/HAL.cpp @@ -130,7 +130,7 @@ const uint8_t adc_pins[] = { #if ENABLED(FILAMENT_WIDTH_SENSOR) FILWIDTH_PIN, #endif - #if ENABLED(ADC_KEYPAD) + #if HAS_ADC_BUTTONS ADC_KEYPAD_PIN, #endif #if HAS_JOY_ADC_X @@ -187,7 +187,7 @@ enum TempPinIndex : char { #if ENABLED(FILAMENT_WIDTH_SENSOR) FILWIDTH, #endif - #if ENABLED(ADC_KEYPAD) + #if HAS_ADC_BUTTONS ADC_KEY, #endif #if HAS_JOY_ADC_X @@ -389,7 +389,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { #if ENABLED(FILAMENT_WIDTH_SENSOR) case FILWIDTH_PIN: pin_index = FILWIDTH; break; #endif - #if ENABLED(ADC_KEYPAD) + #if HAS_ADC_BUTTONS case ADC_KEYPAD_PIN: pin_index = ADC_KEY; break; #endif #if ENABLED(POWER_MONITOR_CURRENT) diff --git a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h index 9d5026fbab10..a0381ea8c8d5 100644 --- a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h +++ b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h @@ -51,3 +51,10 @@ #if ENABLED(NEOPIXEL_LED) #error "NEOPIXEL_LED (Adafruit NeoPixel) is not supported for HAL/STM32F1. Comment out this line to proceed at your own risk!" #endif + +// Emergency Parser needs at least one serial with HardwareSerial or USBComposite. +// The USBSerial maple don't allow any hook to implement EMERGENCY_PARSER. +// And copy all USBSerial code to marlin space to support EMERGENCY_PARSER, when we have another options, don't worth it. +#if ENABLED(EMERGENCY_PARSER) && !defined(USE_USB_COMPOSITE) && ((SERIAL_PORT == -1 && !defined(SERIAL_PORT_2)) || (SERIAL_PORT_2 == -1 && !defined(SERIAL_PORT))) + #error "EMERGENCY_PARSER is only supported by HardwareSerial or USBComposite in HAL/STM32F1." +#endif diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 3a20cf3ee330..786a847fa653 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -59,7 +59,7 @@ #include "sd/cardreader.h" -#include "lcd/ultralcd.h" +#include "lcd/marlinui.h" #if HAS_TOUCH_XPT2046 #include "lcd/touch/touch_buttons.h" #endif diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index 21bb32c4cf24..7948e8ce873c 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -170,7 +170,7 @@ #define _DO_12(W,C,A,V...) (_##W##_1(A) C _DO_11(W,C,V)) #define __DO_N(W,C,N,V...) _DO_##N(W,C,V) #define _DO_N(W,C,N,V...) __DO_N(W,C,N,V) -#define DO(W,C,V...) _DO_N(W,C,NUM_ARGS(V),V) +#define DO(W,C,V...) (_DO_N(W,C,NUM_ARGS(V),V)) // Macros to support option testing #define _CAT(a,V...) a##V @@ -186,6 +186,7 @@ #define _DIS_1(O) NOT(_ENA_1(O)) #define ENABLED(V...) DO(ENA,&&,V) #define DISABLED(V...) DO(DIS,&&,V) +#define COUNT_ENABLED(V...) DO(ENA,+,V) #define TERN(O,A,B) _TERN(_ENA_1(O),B,A) // OPTION converted to '0' or '1' #define TERN0(O,A) _TERN(_ENA_1(O),0,A) // OPTION converted to A or '0' @@ -200,6 +201,7 @@ #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) diff --git a/Marlin/src/feature/bedlevel/bedlevel.cpp b/Marlin/src/feature/bedlevel/bedlevel.cpp index 3e9225b7f932..0e0b87e8905b 100644 --- a/Marlin/src/feature/bedlevel/bedlevel.cpp +++ b/Marlin/src/feature/bedlevel/bedlevel.cpp @@ -36,7 +36,7 @@ #endif #if ENABLED(LCD_BED_LEVELING) - #include "../../lcd/ultralcd.h" + #include "../../lcd/marlinui.h" #endif #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.h b/Marlin/src/feature/bedlevel/ubl/ubl.h index 9ac9de180638..22ca1f69ecce 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.h +++ b/Marlin/src/feature/bedlevel/ubl/ubl.h @@ -59,7 +59,7 @@ class unified_bed_leveling { static int g29_grid_size; #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL static void move_z_with_encoder(const float &multiplier); static float measure_point_with_encoder(); static float measure_business_card_thickness(float in_height); diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index e41af9f3cd23..ea2e62dd51e0 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -30,7 +30,7 @@ #include "../../../HAL/shared/eeprom_api.h" #include "../../../libs/hex_print.h" #include "../../../module/settings.h" - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #include "../../../module/stepper.h" #include "../../../module/planner.h" #include "../../../module/motion.h" diff --git a/Marlin/src/feature/cancel_object.cpp b/Marlin/src/feature/cancel_object.cpp index 16f876f13686..853e765b660f 100644 --- a/Marlin/src/feature/cancel_object.cpp +++ b/Marlin/src/feature/cancel_object.cpp @@ -25,7 +25,7 @@ #include "cancel_object.h" #include "../gcode/gcode.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" CancelObject cancelable; diff --git a/Marlin/src/feature/e_parser.cpp b/Marlin/src/feature/e_parser.cpp index a4c2d0dac92c..d98afcfee71b 100644 --- a/Marlin/src/feature/e_parser.cpp +++ b/Marlin/src/feature/e_parser.cpp @@ -32,6 +32,7 @@ // Static data members bool EmergencyParser::killed_by_M112, // = false + EmergencyParser::quickstop_by_M410, EmergencyParser::enabled; #if ENABLED(HOST_PROMPT_SUPPORT) diff --git a/Marlin/src/feature/e_parser.h b/Marlin/src/feature/e_parser.h index 085cbd4eab0e..0bb0253149eb 100644 --- a/Marlin/src/feature/e_parser.h +++ b/Marlin/src/feature/e_parser.h @@ -63,6 +63,7 @@ class EmergencyParser { }; static bool killed_by_M112; + static bool quickstop_by_M410; #if ENABLED(HOST_PROMPT_SUPPORT) static uint8_t M876_reason; @@ -168,7 +169,7 @@ class EmergencyParser { if (enabled) switch (state) { case EP_M108: wait_for_user = wait_for_heatup = false; break; case EP_M112: killed_by_M112 = true; break; - case EP_M410: quickstop_stepper(); break; + case EP_M410: quickstop_by_M410 = true; break; #if ENABLED(HOST_PROMPT_SUPPORT) case EP_M876SN: host_response_handler(M876_reason); break; #endif diff --git a/Marlin/src/feature/hotend_idle.cpp b/Marlin/src/feature/hotend_idle.cpp index 9d5594c2f184..7f8f20a04793 100644 --- a/Marlin/src/feature/hotend_idle.cpp +++ b/Marlin/src/feature/hotend_idle.cpp @@ -34,7 +34,7 @@ #include "../module/temperature.h" #include "../module/motion.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" extern HotendIdleProtection hotend_idle; diff --git a/Marlin/src/feature/mmu2/mmu2.cpp b/Marlin/src/feature/mmu2/mmu2.cpp index 3d635369e438..c5cf48585093 100644 --- a/Marlin/src/feature/mmu2/mmu2.cpp +++ b/Marlin/src/feature/mmu2/mmu2.cpp @@ -30,7 +30,7 @@ MMU2 mmu2; #include "../../gcode/gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../libs/buzzer.h" #include "../../libs/nozzle.h" #include "../../module/temperature.h" diff --git a/Marlin/src/feature/password/password.h b/Marlin/src/feature/password/password.h index 3ed584b29d5e..3c223b6a824b 100644 --- a/Marlin/src/feature/password/password.h +++ b/Marlin/src/feature/password/password.h @@ -21,7 +21,7 @@ */ #pragma once -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" class Password { public: diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index 0ab659402181..6f970d1a4c04 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -55,7 +55,7 @@ #include "../lcd/extui/ui_api.h" #endif -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #if HAS_BUZZER #include "../libs/buzzer.h" @@ -132,8 +132,10 @@ static bool ensure_safe_temperature(const bool wait=true, const PauseMode mode=P DEBUG_SECTION(est, "ensure_safe_temperature", true); DEBUG_ECHOLNPAIR("... wait:", int(wait), " mode:", int(mode)); - if (!DEBUGGING(DRYRUN) && thermalManager.targetTooColdToExtrude(active_extruder)) - thermalManager.setTargetHotend(thermalManager.extrude_min_temp, active_extruder); + #if ENABLED(PREVENT_COLD_EXTRUSION) + if (!DEBUGGING(DRYRUN) && thermalManager.targetTooColdToExtrude(active_extruder)) + thermalManager.setTargetHotend(thermalManager.extrude_min_temp, active_extruder); + #endif #if HAS_LCD_MENU lcd_pause_show_message(PAUSE_MESSAGE_HEATING, mode); @@ -221,8 +223,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l #if ENABLED(DUAL_X_CARRIAGE) const int8_t saved_ext = active_extruder; const bool saved_ext_dup_mode = extruder_duplication_enabled; - active_extruder = DXC_ext; - extruder_duplication_enabled = false; + set_duplication_enabled(false, DXC_ext); #endif // Slow Load filament @@ -243,9 +244,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l } #if ENABLED(DUAL_X_CARRIAGE) // Tie the two extruders movement back together. - active_extruder = saved_ext; - extruder_duplication_enabled = saved_ext_dup_mode; - stepper.set_directions(); + set_duplication_enabled(saved_ext_dup_mode, saved_ext); #endif #if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE) @@ -437,17 +436,14 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float #if ENABLED(DUAL_X_CARRIAGE) const int8_t saved_ext = active_extruder; const bool saved_ext_dup_mode = extruder_duplication_enabled; - active_extruder = DXC_ext; - extruder_duplication_enabled = false; + set_duplication_enabled(false, DXC_ext); #endif if (unload_length) // Unload the filament unload_filament(unload_length, show_lcd, PAUSE_MODE_CHANGE_FILAMENT); #if ENABLED(DUAL_X_CARRIAGE) - active_extruder = saved_ext; - extruder_duplication_enabled = saved_ext_dup_mode; - stepper.set_directions(); + set_duplication_enabled(saved_ext_dup_mode, saved_ext); #endif return true; @@ -493,8 +489,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep #if ENABLED(DUAL_X_CARRIAGE) const int8_t saved_ext = active_extruder; const bool saved_ext_dup_mode = extruder_duplication_enabled; - active_extruder = DXC_ext; - extruder_duplication_enabled = false; + set_duplication_enabled(false, DXC_ext); #endif // Wait for filament insert by user and press button @@ -548,9 +543,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep idle_no_sleep(); } #if ENABLED(DUAL_X_CARRIAGE) - active_extruder = saved_ext; - extruder_duplication_enabled = saved_ext_dup_mode; - stepper.set_directions(); + set_duplication_enabled(saved_ext_dup_mode, saved_ext); #endif } diff --git a/Marlin/src/feature/pause.h b/Marlin/src/feature/pause.h index 016b0ce3f7d9..c69ed73546e0 100644 --- a/Marlin/src/feature/pause.h +++ b/Marlin/src/feature/pause.h @@ -89,10 +89,11 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float void wait_for_confirmation(const bool is_reload=false, const int8_t max_beep_count=0 DXC_PARAMS); -void resume_print(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=ADVANCED_PAUSE_PURGE_LENGTH, const int8_t max_beep_count=0, int16_t targetTemp=0 DXC_PARAMS); +void resume_print(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=ADVANCED_PAUSE_PURGE_LENGTH, + const int8_t max_beep_count=0, int16_t targetTemp=0 DXC_PARAMS); -bool load_filament(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=0, const int8_t max_beep_count=0, const bool show_lcd=false, - const bool pause_for_user=false, const PauseMode mode=PAUSE_MODE_PAUSE_PRINT DXC_PARAMS); +bool load_filament(const float &slow_load_length=0, const float &fast_load_length=0, const float &extrude_length=0, const int8_t max_beep_count=0, + const bool show_lcd=false, const bool pause_for_user=false, const PauseMode mode=PAUSE_MODE_PAUSE_PRINT DXC_PARAMS); bool unload_filament(const float &unload_length, const bool show_lcd=false, const PauseMode mode=PAUSE_MODE_PAUSE_PRINT #if BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER) diff --git a/Marlin/src/feature/power_monitor.cpp b/Marlin/src/feature/power_monitor.cpp index af31d156fc84..e1e7324fb6c6 100644 --- a/Marlin/src/feature/power_monitor.cpp +++ b/Marlin/src/feature/power_monitor.cpp @@ -26,7 +26,7 @@ #include "power_monitor.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../lcd/lcdprint.h" #include "../libs/numtostr.h" diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index e4bc605bb55f..874bcff46da9 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -45,7 +45,7 @@ uint32_t PrintJobRecovery::cmd_sdpos, // = 0 #endif #include "../sd/cardreader.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../gcode/queue.h" #include "../gcode/gcode.h" #include "../module/motion.h" diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h index a7f836684949..a5abf057d1ff 100644 --- a/Marlin/src/feature/runout.h +++ b/Marlin/src/feature/runout.h @@ -237,7 +237,7 @@ class FilamentSensorBase { #if NUM_RUNOUT_SENSORS == 1 UNUSED(extruder); #else - if ( !TERN0(DUAL_X_CARRIAGE, dxc_is_duplicating()) + if ( !TERN0(DUAL_X_CARRIAGE, idex_is_duplicating()) && !TERN0(MULTI_NOZZLE_DUPLICATION, extruder_duplication_enabled) ) return TEST(runout_states, extruder); // A specific extruder ran out #endif diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index b65a1254c656..187cfda48334 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -22,7 +22,7 @@ #pragma once #include "../inc/MarlinConfig.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #if HAS_TRINAMIC_CONFIG diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index 661128b04ebe..6123fbf6c873 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -111,7 +111,7 @@ #include "../../module/motion.h" #include "../../module/tool_change.h" #include "../../module/temperature.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #define EXTRUSION_MULTIPLIER 1.0 #define PRIME_LENGTH 10.0 diff --git a/Marlin/src/gcode/bedlevel/G35.cpp b/Marlin/src/gcode/bedlevel/G35.cpp index 0ede4e79c680..f6ae2db2c709 100755 --- a/Marlin/src/gcode/bedlevel/G35.cpp +++ b/Marlin/src/gcode/bedlevel/G35.cpp @@ -110,9 +110,8 @@ void GcodeSuite::G35() { tool_change(0, true); #endif - #if HAS_DUPLICATION_MODE - extruder_duplication_enabled = false; - #endif + // Disable duplication mode on homing + TERN_(HAS_DUPLICATION_MODE, set_duplication_enabled(false)); // Home all before this procedure home_all_axes(); diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index f7de6c8cee57..fcdab742cfbd 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -42,7 +42,7 @@ #endif #if HAS_DISPLAY - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #endif #if ENABLED(AUTO_BED_LEVELING_LINEAR) diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp index d94c16052bcf..d5cc8a4fcb83 100644 --- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp @@ -34,7 +34,7 @@ #include "../../queue.h" #include "../../../libs/buzzer.h" -#include "../../../lcd/ultralcd.h" +#include "../../../lcd/marlinui.h" #include "../../../module/motion.h" #include "../../../module/stepper.h" diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 34209568035d..06b9fee257ac 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -45,7 +45,7 @@ #include "../../feature/bltouch.h" #endif -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #if ENABLED(DWIN_CREALITY_LCD) #include "../../lcd/dwin/e3v2/dwin.h" #endif @@ -134,8 +134,8 @@ if (DEBUGGING(LEVELING)) DEBUG_POS("home_z_safely", destination); - // This causes the carriage on Dual X to unpark - TERN_(DUAL_X_CARRIAGE, active_extruder_parked = false); + // Free the active extruder for movement + TERN_(DUAL_X_CARRIAGE, idex_set_parked(false)); TERN_(SENSORLESS_HOMING, safe_delay(500)); // Short delay needed to settle @@ -282,7 +282,7 @@ void GcodeSuite::G28() { tool_change(0, true); #endif - TERN_(HAS_DUPLICATION_MODE, extruder_duplication_enabled = false); + TERN_(HAS_DUPLICATION_MODE, set_duplication_enabled(false)); remember_feedrate_scaling_off(); @@ -342,16 +342,14 @@ void GcodeSuite::G28() { homeaxis(X_AXIS); // Remember this extruder's position for later tool change - inactive_extruder_x_pos = current_position.x; + inactive_extruder_x = current_position.x; // Home the 1st (left) extruder active_extruder = 0; homeaxis(X_AXIS); - // Consider the active extruder to be parked - raised_parked_position = current_position; - delayed_move_time = 0; - active_extruder_parked = true; + // Consider the active extruder to be in its "parked" position + idex_set_parked(); #else @@ -392,7 +390,7 @@ void GcodeSuite::G28() { */ #if ENABLED(DUAL_X_CARRIAGE) - if (dxc_is_duplicating()) { + if (idex_is_duplicating()) { TERN_(IMPROVE_HOMING_RELIABILITY, slow_homing = begin_slow_homing()); @@ -401,19 +399,17 @@ void GcodeSuite::G28() { homeaxis(X_AXIS); // Remember this extruder's position for later tool change - inactive_extruder_x_pos = current_position.x; + inactive_extruder_x = current_position.x; // Home the 1st (left) extruder active_extruder = 0; homeaxis(X_AXIS); // Consider the active extruder to be parked - raised_parked_position = current_position; - delayed_move_time = 0; - active_extruder_parked = true; - extruder_duplication_enabled = IDEX_saved_duplication_state; - dual_x_carriage_mode = IDEX_saved_mode; - stepper.set_directions(); + idex_set_parked(); + + dual_x_carriage_mode = IDEX_saved_mode; + set_duplication_enabled(IDEX_saved_duplication_state); TERN_(IMPROVE_HOMING_RELIABILITY, end_slow_homing(slow_homing)); } diff --git a/Marlin/src/gcode/calibrate/G33.cpp b/Marlin/src/gcode/calibrate/G33.cpp index 53af04d52876..77cc45771cc8 100644 --- a/Marlin/src/gcode/calibrate/G33.cpp +++ b/Marlin/src/gcode/calibrate/G33.cpp @@ -29,7 +29,7 @@ #include "../../module/motion.h" #include "../../module/stepper.h" #include "../../module/endstops.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #if HAS_BED_PROBE #include "../../module/probe.h" diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp index 24292477f9c1..5e1ec5b961ab 100644 --- a/Marlin/src/gcode/calibrate/G34_M422.cpp +++ b/Marlin/src/gcode/calibrate/G34_M422.cpp @@ -31,7 +31,7 @@ #include "../../module/stepper.h" #include "../../module/planner.h" #include "../../module/probe.h" -#include "../../lcd/ultralcd.h" // for LCD_MESSAGEPGM +#include "../../lcd/marlinui.h" // for LCD_MESSAGEPGM #if HAS_LEVELING #include "../../feature/bedlevel/bedlevel.h" @@ -113,7 +113,7 @@ void GcodeSuite::G34() { tool_change(0, true); #endif - TERN_(HAS_DUPLICATION_MODE, extruder_duplication_enabled = false); + TERN_(HAS_DUPLICATION_MODE, set_duplication_enabled(false)); // In BLTOUCH HS mode, the probe travels in a deployed state. // Users of G34 might have a badly misaligned bed, so raise Z by the diff --git a/Marlin/src/gcode/calibrate/G425.cpp b/Marlin/src/gcode/calibrate/G425.cpp index 8968f789995f..6517e6b4bdc4 100644 --- a/Marlin/src/gcode/calibrate/G425.cpp +++ b/Marlin/src/gcode/calibrate/G425.cpp @@ -30,7 +30,7 @@ #include "../../feature/backlash.h" #endif -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../module/motion.h" #include "../../module/planner.h" #include "../../module/tool_change.h" diff --git a/Marlin/src/gcode/calibrate/G76_M192_M871.cpp b/Marlin/src/gcode/calibrate/G76_M192_M871.cpp index 89393b4582c1..38f17869fb45 100644 --- a/Marlin/src/gcode/calibrate/G76_M192_M871.cpp +++ b/Marlin/src/gcode/calibrate/G76_M192_M871.cpp @@ -37,7 +37,7 @@ #include "../../module/probe.h" #include "../../feature/probe_temp_comp.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../MarlinCore.h" // for wait_for_heatup and idle() #if ENABLED(PRINTJOB_TIMER_AUTOSTART) diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index 8640dfa39166..e70815ad543a 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -27,7 +27,7 @@ #include "../gcode.h" #include "../../module/motion.h" #include "../../module/probe.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../feature/bedlevel/bedlevel.h" diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp index 1e780ca05afd..005fdf0f3146 100644 --- a/Marlin/src/gcode/config/M43.cpp +++ b/Marlin/src/gcode/config/M43.cpp @@ -47,7 +47,7 @@ #endif #if HAS_RESUME_CONTINUE - #include "../../lcd/ultralcd.h" + #include "../../lcd/marlinui.h" #endif #ifndef GET_PIN_MAP_PIN_M43 diff --git a/Marlin/src/gcode/control/M17_M18_M84.cpp b/Marlin/src/gcode/control/M17_M18_M84.cpp index 499feef71586..b35b4653319c 100644 --- a/Marlin/src/gcode/control/M17_M18_M84.cpp +++ b/Marlin/src/gcode/control/M17_M18_M84.cpp @@ -22,7 +22,7 @@ #include "../gcode.h" #include "../../MarlinCore.h" // for stepper_inactive_time, disable_e_steppers -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../module/stepper.h" #if ENABLED(AUTO_BED_LEVELING_UBL) diff --git a/Marlin/src/gcode/control/M605.cpp b/Marlin/src/gcode/control/M605.cpp index 5dc36428b503..b1e54b25e779 100644 --- a/Marlin/src/gcode/control/M605.cpp +++ b/Marlin/src/gcode/control/M605.cpp @@ -68,7 +68,7 @@ const DualXMode previous_mode = dual_x_carriage_mode; dual_x_carriage_mode = (DualXMode)parser.value_byte(); - mirrored_duplication_mode = false; + idex_set_mirrored_mode(false); if (dual_x_carriage_mode == DXC_MIRRORED_MODE) { if (previous_mode != DXC_DUPLICATION_MODE) { @@ -77,8 +77,7 @@ dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE; return; } - mirrored_duplication_mode = true; - stepper.set_directions(); + idex_set_mirrored_mode(true); float x_jog = current_position.x - .1; for (uint8_t i = 2; --i;) { planner.buffer_line(x_jog, current_position.y, current_position.z, current_position.e, feedrate_mm_s, 0); @@ -102,10 +101,8 @@ dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE; break; } - active_extruder_parked = false; - extruder_duplication_enabled = false; - stepper.set_directions(); - delayed_move_time = 0; + idex_set_parked(false); + set_duplication_enabled(false); } else if (!parser.seen('W')) // if no S or W parameter, the DXC mode gets reset to the user's default dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE; @@ -125,7 +122,7 @@ if (!active_extruder_parked) DEBUG_ECHOPGM(" NOT "); DEBUG_ECHOPGM(" parked."); DEBUG_ECHOPAIR("\nactive_extruder_x_pos: ", current_position.x); - DEBUG_ECHOPAIR("\ninactive_extruder_x_pos: ", inactive_extruder_x_pos); + DEBUG_ECHOPAIR("\ninactive_extruder_x: ", inactive_extruder_x); DEBUG_ECHOPAIR("\nextruder_duplication_enabled: ", int(extruder_duplication_enabled)); DEBUG_ECHOPAIR("\nduplicate_extruder_x_offset: ", duplicate_extruder_x_offset); DEBUG_ECHOPAIR("\nduplicate_extruder_temp_offset: ", duplicate_extruder_temp_offset); @@ -166,7 +163,7 @@ if (parser.seenval('P')) duplication_e_mask = parser.value_int(); // Set the mask directly else if (parser.seenval('E')) duplication_e_mask = pow(2, parser.value_int() + 1) - 1; // Set the mask by E index ena = (2 == parser.intval('S', extruder_duplication_enabled ? 2 : 0)); - extruder_duplication_enabled = ena && (duplication_e_mask >= 3); + set_duplication_enabled(ena && (duplication_e_mask >= 3)); } SERIAL_ECHO_START(); SERIAL_ECHOPGM(STR_DUPLICATION_MODE); diff --git a/Marlin/src/gcode/control/M80_M81.cpp b/Marlin/src/gcode/control/M80_M81.cpp index 6302bb5c6787..a8f7f7c10b64 100644 --- a/Marlin/src/gcode/control/M80_M81.cpp +++ b/Marlin/src/gcode/control/M80_M81.cpp @@ -25,7 +25,7 @@ #include "../../module/temperature.h" #include "../../module/planner.h" // for planner.finish_and_disable #include "../../module/printcounter.h" // for print_job_timer.stop -#include "../../lcd/ultralcd.h" // for LCD_MESSAGEPGM_P +#include "../../lcd/marlinui.h" // for LCD_MESSAGEPGM_P #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/gcode/control/M999.cpp b/Marlin/src/gcode/control/M999.cpp index 3bd908cad640..7487b4cf6e74 100644 --- a/Marlin/src/gcode/control/M999.cpp +++ b/Marlin/src/gcode/control/M999.cpp @@ -22,7 +22,7 @@ #include "../gcode.h" -#include "../../lcd/ultralcd.h" // for lcd_reset_alert_level +#include "../../lcd/marlinui.h" // for lcd_reset_alert_level #include "../../MarlinCore.h" // for marlin_state #include "../queue.h" // for flush_and_request_resend diff --git a/Marlin/src/gcode/feature/pause/M125.cpp b/Marlin/src/gcode/feature/pause/M125.cpp index db78e870d71a..ed9a3933107b 100644 --- a/Marlin/src/gcode/feature/pause/M125.cpp +++ b/Marlin/src/gcode/feature/pause/M125.cpp @@ -32,7 +32,7 @@ #include "../../../module/printcounter.h" #if HAS_LCD_MENU - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #endif #if ENABLED(POWER_LOSS_RECOVERY) diff --git a/Marlin/src/gcode/feature/pause/M600.cpp b/Marlin/src/gcode/feature/pause/M600.cpp index 7c9be54b2916..0af68333caa2 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -34,7 +34,7 @@ #endif #if HAS_LCD_MENU - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #endif #if ENABLED(MMU2_MENUS) @@ -87,7 +87,7 @@ void GcodeSuite::M600() { if (!parser.seen('T')) { // If no tool index is specified, M600 was (probably) sent in response to filament runout. // In this case, for duplicating modes set DXC_ext to the extruder that ran out. #if HAS_FILAMENT_SENSOR && NUM_RUNOUT_SENSORS > 1 - if (dxc_is_duplicating()) + if (idex_is_duplicating()) DXC_ext = (READ(FIL_RUNOUT2_PIN) == FIL_RUNOUT_STATE) ? 1 : 0; #else DXC_ext = active_extruder; @@ -108,7 +108,7 @@ void GcodeSuite::M600() { #if HAS_MULTI_EXTRUDER // Change toolhead if specified const uint8_t active_extruder_before_filament_change = active_extruder; - if (active_extruder != target_extruder && TERN1(DUAL_X_CARRIAGE, !dxc_is_duplicating())) + if (active_extruder != target_extruder && TERN1(DUAL_X_CARRIAGE, !idex_is_duplicating())) tool_change(target_extruder, false); #endif diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp index c1f7223142c3..a193d83d40f6 100644 --- a/Marlin/src/gcode/feature/pause/M701_M702.cpp +++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp @@ -35,7 +35,7 @@ #endif #if HAS_LCD_MENU - #include "../../../lcd/ultralcd.h" + #include "../../../lcd/marlinui.h" #endif #if ENABLED(PRUSA_MMU2) diff --git a/Marlin/src/gcode/feature/powerloss/M1000.cpp b/Marlin/src/gcode/feature/powerloss/M1000.cpp index e9477dd2fbf3..14c92531fa0b 100644 --- a/Marlin/src/gcode/feature/powerloss/M1000.cpp +++ b/Marlin/src/gcode/feature/powerloss/M1000.cpp @@ -27,7 +27,7 @@ #include "../../gcode.h" #include "../../../feature/powerloss.h" #include "../../../module/motion.h" -#include "../../../lcd/ultralcd.h" +#include "../../../lcd/marlinui.h" #if ENABLED(EXTENSIBLE_UI) #include "../../../lcd/extui/ui_api.h" #endif diff --git a/Marlin/src/gcode/feature/powerloss/M413.cpp b/Marlin/src/gcode/feature/powerloss/M413.cpp index 3538ccaa6e07..64573e5dff2a 100644 --- a/Marlin/src/gcode/feature/powerloss/M413.cpp +++ b/Marlin/src/gcode/feature/powerloss/M413.cpp @@ -27,7 +27,7 @@ #include "../../gcode.h" #include "../../../feature/powerloss.h" #include "../../../module/motion.h" -#include "../../../lcd/ultralcd.h" +#include "../../../lcd/marlinui.h" /** * M413: Enable / Disable power-loss recovery diff --git a/Marlin/src/gcode/geometry/M206_M428.cpp b/Marlin/src/gcode/geometry/M206_M428.cpp index a477a1a526ef..70cb1e19e50f 100644 --- a/Marlin/src/gcode/geometry/M206_M428.cpp +++ b/Marlin/src/gcode/geometry/M206_M428.cpp @@ -26,7 +26,7 @@ #include "../gcode.h" #include "../../module/motion.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../libs/buzzer.h" /** diff --git a/Marlin/src/gcode/lcd/M0_M1.cpp b/Marlin/src/gcode/lcd/M0_M1.cpp index 1d18b706029c..414c4ce02396 100644 --- a/Marlin/src/gcode/lcd/M0_M1.cpp +++ b/Marlin/src/gcode/lcd/M0_M1.cpp @@ -32,7 +32,7 @@ #include "../../MarlinCore.h" // for wait_for_user_response() #if HAS_LCD_MENU - #include "../../lcd/ultralcd.h" + #include "../../lcd/marlinui.h" #elif ENABLED(EXTENSIBLE_UI) #include "../../lcd/extui/ui_api.h" #endif diff --git a/Marlin/src/gcode/lcd/M117.cpp b/Marlin/src/gcode/lcd/M117.cpp index 8459135f3018..59305d94c5b5 100644 --- a/Marlin/src/gcode/lcd/M117.cpp +++ b/Marlin/src/gcode/lcd/M117.cpp @@ -21,7 +21,7 @@ */ #include "../gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * M117: Set LCD Status Message diff --git a/Marlin/src/gcode/lcd/M145.cpp b/Marlin/src/gcode/lcd/M145.cpp index abd4dcc7439b..84a7e75aa440 100644 --- a/Marlin/src/gcode/lcd/M145.cpp +++ b/Marlin/src/gcode/lcd/M145.cpp @@ -25,7 +25,7 @@ #if PREHEAT_COUNT #include "../gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * M145: Set the heatup state for a material in the LCD menu diff --git a/Marlin/src/gcode/lcd/M250.cpp b/Marlin/src/gcode/lcd/M250.cpp index f42daaeac428..f553044d31c0 100644 --- a/Marlin/src/gcode/lcd/M250.cpp +++ b/Marlin/src/gcode/lcd/M250.cpp @@ -25,7 +25,7 @@ #if HAS_LCD_CONTRAST #include "../gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * M250: Read and optionally set the LCD contrast diff --git a/Marlin/src/gcode/lcd/M300.cpp b/Marlin/src/gcode/lcd/M300.cpp index 56d9ee5d7350..5250774955fb 100644 --- a/Marlin/src/gcode/lcd/M300.cpp +++ b/Marlin/src/gcode/lcd/M300.cpp @@ -26,7 +26,7 @@ #include "../gcode.h" -#include "../../lcd/ultralcd.h" // i2c-based BUZZ +#include "../../lcd/marlinui.h" // i2c-based BUZZ #include "../../libs/buzzer.h" // Buzzer, if possible /** diff --git a/Marlin/src/gcode/lcd/M73.cpp b/Marlin/src/gcode/lcd/M73.cpp index 7a5454419da9..5b135bdff8bd 100644 --- a/Marlin/src/gcode/lcd/M73.cpp +++ b/Marlin/src/gcode/lcd/M73.cpp @@ -25,7 +25,7 @@ #if ENABLED(LCD_SET_PROGRESS_MANUALLY) #include "../gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../sd/cardreader.h" /** diff --git a/Marlin/src/gcode/motion/G4.cpp b/Marlin/src/gcode/motion/G4.cpp index 3a37fe5b2c4e..724ed7f1cad9 100644 --- a/Marlin/src/gcode/motion/G4.cpp +++ b/Marlin/src/gcode/motion/G4.cpp @@ -22,7 +22,7 @@ #include "../gcode.h" #include "../../module/stepper.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * G4: Dwell S or P diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index b9169d90e1c7..4de5056fb2ab 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -29,7 +29,7 @@ GCodeQueue queue; #include "gcode.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../sd/cardreader.h" #include "../module/planner.h" #include "../module/temperature.h" diff --git a/Marlin/src/gcode/sd/M1001.cpp b/Marlin/src/gcode/sd/M1001.cpp index b28429f6315d..4a461170bc39 100644 --- a/Marlin/src/gcode/sd/M1001.cpp +++ b/Marlin/src/gcode/sd/M1001.cpp @@ -32,7 +32,7 @@ #endif #if EITHER(LCD_SET_PROGRESS_MANUALLY, SD_REPRINT_LAST_SELECTED_FILE) - #include "../../lcd/ultralcd.h" + #include "../../lcd/marlinui.h" #endif #if ENABLED(POWER_LOSS_RECOVERY) diff --git a/Marlin/src/gcode/sd/M23.cpp b/Marlin/src/gcode/sd/M23.cpp index b88f66b59162..51bc82413040 100644 --- a/Marlin/src/gcode/sd/M23.cpp +++ b/Marlin/src/gcode/sd/M23.cpp @@ -26,7 +26,7 @@ #include "../gcode.h" #include "../../sd/cardreader.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * M23: Open a file diff --git a/Marlin/src/gcode/sd/M24_M25.cpp b/Marlin/src/gcode/sd/M24_M25.cpp index bdb37f605cbf..611ba17c55bc 100644 --- a/Marlin/src/gcode/sd/M24_M25.cpp +++ b/Marlin/src/gcode/sd/M24_M25.cpp @@ -27,7 +27,7 @@ #include "../gcode.h" #include "../../sd/cardreader.h" #include "../../module/printcounter.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #if ENABLED(PARK_HEAD_ON_PAUSE) #include "../../feature/pause.h" diff --git a/Marlin/src/gcode/stats/M31.cpp b/Marlin/src/gcode/stats/M31.cpp index b39108bb903e..c0e7d2a7ae23 100644 --- a/Marlin/src/gcode/stats/M31.cpp +++ b/Marlin/src/gcode/stats/M31.cpp @@ -24,7 +24,7 @@ #include "../../core/serial.h" #include "../../module/printcounter.h" #include "../../libs/duration_t.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" /** * M31: Get the time since the start of SD Print (or last M109) diff --git a/Marlin/src/gcode/stats/M75-M78.cpp b/Marlin/src/gcode/stats/M75-M78.cpp index 908e6e5a31ee..568d9b0e2707 100644 --- a/Marlin/src/gcode/stats/M75-M78.cpp +++ b/Marlin/src/gcode/stats/M75-M78.cpp @@ -22,7 +22,7 @@ #include "../gcode.h" #include "../../module/printcounter.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../MarlinCore.h" // for startOrResumeJob diff --git a/Marlin/src/gcode/temp/M104_M109.cpp b/Marlin/src/gcode/temp/M104_M109.cpp index a289983b9294..d2b466e2fba5 100644 --- a/Marlin/src/gcode/temp/M104_M109.cpp +++ b/Marlin/src/gcode/temp/M104_M109.cpp @@ -34,7 +34,7 @@ #include "../../module/temperature.h" #include "../../module/motion.h" #include "../../module/planner.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../MarlinCore.h" // for startOrResumeJob, etc. @@ -94,7 +94,7 @@ void GcodeSuite::M104() { thermalManager.setTargetHotend(temp, target_extruder); #if ENABLED(DUAL_X_CARRIAGE) - if (dxc_is_duplicating() && target_extruder == 0) + if (idex_is_duplicating() && target_extruder == 0) thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1); #endif @@ -172,7 +172,7 @@ void GcodeSuite::M109() { thermalManager.setTargetHotend(temp, target_extruder); #if ENABLED(DUAL_X_CARRIAGE) - if (dxc_is_duplicating() && target_extruder == 0) + if (idex_is_duplicating() && target_extruder == 0) thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1); #endif diff --git a/Marlin/src/gcode/temp/M106_M107.cpp b/Marlin/src/gcode/temp/M106_M107.cpp index 17ff8c3c8f60..9c70f1ebc782 100644 --- a/Marlin/src/gcode/temp/M106_M107.cpp +++ b/Marlin/src/gcode/temp/M106_M107.cpp @@ -29,7 +29,7 @@ #include "../../module/temperature.h" #if PREHEAT_COUNT - #include "../../lcd/ultralcd.h" + #include "../../lcd/marlinui.h" #endif #if ENABLED(SINGLENOZZLE) diff --git a/Marlin/src/gcode/temp/M140_M190.cpp b/Marlin/src/gcode/temp/M140_M190.cpp index 9438b9e0c23c..ac8228085e0e 100644 --- a/Marlin/src/gcode/temp/M140_M190.cpp +++ b/Marlin/src/gcode/temp/M140_M190.cpp @@ -33,7 +33,7 @@ #include "../gcode.h" #include "../../module/temperature.h" #include "../../module/motion.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #if ENABLED(PRINTJOB_TIMER_AUTOSTART) #include "../../module/printcounter.h" diff --git a/Marlin/src/gcode/temp/M141_M191.cpp b/Marlin/src/gcode/temp/M141_M191.cpp index 41a79825aa3b..fc80c5f4cba4 100644 --- a/Marlin/src/gcode/temp/M141_M191.cpp +++ b/Marlin/src/gcode/temp/M141_M191.cpp @@ -34,7 +34,7 @@ #include "../../module/temperature.h" #include "../../module/motion.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #if ENABLED(PRINTJOB_TIMER_AUTOSTART) #include "../../module/printcounter.h" diff --git a/Marlin/src/gcode/temp/M303.cpp b/Marlin/src/gcode/temp/M303.cpp index ccce09b4f1ee..c1bf9efd7f38 100644 --- a/Marlin/src/gcode/temp/M303.cpp +++ b/Marlin/src/gcode/temp/M303.cpp @@ -25,7 +25,7 @@ #if HAS_PID_HEATING #include "../gcode.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" #include "../../module/temperature.h" #if ENABLED(EXTENSIBLE_UI) diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 56ce2ca5ed82..cbc75cfb6d33 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -46,7 +46,7 @@ * * DOGLCD : Run a Graphical LCD through U8GLib (with MarlinUI) * IS_ULTIPANEL : Define LCD_PINS_D5/6/7 for direct-connected "Ultipanel" LCDs - * IS_ULTRA_LCD : Ultra LCD, not necessarily Ultipanel. Used most often with NEWPANEL. + * IS_ULTRA_LCD : Ultra LCD, not necessarily Ultipanel. * IS_RRD_SC : Common RRD Smart Controller digital interface pins * IS_RRD_FG_SC : Common RRD Full Graphical Smart Controller digital interface pins * U8GLIB_ST7920 : Most common DOGM display SPI interface, supporting a "lightweight" display mode. @@ -63,22 +63,21 @@ #elif ENABLED(CARTESIO_UI) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE) #define IS_DWIN_MARLINUI 1 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(ZONESTAR_LCD) - #define ADC_KEYPAD - #define IS_RRW_KEYPAD + #define HAS_ADC_BUTTONS 1 #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 #define ADC_KEY_NUM 8 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 - // This helps to implement ADC_KEYPAD menus + // This helps to implement HAS_ADC_BUTTONS menus #define REVERSE_MENU_DIRECTION #define ENCODER_PULSES_PER_STEP 1 #define ENCODER_STEPS_PER_MENU_ITEM 1 @@ -86,29 +85,25 @@ #elif ENABLED(ZONESTAR_12864LCD) #define DOGLCD - #define IS_RRD_SC + #define IS_RRD_SC 1 #define U8GLIB_ST7920 #elif ENABLED(ZONESTAR_12864OLED) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define U8GLIB_SH1106 #elif ENABLED(ZONESTAR_12864OLED_SSD1306) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define IS_U8GLIB_SSD1306 #elif ENABLED(RADDS_DISPLAY) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define ENCODER_PULSES_PER_STEP 2 -#elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER) - - #define IS_RRD_FG_SC - #elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #if ENABLED(miniVIKI) #define U8GLIB_ST7565_64128N @@ -123,40 +118,33 @@ #elif ENABLED(OLED_PANEL_TINYBOY2) #define IS_U8GLIB_SSD1306 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(RA_CONTROL_PANEL) #define LCD_I2C_TYPE_PCA8574 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define DOGLCD #define U8GLIB_ST7920 - #define IS_ULTIPANEL - -#elif ENABLED(CR10_STOCKDISPLAY) - - #define IS_RRD_FG_SC - #define BOARD_ST7920_DELAY_1 DELAY_NS(125) - #define BOARD_ST7920_DELAY_2 DELAY_NS(125) - #define BOARD_ST7920_DELAY_3 DELAY_NS(125) + #define IS_ULTIPANEL 1 #elif ENABLED(MKS_12864OLED) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define U8GLIB_SH1106 #elif ENABLED(MKS_12864OLED_SSD1306) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define IS_U8GLIB_SSD1306 #elif ENABLED(FYSETC_242_OLED_12864) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define U8GLIB_SH1106 #define LED_CONTROL_MENU @@ -179,7 +167,7 @@ #define FYSETC_MINI_12864 #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define LED_COLORS_REDUCE_GREEN #if ENABLED(PSU_CONTROL) && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1) #define LED_BACKLIGHT_TIMEOUT 10000 @@ -205,7 +193,7 @@ #elif ENABLED(ULTI_CONTROLLER) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define U8GLIB_SSD1309 #define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin #define ENCODER_PULSES_PER_STEP 2 @@ -213,14 +201,14 @@ #elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) - #define IS_RRD_SC + #define IS_RRD_SC 1 #define LCD_WIDTH 16 #define LCD_HEIGHT 2 #elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) #define IS_TFTGLCD_PANEL 1 - #define IS_ULTIPANEL // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD + #define IS_ULTIPANEL 1 // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD #if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR) #define LCD_PROGRESS_BAR @@ -239,14 +227,35 @@ #define CONVERT_TO_EXT_ASCII // Use extended 128-255 symbols from ASCII table. // At this time present conversion only for cyrillic - bg, ru and uk languages. // First 7 ASCII symbols in panel font must be replaced with Marlin's special symbols. + +#elif ENABLED(CR10_STOCKDISPLAY) + + #define IS_RRD_FG_SC 1 + #define BOARD_ST7920_DELAY_1 DELAY_NS(125) + #define BOARD_ST7920_DELAY_2 DELAY_NS(125) + #define BOARD_ST7920_DELAY_3 DELAY_NS(125) + +#elif ANY(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER) + + #define IS_RRD_FG_SC 1 + +#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + + // RepRapDiscount LCD or Graphical LCD with rotary click encoder + #define IS_RRD_SC 1 + #endif -#if ENABLED(IS_RRD_FG_SC) - #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +// ST7920-based graphical displays +#if ANY(IS_RRD_FG_SC, LCD_FOR_MELZI, SILVER_GATE_GLCD_CONTROLLER) + #define DOGLCD + #define U8GLIB_ST7920 + #define IS_RRD_SC 1 #endif +// ST7565 / 64128N graphical displays #if EITHER(MAKRPANEL, MINIPANEL) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define DOGLCD #if ENABLED(MAKRPANEL) #define U8GLIB_ST7565_64128N @@ -258,7 +267,7 @@ #endif #if ENABLED(OVERLORD_OLED) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define U8GLIB_SH1106 /** * PCA9632 for buzzer and LEDs via i2c @@ -278,64 +287,44 @@ // 128x64 I2C OLED LCDs - SSD1306/SSD1309/SH1106 #if ANY(U8GLIB_SSD1306, U8GLIB_SSD1309, U8GLIB_SH1106) #define HAS_U8GLIB_I2C_OLED 1 -#endif -#if HAS_U8GLIB_I2C_OLED - #define IS_ULTRA_LCD + #define IS_ULTRA_LCD 1 #define DOGLCD #endif -// ST7920-based graphical displays -#if ANY(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, LCD_FOR_MELZI, SILVER_GATE_GLCD_CONTROLLER) - #define DOGLCD - #define U8GLIB_ST7920 - #define IS_RRD_SC -#endif - -// RepRapDiscount LCD or Graphical LCD with rotary click encoder -#if ENABLED(IS_RRD_SC) - #define REPRAP_DISCOUNT_SMART_CONTROLLER -#endif - /** * SPI Ultipanels */ // Basic Ultipanel-like displays -#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106) - #define IS_ULTIPANEL +#if ANY(ULTIMAKERCONTROLLER, IS_RRD_SC, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106) + #define IS_ULTIPANEL 1 #endif // Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h #if ENABLED(U8GLIB_SH1106_EINSTART) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif -// Compatibility -#if ENABLED(FSMC_GRAPHICAL_TFT) - #define TFT_CLASSIC_UI - #define TFT_INTERFACE_FSMC - #define TFT_GENERIC -#elif ENABLED(SPI_GRAPHICAL_TFT) - #define TFT_CLASSIC_UI - #define TFT_INTERFACE_SPI +// TFT Compatibility +#if ANY(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT, TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI) + #define IS_LEGACY_TFT 1 #define TFT_GENERIC -#elif EITHER(TFT_320x240, TFT_480x320) - #define TFT_COLOR_UI + #warning "Don't forget to update your TFT settings in Configuration.h." +#endif + +#if ANY(FSMC_GRAPHICAL_TFT, TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC) #define TFT_INTERFACE_FSMC - #define TFT_GENERIC -#elif EITHER(TFT_320x240_SPI, TFT_480x320_SPI) - #define TFT_COLOR_UI +#elif ANY(SPI_GRAPHICAL_TFT, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI) #define TFT_INTERFACE_SPI - #define TFT_GENERIC -#elif ENABLED(TFT_LVGL_UI_FSMC) - #define TFT_LVGL_UI - #define TFT_INTERFACE_FSMC - #define TFT_GENERIC -#elif ENABLED(TFT_LVGL_UI_SPI) +#endif + +#if EITHER(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) #define TFT_LVGL_UI - #define TFT_INTERFACE_SPI - #define TFT_GENERIC #endif // FSMC/SPI TFT Panels (LVGL) @@ -350,7 +339,7 @@ #if TFT_SCALED_DOGLCD #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define DELAYED_BACKLIGHT_INIT #elif ENABLED(TFT_LVGL_UI) #define DELAYED_BACKLIGHT_INIT @@ -359,7 +348,7 @@ // Color UI #if ENABLED(TFT_COLOR_UI) #define HAS_GRAPHICAL_TFT 1 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif /** @@ -383,7 +372,7 @@ #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (optional) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(LCD_I2C_VIKI) @@ -398,7 +387,7 @@ #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define ENCODER_FEEDRATE_DEADZONE 4 @@ -410,7 +399,7 @@ #define STD_ENCODER_PULSES_PER_STEP 2 #define STD_ENCODER_STEPS_PER_MENU_ITEM 1 -#elif ANY(REPRAP_DISCOUNT_SMART_CONTROLLER, miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, OLED_PANEL_TINYBOY2, BQ_LCD_SMART_CONTROLLER, LCD_I2C_PANELOLU2) +#elif ANY(IS_RRD_SC, miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, OLED_PANEL_TINYBOY2, BQ_LCD_SMART_CONTROLLER, LCD_I2C_PANELOLU2) #define STD_ENCODER_PULSES_PER_STEP 4 #define STD_ENCODER_STEPS_PER_MENU_ITEM 1 @@ -443,30 +432,24 @@ // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection #if ENABLED(FF_INTERFACEBOARD) #define SR_LCD_3W_NL // Non latching 3 wire shift register - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(SAV_3DLCD) #define SR_LCD_2W_NL // Non latching 2 wire shift register - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 +#elif ENABLED(ULTIPANEL) + #define IS_ULTIPANEL 1 #endif -#if ENABLED(IS_ULTIPANEL) - #define ULTIPANEL -#endif -#if ENABLED(ULTIPANEL) - #define IS_ULTRA_LCD - #define NEWPANEL -#endif -#if ENABLED(IS_ULTRA_LCD) - #define ULTRA_LCD +#if EITHER(IS_ULTIPANEL, ULTRA_LCD) + #define IS_ULTRA_LCD 1 #endif -#if ENABLED(IS_RRW_KEYPAD) - #define REPRAPWORLD_KEYPAD +#if EITHER(IS_ULTIPANEL, REPRAPWORLD_KEYPAD) + #define IS_NEWPANEL 1 #endif -// Keypad needs a move step -#if ENABLED(REPRAPWORLD_KEYPAD) - #define NEWPANEL +#if EITHER(ZONESTAR_LCD, REPRAPWORLD_KEYPAD) + #define IS_RRW_KEYPAD 1 #ifndef REPRAPWORLD_KEYPAD_MOVE_STEP #define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0 #endif @@ -479,16 +462,16 @@ // Extensible UI serial touch screens. (See src/lcd/extui) #if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) - #define IS_EXTUI + #define IS_EXTUI 1 #define EXTENSIBLE_UI #endif // Aliases for LCD features -#if EITHER(ULTRA_LCD, EXTENSIBLE_UI) +#if EITHER(IS_ULTRA_LCD, EXTENSIBLE_UI) #define HAS_DISPLAY 1 #endif -#if ENABLED(ULTRA_LCD) +#if IS_ULTRA_LCD #define HAS_WIRED_LCD 1 #if ENABLED(DOGLCD) #define HAS_MARLINUI_U8GLIB 1 @@ -499,12 +482,9 @@ #endif #endif -#if ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS) +#if IS_ULTIPANEL && DISABLED(NO_LCD_MENUS) #define HAS_LCD_MENU 1 #endif -#if ENABLED(ADC_KEYPAD) - #define HAS_ADC_BUTTONS 1 -#endif #if HAS_MARLINUI_U8GLIB #ifndef LCD_PIXEL_WIDTH @@ -837,83 +817,85 @@ #if ENABLED(MKS_TS35_V2_0) // Most common: ST7796 #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY) - #define TFT_WIDTH 480 - #define TFT_HEIGHT 320 + #define TFT_RES_480x320 #define TFT_INTERFACE_SPI - #define GRAPHICAL_TFT_UPSCALE 3 #elif ENABLED(MKS_ROBIN_TFT24) // Most common: ST7789 #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) - #define TFT_WIDTH 320 - #define TFT_HEIGHT 240 + #define TFT_RES_320x240 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif ENABLED(MKS_ROBIN_TFT28) // Most common: ST7789 #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) - #define TFT_WIDTH 320 - #define TFT_HEIGHT 240 + #define TFT_RES_320x240 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif ENABLED(MKS_ROBIN_TFT32) // Most common: ST7789 #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) - #define TFT_WIDTH 320 - #define TFT_HEIGHT 240 + #define TFT_RES_320x240 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif ENABLED(MKS_ROBIN_TFT35) // Most common: ILI9488 #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) - #define TFT_WIDTH 480 - #define TFT_HEIGHT 320 + #define TFT_RES_480x320 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 3 #elif ENABLED(MKS_ROBIN_TFT43) #define TFT_DEFAULT_ORIENTATION 0 #define TFT_DRIVER SSD1963 - #define TFT_WIDTH 480 - #define TFT_HEIGHT 272 + #define TFT_RES_480x272 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif ENABLED(MKS_ROBIN_TFT_V1_1R) // ILI9328 or R61505 - #define TFT_DEFAULT_ORIENTATION (TFT_INVERT_X | TFT_INVERT_Y | TFT_EXCHANGE_XY) - #define TFT_WIDTH 320 - #define TFT_HEIGHT 240 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) + #define TFT_RES_320x240 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif EITHER(TFT_TRONXY_X5SA, ANYCUBIC_TFT35) #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) #define TFT_DRIVER ILI9488 - #define TFT_WIDTH 480 - #define TFT_HEIGHT 320 + #define TFT_RES_480x320 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 3 #elif ENABLED(LONGER_LK_TFT28) #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) - #define TFT_WIDTH 320 - #define TFT_HEIGHT 240 + #define TFT_RES_320x240 #define TFT_INTERFACE_FSMC - #define GRAPHICAL_TFT_UPSCALE 2 #elif ENABLED(TFT_GENERIC) #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) + #if NONE(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320) + #define TFT_RES_320x240 + #endif + #if NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI) + #define TFT_INTERFACE_SPI + #endif +#endif + +#if ENABLED(TFT_RES_320x240) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(TFT_RES_480x272) + #define TFT_WIDTH 480 + #define TFT_HEIGHT 272 + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(TFT_RES_480x320) + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define GRAPHICAL_TFT_UPSCALE 3 #endif // FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h #if ENABLED(TFT_INTERFACE_FSMC) #define HAS_FSMC_TFT 1 #if ENABLED(TFT_CLASSIC_UI) - #define FSMC_GRAPHICAL_TFT + #define HAS_FSMC_GRAPHICAL_TFT 1 #elif ENABLED(TFT_LVGL_UI) - #define TFT_LVGL_UI_FSMC + #define HAS_TFT_LVGL_UI_FSMC 1 #endif #elif ENABLED(TFT_INTERFACE_SPI) #define HAS_SPI_TFT 1 #if ENABLED(TFT_CLASSIC_UI) - #define SPI_GRAPHICAL_TFT + #define HAS_SPI_GRAPHICAL_TFT 1 #elif ENABLED(TFT_LVGL_UI) - #define TFT_LVGL_UI_SPI + #define HAS_TFT_LVGL_UI_SPI 1 #endif #endif @@ -944,5 +926,7 @@ #if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT #undef TOUCH_SCREEN #undef TOUCH_SCREEN_CALIBRATION - #define HAS_TOUCH_XPT2046 1 + #if !HAS_TFT_LVGL_UI + #define HAS_TOUCH_XPT2046 1 + #endif #endif diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 255470bca6e7..78c014865c7b 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -148,7 +148,7 @@ #if ANY(MARLIN_BRICKOUT, MARLIN_INVADERS, MARLIN_SNAKE, MARLIN_MAZE) #define HAS_GAMES 1 - #if (1 < ENABLED(MARLIN_BRICKOUT) + ENABLED(MARLIN_INVADERS) + ENABLED(MARLIN_SNAKE) + ENABLED(MARLIN_MAZE)) + #if MANY(MARLIN_BRICKOUT, MARLIN_INVADERS, MARLIN_SNAKE, MARLIN_MAZE) #define HAS_GAME_MENU 1 #endif #endif @@ -163,7 +163,7 @@ #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) #define HAS_SOFTWARE_ENDSTOPS 1 #endif -#if ANY(EXTENSIBLE_UI, NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, DWIN_CREALITY_LCD) +#if ANY(EXTENSIBLE_UI, IS_NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, DWIN_CREALITY_LCD) #define HAS_RESUME_CONTINUE 1 #endif diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 798bf009c639..3587d82cdab7 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -383,7 +383,7 @@ #endif -#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT) +#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, HAS_FSMC_GRAPHICAL_TFT, HAS_SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT) #define NO_LCD_REINIT 1 // Suppress LCD re-initialization #endif @@ -2578,7 +2578,7 @@ // Force SDCARD_SORT_ALPHA to be enabled for Graphical LCD on LPC1768 // on boards where SD card and LCD display share the same SPI bus // because of a bug in the shared SPI implementation. (See #8122) -#if defined(TARGET_LPC1768) && ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && (SCK_PIN == LCD_PINS_D4) +#if defined(TARGET_LPC1768) && IS_RRD_FG_SC && (SCK_PIN == LCD_PINS_D4) #define SDCARD_SORT_ALPHA // Keep one directory level in RAM. Changing directory levels // may still glitch the screen, but LCD updates clean it up. #undef SDSORT_LIMIT @@ -2614,14 +2614,14 @@ #if HAS_MARLINUI_U8GLIB #define LCD_WIDTH 21 #else - #define LCD_WIDTH TERN(ULTIPANEL, 20, 16) + #define LCD_WIDTH TERN(IS_ULTIPANEL, 20, 16) #endif #endif #ifndef LCD_HEIGHT #if HAS_MARLINUI_U8GLIB #define LCD_HEIGHT 5 #else - #define LCD_HEIGHT TERN(ULTIPANEL, 4, 2) + #define LCD_HEIGHT TERN(IS_ULTIPANEL, 4, 2) #endif #endif #endif diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index e4f278b22b4f..9aea18c2d768 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -702,8 +702,10 @@ 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_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI) - #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI." +#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) + #if NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI) + #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI." + #endif #endif #if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE) @@ -843,7 +845,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE. Please add it to Configuration_adv.h." #elif ENABLED(EXTRUDER_RUNOUT_PREVENT) #error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE." - #elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, NEWPANEL, EMERGENCY_PARSER) + #elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, IS_NEWPANEL, EMERGENCY_PARSER) #error "PARK_HEAD_ON_PAUSE requires SDSUPPORT, EMERGENCY_PARSER, or an LCD controller." #elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT) #error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT." @@ -1026,15 +1028,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Special tool-changing options */ -#if 1 < 0 \ - + ENABLED(SINGLENOZZLE) \ - + ENABLED(DUAL_X_CARRIAGE) \ - + ENABLED(PARKING_EXTRUDER) \ - + ENABLED(MAGNETIC_PARKING_EXTRUDER) \ - + ENABLED(SWITCHING_TOOLHEAD) \ - + ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) \ - + ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD) - #error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD." +#if MANY(SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD." #endif /** @@ -1161,16 +1156,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Allow only one kinematic type to be defined */ -#if 1 < 0 \ - + ENABLED(DELTA) \ - + ENABLED(MORGAN_SCARA) \ - + ENABLED(COREXY) \ - + ENABLED(COREXZ) \ - + ENABLED(COREYZ) \ - + ENABLED(COREYX) \ - + ENABLED(COREZX) \ - + ENABLED(COREZY) \ - + ENABLED(MARKFORGED_XY) +#if MANY(DELTA, MORGAN_SCARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY) #error "Please enable only one of DELTA, MORGAN_SCARA, COREXY, COREYX, COREXZ, COREZX, COREYZ, COREZY, or MARKFORGED_XY." #endif @@ -1210,18 +1196,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * Allow only one probe option to be defined */ #if 1 < 0 \ - + ENABLED(PROBE_MANUALLY) \ - + ENABLED(FIX_MOUNTED_PROBE) \ - + ENABLED(NOZZLE_AS_PROBE) \ - + (HAS_Z_SERVO_PROBE && DISABLED(BLTOUCH)) \ - + ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH) \ - + ENABLED(CREALITY_TOUCH) \ - + ENABLED(TOUCH_MI_PROBE) \ - + ENABLED(SOLENOID_PROBE) \ - + ENABLED(Z_PROBE_ALLEN_KEY) \ - + ENABLED(Z_PROBE_SLED) \ - + ENABLED(RACK_AND_PINION_PROBE) \ - + ENABLED(SENSORLESS_PROBING) + + (DISABLED(BLTOUCH) && HAS_Z_SERVO_PROBE) \ + + (ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH)) \ + + COUNT_ENABLED(PROBE_MANUALLY, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, CREALITY_TOUCH, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, RACK_AND_PINION_PROBE, SENSORLESS_PROBING) #error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." #endif @@ -1391,12 +1368,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Allow only one bed leveling option to be defined */ -#if 1 < 0 \ - + ENABLED(AUTO_BED_LEVELING_LINEAR) \ - + ENABLED(AUTO_BED_LEVELING_3POINT) \ - + ENABLED(AUTO_BED_LEVELING_BILINEAR) \ - + ENABLED(AUTO_BED_LEVELING_UBL) \ - + ENABLED(MESH_BED_LEVELING) +#if MANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL, MESH_BED_LEVELING) #error "Select only one of: MESH_BED_LEVELING, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL." #endif @@ -1558,8 +1530,8 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal /** * ULTIPANEL encoder */ -#if ENABLED(ULTIPANEL) && NONE(NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK) - #error "ULTIPANEL requires some kind of encoder." +#if IS_ULTIPANEL && NONE(IS_NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK) + #error "ULTIPANEL controllers require some kind of encoder." #endif #if ENCODER_PULSES_PER_STEP < 0 @@ -2237,89 +2209,100 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal * Make sure only one display is enabled */ #if 1 < 0 \ - + (ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && DISABLED(IS_RRD_SC)) \ - + (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(IS_RRD_FG_SC)) \ - + (ENABLED(ULTRA_LCD) && DISABLED(IS_ULTRA_LCD)) \ + + ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \ + + ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \ + + ENABLED(ULTIPANEL) \ + + ENABLED(ULTRA_LCD) \ + (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \ + (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)) \ - + ENABLED(RADDS_DISPLAY) \ - + ENABLED(ULTIMAKERCONTROLLER) \ - + ENABLED(PANEL_ONE) \ + + (DISABLED(IS_LEGACY_TFT) && ENABLED(TFT_GENERIC)) \ + + (ENABLED(IS_LEGACY_TFT) && COUNT_ENABLED(TFT_320x240, TFT_320x240_SPI, TFT_480x320, TFT_480x320_SPI)) \ + + COUNT_ENABLED(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON, ANYCUBIC_TFT35) \ + + COUNT_ENABLED(DGUS_LCD_UI_ORIGIN, DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY) \ + + COUNT_ENABLED(ENDER2_STOCKDISPLAY, CR10_STOCKDISPLAY, DWIN_CREALITY_LCD) \ + + COUNT_ENABLED(FYSETC_MINI_12864_X_X, FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1, FYSETC_GENERIC_12864_1_1) \ + + COUNT_ENABLED(LCD_SAINSMART_I2C_1602, LCD_SAINSMART_I2C_2004) \ + + COUNT_ENABLED(MKS_12864OLED, MKS_12864OLED_SSD1306) \ + + COUNT_ENABLED(MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R) \ + + COUNT_ENABLED(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) \ + + COUNT_ENABLED(VIKI2, miniVIKI) \ + + COUNT_ENABLED(ZONESTAR_12864LCD, ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306) \ + + ENABLED(ANET_FULL_GRAPHICS_LCD) \ + + ENABLED(AZSMZ_12864) \ + + ENABLED(BQ_LCD_SMART_CONTROLLER) \ + + ENABLED(CARTESIO_UI) \ + + ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \ + + ENABLED(FF_INTERFACEBOARD) \ + + ENABLED(FYSETC_242_OLED_12864) \ + ENABLED(G3D_PANEL) \ - + ENABLED(RIGIDBOT_PANEL) \ - + ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \ - + ENABLED(ZONESTAR_LCD) \ - + ENABLED(RA_CONTROL_PANEL) \ - + ENABLED(LCD_SAINSMART_I2C_1602) \ - + ENABLED(LCD_SAINSMART_I2C_2004) \ - + ENABLED(LCM1602) \ + + ENABLED(LCD_FOR_MELZI) \ + ENABLED(LCD_I2C_PANELOLU2) \ + ENABLED(LCD_I2C_VIKI) \ - + ENABLED(SAV_3DLCD) \ - + ENABLED(FF_INTERFACEBOARD) \ - + ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \ - + ENABLED(VIKI2) \ - + ENABLED(miniVIKI) \ + + ENABLED(LCM1602) \ + + ENABLED(LONGER_LK_TFT28) \ + + ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \ + ENABLED(MAKRPANEL) \ - + ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \ - + ENABLED(BQ_LCD_SMART_CONTROLLER) \ - + ENABLED(CARTESIO_UI) \ - + ENABLED(LCD_FOR_MELZI) \ - + ENABLED(ULTI_CONTROLLER) \ + + ENABLED(MALYAN_LCD) \ + ENABLED(MKS_LCD12864) \ - + ENABLED(ENDER2_STOCKDISPLAY) \ - + ENABLED(FYSETC_MINI_12864_X_X) \ - + ENABLED(FYSETC_MINI_12864_1_2) \ - + ENABLED(FYSETC_MINI_12864_2_0) \ - + ENABLED(FYSETC_MINI_12864_2_1) \ - + ENABLED(FYSETC_GENERIC_12864_1_1) \ - + ENABLED(CR10_STOCKDISPLAY) \ - + ENABLED(DWIN_CREALITY_LCD) \ - + ENABLED(ANET_FULL_GRAPHICS_LCD) \ - + ENABLED(AZSMZ_12864) \ - + ENABLED(SILVER_GATE_GLCD_CONTROLLER) \ - + ENABLED(SAV_3DGLCD) \ + 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) \ - + ENABLED(DGUS_LCD_UI_ORIGIN) \ - + ENABLED(DGUS_LCD_UI_FYSETC) \ - + ENABLED(DGUS_LCD_UI_HIPRECY) \ - + ENABLED(MALYAN_LCD) \ + + ENABLED(PANEL_ONE) \ + + ENABLED(RA_CONTROL_PANEL) \ + + ENABLED(RADDS_DISPLAY) \ + + ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \ + + ENABLED(RIGIDBOT_PANEL) \ + + ENABLED(SAV_3DGLCD) \ + + ENABLED(SAV_3DLCD) \ + + ENABLED(SILVER_GATE_GLCD_CONTROLLER) \ + + ENABLED(TFT_TRONXY_X5SA) \ + 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) \ - + ENABLED(ANYCUBIC_LCD_I3MEGA) \ - + ENABLED(ANYCUBIC_LCD_CHIRON) \ - + ENABLED(TFTGLCD_PANEL_SPI) \ - + ENABLED(TFTGLCD_PANEL_I2C) + + ENABLED(U8GLIB_SH1106_EINSTART) \ + + ENABLED(ULTI_CONTROLLER) \ + + ENABLED(ULTIMAKERCONTROLLER) \ + + ENABLED(ZONESTAR_LCD) #error "Please select only one LCD controller option." #endif -#undef IS_RRD_SC -#undef IS_RRD_FG_SC -#undef IS_ULTRA_LCD #undef IS_U8GLIB_SSD1306 -#undef IS_RRW_KEYPAD #undef IS_EXTUI -#undef IS_ULTIPANEL +#undef IS_LEGACY_TFT + +#if ANY(TFT_GENERIC, MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R, TFT_TRONXY_X5SA, ANYCUBIC_TFT35, ANYCUBIC_TFT35, LONGER_LK_TFT28) + #if NONE(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI) + #error "TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI is required for your TFT. Please enable one." + #elif 1 < ENABLED(TFT_COLOR_UI) + ENABLED(TFT_CLASSIC_UI) + ENABLED(TFT_LVGL_UI) + #error "Please select only one of TFT_COLOR_UI, TFT_CLASSIC_UI, or TFT_LVGL_UI." + #endif +#elif ANY(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI) + #error "TFT_(COLOR|CLASSIC|LVGL)_UI requires a TFT display to be enabled." +#endif + +#if ENABLED(TFT_GENERIC) && NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI) + #error "TFT_GENERIC requires either TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI interface." +#endif -#if 1 < ENABLED(LCD_SCREEN_ROT_0) + ENABLED(LCD_SCREEN_ROT_90) + ENABLED(LCD_SCREEN_ROT_180) + ENABLED(LCD_SCREEN_ROT_270) +#if BOTH(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI) + #error "Please enable only one of TFT_INTERFACE_SPI or TFT_INTERFACE_SPI." +#endif + +#if MANY(LCD_SCREEN_ROT_0, LCD_SCREEN_ROT_90, LCD_SCREEN_ROT_180, LCD_SCREEN_ROT_270) #error "Please enable only one LCD_SCREEN_ROT_* option: 0, 90, 180, or 270." #endif +#if MANY(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320) + #error "Please select only one of TFT_RES_480x320, TFT_RES_480x320, or TFT_RES_480x272." +#endif + +#if HAS_TFT_LVGL_UI && DISABLED(TFT_RES_480x320) + #error "(FMSC|SPI)TFT_LVGL_UI requires TFT_RES_480x320." +#endif + +#if defined(GRAPHICAL_TFT_UPSCALE) && !WITHIN(GRAPHICAL_TFT_UPSCALE, 2, 3) + #error "GRAPHICAL_TFT_UPSCALE must be set to 2 or 3." +#endif + /** * Serial displays require a dedicated serial port */ @@ -2756,7 +2739,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #error "BLOCK_BUFFER_SIZE must be a power of 2." #endif -#if ENABLED(LED_CONTROL_MENU) && DISABLED(ULTIPANEL) +#if ENABLED(LED_CONTROL_MENU) && !IS_ULTIPANEL #error "LED_CONTROL_MENU requires an LCD controller." #endif diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 4b5c0cb7fd91..7aadf66a22b0 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-14" + #define STRING_DISTRIBUTION_DATE "2020-10-17" #endif /** @@ -52,7 +52,7 @@ * to alert users to major changes. */ -#define MARLIN_HEX_VERSION 020007 +#define MARLIN_HEX_VERSION 020008 #ifndef REQUIRED_CONFIGURATION_H_VERSION #define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION #endif diff --git a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp index aa3c3c04a123..8aca19b0cd9e 100644 --- a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp +++ b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp @@ -16,10 +16,10 @@ #if HAS_MARLINUI_HD44780 -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../MarlinCore.h" -#include "ultralcd_HD44780.h" +#include "marlinui_HD44780.h" #include diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp similarity index 99% rename from Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp rename to Marlin/src/lcd/HD44780/marlinui_HD44780.cpp index e6cc22746571..3c7993e375e9 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp @@ -25,14 +25,14 @@ #if HAS_MARLINUI_HD44780 /** - * ultralcd_HD44780.cpp + * marlinui_HD44780.cpp * * LCD display implementations for Hitachi HD44780. * These are the most common LCD character displays. */ -#include "ultralcd_HD44780.h" -#include "../ultralcd.h" +#include "marlinui_HD44780.h" +#include "../marlinui.h" #include "../../libs/numtostr.h" #include "../../sd/cardreader.h" diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.h b/Marlin/src/lcd/HD44780/marlinui_HD44780.h similarity index 100% rename from Marlin/src/lcd/HD44780/ultralcd_HD44780.h rename to Marlin/src/lcd/HD44780/marlinui_HD44780.h diff --git a/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp index 51681a800953..dddab1f259f5 100644 --- a/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp @@ -37,11 +37,11 @@ #if IS_TFTGLCD_PANEL -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../MarlinCore.h" #include "../../libs/numtostr.h" -#include "ultralcd_TFTGLCD.h" +#include "marlinui_TFTGLCD.h" #include diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp similarity index 99% rename from Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp rename to Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp index b5789091dc2f..83ebe111ae3d 100644 --- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp @@ -25,10 +25,10 @@ #if IS_TFTGLCD_PANEL /** - * ultralcd_TFTGLCD.cpp + * marlinui_TFTGLCD.cpp * * Implementation of the LCD display routines for a TFT GLCD displays with external controller. - * This display looks as a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER but has good text font + * This display looks like a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER but has good text font * and supports color output. */ @@ -42,8 +42,8 @@ #include #endif -#include "ultralcd_TFTGLCD.h" -#include "../ultralcd.h" +#include "marlinui_TFTGLCD.h" +#include "../marlinui.h" #include "../../libs/numtostr.h" #include "../../sd/cardreader.h" diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h b/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.h similarity index 100% rename from Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h rename to Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.h diff --git a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h index da7d4f6f1ec0..535502f2e1a6 100644 --- a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h +++ b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h @@ -112,7 +112,7 @@ #ifndef U8G_COM_SSD_I2C_HAL #define U8G_COM_SSD_I2C_HAL u8g_com_null_fn #endif -#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) +#if HAS_FSMC_GRAPHICAL_TFT || HAS_SPI_GRAPHICAL_TFT uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); #define U8G_COM_HAL_TFT_FN u8g_com_hal_tft_fn #else diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h index c6ad566cffaf..e76b7da59834 100644 --- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h +++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h @@ -29,7 +29,7 @@ */ #include "../../inc/MarlinConfig.h" -#include "ultralcd_DOGM.h" +#include "marlinui_DOGM.h" #define BW(N) ((N + 7) / 8) diff --git a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp index a6bdb373dd70..a85dc9f97911 100644 --- a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp +++ b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp @@ -11,9 +11,9 @@ #if HAS_MARLINUI_U8GLIB -#include "ultralcd_DOGM.h" +#include "marlinui_DOGM.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../MarlinCore.h" #include "../fontutils.h" diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp similarity index 99% rename from Marlin/src/lcd/dogm/ultralcd_DOGM.cpp rename to Marlin/src/lcd/dogm/marlinui_DOGM.cpp index c48abac81016..53a20476e9c5 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp +++ b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp @@ -21,7 +21,7 @@ */ /** - * lcd/dogm/ultralcd_DOGM.h + * lcd/dogm/marlinui_DOGM.h * * Implementation of the LCD display routines for a DOGM128 graphic display. * by STB for ErikZalm/Marlin. Common LCD 128x64 pixel graphic displays. @@ -39,7 +39,7 @@ #if HAS_MARLINUI_U8GLIB -#include "ultralcd_DOGM.h" +#include "marlinui_DOGM.h" #include "u8g_fontutf8.h" #if ENABLED(SHOW_BOOTSCREEN) @@ -49,7 +49,7 @@ #include "../lcdprint.h" #include "../fontutils.h" #include "../../libs/numtostr.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../sd/cardreader.h" #include "../../module/temperature.h" diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.h b/Marlin/src/lcd/dogm/marlinui_DOGM.h similarity index 99% rename from Marlin/src/lcd/dogm/ultralcd_DOGM.h rename to Marlin/src/lcd/dogm/marlinui_DOGM.h index 228cee6848b4..29a1b7d3cff5 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.h +++ b/Marlin/src/lcd/dogm/marlinui_DOGM.h @@ -22,7 +22,7 @@ #pragma once /** - * lcd/dogm/ultralcd_DOGM.h + * lcd/dogm/marlinui_DOGM.h */ #include "../../inc/MarlinConfigPre.h" @@ -189,7 +189,7 @@ // Unspecified 320x240 TFT pre-initialized by built-in bootloader #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64 - #if ENABLED(FSMC_GRAPHICAL_TFT) + #if HAS_FSMC_GRAPHICAL_TFT #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN #else #define U8G_PARAM -1, -1 diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 987924201a80..d07474d810e3 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -30,8 +30,8 @@ #if HAS_MARLINUI_U8GLIB && DISABLED(LIGHTWEIGHT_UI) #include "dogm_Statusscreen.h" -#include "ultralcd_DOGM.h" -#include "../ultralcd.h" +#include "marlinui_DOGM.h" +#include "../marlinui.h" #include "../lcdprint.h" #include "../../libs/numtostr.h" diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp index 806f370db327..c06080f601bb 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp @@ -46,7 +46,7 @@ #include "status_screen_lite_ST7920.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../fontutils.h" #include "../lcdprint.h" #include "../../libs/duration_t.h" diff --git a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp index 740436d93c07..c745f971dc1f 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp @@ -201,7 +201,7 @@ u8g_dev_t u8g_dev_st7920_128x64_HAL_4x_hw_spi = { u8g_dev_st7920_128x64_HAL_4x_f #if NONE(__AVR__, ARDUINO_ARCH_STM32, ARDUINO_ARCH_ESP32) || defined(U8G_HAL_LINKS) // Also use this device for HAL version of rrd class. This results in the same device being used - // for the ST7920 for HAL systems no matter what is selected in ultralcd_impl_DOGM.h. + // for the ST7920 for HAL systems no matter what is selected in marlinui_DOGM.h. u8g_dev_t u8g_dev_st7920_128x64_rrd_sw_spi = { u8g_dev_st7920_128x64_HAL_4x_fn, &u8g_dev_st7920_128x64_HAL_4x_pb, U8G_COM_ST7920_HAL_SW_SPI }; #endif diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp index d18b617987cb..2599b1ad2267 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp @@ -55,10 +55,10 @@ #include "../../inc/MarlinConfig.h" -#if HAS_MARLINUI_U8GLIB && (PIN_EXISTS(FSMC_CS) || ENABLED(SPI_GRAPHICAL_TFT)) +#if HAS_MARLINUI_U8GLIB && (PIN_EXISTS(FSMC_CS) || HAS_SPI_GRAPHICAL_TFT) #include "HAL_LCD_com_defines.h" -#include "ultralcd_DOGM.h" +#include "marlinui_DOGM.h" #include @@ -477,4 +477,4 @@ uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_p U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_TFT_FN); -#endif // HAS_MARLINUI_U8GLIB && FSMC_CS +#endif // HAS_MARLINUI_U8GLIB && (FSMC_CS_PIN || HAS_SPI_GRAPHICAL_TFT) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 28087497371f..45704d5724f8 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -47,7 +47,7 @@ #include #include "../../fontutils.h" -#include "../../ultralcd.h" +#include "../../marlinui.h" #include "../../../sd/cardreader.h" diff --git a/Marlin/src/lcd/extui/lib/dgus/fysetc/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/lib/dgus/fysetc/DGUSDisplayDef.cpp index 3beed892e35b..e2f2fd934695 100644 --- a/Marlin/src/lcd/extui/lib/dgus/fysetc/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/lib/dgus/fysetc/DGUSDisplayDef.cpp @@ -35,7 +35,7 @@ #include "../../../../../module/planner.h" #include "../../../ui_api.h" -#include "../../../../ultralcd.h" +#include "../../../../marlinui.h" #if ENABLED(DGUS_UI_MOVE_DIS_OPTION) uint16_t distanceToMove = 10; diff --git a/Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp index 82c06d7a4afb..ed26cac3c503 100644 --- a/Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp @@ -35,7 +35,7 @@ #include "../../../../../module/planner.h" #include "../../../ui_api.h" -#include "../../../../ultralcd.h" +#include "../../../../marlinui.h" #if ENABLED(DGUS_UI_MOVE_DIS_OPTION) uint16_t distanceToMove = 10; diff --git a/Marlin/src/lcd/extui/lib/dgus/origin/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/lib/dgus/origin/DGUSDisplayDef.cpp index f9d4351e02d9..46e542a9598a 100644 --- a/Marlin/src/lcd/extui/lib/dgus/origin/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/lib/dgus/origin/DGUSDisplayDef.cpp @@ -34,7 +34,7 @@ #include "../../../../../module/motion.h" #include "../../../../../module/planner.h" -#include "../../../../ultralcd.h" +#include "../../../../marlinui.h" #include "../../../ui_api.h" #if ENABLED(DGUS_UI_MOVE_DIS_OPTION) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp index 6d7b68af42a7..e84bb395e098 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp @@ -520,7 +520,7 @@ void lv_gcode_file_read(uint8_t *data_buf) { j = 0; ignore_start = false; } - #if ENABLED(TFT_LVGL_UI_SPI) + #if HAS_TFT_LVGL_UI_SPI for (i = 0; i < 200;) { p_index = (uint16_t *)(&public_buf[i]); @@ -529,7 +529,7 @@ void lv_gcode_file_read(uint8_t *data_buf) { i += 2; if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; } - #else + #else // !HAS_TFT_LVGL_UI_SPI for (i = 0; i < 200;) { p_index = (uint16_t *)(&public_buf[i]); //Color = (*p_index >> 8); @@ -537,7 +537,7 @@ void lv_gcode_file_read(uint8_t *data_buf) { i += 2; if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; // 0x18C3; } - #endif // TFT_LVGL_UI_SPI + #endif // !HAS_TFT_LVGL_UI_SPI memcpy(data_buf, public_buf, 200); #endif // SDSUPPORT } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp index c6369db41383..0b49bf4ab79d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp @@ -41,7 +41,7 @@ #include "../../../../feature/powerloss.h" #endif #if BOTH(LCD_SET_PROGRESS_MANUALLY, USE_M73_REMAINING_TIME) - #include "../../../ultralcd.h" + #include "../../../marlinui.h" #endif extern lv_group_t * g; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index d600b09a5f16..519fae2f3968 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -751,7 +751,7 @@ char *creat_title_text() { card.openFileRead(cur_name); card.setIndex((PREVIEW_LITTLE_PIC_SIZE + To_pre_view) + size * row + 8); - #if ENABLED(TFT_LVGL_UI_SPI) + #if HAS_TFT_LVGL_UI_SPI SPI_TFT.setWindow(xpos_pixel, ypos_pixel + row, 200, 1); #else LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1); @@ -782,7 +782,7 @@ char *creat_title_text() { //#endif } - #if ENABLED(TFT_LVGL_UI_SPI) + #if HAS_TFT_LVGL_UI_SPI for (i = 0; i < 400;) { p_index = (uint16_t *)(&bmp_public_buf[i]); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index c0cd14d70dd0..f74ed3c798d2 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -44,7 +44,7 @@ #include "../../../../inc/MarlinConfig.h" #include HAL_PATH(../../HAL, tft/xpt2046.h) -#include "../../../ultralcd.h" +#include "../../../marlinui.h" XPT2046 touch; #if ENABLED(POWER_LOSS_RECOVERY) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp index f5d954792ead..e4fb4ece0366 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp @@ -33,7 +33,7 @@ #include "../../../../module/temperature.h" #include "../../../../gcode/queue.h" #include "../../../../gcode/gcode.h" -#include "../../../../lcd/ultralcd.h" +#include "../../../../lcd/marlinui.h" #include "../../../../sd/cardreader.h" #include "../../../../module/planner.h" #if ENABLED(POWER_LOSS_RECOVERY) diff --git a/Marlin/src/lcd/extui/malyan_lcd.cpp b/Marlin/src/lcd/extui/malyan_lcd.cpp index 79a5fb961aa1..5505a0dff7d7 100644 --- a/Marlin/src/lcd/extui/malyan_lcd.cpp +++ b/Marlin/src/lcd/extui/malyan_lcd.cpp @@ -49,7 +49,7 @@ #include "ui_api.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../sd/cardreader.h" #include "../../module/temperature.h" #include "../../module/stepper.h" diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 30cf696f3ed7..8151828a0837 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -45,7 +45,7 @@ #if ENABLED(EXTENSIBLE_UI) -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../gcode/queue.h" #include "../../module/motion.h" #include "../../module/planner.h" @@ -1053,11 +1053,9 @@ namespace ExtUI { } // namespace ExtUI -// At the moment, we piggy-back off the ultralcd calls, but this could be cleaned up in the future +// At the moment we hook into MarlinUI methods, but this could be cleaned up in the future -void MarlinUI::init() { - ExtUI::onStartup(); -} +void MarlinUI::init() { ExtUI::onStartup(); } void MarlinUI::update() { ExtUI::onIdle(); } diff --git a/Marlin/src/lcd/fontutils.cpp b/Marlin/src/lcd/fontutils.cpp index 5bf07e1bd458..22b54c72de72 100644 --- a/Marlin/src/lcd/fontutils.cpp +++ b/Marlin/src/lcd/fontutils.cpp @@ -10,7 +10,7 @@ #include "../inc/MarlinConfig.h" #if HAS_WIRED_LCD - #include "ultralcd.h" + #include "marlinui.h" #include "../MarlinCore.h" #endif diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 74e185680cc7..f8d891576e15 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -70,7 +70,7 @@ namespace Language_de { PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Ausblendhöhe"); PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Setze Homeversatz"); PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Homeversatz aktiv"); - PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Setze Nullpunkte"); //"G92 X0 Y0 Z0" commented out in ultralcd.cpp + PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Setze Nullpunkte"); //"G92 X0 Y0 Z0" commented out in marlinui.cpp #if PREHEAT_COUNT PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" Vorwärmen"); PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" Vorwärmen ~"); diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/marlinui.cpp similarity index 99% rename from Marlin/src/lcd/ultralcd.cpp rename to Marlin/src/lcd/marlinui.cpp index 7003d13fdd7a..487678eccfc1 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/marlinui.cpp @@ -31,7 +31,7 @@ #endif // All displays share the MarlinUI class -#include "ultralcd.h" +#include "marlinui.h" MarlinUI ui; #if HAS_DISPLAY @@ -117,7 +117,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #if HAS_WIRED_LCD #if HAS_MARLINUI_U8GLIB - #include "dogm/ultralcd_DOGM.h" + #include "dogm/marlinui_DOGM.h" #endif #include "lcdprint.h" @@ -400,7 +400,7 @@ bool MarlinUI::get_blink() { ///////////// Keypad Handling ////////////// //////////////////////////////////////////// -#if BOTH(REPRAPWORLD_KEYPAD, HAS_ENCODER_ACTION) +#if IS_RRW_KEYPAD && HAS_ENCODER_ACTION volatile uint8_t MarlinUI::keypad_buttons; @@ -432,7 +432,7 @@ bool MarlinUI::get_blink() { #if HAS_ENCODER_ACTION refresh(LCDVIEW_REDRAW_NOW); #if HAS_LCD_MENU - if (encoderDirection == -(ENCODERBASE)) { // ADC_KEYPAD forces REVERSE_MENU_DIRECTION, so this indicates menu navigation + if (encoderDirection == -(ENCODERBASE)) { // HAS_ADC_BUTTONS forces REVERSE_MENU_DIRECTION, so this indicates menu navigation if (RRK(EN_KEYPAD_UP)) encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; else if (RRK(EN_KEYPAD_DOWN)) encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM; else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); } @@ -497,12 +497,12 @@ bool MarlinUI::get_blink() { return true; } - #endif // !ADC_KEYPAD + #endif // !HAS_ADC_BUTTONS return false; } -#endif // REPRAPWORLD_KEYPAD +#endif // IS_RRW_KEYPAD && HAS_ENCODER_ACTION /** * Status Screen @@ -1478,10 +1478,6 @@ void MarlinUI::update() { set_status_P(msg, -1); } - #if ENABLED(SDSUPPORT) - extern bool wait_for_user, wait_for_heatup; - #endif - void MarlinUI::abort_print() { #if ENABLED(SDSUPPORT) wait_for_heatup = wait_for_user = false; diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/marlinui.h similarity index 98% rename from Marlin/src/lcd/ultralcd.h rename to Marlin/src/lcd/marlinui.h index c7ef41596df5..bf9e47e0c845 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/marlinui.h @@ -34,13 +34,13 @@ #if EITHER(HAS_LCD_MENU, ULTIPANEL_FEEDMULTIPLY) #define HAS_ENCODER_ACTION 1 #endif -#if ((!HAS_ADC_BUTTONS && ENABLED(NEWPANEL)) || BUTTONS_EXIST(EN1, EN2)) && !IS_TFTGLCD_PANEL +#if ((!HAS_ADC_BUTTONS && IS_NEWPANEL) || BUTTONS_EXIST(EN1, EN2)) && !IS_TFTGLCD_PANEL #define HAS_ENCODER_WHEEL 1 #endif #if HAS_ENCODER_WHEEL || ANY_BUTTON(ENC, BACK, UP, DWN, LFT, RT) #define HAS_DIGITAL_BUTTONS 1 #endif -#if !HAS_ADC_BUTTONS && (ENABLED(REPRAPWORLD_KEYPAD) || (HAS_WIRED_LCD && DISABLED(NEWPANEL))) +#if !HAS_ADC_BUTTONS && (IS_RRW_KEYPAD || (HAS_WIRED_LCD && !IS_NEWPANEL)) #define HAS_SHIFT_ENCODER 1 #endif @@ -106,8 +106,7 @@ #endif // HAS_WIRED_LCD -// REPRAPWORLD_KEYPAD (and ADC_KEYPAD) -#if ENABLED(REPRAPWORLD_KEYPAD) +#if IS_RRW_KEYPAD #define BTN_OFFSET 0 // Bit offset into buttons for shift register values #define BLEN_KEYPAD_F3 0 @@ -136,7 +135,7 @@ #define BUTTON_CLICK() RRK(EN_KEYPAD_MIDDLE) #endif -#endif +#endif // IS_RRW_KEYPAD #if HAS_DIGITAL_BUTTONS @@ -633,7 +632,7 @@ class MarlinUI { #if HAS_ENCODER_ACTION static volatile uint8_t buttons; - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD static volatile uint8_t keypad_buttons; static bool handle_keypad(); #endif diff --git a/Marlin/src/lcd/menu/game/game.h b/Marlin/src/lcd/menu/game/game.h index e788f2980512..cba79e4f28e1 100644 --- a/Marlin/src/lcd/menu/game/game.h +++ b/Marlin/src/lcd/menu/game/game.h @@ -22,9 +22,9 @@ #pragma once #include "../../../inc/MarlinConfigPre.h" -#include "../../dogm/ultralcd_DOGM.h" +#include "../../dogm/marlinui_DOGM.h" #include "../../lcdprint.h" -#include "../../ultralcd.h" +#include "../../marlinui.h" //#define MUTE_GAMES diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h index 89970225adbe..4dd66637f1a2 100644 --- a/Marlin/src/lcd/menu/menu.h +++ b/Marlin/src/lcd/menu/menu.h @@ -21,7 +21,7 @@ */ #pragma once -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../libs/numtostr.h" #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h index bd3af0cec6b3..3ebe38235ddb 100644 --- a/Marlin/src/lcd/menu/menu_item.h +++ b/Marlin/src/lcd/menu/menu_item.h @@ -22,7 +22,7 @@ #pragma once #include "menu.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../../gcode/queue.h" // for inject_P #include "../../inc/MarlinConfigPre.h" diff --git a/Marlin/src/lcd/menu/menu_probe_offset.cpp b/Marlin/src/lcd/menu/menu_probe_offset.cpp index 6b7830b853d8..4623b8f49242 100644 --- a/Marlin/src/lcd/menu/menu_probe_offset.cpp +++ b/Marlin/src/lcd/menu/menu_probe_offset.cpp @@ -88,16 +88,20 @@ void probe_offset_wizard_menu() { SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move_z( 0.1f); }); if ((SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { - extern const char NUL_STR[]; - SUBMENU_P(NUL_STR, []{ _goto_manual_move_z(float(SHORT_MANUAL_Z_MOVE)); }); - MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); - char tmp[20], numstr[10]; - // Determine digits needed right of decimal - const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : - !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; - sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + char tmp[20], numstr[10]; + // Determine digits needed right of decimal + const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : + !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; + sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + #if DISABLED(HAS_GRAPHICAL_TFT) + extern const char NUL_STR[]; + SUBMENU_P(NUL_STR, []{ _goto_manual_move_z(float(SHORT_MANUAL_Z_MOVE)); }); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); lcd_put_u8str(tmp); - MENU_ITEM_ADDON_END(); + MENU_ITEM_ADDON_END(); + #else + SUBMENU_P(tmp, []{ _goto_manual_move_z(float(SHORT_MANUAL_Z_MOVE)); }); + #endif } ACTION_ITEM(MSG_BUTTON_DONE, []{ diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp index 0c70cd7e18e8..28ea54efbab1 100644 --- a/Marlin/src/lcd/menu/menu_temperature.cpp +++ b/Marlin/src/lcd/menu/menu_temperature.cpp @@ -31,7 +31,7 @@ #include "menu_item.h" #include "../../module/temperature.h" -#if FAN_COUNT > 1 || ENABLED(SINGLENOZZLE) +#if HAS_FAN || ENABLED(SINGLENOZZLE) #include "../../module/motion.h" #endif @@ -44,24 +44,17 @@ // void Temperature::lcd_preheat(const int16_t e, const int8_t indh, const int8_t indb) { + UNUSED(e); UNUSED(indh); UNUSED(indb); #if HAS_HOTEND if (indh >= 0 && ui.material_preset[indh].hotend_temp > 0) setTargetHotend(_MIN(thermalManager.heater_maxtemp[e] - HOTEND_OVERSHOOT, ui.material_preset[indh].hotend_temp), e); - #else - UNUSED(e); UNUSED(indh); #endif #if HAS_HEATED_BED if (indb >= 0 && ui.material_preset[indb].bed_temp > 0) setTargetBed(ui.material_preset[indb].bed_temp); - #else - UNUSED(indb); #endif #if HAS_FAN - set_fan_speed(( - #if FAN_COUNT > 1 - active_extruder < FAN_COUNT ? active_extruder : - #endif - 0), ui.material_preset[indh].fan_speed - ); + if (indh >= 0) + set_fan_speed(active_extruder < (FAN_COUNT) ? active_extruder : 0, ui.material_preset[indh].fan_speed); #endif ui.return_to_status(); } @@ -93,7 +86,9 @@ void Temperature::lcd_preheat(const int16_t e, const int8_t indh, const int8_t i #endif - void do_preheat_end_m() { _preheat_end(editable.int8, 0); } + void do_preheat_end_m() { + _preheat_end(editable.int8, 0); + } #if HAS_MULTI_HOTEND || HAS_HEATED_BED diff --git a/Marlin/src/lcd/menu/menu_touch_screen.cpp b/Marlin/src/lcd/menu/menu_touch_screen.cpp index 96eae2298e6c..ea610e088639 100644 --- a/Marlin/src/lcd/menu/menu_touch_screen.cpp +++ b/Marlin/src/lcd/menu/menu_touch_screen.cpp @@ -25,7 +25,7 @@ #if BOTH(HAS_LCD_MENU, TOUCH_SCREEN_CALIBRATION) #include "menu_item.h" -#include "../ultralcd.h" +#include "../marlinui.h" void touch_screen_calibration() { diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index 6bf5c3a15d96..041786794eee 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -47,7 +47,7 @@ #include "../../feature/babystep.h" #include "../lcdprint.h" #if HAS_MARLINUI_U8GLIB - #include "../dogm/ultralcd_DOGM.h" + #include "../dogm/marlinui_DOGM.h" #endif void _lcd_babystep(const AxisEnum axis, PGM_P const msg) { diff --git a/Marlin/src/lcd/scaled_tft.h b/Marlin/src/lcd/scaled_tft.h index 2c05e5f26d81..54bf6f8d1342 100644 --- a/Marlin/src/lcd/scaled_tft.h +++ b/Marlin/src/lcd/scaled_tft.h @@ -49,7 +49,7 @@ #define TFT_PIXEL_OFFSET_X 48 #endif #endif + #ifndef TFT_PIXEL_OFFSET_Y - // 32 is better for both 320x240 and 480x320 - #define TFT_PIXEL_OFFSET_Y 32 + #define TFT_PIXEL_OFFSET_Y 32 // 32 is best for both 320x240 and 480x320 #endif diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index 80c65f074ae6..6dcddc5d560c 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -23,7 +23,7 @@ #include "touch.h" -#include "../ultralcd.h" // for ui methods +#include "../marlinui.h" // for ui methods #include "../menu/menu_item.h" // for touch_screen_calibration #include "../../module/temperature.h" @@ -40,10 +40,10 @@ int16_t Touch::x, Touch::y; touch_control_t Touch::controls[]; touch_control_t *Touch::current_control; uint16_t Touch::controls_count; -millis_t Touch::now = 0; -millis_t Touch::time_to_hold; -millis_t Touch::repeat_delay; -millis_t Touch::touch_time; +millis_t Touch::last_touch_ms = 0, + Touch::time_to_hold, + Touch::repeat_delay, + Touch::touch_time; TouchControlType Touch::touch_control_type = NONE; touch_calibration_t Touch::calibration; #if ENABLED(TOUCH_SCREEN_CALIBRATION) @@ -79,8 +79,10 @@ void Touch::idle() { if (!enabled) return; - if (now == millis()) return; - now = millis(); + // Return if Touch::idle is called within the same millisecond + const millis_t now = millis(); + if (last_touch_ms == now) return; + last_touch_ms = now; if (get_point(&_x, &_y)) { #if HAS_RESUME_CONTINUE @@ -88,24 +90,25 @@ void Touch::idle() { if (wait_for_user) { touch_control_type = CLICK; ui.lcd_clicked = true; + if (ui.external_control) wait_for_user = false; return; } #endif #if LCD_TIMEOUT_TO_STATUS - ui.return_to_status_ms = now + LCD_TIMEOUT_TO_STATUS; + ui.return_to_status_ms = last_touch_ms + LCD_TIMEOUT_TO_STATUS; #endif if (touch_time) { #if ENABLED(TOUCH_SCREEN_CALIBRATION) - if (touch_control_type == NONE && ELAPSED(now, touch_time + TOUCH_SCREEN_HOLD_TO_CALIBRATE_MS) && ui.on_status_screen()) + if (touch_control_type == NONE && ELAPSED(last_touch_ms, touch_time + TOUCH_SCREEN_HOLD_TO_CALIBRATE_MS) && ui.on_status_screen()) ui.goto_screen(touch_screen_calibration); #endif return; } - if (time_to_hold == 0) time_to_hold = now + MINIMUM_HOLD_TIME; - if (PENDING(now, time_to_hold)) return; + if (time_to_hold == 0) time_to_hold = last_touch_ms + MINIMUM_HOLD_TIME; + if (PENDING(last_touch_ms, time_to_hold)) return; if (x != 0 && y != 0) { if (current_control) { @@ -131,7 +134,7 @@ void Touch::idle() { } if (current_control == NULL) - touch_time = now; + touch_time = last_touch_ms; } x = _x; y = _y; @@ -284,7 +287,7 @@ void Touch::hold(touch_control_t *control, millis_t delay) { current_control = control; if (delay) { repeat_delay = delay > MIN_REPEAT_DELAY ? delay : MIN_REPEAT_DELAY; - time_to_hold = now + repeat_delay; + time_to_hold = last_touch_ms + repeat_delay; } ui.refresh(); } diff --git a/Marlin/src/lcd/tft/touch.h b/Marlin/src/lcd/tft/touch.h index 7d8f222918db..17aa5bdd97b9 100644 --- a/Marlin/src/lcd/tft/touch.h +++ b/Marlin/src/lcd/tft/touch.h @@ -140,10 +140,7 @@ class Touch { static touch_control_t *current_control; static uint16_t controls_count; - static millis_t now; - static millis_t time_to_hold; - static millis_t repeat_delay; - static millis_t touch_time; + static millis_t last_touch_ms, time_to_hold, repeat_delay, touch_time; static TouchControlType touch_control_type; static inline bool get_point(int16_t *x, int16_t *y); @@ -164,7 +161,13 @@ class Touch { static void reset() { controls_count = 0; touch_time = -1; current_control = NULL; } static void clear() { controls_count = 0; } static void idle(); - static bool is_clicked() { return touch_control_type == CLICK; } + static bool is_clicked() { + if (touch_control_type == CLICK) { + touch_control_type = NONE; + return true; + } + return false; + } static void disable() { enabled = false; } static void enable() { enabled = true; } diff --git a/Marlin/src/lcd/tft/ui_320x240.cpp b/Marlin/src/lcd/tft/ui_320x240.cpp index de8498c5ff0f..339c26cca27d 100644 --- a/Marlin/src/lcd/tft/ui_320x240.cpp +++ b/Marlin/src/lcd/tft/ui_320x240.cpp @@ -26,7 +26,7 @@ #include "ui_320x240.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../menu/menu.h" #include "../../libs/numtostr.h" diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index 3dab9418f5fa..b67e041349b2 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -26,7 +26,7 @@ #include "ui_480x320.h" -#include "../ultralcd.h" +#include "../marlinui.h" #include "../menu/menu.h" #include "../../libs/numtostr.h" diff --git a/Marlin/src/lcd/touch/touch_buttons.cpp b/Marlin/src/lcd/touch/touch_buttons.cpp index 7d25c0df7eb9..eeb22aae6eee 100644 --- a/Marlin/src/lcd/touch/touch_buttons.cpp +++ b/Marlin/src/lcd/touch/touch_buttons.cpp @@ -27,7 +27,7 @@ #include HAL_PATH(../../HAL, tft/xpt2046.h) XPT2046 touchIO; -#include "../../lcd/ultralcd.h" // For EN_C bit mask +#include "../../lcd/marlinui.h" // For EN_C bit mask /** * Draw and Touch processing diff --git a/Marlin/src/libs/L64XX/L64XX_Marlin.cpp b/Marlin/src/libs/L64XX/L64XX_Marlin.cpp index dd85473e9802..8914bc560eee 100644 --- a/Marlin/src/libs/L64XX/L64XX_Marlin.cpp +++ b/Marlin/src/libs/L64XX/L64XX_Marlin.cpp @@ -62,11 +62,11 @@ const uint8_t L64XX_Marlin::index_to_dir[MAX_L64XX] = { INVERT_X_DIR, INVERT_Y_DIR, INVERT_Z_DIR , (INVERT_X_DIR) // X2 #if ENABLED(X_DUAL_STEPPER_DRIVERS) - ^ (INVERT_X2_VS_X_DIR) + ^ ENABLED(INVERT_X2_VS_X_DIR) #endif , (INVERT_Y_DIR) // Y2 #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - ^ (INVERT_Y2_VS_Y_DIR) + ^ ENABLED(INVERT_Y2_VS_Y_DIR) #endif , INVERT_Z_DIR, INVERT_Z_DIR, INVERT_Z_DIR // Z2,Z3,Z4 diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index df6cae6e0a97..93238a69e364 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -34,7 +34,7 @@ // For homing: #include "planner.h" #include "endstops.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../MarlinCore.h" #if HAS_BED_PROBE diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index 712182a0ea40..928c9ad8b9d0 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -30,7 +30,7 @@ #include "../MarlinCore.h" #include "../sd/cardreader.h" #include "temperature.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) #include HAL_PATH(../HAL, endstop_interrupts.h) diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 5b3fab10b1e9..03c8ddc46296 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -36,7 +36,7 @@ #if IS_SCARA #include "../libs/buzzer.h" - #include "../lcd/ultralcd.h" + #include "../lcd/marlinui.h" #endif #if HAS_BED_PROBE @@ -52,7 +52,7 @@ #endif #if HAS_DISPLAY - #include "../lcd/ultralcd.h" + #include "../lcd/marlinui.h" #endif #if HAS_FILAMENT_SENSOR @@ -569,7 +569,7 @@ void restore_feedrate_and_scaling() { soft_endstop.min.x = X2_MIN_POS; soft_endstop.max.x = dual_max_x; } - else if (dxc_is_duplicating()) { + else if (idex_is_duplicating()) { // In Duplication Mode, T0 can move as far left as X1_MIN_POS // but not so far to the right that T1 would move past the end soft_endstop.min.x = X1_MIN_POS; @@ -932,8 +932,7 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { #endif // !UBL_SEGMENTED #if HAS_DUPLICATION_MODE - bool extruder_duplication_enabled, - mirrored_duplication_mode; + bool extruder_duplication_enabled; #if ENABLED(MULTI_NOZZLE_DUPLICATION) uint8_t duplication_e_mask; // = 0 #endif @@ -942,12 +941,13 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { #if ENABLED(DUAL_X_CARRIAGE) DualXMode dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE; - float inactive_extruder_x_pos = X2_MAX_POS, // used in mode 0 & 1 - duplicate_extruder_x_offset = DEFAULT_DUPLICATION_X_OFFSET; // used in mode 2 - xyz_pos_t raised_parked_position; // used in mode 1 - bool active_extruder_parked = false; // used in mode 1 & 2 - millis_t delayed_move_time = 0; // used in mode 1 - int16_t duplicate_extruder_temp_offset = 0; // used in mode 2 + float inactive_extruder_x = X2_MAX_POS, // Used in mode 0 & 1 + duplicate_extruder_x_offset = DEFAULT_DUPLICATION_X_OFFSET; // Used in mode 2 + xyz_pos_t raised_parked_position; // Used in mode 1 + bool active_extruder_parked = false; // Used in mode 1 & 2 + millis_t delayed_move_time = 0; // Used in mode 1 + int16_t duplicate_extruder_temp_offset = 0; // Used in mode 2 + bool idex_mirrored_mode = false; // Used in mode 3 float x_home_pos(const uint8_t extruder) { if (extruder == 0) @@ -962,6 +962,23 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { return hotend_offset[1].x > 0 ? hotend_offset[1].x : X2_HOME_POS; } + void idex_set_mirrored_mode(const bool mirr) { + idex_mirrored_mode = mirr; + stepper.set_directions(); + } + + void set_duplication_enabled(const bool dupe, const int8_t tool_index/*=-1*/) { + extruder_duplication_enabled = dupe; + if (tool_index >= 0) active_extruder = tool_index; + stepper.set_directions(); + } + + void idex_set_parked(const bool park/*=true*/) { + delayed_move_time = 0; + active_extruder_parked = park; + if (park) raised_parked_position = current_position; // Remember current raised toolhead position for use by unpark + } + /** * Prepare a linear move in a dual X axis setup * @@ -970,9 +987,10 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { inline bool dual_x_carriage_unpark() { if (active_extruder_parked) { switch (dual_x_carriage_mode) { - case DXC_FULL_CONTROL_MODE: - break; - case DXC_AUTO_PARK_MODE: + + case DXC_FULL_CONTROL_MODE: break; + + case DXC_AUTO_PARK_MODE: { if (current_position.e == destination.e) { // This is a travel move (with no extrusion) // Skip it, but keep track of the current position @@ -984,23 +1002,27 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { return true; } } - // unpark extruder: 1) raise, 2) move into starting XY position, 3) lower - - #define CUR_X current_position.x - #define CUR_Y current_position.y - #define CUR_Z current_position.z - #define CUR_E current_position.e - #define RAISED_X raised_parked_position.x - #define RAISED_Y raised_parked_position.y - #define RAISED_Z raised_parked_position.z - - if ( planner.buffer_line(RAISED_X, RAISED_Y, RAISED_Z, CUR_E, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder)) - if (planner.buffer_line( CUR_X, CUR_Y, RAISED_Z, CUR_E, PLANNER_XY_FEEDRATE(), active_extruder)) - line_to_current_position(planner.settings.max_feedrate_mm_s[Z_AXIS]); - delayed_move_time = 0; - active_extruder_parked = false; - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Clear active_extruder_parked"); - break; + // + // Un-park the active extruder + // + const feedRate_t fr_zfast = planner.settings.max_feedrate_mm_s[Z_AXIS]; + #define CURPOS current_position + #define RAISED raised_parked_position + // 1. Move to the raised parked XYZ. Presumably the tool is already at XY. + if (planner.buffer_line(RAISED.x, RAISED.y, RAISED.z, CURPOS.e, fr_zfast, active_extruder)) { + // 2. Move to the current native XY and raised Z. Presumably this is a null move. + if (planner.buffer_line(CURPOS.x, CURPOS.y, RAISED.z, CURPOS.e, PLANNER_XY_FEEDRATE(), active_extruder)) { + // 3. Lower Z back down + line_to_current_position(fr_zfast); + } + } + planner.synchronize(); // paranoia + stepper.set_directions(); + + idex_set_parked(false); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("idex_set_parked(false)"); + } break; + case DXC_MIRRORED_MODE: case DXC_DUPLICATION_MODE: if (active_extruder == 0) { @@ -1008,22 +1030,23 @@ FORCE_INLINE void segment_idle(millis_t &next_idle_ms) { if (dual_x_carriage_mode == DXC_DUPLICATION_MODE) new_pos.x += duplicate_extruder_x_offset; else - new_pos.x = inactive_extruder_x_pos; - // move duplicate extruder into correct duplication position. - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Set planner X", inactive_extruder_x_pos, " ... Line to X", new_pos.x); - planner.set_position_mm(inactive_extruder_x_pos, current_position.y, current_position.z, current_position.e); + new_pos.x = inactive_extruder_x; + // Move duplicate extruder into correct duplication position. + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Set planner X", inactive_extruder_x, " ... Line to X", new_pos.x); + planner.set_position_mm(inactive_extruder_x, current_position.y, current_position.z, current_position.e); if (!planner.buffer_line(new_pos, planner.settings.max_feedrate_mm_s[X_AXIS], 1)) break; + planner.synchronize(); sync_plan_position(); - extruder_duplication_enabled = true; - active_extruder_parked = false; - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Set extruder_duplication_enabled\nClear active_extruder_parked"); + + set_duplication_enabled(true); + idex_set_parked(false); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("set_duplication_enabled(true)\nidex_set_parked(false)"); } else if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Active extruder not 0"); break; } } - stepper.set_directions(); return false; } diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 85b70c057aa9..5a8a8e004505 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -384,8 +384,7 @@ bool homing_needed_error(uint8_t axis_bits=0x07); * Duplication mode */ #if HAS_DUPLICATION_MODE - extern bool extruder_duplication_enabled, // Used in Dual X mode 2 - mirrored_duplication_mode; // Used in Dual X mode 3 + extern bool extruder_duplication_enabled; // Used in Dual X mode 2 #if ENABLED(MULTI_NOZZLE_DUPLICATION) extern uint8_t duplication_e_mask; #endif @@ -404,23 +403,29 @@ bool homing_needed_error(uint8_t axis_bits=0x07); }; extern DualXMode dual_x_carriage_mode; - extern float inactive_extruder_x_pos, // Used in mode 0 & 1 + extern float inactive_extruder_x, // Used in mode 0 & 1 duplicate_extruder_x_offset; // Used in mode 2 & 3 extern xyz_pos_t raised_parked_position; // Used in mode 1 extern bool active_extruder_parked; // Used in mode 1, 2 & 3 extern millis_t delayed_move_time; // Used in mode 1 extern int16_t duplicate_extruder_temp_offset; // Used in mode 2 & 3 + extern bool idex_mirrored_mode; // Used in mode 3 - FORCE_INLINE bool dxc_is_duplicating() { return dual_x_carriage_mode >= DXC_DUPLICATION_MODE; } + FORCE_INLINE bool idex_is_duplicating() { return dual_x_carriage_mode >= DXC_DUPLICATION_MODE; } float x_home_pos(const uint8_t extruder); FORCE_INLINE int x_home_dir(const uint8_t extruder) { return extruder ? X2_HOME_DIR : X_HOME_DIR; } + void set_duplication_enabled(const bool dupe, const int8_t tool_index=-1); + void idex_set_mirrored_mode(const bool mirr); + void idex_set_parked(const bool park=true); + #else #if ENABLED(MULTI_NOZZLE_DUPLICATION) enum DualXMode : char { DXC_DUPLICATION_MODE = 2 }; + FORCE_INLINE void set_duplication_enabled(const bool dupe) { extruder_duplication_enabled = dupe; } #endif FORCE_INLINE int x_home_dir(const uint8_t) { return home_dir(X_AXIS); } diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 4ad7c4ccf044..74535df1f9c9 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -66,7 +66,7 @@ #include "stepper.h" #include "motion.h" #include "temperature.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../gcode/parser.h" #include "../MarlinCore.h" diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index defc22b1fe8e..d00872038939 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -36,9 +36,9 @@ #include "endstops.h" #include "../gcode/gcode.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" -#include "../MarlinCore.h" // for stop(), disable_e_steppers, wait_for_user +#include "../MarlinCore.h" // for stop(), disable_e_steppers #if HAS_LEVELING #include "../feature/bedlevel/bedlevel.h" diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 33e5c351abc1..eac2af38c3d0 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -54,7 +54,7 @@ #include "../lcd/dwin/e3v2/dwin.h" #endif -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../libs/vector_3.h" // for matrix_3x3 #include "../gcode/gcode.h" #include "../MarlinCore.h" diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 8a5de4b6087b..7b3e13eff44b 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -92,7 +92,7 @@ Stepper stepper; // Singleton #include "motion.h" #include "temperature.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #include "../gcode/queue.h" #include "../sd/cardreader.h" #include "../MarlinCore.h" @@ -348,7 +348,7 @@ xyze_int8_t Stepper::count_direction{0}; } #if ENABLED(X_DUAL_STEPPER_DRIVERS) - #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) != INVERT_X2_VS_X_DIR); }while(0) + #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) ^ ENABLED(INVERT_X2_VS_X_DIR)); }while(0) #if ENABLED(X_DUAL_ENDSTOPS) #define X_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(X,v) #else @@ -356,7 +356,7 @@ xyze_int8_t Stepper::count_direction{0}; #endif #elif ENABLED(DUAL_X_CARRIAGE) #define X_APPLY_DIR(v,ALWAYS) do{ \ - if (extruder_duplication_enabled || ALWAYS) { X_DIR_WRITE(v); X2_DIR_WRITE(mirrored_duplication_mode ? !(v) : v); } \ + if (extruder_duplication_enabled || ALWAYS) { X_DIR_WRITE(v); X2_DIR_WRITE((v) ^ idex_mirrored_mode); } \ else if (last_moved_extruder) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \ }while(0) #define X_APPLY_STEP(v,ALWAYS) do{ \ @@ -369,7 +369,7 @@ xyze_int8_t Stepper::count_direction{0}; #endif #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - #define Y_APPLY_DIR(v,Q) do{ Y_DIR_WRITE(v); Y2_DIR_WRITE((v) != INVERT_Y2_VS_Y_DIR); }while(0) + #define Y_APPLY_DIR(v,Q) do{ Y_DIR_WRITE(v); Y2_DIR_WRITE((v) ^ ENABLED(INVERT_Y2_VS_Y_DIR)); }while(0) #if ENABLED(Y_DUAL_ENDSTOPS) #define Y_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Y,v) #else @@ -1605,10 +1605,9 @@ void Stepper::pulse_phase_isr() { PAGE_SEGMENT_UPDATE(Z, high >> 4); PAGE_SEGMENT_UPDATE(E, high & 0xF); - if (dm != last_direction_bits) { - last_direction_bits = dm; - set_directions(); - } + if (dm != last_direction_bits) + set_directions(dm); + } break; default: break; @@ -2131,9 +2130,7 @@ uint32_t Stepper::block_phase_isr() { MIXER_STEPPER_SETUP(); #endif - #if HAS_MULTI_EXTRUDER - stepper_extruder = current_block->extruder; - #endif + TERN_(HAS_MULTI_EXTRUDER, stepper_extruder = current_block->extruder); // Initialize the trapezoid generator from the current block. #if ENABLED(LIN_ADVANCE) @@ -2151,17 +2148,14 @@ uint32_t Stepper::block_phase_isr() { else LA_isr_rate = LA_ADV_NEVER; #endif - if ( ENABLED(HAS_L64XX) // Always set direction for L64xx (Also enables the chips) + if ( ENABLED(HAS_L64XX) // Always set direction for L64xx (Also enables the chips) + || ENABLED(DUAL_X_CARRIAGE) // TODO: Find out why this fixes "jittery" small circles || current_block->direction_bits != last_direction_bits || TERN(MIXING_EXTRUDER, false, stepper_extruder != last_moved_extruder) ) { - last_direction_bits = current_block->direction_bits; - #if HAS_MULTI_EXTRUDER - last_moved_extruder = stepper_extruder; - #endif - + TERN_(HAS_MULTI_EXTRUDER, last_moved_extruder = stepper_extruder); TERN_(HAS_L64XX, L64XX_OK_to_power_up = true); - set_directions(); + set_directions(current_block->direction_bits); } #if ENABLED(LASER_POWER_INLINE) @@ -2583,12 +2577,9 @@ void Stepper::init() { #endif // Init direction bits for first moves - last_direction_bits = 0 - | (INVERT_X_DIR ? _BV(X_AXIS) : 0) - | (INVERT_Y_DIR ? _BV(Y_AXIS) : 0) - | (INVERT_Z_DIR ? _BV(Z_AXIS) : 0); - - set_directions(); + set_directions((INVERT_X_DIR ? _BV(X_AXIS) : 0) + | (INVERT_Y_DIR ? _BV(Y_AXIS) : 0) + | (INVERT_Z_DIR ? _BV(Z_AXIS) : 0)); #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM initialized = true; diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index 572c3f3f9b2d..639a1b2650bd 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -514,9 +514,15 @@ class Stepper { static void refresh_motor_power(); #endif - // Set direction bits for all steppers + // Update direction states for all steppers static void set_directions(); + // Set direction bits and update all stepper DIR states + static void set_directions(const uint8_t bits) { + last_direction_bits = bits; + set_directions(); + } + private: // Set the current position in steps diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 9ecbb7c766fd..3468a4c1c5d3 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -34,7 +34,7 @@ #include "planner.h" #include "../HAL/shared/Delay.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #if ENABLED(DWIN_CREALITY_LCD) #include "../lcd/dwin/e3v2/dwin.h" @@ -1032,8 +1032,14 @@ void Temperature::manage_heater() { if (!inited) return watchdog_refresh(); #endif - if (TERN0(EMERGENCY_PARSER, emergency_parser.killed_by_M112)) - kill(M112_KILL_STR, nullptr, true); + #if ENABLED(EMERGENCY_PARSER) + if (emergency_parser.killed_by_M112) kill(M112_KILL_STR, nullptr, true); + + if (emergency_parser.quickstop_by_M410) { + emergency_parser.quickstop_by_M410 = false; // quickstop_stepper may call idle so clear this now! + quickstop_stepper(); + } + #endif if (!raw_temps_ready) return; diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 4ab818f41d2e..2c1a1a6017a9 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -61,6 +61,10 @@ #include "../gcode/gcode.h" #endif +#if ENABLED(DUAL_X_CARRIAGE) + #include "stepper.h" +#endif + #if ANY(SWITCHING_EXTRUDER, SWITCHING_NOZZLE, SWITCHING_TOOLHEAD) #include "servo.h" #endif @@ -90,7 +94,7 @@ #endif #if HAS_LCD_MENU - #include "../lcd/ultralcd.h" + #include "../lcd/marlinui.h" #endif #if ENABLED(ADVANCED_PAUSE_FEATURE) @@ -701,6 +705,13 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a #if ENABLED(DUAL_X_CARRIAGE) + /** + * @brief Dual X Tool Change + * @details Change tools, with extra behavior based on current mode + * + * @param new_tool Tool index to activate + * @param no_move Flag indicating no moves should take place + */ inline void dualx_tool_change(const uint8_t new_tool, bool &no_move) { DEBUG_ECHOPGM("Dual X Carriage Mode "); @@ -711,17 +722,16 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a case DXC_MIRRORED_MODE: DEBUG_ECHOLNPGM("MIRRORED"); break; } + // Get the home position of the currently-active tool const float xhome = x_home_pos(active_extruder); - if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE - && IsRunning() && !no_move - && (delayed_move_time || current_position.x != xhome) - ) { + if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE // If Auto-Park mode is enabled + && IsRunning() && !no_move // ...and movement is permitted + && (delayed_move_time || current_position.x != xhome) // ...and delayed_move_time is set OR not "already parked"... + ) { DEBUG_ECHOLNPAIR("MoveX to ", xhome); - - // Park old head current_position.x = xhome; - line_to_current_position(planner.settings.max_feedrate_mm_s[X_AXIS]); + line_to_current_position(planner.settings.max_feedrate_mm_s[X_AXIS]); // Park the current head planner.synchronize(); } @@ -736,20 +746,21 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a switch (dual_x_carriage_mode) { case DXC_FULL_CONTROL_MODE: // New current position is the position of the activated extruder - current_position.x = inactive_extruder_x_pos; + current_position.x = inactive_extruder_x; // Save the inactive extruder's position (from the old current_position) - inactive_extruder_x_pos = destination.x; + inactive_extruder_x = destination.x; + DEBUG_ECHOLNPAIR("DXC Full Control curr.x=", current_position.x, " dest.x=", destination.x); break; case DXC_AUTO_PARK_MODE: - // record current raised toolhead position for use by unpark - raised_parked_position = current_position; - active_extruder_parked = true; - delayed_move_time = 0; + idex_set_parked(); break; default: break; } + // Ensure X axis DIR pertains to the correct carriage + stepper.set_directions(); + DEBUG_ECHOLNPAIR("Active extruder parked: ", active_extruder_parked ? "yes" : "no"); DEBUG_POS("New extruder (parked)", current_position); } @@ -875,7 +886,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { planner.synchronize(); #if ENABLED(DUAL_X_CARRIAGE) // Only T0 allowed if the Printer is in DXC_DUPLICATION_MODE or DXC_MIRRORED_MODE - if (new_tool != 0 && dxc_is_duplicating()) + if (new_tool != 0 && idex_is_duplicating()) return invalid_extruder_error(new_tool); #endif @@ -1151,7 +1162,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { } #endif - TERN_(DUAL_X_CARRIAGE, active_extruder_parked = false); + TERN_(DUAL_X_CARRIAGE, idex_set_parked(false)); } #if ENABLED(SWITCHING_NOZZLE) diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPE.h b/Marlin/src/pins/esp32/pins_MRR_ESPE.h index 95f761f26ad9..d22a82d7a45a 100644 --- a/Marlin/src/pins/esp32/pins_MRR_ESPE.h +++ b/Marlin/src/pins/esp32/pins_MRR_ESPE.h @@ -134,7 +134,7 @@ #define BEEPER_PIN 151 - #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif IS_RRD_FG_SC #define BEEPER_PIN 151 diff --git a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h index 002d2ebd9c62..ce2ee2579abb 100644 --- a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h +++ b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h @@ -400,7 +400,7 @@ #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS 40 #define LCD_PINS_ENABLE 42 @@ -417,7 +417,7 @@ #define LCD_PINS_ENABLE 29 #define LCD_PINS_D4 25 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 37 #endif @@ -450,13 +450,13 @@ #define LCD_PINS_D7 29 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 #endif #endif - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL // Buttons attached to a shift register // Not wired yet //#define SHIFT_CLK 38 @@ -470,7 +470,7 @@ // // LCD Display input pins // - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) @@ -607,7 +607,7 @@ #define BEEPER_PIN 33 // Buttons are directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define SHIFT_OUT 40 #define SHIFT_CLK 44 #define SHIFT_LD 42 @@ -630,6 +630,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h index df182049f994..8c1c124d90a7 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h @@ -138,8 +138,8 @@ #define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3 #define LCD_PINS_D4 P0_15 // (SCK) EXP1-5 - #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER) - #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU B300 v1.0" + #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC) + #error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't supported by the BIQU B300 v1.0" #endif #if ENABLED(SDSUPPORT) diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h index bcff04eb85e8..d92d5e578f62 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h @@ -109,8 +109,8 @@ #define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3 #define LCD_PINS_D4 P0_15 // (SCK) EXP1-5 - #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER) - #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU BQ111-A4" + #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC) + #error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't supported by the BIQU BQ111-A4" #endif #if ENABLED(SDSUPPORT) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h index 31373fedff66..51e48fc8e949 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h @@ -348,7 +348,7 @@ #define LCD_BACKLIGHT_PIN -1 #endif - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 EXPA1_05_PIN #define LCD_PINS_D6 EXPA1_04_PIN #define LCD_PINS_D7 EXPA1_03_PIN diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 4686e984b088..f2afc23bc2e6 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -293,9 +293,6 @@ #define TOUCH_BUTTONS_HW_SPI #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 - #ifndef GRAPHICAL_TFT_UPSCALE - #define GRAPHICAL_TFT_UPSCALE 3 - #endif // SPI 1 #define SCK_PIN P0_15 #define MISO_PIN P0_17 @@ -398,7 +395,7 @@ #define FORCE_SOFT_SPI #endif - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 P1_21 #define LCD_PINS_D6 P1_22 #define LCD_PINS_D7 P1_23 diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h index 5132081a5591..3562619f5c09 100644 --- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h +++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h @@ -125,7 +125,7 @@ // // LCD // -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC #define BEEPER_PIN P0_19 #define BTN_EN1 P1_23 #define BTN_EN2 P1_24 diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 6c6a9ea306ec..2430958895ea 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -147,7 +147,7 @@ // // Ethernet pins // -#ifndef ULTIPANEL +#if !IS_ULTIPANEL #define ENET_MDIO P1_17 // J12-4 #define ENET_RX_ER P1_14 // J12-6 #define ENET_RXD1 P1_10 // J12-8 diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index d269ecbdc90d..0a8f3a6da8af 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -319,7 +319,7 @@ #define DOGLCD_A0 P1_00 #endif - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 P0_17 #define LCD_PINS_D6 P1_00 #define LCD_PINS_D7 P1_22 diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 294e7527a875..674bd6b0ff9f 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -357,8 +357,8 @@ #define LCD_PINS_RS P0_16 // (16) J3-7 & AUX-4 #define LCD_SDSS P1_23 // (53) J3-5 & AUX-3 - #if ENABLED(NEWPANEL) - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_NEWPANEL + #if IS_RRW_KEYPAD #define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3 #define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3 #define SHIFT_LD P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant) @@ -416,7 +416,7 @@ #define LCD_BACKLIGHT_PIN P0_16 //(16) J3-7 & AUX-4 - only used on DOGLCD controllers #define LCD_PINS_ENABLE P0_18 // (51) (MOSI) J3-10 & AUX-3 #define LCD_PINS_D4 P0_15 // (52) (SCK) J3-9 & AUX-3 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 P1_17 // (71) ENET_MDIO #define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER #define LCD_PINS_D7 P1_10 // (75) ENET_RXD1 @@ -436,7 +436,7 @@ // // Ethernet pins // -#if DISABLED(ULTIPANEL) +#if !IS_ULTIPANEL #define ENET_MDIO P1_17 // (71) J12-4 #define ENET_RX_ER P1_14 // (73) J12-6 #define ENET_RXD1 P1_10 // (75) J12-8 diff --git a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h index f9b9db918d55..4e3b2ef4258a 100644 --- a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h +++ b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h @@ -96,7 +96,7 @@ // Display // -#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) +#if IS_RRD_FG_SC #define LCD_PINS_RS P0_16 #define LCD_PINS_ENABLE P0_18 #define LCD_PINS_D4 P0_15 @@ -110,4 +110,4 @@ #define BTN_ENC P1_30 #define SD_DETECT_PIN -1 -#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +#endif // IS_RRD_FG_SC diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h index 6331d6aa7c0a..ad792447ea73 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h @@ -144,11 +144,11 @@ #define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3 #define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3 #define SHIFT_LD P1_31 // (49) not 5V tolerant J3-1 & AUX-3 - #elif DISABLED(NEWPANEL) + #elif !IS_NEWPANEL //#define SHIFT_OUT P2_11 // (35) J3-3 & AUX-4 //#define SHIFT_CLK P3_26 // (31) J3-2 & AUX-4 //#define SHIFT_LD P3_25 // (33) J3-4 & AUX-4 @@ -166,7 +166,7 @@ #define STAT_LED_BLUE_PIN P0_26 // (63) may change if cable changes #define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes #else - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 P1_17 // (71) ENET_MDIO #define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER #define LCD_PINS_D7 P1_10 // (75) ENET_RXD1 diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index 62660935f5bd..1a558075b60e 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -227,9 +227,25 @@ // Misc. Functions // #define LED_PIN P1_18 // Used as a status indicator -#define LED2_PIN P1_19 -#define LED3_PIN P1_20 -#define LED4_PIN P1_21 + +// +// RGB LED +// +#if ENABLED(RGB_LED) + #ifndef RGB_LED_R_PIN + #define RGB_LED_R_PIN P1_19 + #endif + #ifndef RGB_LED_G_PIN + #define RGB_LED_G_PIN P1_20 + #endif + #ifndef RGB_LED_B_PIN + #define RGB_LED_B_PIN P1_21 + #endif +#else + #define LED2_PIN P1_19 // Initialized by HAL/LPC1768/main.cpp + #define LED3_PIN P1_20 + #define LED4_PIN P1_21 +#endif /** * _____ _____ @@ -325,7 +341,7 @@ #define DOGLCD_A0 P1_00 #endif - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 P0_17 #define LCD_PINS_D6 P1_00 #define LCD_PINS_D7 P1_22 diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h index f2811b14abdc..3c47a7010125 100644 --- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h @@ -138,7 +138,7 @@ * http://chibidibidiwah.wdfiles.com/local--files/panel/smoothieboard2sd.jpg * http://smoothieware.org/panel */ - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if IS_RRD_FG_SC // EXP1 Pins #define BEEPER_PIN P1_31 // EXP1 Pin 1 #define BTN_ENC P1_30 // EXP1 Pin 2 diff --git a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h index 3a84f4395f3a..af9f683c7d33 100644 --- a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h +++ b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h @@ -129,7 +129,7 @@ #define SD_DETECT_PIN 49 #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_EN1 11 #define BTN_EN2 12 #define BTN_ENC 43 diff --git a/Marlin/src/pins/mega/pins_GT2560_REV_A.h b/Marlin/src/pins/mega/pins_GT2560_REV_A.h index 2fe9a43ba136..f481db2b9670 100644 --- a/Marlin/src/pins/mega/pins_GT2560_REV_A.h +++ b/Marlin/src/pins/mega/pins_GT2560_REV_A.h @@ -109,7 +109,7 @@ #define BEEPER_PIN 18 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #if ENABLED(MKS_MINI_12864) #define DOGLCD_A0 5 @@ -130,7 +130,7 @@ #define BTN_ENC 19 #define SD_DETECT_PIN 38 - #else // !NEWPANEL + #else // !IS_NEWPANEL #define SHIFT_CLK 38 #define SHIFT_LD 42 @@ -146,6 +146,6 @@ #define SD_DETECT_PIN -1 - #endif // !NEWPANEL + #endif // !IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/mega/pins_GT2560_V3.h b/Marlin/src/pins/mega/pins_GT2560_V3.h index d71a19541914..606debd1b06b 100644 --- a/Marlin/src/pins/mega/pins_GT2560_V3.h +++ b/Marlin/src/pins/mega/pins_GT2560_V3.h @@ -172,7 +172,7 @@ #define LCD_PINS_D7 36 #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #ifndef BTN_EN1 #define BTN_EN1 42 #endif diff --git a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h index e1956488c6c7..20cccf148f92 100644 --- a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h +++ b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h @@ -32,7 +32,7 @@ #define SPEAKER // The speaker can produce tones -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_EN1 16 #define BTN_EN2 17 #define BTN_ENC 19 diff --git a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h index e30a65b90e1b..fa2027fb7825 100644 --- a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h +++ b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h @@ -127,7 +127,7 @@ #define BEEPER_PIN 18 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define LCD_PINS_RS 20 // LCD_CS #define LCD_PINS_ENABLE 15 // LCD_SDA @@ -168,6 +168,6 @@ #define LCD_PINS_D6 20 #define LCD_PINS_D7 19 - #endif // !NEWPANEL + #endif // !IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS.h b/Marlin/src/pins/mega/pins_MEGATRONICS.h index 1c37b21ab707..f813366a14e0 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS.h @@ -108,7 +108,7 @@ // #define BEEPER_PIN 33 -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 @@ -124,7 +124,7 @@ #define SD_DETECT_PIN -1 // RAMPS doesn't use this -#endif // ULTRA_LCD && NEWPANEL +#endif // IS_ULTRA_LCD && IS_NEWPANEL // // M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h index ff7cf1571465..67ec24ed6f79 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h @@ -139,7 +139,7 @@ #define LCD_PINS_D6 32 #define LCD_PINS_D7 33 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL // Buttons are directly attached using keypad #define BTN_EN1 61 #define BTN_EN2 59 diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h index 963911ec5d70..d074db8b256a 100644 --- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h @@ -214,7 +214,7 @@ // #if HAS_WIRED_LCD - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if IS_RRD_FG_SC #define LCD_PINS_RS 33 // C4: LCD-STROBE #define LCD_PINS_ENABLE 72 // J2: LEFT diff --git a/Marlin/src/pins/mega/pins_OVERLORD.h b/Marlin/src/pins/mega/pins_OVERLORD.h index 045c1bc0fa6c..18bb1f27bf43 100644 --- a/Marlin/src/pins/mega/pins_OVERLORD.h +++ b/Marlin/src/pins/mega/pins_OVERLORD.h @@ -132,7 +132,7 @@ #endif #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_ENC 16 // Enter Pin #define BTN_UP 19 // Button UP Pin #define BTN_DWN 17 // Button DOWN Pin diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index c5dbd2087627..bd85c448995b 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -49,7 +49,9 @@ #define IS_RAMPS_SF #endif -#define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)) +#if !(BOTH(IS_ULTRA_LCD, IS_NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)) + #define HAS_FREE_AUX2_PINS 1 +#endif // Test the target within the included pins file #ifdef __MARLIN_DEPS__ diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h index 2ea15c97d332..c2cc24943ab2 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h @@ -164,7 +164,7 @@ #define KILL_PIN 32 - #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL + #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL #if ENABLED(CR10_STOCKDISPLAY) #define LCD_PINS_RS 85 @@ -187,5 +187,5 @@ #define BEEPER_PIN 84 // AUX-4 #define SD_DETECT_PIN 15 - #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL + #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h index 4a1bf70b6eaa..7e532461812c 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h @@ -170,7 +170,7 @@ #define KILL_PIN 32 - #if ANY(ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) + #if ANY(IS_ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) #if ENABLED(CR10_STOCKDISPLAY) #define LCD_PINS_RS 85 @@ -194,6 +194,6 @@ #define SD_DETECT_PIN 15 - #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE + #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE #endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE diff --git a/Marlin/src/pins/rambo/pins_MINIRAMBO.h b/Marlin/src/pins/rambo/pins_MINIRAMBO.h index 6314bc07b8c0..8b034820cfdb 100644 --- a/Marlin/src/pins/rambo/pins_MINIRAMBO.h +++ b/Marlin/src/pins/rambo/pins_MINIRAMBO.h @@ -147,7 +147,7 @@ #define KILL_PIN 32 #endif - #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL + #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL #if MB(MINIRAMBO_10A) @@ -187,6 +187,6 @@ #endif // !MINIRAMBO_10A - #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL + #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL #endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL diff --git a/Marlin/src/pins/rambo/pins_RAMBO.h b/Marlin/src/pins/rambo/pins_RAMBO.h index 735852b2ff79..0254edea26af 100644 --- a/Marlin/src/pins/rambo/pins_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_RAMBO.h @@ -187,7 +187,7 @@ #define KILL_PIN 80 - #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL + #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL #define LCD_PINS_RS 70 #define LCD_PINS_ENABLE 71 @@ -228,7 +228,7 @@ #endif // !VIKI2 && !miniVIKI - #else // !NEWPANEL - old style panel with shift register + #else // !IS_NEWPANEL - old style panel with shift register // No Beeper added #define BEEPER_PIN 33 @@ -247,6 +247,6 @@ #define LCD_PINS_D6 27 #define LCD_PINS_D7 29 - #endif // !NEWPANEL + #endif // !IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/ramps/pins_3DRAG.h b/Marlin/src/pins/ramps/pins_3DRAG.h index f0057e1fc980..b7f0517aac02 100644 --- a/Marlin/src/pins/ramps/pins_3DRAG.h +++ b/Marlin/src/pins/ramps/pins_3DRAG.h @@ -78,7 +78,7 @@ // // LCD / Controller // -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #undef BEEPER_PIN #undef LCD_PINS_RS @@ -106,7 +106,7 @@ #define BEEPER_PIN 33 -#endif // ULTRA_LCD && NEWPANEL +#endif // IS_ULTRA_LCD && IS_NEWPANEL /** * M3/M4/M5 - Spindle/Laser Control @@ -157,7 +157,7 @@ #define SPINDLE_LASER_PWM_PIN 46 // Hardware PWM #define SPINDLE_LASER_ENA_PIN 62 // Pullup! #define SPINDLE_DIR_PIN 48 - #elif !BOTH(ULTRA_LCD, NEWPANEL) // use expansion header if no LCD in use + #elif !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // use expansion header if no LCD in use #define SPINDLE_LASER_ENA_PIN 16 // Pullup or pulldown! #define SPINDLE_DIR_PIN 17 #endif diff --git a/Marlin/src/pins/ramps/pins_FELIX2.h b/Marlin/src/pins/ramps/pins_FELIX2.h index 6cc6997adc56..e572d3f2866c 100644 --- a/Marlin/src/pins/ramps/pins_FELIX2.h +++ b/Marlin/src/pins/ramps/pins_FELIX2.h @@ -49,11 +49,11 @@ // // LCD / Controller // -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #define SD_DETECT_PIN 6 -#endif // NEWPANEL && ULTRA_LCD +#endif // // M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h index 0877d168d60f..5b724787e941 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h @@ -181,7 +181,7 @@ // // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER // -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC #define BEEPER_PIN 37 #define BTN_EN1 31 #define BTN_EN2 33 diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h index 75a219c177de..81b6ea16d7fe 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h @@ -175,7 +175,7 @@ // // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER // -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC #ifndef BEEPER_PIN #define BEEPER_PIN 37 #endif diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h index 0470fc47e98b..a97b0d2d1227 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h @@ -155,7 +155,7 @@ // // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER // -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 #define LCD_PINS_D4 23 diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h index 3fa3cc9e8c9c..80eb3f15346b 100644 --- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h +++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h @@ -261,7 +261,7 @@ #define NEOPIXEL_PIN 25 #endif - #elif HAS_MARLINUI_U8GLIB + #elif HAS_MARLINUI_U8GLIB || HAS_MARLINUI_HD44780 #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 @@ -277,7 +277,7 @@ #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define BTN_EN1 31 #define BTN_EN2 33 #define BTN_ENC 35 diff --git a/Marlin/src/pins/ramps/pins_K8600.h b/Marlin/src/pins/ramps/pins_K8600.h index 0de01927528c..60bb18204a4e 100644 --- a/Marlin/src/pins/ramps/pins_K8600.h +++ b/Marlin/src/pins/ramps/pins_K8600.h @@ -96,7 +96,7 @@ // // LCD / Controller // -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #undef BEEPER_PIN #undef LCD_PINS_RS diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h index 7e8c245a4158..5388c9621da5 100644 --- a/Marlin/src/pins/ramps/pins_K8800.h +++ b/Marlin/src/pins/ramps/pins_K8800.h @@ -113,7 +113,7 @@ #define LCD_CONTRAST_MAX 100 #define DEFAULT_LCD_CONTRAST 30 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define BTN_EN1 17 #define BTN_EN2 16 #define BTN_ENC 23 diff --git a/Marlin/src/pins/ramps/pins_ORTUR_4.h b/Marlin/src/pins/ramps/pins_ORTUR_4.h index cef01bf62a46..e79973e06f07 100644 --- a/Marlin/src/pins/ramps/pins_ORTUR_4.h +++ b/Marlin/src/pins/ramps/pins_ORTUR_4.h @@ -91,7 +91,7 @@ // // LCD / Controller // -#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) +#if IS_RRD_FG_SC #undef BEEPER_PIN #define BEEPER_PIN 35 diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h index de56d2b59d9b..c8578f2fa1ff 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS.h @@ -441,7 +441,7 @@ #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS 40 #define LCD_PINS_ENABLE 42 @@ -462,7 +462,7 @@ #define LCD_PINS_ENABLE 29 #define LCD_PINS_D4 25 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 37 #endif @@ -481,10 +481,10 @@ #define LCD_PINS_DC 25 // Set as output on init #define LCD_PINS_RS 27 // Pull low for 1s to init // DOGM SPI LCD Support + #define DOGLCD_A0 LCD_PINS_DC #define DOGLCD_CS 16 #define DOGLCD_MOSI 17 #define DOGLCD_SCK 23 - #define DOGLCD_A0 LCD_PINS_DC #else #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 @@ -495,13 +495,13 @@ #define LCD_PINS_D7 29 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 #endif #endif - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL // Buttons attached to a shift register // Not wired yet //#define SHIFT_CLK 38 @@ -515,9 +515,9 @@ // // LCD Display input pins // - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -685,6 +685,7 @@ #elif ENABLED(AZSMZ_12864) // Pins only defined for RAMPS_SMART currently + #error "No pins defined for RAMPS with AZSMZ_12864." #elif IS_TFTGLCD_PANEL @@ -712,11 +713,11 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD -#if ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(ADC_KEYPAD) +#if IS_RRW_KEYPAD && !HAS_ADC_BUTTONS #define SHIFT_OUT 40 #define SHIFT_CLK 44 #define SHIFT_LD 42 diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h index 9908d9494f34..23b1dfa34690 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h @@ -73,7 +73,7 @@ #undef E0_CS_PIN #undef E1_CS_PIN -#if ENABLED(ULTRA_LCD) && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE) +#if IS_ULTRA_LCD && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(IS_NEWPANEL, PANEL_ONE) #if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306) #undef LCD_PINS_RS #define LCD_PINS_RS 42 // 3DYMY boards pin 16 -> 42 diff --git a/Marlin/src/pins/ramps/pins_RIGIDBOARD.h b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h index c43d786aa2e2..345c51d5de59 100644 --- a/Marlin/src/pins/ramps/pins_RIGIDBOARD.h +++ b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h @@ -124,7 +124,7 @@ #undef SD_DETECT_PIN #define SD_DETECT_PIN 22 -#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#elif IS_RRD_SC #undef SD_DETECT_PIN #define SD_DETECT_PIN 22 diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h index 5be2896e18c0..4af49d9164d4 100644 --- a/Marlin/src/pins/ramps/pins_RUMBA.h +++ b/Marlin/src/pins/ramps/pins_RUMBA.h @@ -227,7 +227,7 @@ #define SD_DETECT_PIN 49 #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_EN1 11 #define BTN_EN2 12 #define BTN_ENC 43 diff --git a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h index e7a59a69dffe..84e7e311264e 100644 --- a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h +++ b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h @@ -163,7 +163,7 @@ // LCD / Controller // -//#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +//#if IS_RRD_SC #define LCD_PINS_RS -1 #define LCD_PINS_ENABLE -1 @@ -182,4 +182,4 @@ #define BEEPER_PIN -1 //#endif -//#endif // REPRAP_DISCOUNT_SMART_CONTROLLER +//#endif // IS_RRD_SC diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h index 1c2cb609579e..54d91cee6a81 100644 --- a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h +++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h @@ -131,13 +131,13 @@ #if 0 && HAS_WIRED_LCD // LCD Display output pins - #if BOTH(NEWPANEL, PANEL_ONE) + #if BOTH(IS_NEWPANEL, PANEL_ONE) #undef LCD_PINS_D6 #define LCD_PINS_D6 57 #endif // LCD Display input pins - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #if ANY(VIKI2, miniVIKI) #undef DOGLCD_A0 #define DOGLCD_A0 23 diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h index 1568288e69bc..725d36466c25 100644 --- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h +++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h @@ -282,7 +282,7 @@ #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS 40 #define LCD_PINS_ENABLE 42 @@ -309,7 +309,7 @@ #define LCD_PINS_ENABLE 29 #define LCD_PINS_D4 25 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 37 #endif @@ -333,13 +333,13 @@ #define LCD_PINS_D7 29 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 #endif #endif - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL // Buttons attached to a shift register // Not wired yet //#define SHIFT_CLK 38 @@ -353,9 +353,9 @@ // // LCD Display input pins // - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -486,7 +486,7 @@ #define BEEPER_PIN 33 // Buttons are directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define SHIFT_OUT 40 #define SHIFT_CLK 44 #define SHIFT_LD 42 @@ -510,6 +510,6 @@ #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h index 597a37bdbc8b..116301f4d459 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h @@ -123,7 +123,7 @@ #define BEEPER_PIN 18 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define LCD_PINS_RS 20 #define LCD_PINS_ENABLE 17 @@ -139,7 +139,7 @@ #define SD_DETECT_PIN 38 - #else // !NEWPANEL - Old style panel with shift register + #else // !IS_NEWPANEL - Old style panel with shift register // Buttons attached to a shift register #define SHIFT_CLK 38 @@ -156,7 +156,7 @@ #define SD_DETECT_PIN -1 - #endif // !NEWPANEL + #endif // !IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h index c5bbd02bf5a9..9b17384aaf55 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h @@ -174,11 +174,11 @@ #define LCD_PINS_D6 32 #define LCD_PINS_D7 30 -#elif BOTH(BOARD_REV_1_5, ULTRA_LCD) +#elif BOTH(BOARD_REV_1_5, IS_ULTRA_LCD) #define BEEPER_PIN 18 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define LCD_PINS_RS 20 #define LCD_PINS_ENABLE 17 @@ -194,7 +194,7 @@ #define SD_DETECT_PIN 38 - #else // !NEWPANEL - Old style panel with shift register + #else // !IS_NEWPANEL - Old style panel with shift register // Buttons attached to a shift register #define SHIFT_CLK 38 @@ -209,7 +209,7 @@ #define LCD_PINS_D6 20 #define LCD_PINS_D7 19 - #endif // !NEWPANEL + #endif // !IS_NEWPANEL #endif diff --git a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h index 8d6906117dd1..b01d1aafdfe0 100644 --- a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h +++ b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h @@ -143,7 +143,7 @@ // // LCD / Controller // -#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) +#if IS_RRD_FG_SC #define LCD_PINS_RS 18 #define LCD_PINS_ENABLE 15 #define LCD_PINS_D4 19 @@ -152,7 +152,7 @@ #define UI_VOLTAGE_LEVEL 1 #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_EN1 14 #define BTN_EN2 16 #define BTN_ENC 17 diff --git a/Marlin/src/pins/sam/pins_ARCHIM1.h b/Marlin/src/pins/sam/pins_ARCHIM1.h index 6e3768c663bc..347afe9ebdf2 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM1.h +++ b/Marlin/src/pins/sam/pins_ARCHIM1.h @@ -192,10 +192,10 @@ #define SD_DETECT_PIN 2 // D2 PB25_TIOA0 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL // Buttons on AUX-2 #define BTN_EN1 60 // D60 PA3_TIOB1 #define BTN_EN2 13 // D13 PB27_TIOB0 #define BTN_ENC 16 // D16 PA13_TXD1 - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_ARCHIM2.h b/Marlin/src/pins/sam/pins_ARCHIM2.h index 5a3fe0e4d5c7..5923ea0f8f84 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM2.h +++ b/Marlin/src/pins/sam/pins_ARCHIM2.h @@ -247,11 +247,11 @@ #define LCD_PINS_D7 34 // D34 PC2_PWML0 #define SD_DETECT_PIN 2 // D2 PB25_TIOA0 +#endif - #if ANY(ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) - // Buttons on AUX-2 - #define BTN_EN1 60 // D60 PA3_TIOB1 - #define BTN_EN2 13 // D13 PB27_TIOB0 - #define BTN_ENC 16 // D16 PA13_TXD1 // the click - #endif +#if ANY(IS_ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) + // Buttons on AUX-2 + #define BTN_EN1 60 // D60 PA3_TIOB1 + #define BTN_EN2 13 // D13 PB27_TIOB0 + #define BTN_ENC 16 // D16 PA13_TXD1 // the click #endif diff --git a/Marlin/src/pins/sam/pins_DUE3DOM.h b/Marlin/src/pins/sam/pins_DUE3DOM.h index cd4033aa6f1f..a5c22ff3f2ba 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM.h @@ -122,7 +122,7 @@ #define LCD_PINS_D6 46 #define LCD_PINS_D7 47 - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 41 diff --git a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h index 5f9ad48a08c4..b3e76199dcc5 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h @@ -114,7 +114,7 @@ #define LCD_PINS_D6 46 #define LCD_PINS_D7 47 - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 41 diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h index 60fe3512378e..cd895365d041 100644 --- a/Marlin/src/pins/sam/pins_RADDS.h +++ b/Marlin/src/pins/sam/pins_RADDS.h @@ -248,7 +248,7 @@ #define SDSS 10 #define SD_DETECT_PIN 14 - #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif IS_RRD_FG_SC // The REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER requires // an adapter such as https://www.thingiverse.com/thing:1740725 diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h index bfc3968ffac2..44e2695a5358 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h +++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h @@ -78,7 +78,7 @@ // #if HAS_WIRED_LCD - #if BOTH(NEWPANEL, PANEL_ONE) + #if BOTH(IS_NEWPANEL, PANEL_ONE) #undef LCD_PINS_D4 #define LCD_PINS_D4 68 @@ -89,7 +89,7 @@ #define LCD_PINS_D7 67 #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) @@ -115,7 +115,7 @@ #else - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #undef BTN_EN1 #define BTN_EN1 67 // encoder @@ -127,6 +127,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h index ee525eefaa56..a0dbddf56792 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h +++ b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h @@ -148,7 +148,7 @@ #define BTN_ENC 35 #define SD_DETECT_PIN 49 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 #endif @@ -178,7 +178,7 @@ #define NEOPIXEL_PIN 25 #endif - #elif ENABLED(NEWPANEL) + #elif IS_NEWPANEL #define LCD_PINS_D4 23 #define LCD_PINS_D5 25 diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h index b9e61fb27c53..49378541a9c2 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h @@ -202,7 +202,7 @@ // #if HAS_WIRED_LCD - #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if ANY(RADDS_DISPLAY, IS_RRD_SC, IS_RRD_FG_SC) #define BEEPER_PIN 62 #define LCD_PINS_D4 48 #define LCD_PINS_D5 50 @@ -211,12 +211,12 @@ #define SD_DETECT_PIN 51 #endif - #if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER) + #if EITHER(RADDS_DISPLAY, IS_RRD_SC) #define LCD_PINS_RS 63 #define LCD_PINS_ENABLE 64 - #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif IS_RRD_FG_SC #define LCD_PINS_RS 52 #define LCD_PINS_ENABLE 53 @@ -265,7 +265,7 @@ #endif // SPARK_FULL_GRAPHICS - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define BTN_EN1 44 #define BTN_EN2 42 #define BTN_ENC 40 diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h index dc0c1279954b..1cc2eee6b0b2 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h @@ -188,7 +188,7 @@ // #if HAS_WIRED_LCD - #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if ANY(RADDS_DISPLAY, IS_RRD_SC, IS_RRD_FG_SC) #define BEEPER_PIN 62 #define LCD_PINS_D4 48 #define LCD_PINS_D5 50 @@ -197,12 +197,12 @@ #define SD_DETECT_PIN 51 #endif - #if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER) + #if EITHER(RADDS_DISPLAY, IS_RRD_SC) #define LCD_PINS_RS 63 #define LCD_PINS_ENABLE 64 - #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif IS_RRD_FG_SC #define LCD_PINS_RS 52 #define LCD_PINS_ENABLE 53 @@ -247,7 +247,7 @@ #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define BTN_EN1 44 #define BTN_EN2 42 #define BTN_ENC 40 diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h index 6076be07e9d4..1948acf8971e 100644 --- a/Marlin/src/pins/samd/pins_RAMPS_144.h +++ b/Marlin/src/pins/samd/pins_RAMPS_144.h @@ -299,7 +299,7 @@ //#define LCD_PINS_ENABLE 51 // SID (MOSI) //#define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) // TO TEST //#define LCD_PINS_RS 40 @@ -318,7 +318,7 @@ //#define LCD_PINS_ENABLE 29 //#define LCD_PINS_D4 25 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL // TO TEST //#define BEEPER_PIN 37 #endif @@ -354,13 +354,13 @@ #define LCD_PINS_D7 29 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 #endif #endif - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL // Buttons attached to a shift register // Not wired yet //#define SHIFT_CLK 38 @@ -374,9 +374,9 @@ // // LCD Display input pins // - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -565,7 +565,7 @@ //#define BEEPER_PIN 33 // Buttons are directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD // TO TEST //#define SHIFT_OUT 40 //#define SHIFT_CLK 44 @@ -592,7 +592,7 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h index 74692a21a390..d48db36287ee 100644 --- a/Marlin/src/pins/sanguino/pins_ANET_10.h +++ b/Marlin/src/pins/sanguino/pins_ANET_10.h @@ -151,7 +151,7 @@ #if HAS_WIRED_LCD #define LCD_SDSS 28 - #if ENABLED(ADC_KEYPAD) + #if HAS_ADC_BUTTONS #define SERVO0_PIN 27 // free for BLTouch/3D-Touch #define LCD_PINS_RS 28 #define LCD_PINS_ENABLE 29 @@ -160,7 +160,7 @@ #define LCD_PINS_D6 16 #define LCD_PINS_D7 17 #define ADC_KEYPAD_PIN 1 - #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif IS_RRD_FG_SC // Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics // display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb // See below for alternative pin definitions for use with https://www.thingiverse.com/thing:2103748 diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h index 438d49d615c8..69b351e3fced 100644 --- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h +++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h @@ -136,7 +136,7 @@ #define LCD_BACKLIGHT_PIN 17 // LCD backlight LED #endif -#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL)// try to use IO Header +#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header #define CASE_LIGHT_PIN 4 // Hardware PWM - see if IO Header is available #endif @@ -185,7 +185,7 @@ // with M42 instead of BEEPER_PIN. #define BEEPER_PIN 27 - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if IS_RRD_FG_SC #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(0) #endif @@ -283,7 +283,7 @@ #endif - #if ENABLED(NEWPANEL) && !defined(BTN_EN1) + #if IS_NEWPANEL && !defined(BTN_EN1) #define BTN_EN1 11 #define BTN_EN2 10 #endif @@ -294,7 +294,7 @@ // M3/M4/M5 - Spindle/Laser Control // #if HAS_CUTTER - #if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL)// try to use IO Header + #if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header #define SPINDLE_LASER_ENA_PIN 10 // Pullup or pulldown! #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h index 838ffe38aa9a..4257b2c40e1e 100644 --- a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h +++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h @@ -225,7 +225,7 @@ // // All the above are also RRDSC with rotary encoder // -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC #define BTN_EN1 2 #define BTN_EN2 12 #define BTN_ENC 29 diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index 47fff4467c72..ce43e677e285 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -175,7 +175,7 @@ #else // !FYSETC_MINI_12864 #define LCD_PINS_D4 PC13 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PB7 #define LCD_PINS_D6 PC15 #define LCD_PINS_D7 PC14 diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h index 3a872db0253e..1d8f4f684b06 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h @@ -126,7 +126,7 @@ #define LCD_PINS_RS PD1 // 49 // CS chip select /SS chip slave select #define LCD_PINS_ENABLE PD3 // 51 // SID (MOSI) #define LCD_PINS_D4 PD4 // 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 #define LCD_PINS_D4 PB12 @@ -140,7 +140,7 @@ #define LCD_PINS_D5 PB13 #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN PC1 // 33 // Buttons attached to a shift register // Not wired yet @@ -151,9 +151,9 @@ #endif #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN PC5 @@ -254,7 +254,7 @@ #define BEEPER_PIN PC1 // 33 // Buttons directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define BTN_EN1 PE0 // 64 #define BTN_EN2 PD11 // 59 #define BTN_ENC PD15 // 63 @@ -279,6 +279,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index b02d414089ff..33ec27ddbad2 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -152,9 +152,6 @@ // Color UI #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 -#elif ENABLED(TFT_CLASSIC_UI) - // Emulated DOGM - #define GRAPHICAL_TFT_UPSCALE 3 #endif // XPT2046 Touch Screen calibration diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h index cafd50dcf22c..990d33b759a0 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h @@ -167,9 +167,6 @@ // Color UI #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 -#elif ENABLED(TFT_CLASSIC_UI) - // Emulated DOGM - #define GRAPHICAL_TFT_UPSCALE 3 #endif // XPT2046 Touch Screen calibration diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h index ebe5964d0588..d2c587beb85a 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h @@ -162,7 +162,7 @@ // not connected to a pin #define SD_DETECT_PIN PC3 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL // The encoder and click button #define BTN_EN1 PC10 #define BTN_EN2 PC11 diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h index de5ea45d44e8..deca1a054641 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h @@ -153,7 +153,7 @@ //#define LCD_CONTRAST_INIT 190 - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL #define BTN_EN1 PC10 #define BTN_EN2 PC11 #define BTN_ENC PC12 diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h index ca25c45a7bba..00c5721384df 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h @@ -137,7 +137,7 @@ // #if HAS_WIRED_LCD - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC // // LCD display on J2 FFC40 // Geeetech's LCD2004A Control Panel is very much like @@ -172,7 +172,7 @@ #endif // HAS_WIRED_LCD -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC // // Geeetech's LCD2004A Control Panel is very much like // RepRapDiscount Smart Controller, but adds an FFC40 connector diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h index 02fd3bcae721..b10748e57f3b 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h @@ -137,7 +137,7 @@ // #if HAS_WIRED_LCD - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC // // LCD display on J2 FFC40 // Geeetech's LCD2004A Control Panel is very much like diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h index ca25c45a7bba..00c5721384df 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h @@ -137,7 +137,7 @@ // #if HAS_WIRED_LCD - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC // // LCD display on J2 FFC40 // Geeetech's LCD2004A Control Panel is very much like @@ -172,7 +172,7 @@ #endif // HAS_WIRED_LCD -#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) +#if IS_RRD_SC // // Geeetech's LCD2004A Control Panel is very much like // RepRapDiscount Smart Controller, but adds an FFC40 connector diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h index fc18263fddf6..b913530f676b 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h @@ -137,7 +137,7 @@ // #if HAS_WIRED_LCD - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC // // LCD display on J2 FFC40 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index 8831d6804b05..63c0da476dfc 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -126,6 +126,11 @@ #endif #define LED_PIN PB2 +#if HAS_FSMC_TFT || HAS_GRAPHICAL_TFT + #define TFT_CS_PIN PG12 // NE4 + #define TFT_RS_PIN PF0 // A0 +#endif + #if HAS_FSMC_TFT /** * Note: MKS Robin TFT screens use various TFT controllers @@ -141,10 +146,8 @@ */ //#define LCD_RESET_PIN PF6 #define LCD_BACKLIGHT_PIN PG11 - #define FSMC_CS_PIN PG12 // NE4 - #define FSMC_RS_PIN PF0 // A0 - #define TFT_CS_PIN FSMC_CS_PIN - #define TFT_RS_PIN FSMC_RS_PIN + #define FSMC_CS_PIN TFT_CS_PIN + #define FSMC_RS_PIN TFT_RS_PIN #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT #define FSMC_DMA_DEV DMA2 @@ -152,8 +155,6 @@ #elif HAS_GRAPHICAL_TFT #define TFT_RESET_PIN PF6 #define TFT_BACKLIGHT_PIN PG11 - #define TFT_CS_PIN PG12 // NE4 - #define TFT_RS_PIN PF0 // A0 #endif #if NEED_TOUCH_PINS diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h index 94a28953ccf3..4998c92dc5be 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -269,22 +269,13 @@ #endif -#if ENABLED(SPI_GRAPHICAL_TFT) +#if HAS_SPI_GRAPHICAL_TFT // Emulated DOGM SPI - #ifndef GRAPHICAL_TFT_UPSCALE - #define GRAPHICAL_TFT_UPSCALE 3 - #endif - #ifndef TFT_PIXEL_OFFSET_Y - #define TFT_PIXEL_OFFSET_Y 32 - #endif - + #define LCD_PINS_ENABLE PD13 + #define LCD_PINS_RS PC6 #define BTN_ENC PE13 #define BTN_EN1 PE8 #define BTN_EN2 PE11 - - #define LCD_PINS_ENABLE PD13 - #define LCD_PINS_RS PC6 - #elif ENABLED(TFT_480x320_SPI) #define TFT_DRIVER ST7796 #define TFT_BUFFER_SIZE 14400 @@ -304,7 +295,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -24 #endif -#elif ENABLED(SPI_GRAPHICAL_TFT) +#elif HAS_SPI_GRAPHICAL_TFT #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -11386 #endif @@ -342,7 +333,7 @@ #else // !MKS_MINI_12864 #define LCD_PINS_D4 PE14 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PE15 #define LCD_PINS_D6 PD11 #define LCD_PINS_D7 PD10 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h index 015e29bdbe60..af2908545bd9 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h @@ -154,7 +154,7 @@ #else #define LCD_PINS_D4 PA6 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PA7 #define LCD_PINS_D6 PC4 #define LCD_PINS_D7 PC5 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h index aa1ccedb3550..ffd21917dd66 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h @@ -103,7 +103,7 @@ #else // !MKS_MINI_12864 #define LCD_PINS_D4 PC1 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 -1 #define LCD_PINS_D6 -1 #define LCD_PINS_D7 -1 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h index d5318b8e8787..493efc5c7b81 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h @@ -124,7 +124,7 @@ #else // !MKS_MINI_12864 #define LCD_PINS_D4 PA6 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PA7 #define LCD_PINS_D6 PC4 #define LCD_PINS_D7 PC5 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h index 2b099b3e9372..14f9c3b6260b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h @@ -139,23 +139,7 @@ * If the screen stays white, disable 'LCD_RESET_PIN' * to let the bootloader init the screen. */ -#if ENABLED(TOUCH_SCREEN) - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION 12033 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION -9047 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET -30 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET 254 - #endif -#endif - -#if ENABLED(FSMC_GRAPHICAL_TFT) - +#if EITHER(HAS_FSMC_GRAPHICAL_TFT, TFT_320x240) #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 @@ -165,39 +149,38 @@ #define LCD_RESET_PIN PC6 // FSMC_RST #define LCD_BACKLIGHT_PIN PD13 +#endif - #if NEED_TOUCH_PINS - #define TOUCH_CS_PIN PC2 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #endif - -#elif ENABLED(TFT_320x240) //TFT32/28 - - #define TFT_RESET_PIN PC6 - #define TFT_BACKLIGHT_PIN PD13 - - #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 - #define FSMC_DMA_DEV DMA2 - #define FSMC_DMA_CHANNEL DMA_CH5 - +#if BOTH(NEED_TOUCH_PINS, HAS_FSMC_GRAPHICAL_TFT) || ENABLED(TFT_320x240) #define TOUCH_CS_PIN PC2 // SPI2_NSS #define TOUCH_SCK_PIN PB13 // SPI2_SCK #define TOUCH_MISO_PIN PB14 // SPI2_MISO #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI +#endif +#if ENABLED(TFT_320x240) // TFT32/28 #define TFT_DRIVER ILI9341 #define TFT_BUFFER_SIZE 14400 - + #define ILI9341_COLOR_RGB // YV for normal screen mounting #define ILI9341_ORIENTATION ILI9341_MADCTL_MY | ILI9341_MADCTL_MV // XV for 180° rotated screen mounting //#define ILI9341_ORIENTATION ILI9341_MADCTL_MX | ILI9341_MADCTL_MV +#endif - #define ILI9341_COLOR_RGB +#if ENABLED(TOUCH_SCREEN) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION 12033 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION -9047 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET -30 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET 254 + #endif #endif #define HAS_SPI_FLASH 1 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 16d6d2ffc442..86dab411212c 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -198,7 +198,7 @@ #endif // XPT2046 Touch Screen calibration -#if EITHER(TFT_LVGL_UI_FSMC, TFT_480x320) +#if EITHER(HAS_TFT_LVGL_UI_FSMC, TFT_480x320) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION 17880 #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index 846fe80a08fa..b1e49f4d9fd2 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -275,20 +275,11 @@ #if ENABLED(TFT_CLASSIC_UI) // Emulated DOGM SPI - #ifndef GRAPHICAL_TFT_UPSCALE - #define GRAPHICAL_TFT_UPSCALE 3 - #endif - #ifndef TFT_PIXEL_OFFSET_Y - #define TFT_PIXEL_OFFSET_Y 32 - #endif - + #define LCD_PINS_ENABLE PD13 + #define LCD_PINS_RS PC6 #define BTN_ENC PE13 #define BTN_EN1 PE8 #define BTN_EN2 PE11 - - #define LCD_PINS_ENABLE PD13 - #define LCD_PINS_RS PC6 - #elif ENABLED(TFT_COLOR_UI) #define TFT_BUFFER_SIZE 14400 #endif @@ -354,7 +345,7 @@ #else // !MKS_MINI_12864 #define LCD_PINS_D4 PE14 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PE15 #define LCD_PINS_D6 PD11 #define LCD_PINS_D7 PD10 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 32203f52ea8d..db6bc9320506 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -210,7 +210,7 @@ * If the screen stays white, disable 'LCD_RESET_PIN' * to let the bootloader init the screen. */ -#if ENABLED(FSMC_GRAPHICAL_TFT) +#if HAS_FSMC_GRAPHICAL_TFT #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 @@ -254,7 +254,7 @@ #else // !MKS_MINI_12864 && !ENDER2_STOCKDISPLAY #define LCD_PINS_D4 PF14 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PF15 #define LCD_PINS_D6 PF12 #define LCD_PINS_D7 PF13 diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h index cf2ba2c5fa74..1b9a62fe9ed7 100644 --- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h +++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h @@ -103,7 +103,7 @@ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 #define LCD_PINS_D4 PB12 @@ -117,7 +117,7 @@ #define LCD_PINS_D5 PB13 #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet @@ -128,9 +128,9 @@ #endif #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -231,7 +231,7 @@ #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define BTN_EN1 64 #define BTN_EN2 59 #define BTN_ENC 63 @@ -256,6 +256,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h index e74698f89eff..3ebc4bca571f 100644 --- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h @@ -118,7 +118,7 @@ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 #define LCD_PINS_D4 PB12 @@ -132,7 +132,7 @@ #define LCD_PINS_D5 PB13 #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet @@ -151,9 +151,9 @@ #define TOUCH_MISO_PIN PB15 #define TOUCH_INT_PIN PC6 // (PenIRQ coming from ADS7843) - #elif ENABLED(NEWPANEL) + #elif IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -255,7 +255,7 @@ #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define BTN_EN1 64 #define BTN_EN2 59 #define BTN_ENC 63 @@ -280,6 +280,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f4/pins_BEAST.h b/Marlin/src/pins/stm32f4/pins_BEAST.h index 268b7b59cd45..279d0b9ec70d 100644 --- a/Marlin/src/pins/stm32f4/pins_BEAST.h +++ b/Marlin/src/pins/stm32f4/pins_BEAST.h @@ -126,7 +126,7 @@ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select #define LCD_PINS_ENABLE 51 // SID (MOSI) #define LCD_PINS_D4 52 // SCK (CLK) clock - #elif BOTH(NEWPANEL, PANEL_ONE) + #elif BOTH(IS_NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 #define LCD_PINS_D4 PB12 @@ -140,7 +140,7 @@ #define LCD_PINS_D5 PB13 #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 - #if DISABLED(NEWPANEL) + #if !IS_NEWPANEL #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet @@ -151,9 +151,9 @@ #endif #endif - #if ENABLED(NEWPANEL) + #if IS_NEWPANEL - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #if IS_RRD_SC #define BEEPER_PIN 37 @@ -255,7 +255,7 @@ #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 - #if ENABLED(REPRAPWORLD_KEYPAD) + #if IS_RRW_KEYPAD #define BTN_EN1 64 #define BTN_EN2 59 #define BTN_ENC 63 @@ -280,6 +280,6 @@ #endif #endif - #endif // NEWPANEL + #endif // IS_NEWPANEL #endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h index c37f6cce0445..6f9c3d309588 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h @@ -228,7 +228,7 @@ #define LCD_PINS_ENABLE PE9 #define LCD_PINS_D4 PE10 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PE11 #define LCD_PINS_D6 PE12 #define LCD_PINS_D7 PE13 diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h index dc8ce9f2d1b2..eaf90da1aee4 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h @@ -385,7 +385,7 @@ #endif #endif // !FYSETC_MINI_12864 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PG7 #define LCD_PINS_D6 PG6 #define LCD_PINS_D7 PG5 diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index 83fd987d9dbf..995fcb95854a 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -350,7 +350,7 @@ #endif #endif // !FYSETC_MINI_12864 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PG3 #define LCD_PINS_D6 PG6 #define LCD_PINS_D7 PG7 diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h index 151f6c3bc06e..8638e9a4cfb1 100644 --- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h @@ -252,7 +252,7 @@ #endif #endif // !FYSETC_MINI_12864 - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PC12 #define LCD_PINS_D6 PD0 #define LCD_PINS_D7 PD1 diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h index d52bb11d1206..9a6a16516cac 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h @@ -161,7 +161,7 @@ #define DOGLCD_A0 PE14 #endif - #if ENABLED(ULTIPANEL) + #if IS_ULTIPANEL #define LCD_PINS_D5 PE13 #define LCD_PINS_D6 PE14 #define LCD_PINS_D7 PE15 diff --git a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h index 5e3d5f4ab538..0a00e03612aa 100644 --- a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h +++ b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F767xx +#if NOT_TARGET(STM32F767xx) #error "Oops! Select an STM32F767 environment" #endif @@ -41,7 +41,7 @@ /** * Timer assignments - * + * * TIM1 - * TIM2 - Hardware PWM (Fan/Heater Pins) * TIM3 - Hardware PWM (Servo Pins) @@ -55,7 +55,7 @@ * TIM12 - * TIM13 - * TIM14 - TEMP_TIMER (Marlin) - * + * */ #define STEP_TIMER 4 #define TEMP_TIMER 14 @@ -66,7 +66,7 @@ * Assignments may not be ideal, and not every assignment has been tested. * Proceed at your own risk. * _CN7_ - * (X_STEP) PC6 | · · | PB8 (X_EN) + * (X_STEP) PC6 | · · | PB8 (X_EN) * (X_DIR) PB15 | · · | PB9 (X_CS) * (LCD_D4) PB13 | · · | AVDD * _CN8_ PB12 | · · | GND @@ -77,7 +77,7 @@ * +5V | · · | PC12 (SDSS) PA4 | · · | PD15 (LCD_ENABLE) * GND | · · | PD2 (SERVO0_PIN) PB4 | · · | PF12 (LCD_RS) * GND | · · | PG2  ̄ ̄ ̄ - * VIN | · · | PG3 + * VIN | · · | PG3 _*  ̄ ̄ ̄ _CN10 * AVDD | · · | PF13 (BTN_EN1) * _CN9_ AGND | · · | PE9 (BTN_EN2) @@ -140,7 +140,7 @@ _*  ̄ ̄ ̄ _CN10 #define Z_SERIAL_RX_PIN PE12 #define E_SERIAL_TX_PIN PG9 - #define E_SERIAL_RX_PIN PG9 + #define E_SERIAL_RX_PIN PG9 #endif // @@ -182,7 +182,7 @@ _*  ̄ ̄ ̄ _CN10 // // LCD / Controller // -#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) +#if IS_RRD_FG_SC #define BEEPER_PIN PC7 // LCD_BEEPER #define BTN_ENC PE11 // BTN_ENC #define SD_DETECT_PIN PD14 diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h index ffecc03b4a25..2401c976f157 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h @@ -124,7 +124,7 @@ // // LCD / Controller // -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #define LCD_PINS_RS 9 // E1 JP11-11 #define LCD_PINS_ENABLE 8 // E0 JP11-10 @@ -166,4 +166,4 @@ #endif -#endif // ULTRA_LCD && NEWPANEL +#endif // IS_ULTRA_LCD && IS_NEWPANEL diff --git a/Marlin/src/pins/teensy2/pins_TEENSY2.h b/Marlin/src/pins/teensy2/pins_TEENSY2.h index 4efd83d9bc5c..d43e39b09aac 100644 --- a/Marlin/src/pins/teensy2/pins_TEENSY2.h +++ b/Marlin/src/pins/teensy2/pins_TEENSY2.h @@ -168,7 +168,7 @@ // // LCD / Controller // -#if ENABLED(ULTIPANEL) +#if IS_ULTIPANEL #define LCD_PINS_RS 8 // E0 #define LCD_PINS_ENABLE 9 // E1 #define LCD_PINS_D4 10 // C0 diff --git a/Marlin/src/pins/teensy2/pins_TEENSYLU.h b/Marlin/src/pins/teensy2/pins_TEENSYLU.h index 9de119b62b4a..54cee137ad24 100644 --- a/Marlin/src/pins/teensy2/pins_TEENSYLU.h +++ b/Marlin/src/pins/teensy2/pins_TEENSYLU.h @@ -141,7 +141,7 @@ // // LCD / Controller // -#if BOTH(ULTRA_LCD, NEWPANEL) +#if IS_ULTRA_LCD && IS_NEWPANEL #define BEEPER_PIN -1 @@ -154,7 +154,7 @@ #define SD_DETECT_PIN -1 -#endif // ULTRA_LCD && NEWPANEL +#endif // IS_ULTRA_LCD && IS_NEWPANEL // // M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h index 2e09c8a425ca..b8a0ffe2c80b 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h @@ -139,13 +139,13 @@ #define LCD_PINS_D7 45 #endif -#if ENABLED(NEWPANEL) +#if IS_NEWPANEL #define BTN_EN1 46 #define BTN_EN2 47 #define BTN_ENC 48 #endif -#if ENABLED(REPRAPWORLD_KEYPAD) +#if IS_RRW_KEYPAD #define SHIFT_OUT 40 #define SHIFT_CLK 44 #define SHIFT_LD 42 diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index e154ea9f314b..b809b2c10fec 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -29,7 +29,7 @@ #include "cardreader.h" #include "../MarlinCore.h" -#include "../lcd/ultralcd.h" +#include "../lcd/marlinui.h" #if ENABLED(DWIN_CREALITY_LCD) #include "../lcd/dwin/e3v2/dwin.h" diff --git a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp index a097df510523..539d31654265 100644 --- a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp +++ b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp @@ -94,7 +94,7 @@ static_assert(USB_INTR_PIN != -1, "USB_INTR_PIN must be defined"); #include "Sd2Card_FlashDrive.h" -#include "../../lcd/ultralcd.h" +#include "../../lcd/marlinui.h" static enum { UNINITIALIZED, diff --git a/README.md b/README.md index 27becb9db6cb..f3c2afa87477 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Marlin 2.0 introduces a layer of abstraction so that all the existing high-level board|processor|speed|flash|sram|logic|fpu ----|---------|-----|-----|----|-----|--- - [ESP32](https://www.espressif.com/en/products/hardware/esp32/overview)|Tensilica Xtensa LX6|240MHz|---|---|3.3V|--- + [ESP32](https://www.espressif.com/en/products/hardware/esp32/overview)|Tensilica Xtensa LX6|160-240MHz variants|---|---|3.3V|--- #### LPC1768 / LPC1769 diff --git a/buildroot/tests/NUCLEO_F767ZI-tests b/buildroot/tests/NUCLEO_F767ZI-tests new file mode 100644 index 000000000000..05125a453902 --- /dev/null +++ b/buildroot/tests/NUCLEO_F767ZI-tests @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# +# Build tests for NUCLEO_F767ZI +# + +# exit on first failure +set -e + +# +# Build with the default configurations +# +restore_configs +opt_set MOTHERBOARD BOARD_NUCLEO_F767ZI +opt_set SERIAL_PORT -1 +opt_enable BLTOUCH Z_SAFE_HOMING SPEAKER +opt_set X_DRIVER_TYPE TMC2209 +opt_set Y_DRIVER_TYPE TMC2208 +exec_test $1 $2 "Mixed timer usage" + +# clean up +restore_configs diff --git a/buildroot/tests/STM32F103VE_longer-tests b/buildroot/tests/STM32F103VE_longer-tests index 85b22c1284dd..8eb9e4cd1b0f 100755 --- a/buildroot/tests/STM32F103VE_longer-tests +++ b/buildroot/tests/STM32F103VE_longer-tests @@ -7,8 +7,6 @@ set -e use_example_configs Alfawise/U20 -opt_set MOTHERBOARD BOARD_LONGER3D_LK -opt_set SERIAL_PORT 1 opt_enable BAUD_RATE_GCODE exec_test $1 $2 "Full-featured U20 config" diff --git a/buildroot/tests/mks_robin-tests b/buildroot/tests/mks_robin-tests index d6350622052c..424623107097 100644 --- a/buildroot/tests/mks_robin-tests +++ b/buildroot/tests/mks_robin-tests @@ -8,9 +8,7 @@ set -e use_example_configs Mks/Robin -opt_disable TFT_320x240 -opt_enable FSMC_GRAPHICAL_TFT -exec_test $1 $2 "MKS Robin base configuration" +exec_test $1 $2 "MKS Robin config (FSMC Color UI)" # cleanup restore_configs diff --git a/buildroot/tests/mks_robin_nano35-tests b/buildroot/tests/mks_robin_nano35-tests index 92c97be756cd..ce98f563b9d9 100644 --- a/buildroot/tests/mks_robin_nano35-tests +++ b/buildroot/tests/mks_robin_nano35-tests @@ -7,39 +7,50 @@ # exit on first failure set -e +# +# MKS Robin nano v1.2 Emulated DOGM FSMC +# use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO -opt_disable TFT_320x240 -opt_enable TOUCH_SCREEN -opt_enable FSMC_GRAPHICAL_TFT exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC" +# +# MKS Robin v2 nano LVGL SPI +# (Robin v2 nano has no FSMC interface) +# use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 -opt_disable TFT_320x240 -opt_enable TOUCH_SCREEN -opt_enable SPI_GRAPHICAL_TFT +opt_disable TFT_INTERFACE_FSMC +opt_enable TFT_INTERFACE_SPI exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI" +# +# MKS Robin nano v1.2 LVGL FSMC +# use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO -opt_disable TFT_320x240 -opt_disable TOUCH_SCREEN -opt_enable TFT_LVGL_UI_FSMC +opt_disable TFT_CLASSIC_UI TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 +opt_enable TFT_LVGL_UI TFT_RES_480x320 exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" +# +# MKS Robin v2 nano LVGL SPI +# (Robin v2 nano has no FSMC interface) +# use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 -opt_disable TFT_320x240 -opt_disable TOUCH_SCREEN -opt_enable TFT_LVGL_UI_SPI +opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 +opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 exec_test $1 $2 "MKS Robin v2 nano LVGL SPI" +# +# MKS Robin v2 nano New Color UI 480x320 SPI +# (Robin v2 nano has no FSMC interface) +# use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 -opt_disable TFT_320x240 -opt_enable TOUCH_SCREEN -opt_enable TFT_480x320_SPI +opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240 +opt_enable TFT_INTERFACE_SPI TFT_RES_480x320 exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI" # cleanup diff --git a/buildroot/tests/mks_robin_pro-tests b/buildroot/tests/mks_robin_pro-tests index 7ae4670fedac..50ec7b0dd127 100644 --- a/buildroot/tests/mks_robin_pro-tests +++ b/buildroot/tests/mks_robin_pro-tests @@ -13,7 +13,7 @@ opt_set X_DRIVER_TYPE TMC2209 opt_set Y_DRIVER_TYPE TMC2130 opt_set TEMP_SENSOR_BED 1 opt_disable THERMAL_PROTECTION_HOTENDS -exec_test $1 $2 "MKS Robin Pro with TMC Drivers, hotend thermal protection disabled" +exec_test $1 $2 "MKS Robin Pro, TMC Drivers, no thermal protection" # cleanup -#restore_configs +restore_configs