Browse Source

Simplify, update LCD sanity-check

pull/1/head
Scott Lahteine 5 years ago
committed by Scott Lahteine
parent
commit
2d84bcb4cd
  1. 149
      Marlin/src/inc/Conditionals_LCD.h
  2. 94
      Marlin/src/inc/SanityCheck.h

149
Marlin/src/inc/Conditionals_LCD.h

@ -29,22 +29,18 @@
#if ENABLED(CARTESIO_UI)
#define DOGLCD
#define ULTIPANEL
#define IS_ULTIPANEL
#define DEFAULT_LCD_CONTRAST 90
#define LCD_CONTRAST_MIN 60
#define LCD_CONTRAST_MAX 140
#elif ENABLED(MAKRPANEL)
#define U8GLIB_ST7565_64128N
#elif ENABLED(ZONESTAR_LCD)
#define ADC_KEYPAD
#define REPRAPWORLD_KEYPAD
#define IS_RRW_KEYPAD
#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
#define ADC_KEY_NUM 8
#define ULTIPANEL
#define IS_ULTIPANEL
// This helps to implement ADC_KEYPAD menus
#define REVERSE_MENU_DIRECTION
@ -53,22 +49,18 @@
#define ENCODER_FEEDRATE_DEADZONE 2
#elif ENABLED(RADDS_DISPLAY)
#define ULTIPANEL
#define IS_ULTIPANEL
#define ENCODER_PULSES_PER_STEP 2
#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#elif ENABLED(BQ_LCD_SMART_CONTROLLER)
#elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER)
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define IS_RRD_FG_SC
#elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864)
#define ULTRA_LCD
#define IS_ULTRA_LCD
#define DOGLCD
#define ULTIMAKERCONTROLLER
#define IS_ULTIPANEL
#if ENABLED(miniVIKI)
#define LCD_CONTRAST_MIN 75
@ -95,24 +87,24 @@
#elif ENABLED(OLED_PANEL_TINYBOY2)
#define U8GLIB_SSD1306
#define ULTIPANEL
#define IS_U8GLIB_SSD1306
#define IS_ULTIPANEL
#elif ENABLED(RA_CONTROL_PANEL)
#define LCD_I2C_TYPE_PCA8574
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
#define ULTIPANEL
#define IS_ULTIPANEL
#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define DOGLCD
#define U8GLIB_ST7920
#define ULTIPANEL
#define IS_ULTIPANEL
#elif ENABLED(CR10_STOCKDISPLAY)
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define IS_RRD_FG_SC
#ifndef ST7920_DELAY_1
#define ST7920_DELAY_1 DELAY_NS(125)
#endif
@ -125,13 +117,13 @@
#elif ENABLED(MKS_12864OLED)
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#define IS_RRD_SC
#define U8GLIB_SH1106
#elif ENABLED(MKS_12864OLED_SSD1306)
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#define U8GLIB_SSD1306
#define IS_RRD_SC
#define IS_U8GLIB_SSD1306
#elif ENABLED(MKS_MINI_12864)
@ -143,12 +135,12 @@
#define FYSETC_MINI_12864
#define DOGLCD
#define ULTIPANEL
#define IS_ULTIPANEL
#define LCD_CONTRAST_MIN 0
#define LCD_CONTRAST_MAX 255
#define DEFAULT_LCD_CONTRAST 220
#define LED_COLORS_REDUCE_GREEN
#if (HAS_POWER_SWITCH && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1))
#if HAS_POWER_SWITCH && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1)
#define LED_BACKLIGHT_TIMEOUT 10000
#endif
@ -167,60 +159,62 @@
#define NEOPIXEL_STARTUP_TEST
#endif
#elif ENABLED(ULTI_CONTROLLER)
#define U8GLIB_SSD1309
#define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin
#define LCD_CONTRAST_MIN 0
#define LCD_CONTRAST_MAX 254
#define DEFAULT_LCD_CONTRAST 127
#define ENCODER_PULSES_PER_STEP 2
#define ENCODER_STEPS_PER_MENU_ITEM 2
#elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602)
#define IS_RRD_SC
#define LCD_WIDTH 16
#define LCD_HEIGHT 2
#endif
#if ENABLED(IS_RRD_FG_SC)
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#endif
#if EITHER(MAKRPANEL, MINIPANEL)
#define IS_ULTIPANEL
#define DOGLCD
#define ULTIPANEL
#if ENABLED(MAKRPANEL)
#define U8GLIB_ST7565_64128N
#endif
#ifndef DEFAULT_LCD_CONTRAST
#define DEFAULT_LCD_CONTRAST 17
#endif
#endif
#if ENABLED(ULTI_CONTROLLER)
#define U8GLIB_SSD1309
#define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin
#define LCD_CONTRAST_MIN 0
#define LCD_CONTRAST_MAX 254
#define DEFAULT_LCD_CONTRAST 127
#define ENCODER_PULSES_PER_STEP 2
#define ENCODER_STEPS_PER_MENU_ITEM 2
#if ENABLED(IS_U8GLIB_SSD1306)
#define U8GLIB_SSD1306
#endif
// 128x64 I2C OLED LCDs - SSD1306/SSD1309/SH1106
#define HAS_SSD1306_OLED_I2C ANY(U8GLIB_SSD1306, U8GLIB_SSD1309, U8GLIB_SH1106)
#if HAS_SSD1306_OLED_I2C
#define ULTRA_LCD
#define IS_ULTRA_LCD
#define DOGLCD
#endif
#if EITHER(PANEL_ONE, U8GLIB_SH1106)
#define ULTIMAKERCONTROLLER
#elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602)
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#define LCD_WIDTH 16
#define LCD_HEIGHT 2
#endif
#if ANY(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, LCD_FOR_MELZI, SILVER_GATE_GLCD_CONTROLLER)
#define DOGLCD
#define U8GLIB_ST7920
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#define IS_RRD_SC
#endif
#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, ULTI_CONTROLLER)
#define ULTIPANEL
#if ENABLED(IS_RRD_SC)
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#endif
#if ENABLED(REPRAPWORLD_KEYPAD)
#define NEWPANEL
#if ENABLED(ULTIPANEL) && !defined(REPRAPWORLD_KEYPAD_MOVE_STEP)
#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
#endif
#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, ULTI_CONTROLLER, PANEL_ONE, U8GLIB_SH1106)
#define IS_ULTIPANEL
#endif
/**
@ -230,7 +224,7 @@
// Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h
#if ENABLED(U8GLIB_SH1106_EINSTART)
#define DOGLCD
#define ULTIPANEL
#define IS_ULTIPANEL
#endif
/**
@ -238,7 +232,7 @@
*/
#if ENABLED(MKS_ROBIN_TFT)
#define DOGLCD
#define ULTIPANEL
#define IS_ULTIPANEL
#endif
/**
@ -262,7 +256,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 ULTIPANEL
#define IS_ULTIPANEL
#elif ENABLED(LCD_I2C_VIKI)
@ -277,7 +271,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 ULTIPANEL
#define IS_ULTIPANEL
#define ENCODER_FEEDRATE_DEADZONE 4
@ -289,7 +283,7 @@
#define STD_ENCODER_PULSES_PER_STEP 2
#define STD_ENCODER_STEPS_PER_MENU_ITEM 1
#elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, OLED_PANEL_TINYBOY2, BQ_LCD_SMART_CONTROLLER, LCD_I2C_PANELOLU2, REPRAP_DISCOUNT_SMART_CONTROLLER)
#elif ANY(REPRAP_DISCOUNT_SMART_CONTROLLER, 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
@ -318,21 +312,41 @@
// 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 ULTIPANEL
#define IS_ULTIPANEL
#elif ENABLED(SAV_3DLCD)
#define SR_LCD_2W_NL // Non latching 2 wire shift register
#define IS_ULTIPANEL
#endif
#if ENABLED(SAV_3DLCD)
#define SR_LCD_2W_NL // Non latching 2 wire shift register
#if ENABLED(IS_ULTIPANEL)
#define ULTIPANEL
#endif
#if ENABLED(ULTIPANEL)
#define NEWPANEL // Disable if there's actually no click-encoder panel
#define IS_ULTRA_LCD
#ifndef NEWPANEL
#define NEWPANEL
#endif
#endif
#if ENABLED(IS_ULTRA_LCD)
#define ULTRA_LCD
#endif
#if ENABLED(IS_RRW_KEYPAD)
#define REPRAPWORLD_KEYPAD
#endif
// Keypad needs a move step
#if ENABLED(REPRAPWORLD_KEYPAD)
#define NEWPANEL
#ifndef REPRAPWORLD_KEYPAD_MOVE_STEP
#define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
#endif
#endif
// Extensible UI serial touch screens. (See src/lcd/extensible_ui)
#if EITHER(DGUS_LCD, MALYAN_LCD)
#if EITHER(MALYAN_LCD, DGUS_LCD)
#define IS_EXTUI
#define EXTENSIBLE_UI
#endif
@ -342,7 +356,6 @@
#define HAS_GRAPHICAL_LCD ENABLED(DOGLCD)
#define HAS_CHARACTER_LCD (HAS_SPI_LCD && !HAS_GRAPHICAL_LCD)
#define HAS_LCD_MENU (ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS))
#define HAS_ADC_BUTTONS ENABLED(ADC_KEYPAD)
/**

94
Marlin/src/inc/SanityCheck.h

@ -1832,76 +1832,68 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
/**
* Make sure only one display is enabled
*
* Note: BQ_LCD_SMART_CONTROLLER => REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
* REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER => REPRAP_DISCOUNT_SMART_CONTROLLER
* SAV_3DGLCD => U8GLIB_SH1106 => ULTIMAKERCONTROLLER
* MKS_12864OLED => U8GLIB_SH1106 => ULTIMAKERCONTROLLER
* MKS_12864OLED_SSD1306 => U8GLIB_SSD1306 => ULTIMAKERCONTROLLER
* MKS_MINI_12864 => MINIPANEL
* miniVIKI => ULTIMAKERCONTROLLER
* VIKI2 => ULTIMAKERCONTROLLER
* ELB_FULL_GRAPHIC_CONTROLLER => ULTIMAKERCONTROLLER
* AZSMZ_12864 => ULTIMAKERCONTROLLER
* PANEL_ONE => ULTIMAKERCONTROLLER
*/
#if 1 < 0 \
+ ( ENABLED(ULTIMAKERCONTROLLER) \
&& DISABLED(SAV_3DGLCD) \
&& DISABLED(miniVIKI) \
&& DISABLED(VIKI2) \
&& DISABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
&& DISABLED(AZSMZ_12864) \
&& DISABLED(PANEL_ONE) \
&& DISABLED(MKS_12864OLED) \
&& DISABLED(MKS_12864OLED_SSD1306) ) \
+ ( ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
&& DISABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \
&& DISABLED(LCD_FOR_MELZI) \
&& DISABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
&& DISABLED(MKS_12864OLED) \
&& DISABLED(MKS_12864OLED_SSD1306) ) \
+ (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(BQ_LCD_SMART_CONTROLLER)) \
+ ENABLED(LCD_FOR_MELZI) \
+ ENABLED(MKS_12864OLED) \
+ ENABLED(MKS_12864OLED_SSD1306) \
+ ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
+ ENABLED(CARTESIO_UI) \
+ (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(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \
+ (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864)) \
+ (ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(IS_RRW_KEYPAD)) \
+ (ENABLED(EXTENSIBLE_UI) && DISABLED(IS_EXTUI))
+ (ENABLED(ULTIPANEL) && DISABLED(IS_ULTIPANEL)) \
+ ENABLED(RADDS_DISPLAY) \
+ ENABLED(ULTIMAKERCONTROLLER) \
+ ENABLED(PANEL_ONE) \
+ ENABLED(MAKRPANEL) \
+ ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
+ ENABLED(VIKI2) \
+ ENABLED(miniVIKI) \
+ ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
+ ENABLED(AZSMZ_12864) \
+ ENABLED(G3D_PANEL) \
+ (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864)) \
+ ENABLED(MKS_MINI_12864) \
+ 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(REPRAPWORLD_KEYPAD) && NONE(CARTESIO_UI, ZONESTAR_LCD)) \
+ 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_I2C_PANELOLU2) \
+ ENABLED(LCD_I2C_VIKI) \
+ (ENABLED(U8GLIB_SSD1306) && NONE(OLED_PANEL_TINYBOY2, MKS_12864OLED_SSD1306)) \
+ ENABLED(SAV_3DLCD) \
+ ENABLED(FF_INTERFACEBOARD) \
+ ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
+ ENABLED(VIKI2) \
+ ENABLED(miniVIKI) \
+ ENABLED(MAKRPANEL) \
+ ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
+ ENABLED(BQ_LCD_SMART_CONTROLLER) \
+ ENABLED(CARTESIO_UI) \
+ ENABLED(LCD_FOR_MELZI) \
+ ENABLED(ULTI_CONTROLLER) \
+ ENABLED(MKS_MINI_12864) \
+ 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(CR10_STOCKDISPLAY) \
+ ENABLED(ANET_FULL_GRAPHICS_LCD) \
+ ENABLED(AZSMZ_12864) \
+ ENABLED(SILVER_GATE_GLCD_CONTROLLER) \
+ ENABLED(SAV_3DGLCD) \
+ ENABLED(OLED_PANEL_TINYBOY2) \
+ ENABLED(ZONESTAR_LCD) \
+ ENABLED(ULTI_CONTROLLER) \
+ ENABLED(MALYAN_LCD) \
+ ENABLED(MKS_12864OLED) \
+ ENABLED(MKS_12864OLED_SSD1306) \
+ ENABLED(U8GLIB_SH1106_EINSTART) \
+ ENABLED(DGUS_LCD) \
+ (ENABLED(EXTENSIBLE_UI) && NONE(MALYAN_LCD, DGUS_LCD))
+ ENABLED(MALYAN_LCD) \
+ ENABLED(MKS_ROBIN_TFT)
#error "Please select no more than 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
/**
* FYSETC Mini 12864 RGB backlighting required
*/

Loading…
Cancel
Save