diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 3922a30d0..6a3433e38 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -811,3 +811,136 @@ #error "I2C_SLAVE_ADDRESS can't be over 127. (Only 7 bits allowed.)" #endif #endif + +/** + * 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 + * miniVIKI => ULTIMAKERCONTROLLER + * VIKI2 => ULTIMAKERCONTROLLER + * ELB_FULL_GRAPHIC_CONTROLLER => ULTIMAKERCONTROLLER + * PANEL_ONE => ULTIMAKERCONTROLLER + */ +#define COUNT_LCD_1 0 +#if ENABLED(ULTIMAKERCONTROLLER) \ + && DISABLED(SAV_3DGLCD) && DISABLED(miniVIKI) && DISABLED(VIKI2) \ + && DISABLED(ELB_FULL_GRAPHIC_CONTROLLER) && DISABLED(PANEL_ONE) + #define COUNT_LCD_2 INCREMENT(COUNT_LCD_1) +#else + #define COUNT_LCD_2 COUNT_LCD_1 +#endif +#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && DISABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define COUNT_LCD_3 INCREMENT(COUNT_LCD_2) +#else + #define COUNT_LCD_3 COUNT_LCD_2 +#endif +#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(BQ_LCD_SMART_CONTROLLER) + #define COUNT_LCD_4 INCREMENT(COUNT_LCD_3) +#else + #define COUNT_LCD_4 COUNT_LCD_3 +#endif +#if ENABLED(CARTESIO_UI) + #define COUNT_LCD_5 INCREMENT(COUNT_LCD_4) +#else + #define COUNT_LCD_5 COUNT_LCD_4 +#endif +#if ENABLED(PANEL_ONE) + #define COUNT_LCD_6 INCREMENT(COUNT_LCD_5) +#else + #define COUNT_LCD_6 COUNT_LCD_5 +#endif +#if ENABLED(MAKRPANEL) + #define COUNT_LCD_7 INCREMENT(COUNT_LCD_6) +#else + #define COUNT_LCD_7 COUNT_LCD_6 +#endif +#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) + #define COUNT_LCD_8 INCREMENT(COUNT_LCD_7) +#else + #define COUNT_LCD_8 COUNT_LCD_7 +#endif +#if ENABLED(VIKI2) + #define COUNT_LCD_9 INCREMENT(COUNT_LCD_8) +#else + #define COUNT_LCD_9 COUNT_LCD_8 +#endif +#if ENABLED(miniVIKI) + #define COUNT_LCD_10 INCREMENT(COUNT_LCD_9) +#else + #define COUNT_LCD_10 COUNT_LCD_9 +#endif +#if ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) + #define COUNT_LCD_11 INCREMENT(COUNT_LCD_10) +#else + #define COUNT_LCD_11 COUNT_LCD_10 +#endif +#if ENABLED(G3D_PANEL) + #define COUNT_LCD_12 INCREMENT(COUNT_LCD_11) +#else + #define COUNT_LCD_12 COUNT_LCD_11 +#endif +#if ENABLED(MINIPANEL) + #define COUNT_LCD_13 INCREMENT(COUNT_LCD_12) +#else + #define COUNT_LCD_13 COUNT_LCD_12 +#endif +#if ENABLED(REPRAPWORLD_KEYPAD) + #define COUNT_LCD_14 INCREMENT(COUNT_LCD_13) +#else + #define COUNT_LCD_14 COUNT_LCD_13 +#endif +#if ENABLED(RIGIDBOT_PANEL) + #define COUNT_LCD_15 INCREMENT(COUNT_LCD_14) +#else + #define COUNT_LCD_15 COUNT_LCD_14 +#endif +#if ENABLED(RA_CONTROL_PANEL) + #define COUNT_LCD_16 INCREMENT(COUNT_LCD_15) +#else + #define COUNT_LCD_16 COUNT_LCD_15 +#endif +#if ENABLED(LCD_I2C_SAINSMART_YWROBOT) + #define COUNT_LCD_17 INCREMENT(COUNT_LCD_16) +#else + #define COUNT_LCD_17 COUNT_LCD_16 +#endif +#if ENABLED(LCM1602) + #define COUNT_LCD_18 INCREMENT(COUNT_LCD_17) +#else + #define COUNT_LCD_18 COUNT_LCD_17 +#endif +#if ENABLED(LCD_I2C_PANELOLU2) + #define COUNT_LCD_19 INCREMENT(COUNT_LCD_18) +#else + #define COUNT_LCD_19 COUNT_LCD_18 +#endif +#if ENABLED(LCD_I2C_VIKI) + #define COUNT_LCD_20 INCREMENT(COUNT_LCD_19) +#else + #define COUNT_LCD_20 COUNT_LCD_19 +#endif +#if ENABLED(U8GLIB_SSD1306) + #define COUNT_LCD_21 INCREMENT(COUNT_LCD_20) +#else + #define COUNT_LCD_21 COUNT_LCD_20 +#endif +#if ENABLED(SAV_3DLCD) + #define COUNT_LCD_22 INCREMENT(COUNT_LCD_21) +#else + #define COUNT_LCD_22 COUNT_LCD_21 +#endif +#if ENABLED(BQ_LCD_SMART_CONTROLLER) + #define COUNT_LCD_23 INCREMENT(COUNT_LCD_22) +#else + #define COUNT_LCD_23 COUNT_LCD_22 +#endif +#if ENABLED(SAV_3DGLCD) + #define COUNT_LCD_24 INCREMENT(COUNT_LCD_23) +#else + #define COUNT_LCD_24 COUNT_LCD_23 +#endif +#if COUNT_LCD_24 > 1 + #error "Please select no more than one LCD controller option." +#endif