123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528 |
- #ifndef CONDITIONALS_LCD_H
- #define CONDITIONALS_LCD_H
- #define LCD_HAS_DIRECTIONAL_BUTTONS (BUTTON_EXISTS(UP) || BUTTON_EXISTS(DWN) || BUTTON_EXISTS(LFT) || BUTTON_EXISTS(RT))
- #if ENABLED(CARTESIO_UI)
- #define DOGLCD
- #define 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 REPRAPWORLD_KEYPAD
- #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
- #define ADC_KEYPAD
- #define ADC_KEY_NUM 8
- #define ULTIPANEL
-
- #define ENCODER_PULSES_PER_STEP 1
- #define ENCODER_STEPS_PER_MENU_ITEM 1
- #define ENCODER_FEEDRATE_DEADZONE 2
- #define REVERSE_MENU_DIRECTION
- #elif ENABLED(ANET_FULL_GRAPHICS_LCD)
- #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
- #elif ENABLED(BQ_LCD_SMART_CONTROLLER)
- #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
- #elif ENABLED(miniVIKI) || ENABLED(VIKI2) || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
- #define ULTRA_LCD
- #define DOGLCD
- #define ULTIMAKERCONTROLLER
- #if ENABLED(miniVIKI)
- #define LCD_CONTRAST_MIN 75
- #define LCD_CONTRAST_MAX 115
- #define DEFAULT_LCD_CONTRAST 95
- #define U8GLIB_ST7565_64128N
- #elif ENABLED(VIKI2)
- #define LCD_CONTRAST_MIN 0
- #define LCD_CONTRAST_MAX 255
- #define DEFAULT_LCD_CONTRAST 140
- #define U8GLIB_ST7565_64128N
- #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
- #define LCD_CONTRAST_MIN 90
- #define LCD_CONTRAST_MAX 130
- #define DEFAULT_LCD_CONTRAST 110
- #define U8GLIB_LM6059_AF
- #define SD_DETECT_INVERTED
- #endif
- #elif ENABLED(OLED_PANEL_TINYBOY2)
- #define U8GLIB_SSD1306
- #define ULTIPANEL
- #define REVERSE_ENCODER_DIRECTION
- #define REVERSE_MENU_DIRECTION
- #elif ENABLED(RA_CONTROL_PANEL)
- #define LCD_I2C_TYPE_PCA8574
- #define LCD_I2C_ADDRESS 0x27
- #define ULTIPANEL
- #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
- #define DOGLCD
- #define U8GLIB_ST7920
- #define ULTIPANEL
- #elif ENABLED(CR10_STOCKDISPLAY)
- #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
- #ifndef ST7920_DELAY_1
- #define ST7920_DELAY_1 DELAY_NS(125)
- #endif
- #ifndef ST7920_DELAY_2
- #define ST7920_DELAY_2 DELAY_NS(125)
- #endif
- #ifndef ST7920_DELAY_3
- #define ST7920_DELAY_3 DELAY_NS(125)
- #endif
- #elif ENABLED(MKS_12864OLED)
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
- #define U8GLIB_SH1106
- #elif ENABLED(MKS_12864OLED_SSD1306)
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
- #define U8GLIB_SSD1306
- #elif ENABLED(MKS_MINI_12864)
- #define MINIPANEL
- #endif
- #if ENABLED(MAKRPANEL) || ENABLED(MINIPANEL)
- #define DOGLCD
- #define ULTIPANEL
- #define DEFAULT_LCD_CONTRAST 17
- #endif
- #if ENABLED(ULTI_CONTROLLER)
- #define U8GLIB_SSD1309
- #define REVERSE_ENCODER_DIRECTION
- #define LCD_RESET_PIN LCD_PINS_D6
- #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
- #endif
- #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SSD1309) || ENABLED(U8GLIB_SH1106)
- #define ULTRA_LCD
- #define DOGLCD
- #endif
- #if ENABLED(PANEL_ONE) || ENABLED(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 ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI) || ENABLED(SILVER_GATE_GLCD_CONTROLLER)
- #define DOGLCD
- #define U8GLIB_ST7920
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
- #endif
- #if ENABLED(ULTIMAKERCONTROLLER) \
- || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
- || ENABLED(G3D_PANEL) \
- || ENABLED(RIGIDBOT_PANEL) \
- || ENABLED(ULTI_CONTROLLER)
- #define ULTIPANEL
- #endif
- #if ENABLED(REPRAPWORLD_KEYPAD)
- #define NEWPANEL
- #if ENABLED(ULTIPANEL) && !defined(REPRAPWORLD_KEYPAD_MOVE_STEP)
- #define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
- #endif
- #endif
- #if ENABLED(LCD_SAINSMART_I2C_1602) || ENABLED(LCD_SAINSMART_I2C_2004)
- #define LCD_I2C_TYPE_PCF8575
- #define LCD_I2C_ADDRESS 0x27
- #define ULTRA_LCD
- #if ENABLED(LCD_SAINSMART_I2C_2004)
- #define LCD_WIDTH 20
- #define LCD_HEIGHT 4
- #endif
- #elif ENABLED(LCD_I2C_PANELOLU2)
-
- #define LCD_I2C_TYPE_MCP23017
- #define LCD_I2C_ADDRESS 0x20
- #define LCD_USE_I2C_BUZZER
- #define ULTIPANEL
- #elif ENABLED(LCD_I2C_VIKI)
-
- #define LCD_I2C_TYPE_MCP23017
- #define LCD_I2C_ADDRESS 0x20
- #define LCD_USE_I2C_BUZZER
- #define ULTIPANEL
- #define ENCODER_FEEDRATE_DEADZONE 4
- #define STD_ENCODER_PULSES_PER_STEP 1
- #define STD_ENCODER_STEPS_PER_MENU_ITEM 2
- #elif ENABLED(G3D_PANEL)
- #define STD_ENCODER_PULSES_PER_STEP 2
- #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
- #elif ENABLED(miniVIKI) || ENABLED(VIKI2) \
- || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
- || ENABLED(OLED_PANEL_TINYBOY2) \
- || ENABLED(BQ_LCD_SMART_CONTROLLER) \
- || ENABLED(LCD_I2C_PANELOLU2) \
- || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
- #define STD_ENCODER_PULSES_PER_STEP 4
- #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
- #endif
- #ifndef STD_ENCODER_PULSES_PER_STEP
- #define STD_ENCODER_PULSES_PER_STEP 5
- #endif
- #ifndef STD_ENCODER_STEPS_PER_MENU_ITEM
- #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
- #endif
- #ifndef ENCODER_PULSES_PER_STEP
- #define ENCODER_PULSES_PER_STEP STD_ENCODER_PULSES_PER_STEP
- #endif
- #ifndef ENCODER_STEPS_PER_MENU_ITEM
- #define ENCODER_STEPS_PER_MENU_ITEM STD_ENCODER_STEPS_PER_MENU_ITEM
- #endif
- #ifndef ENCODER_FEEDRATE_DEADZONE
- #define ENCODER_FEEDRATE_DEADZONE 6
- #endif
- #if ENABLED(SAV_3DLCD)
- #define SR_LCD_2W_NL
- #define ULTIPANEL
- #endif
- #if ENABLED(DOGLCD)
- #ifndef LCD_WIDTH
- #ifdef LCD_WIDTH_OVERRIDE
- #define LCD_WIDTH LCD_WIDTH_OVERRIDE
- #else
- #define LCD_WIDTH 22
- #endif
- #endif
- #ifndef LCD_HEIGHT
- #define LCD_HEIGHT 5
- #endif
- #endif
- #if ENABLED(NO_LCD_MENUS)
- #undef ULTIPANEL
- #endif
- #if ENABLED(ULTIPANEL)
- #define NEWPANEL
- #define ULTRA_LCD
- #ifndef LCD_WIDTH
- #define LCD_WIDTH 20
- #endif
- #ifndef LCD_HEIGHT
- #define LCD_HEIGHT 4
- #endif
- #elif ENABLED(ULTRA_LCD)
- #ifndef LCD_WIDTH
- #define LCD_WIDTH 16
- #endif
- #ifndef LCD_HEIGHT
- #define LCD_HEIGHT 2
- #endif
- #endif
- #if ENABLED(DOGLCD)
-
-
- #define LCD_STR_REFRESH "\x01"
- #define LCD_STR_FOLDER "\x02"
- #define LCD_STR_ARROW_RIGHT "\x03"
- #define LCD_STR_UPLEVEL "\x04"
- #define LCD_STR_CLOCK "\x05"
- #define LCD_STR_FEEDRATE "\x06"
- #define LCD_STR_BEDTEMP "\x07"
- #define LCD_STR_THERMOMETER "\x08"
- #define LCD_STR_DEGREE "\x09"
- #define LCD_STR_SPECIAL_MAX '\x09'
-
-
-
- #define LCD_STR_FILAM_DIA "\xf8"
- #define LCD_STR_FILAM_MUL "\xa4"
- #else
-
- #define LCD_BEDTEMP_CHAR 0x00
- #define LCD_DEGREE_CHAR 0x01
- #define LCD_STR_THERMOMETER "\x02"
- #define LCD_UPLEVEL_CHAR 0x03
- #define LCD_STR_REFRESH "\x04"
- #define LCD_STR_FOLDER "\x05"
- #define LCD_FEEDRATE_CHAR 0x06
- #define LCD_CLOCK_CHAR 0x07
- #define LCD_STR_ARROW_RIGHT ">"
- #endif
- #if ENABLED(DOGLCD)
- #define HAS_LCD_CONTRAST ( \
- ENABLED(MAKRPANEL) \
- || ENABLED(CARTESIO_UI) \
- || ENABLED(VIKI2) \
- || ENABLED(miniVIKI) \
- || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
- )
- #if HAS_LCD_CONTRAST
- #ifndef LCD_CONTRAST_MIN
- #define LCD_CONTRAST_MIN 0
- #endif
- #ifndef LCD_CONTRAST_MAX
- #define LCD_CONTRAST_MAX 63
- #endif
- #ifndef DEFAULT_LCD_CONTRAST
- #define DEFAULT_LCD_CONTRAST 32
- #endif
- #endif
- #endif
- #if DISABLED(ULTRA_LCD)
- #undef SHOW_BOOTSCREEN
- #elif !defined(BOOTSCREEN_TIMEOUT)
- #define BOOTSCREEN_TIMEOUT 2500
- #endif
- #define HAS_DEBUG_MENU (ENABLED(ULTIPANEL) && ENABLED(LCD_PROGRESS_BAR_TEST))
- #if ENABLED(SWITCHING_EXTRUDER)
- #if EXTRUDERS > 4
- #define E_STEPPERS 3
- #elif EXTRUDERS > 2
- #define E_STEPPERS 2
- #else
- #define E_STEPPERS 1
- #endif
- #if DISABLED(SWITCHING_NOZZLE)
- #define HOTENDS E_STEPPERS
- #endif
- #define E_MANUAL EXTRUDERS
- #elif ENABLED(MIXING_EXTRUDER)
- #define E_STEPPERS MIXING_STEPPERS
- #define E_MANUAL 1
- #else
- #define E_STEPPERS EXTRUDERS
- #define E_MANUAL EXTRUDERS
- #endif
- #if ENABLED(MK2_MULTIPLEXER) || ENABLED(SWITCHING_NOZZLE)
- #undef DISABLE_INACTIVE_EXTRUDER
- #endif
- #if ENABLED(MK2_MULTIPLEXER)
- #define SINGLENOZZLE
- #endif
- #if ENABLED(SINGLENOZZLE) || ENABLED(MIXING_EXTRUDER)
- #undef HOTENDS
- #define HOTENDS 1
- #undef TEMP_SENSOR_1_AS_REDUNDANT
- #undef HOTEND_OFFSET_X
- #undef HOTEND_OFFSET_Y
- #endif
- #ifndef HOTENDS
- #define HOTENDS EXTRUDERS
- #endif
- #define DO_SWITCH_EXTRUDER (ENABLED(SWITCHING_EXTRUDER) && (DISABLED(SWITCHING_NOZZLE) || SWITCHING_EXTRUDER_SERVO_NR != SWITCHING_NOZZLE_SERVO_NR))
- #if ENABLED(DISTINCT_E_FACTORS) && E_STEPPERS > 1
- #define XYZE_N (XYZ + E_STEPPERS)
- #if ENABLED(HANGPRINTER)
- #define NUM_AXIS_N (ABCD + E_STEPPERS)
- #else
- #define NUM_AXIS_N (XYZ + E_STEPPERS)
- #endif
- #define E_AXIS_N (E_AXIS + extruder)
- #else
- #undef DISTINCT_E_FACTORS
- #define XYZE_N XYZE
- #if ENABLED(HANGPRINTER)
- #define NUM_AXIS_N ABCDE
- #else
- #define NUM_AXIS_N XYZE
- #endif
- #define E_AXIS_N E_AXIS
- #endif
- #if ENABLED(BLTOUCH)
- #ifndef Z_PROBE_SERVO_NR
- #define Z_PROBE_SERVO_NR 0
- #endif
- #ifndef NUM_SERVOS
- #define NUM_SERVOS (Z_PROBE_SERVO_NR + 1)
- #endif
- #undef DEACTIVATE_SERVOS_AFTER_MOVE
- #if NUM_SERVOS == 1
- #undef SERVO_DELAY
- #define SERVO_DELAY { 50 }
- #endif
- #ifndef BLTOUCH_DELAY
- #define BLTOUCH_DELAY 375
- #endif
- #undef Z_SERVO_ANGLES
- #define Z_SERVO_ANGLES { BLTOUCH_DEPLOY, BLTOUCH_STOW }
- #define BLTOUCH_DEPLOY 10
- #define BLTOUCH_STOW 90
- #define BLTOUCH_SELFTEST 120
- #define BLTOUCH_RESET 160
- #define _TEST_BLTOUCH(P) (READ(P##_PIN) != P##_ENDSTOP_INVERTING)
-
- #undef Z_MIN_PROBE_ENDSTOP_INVERTING
- #define Z_MIN_PROBE_ENDSTOP_INVERTING false
- #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
- #undef Z_MIN_ENDSTOP_INVERTING
- #define Z_MIN_ENDSTOP_INVERTING Z_MIN_PROBE_ENDSTOP_INVERTING
- #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN)
- #else
- #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN_PROBE)
- #endif
- #endif
- #define HAS_Z_SERVO_PROBE (defined(Z_PROBE_SERVO_NR) && Z_PROBE_SERVO_NR >= 0)
- #define HAS_BED_PROBE (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
- #define PROBE_SELECTED (HAS_BED_PROBE || ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING))
- #if !HAS_BED_PROBE
-
- #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
- #undef Z_MIN_PROBE_ENDSTOP
- #elif ENABLED(Z_PROBE_ALLEN_KEY)
-
- #define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
- #endif
- #define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN))
- #define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS))
- #define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER))
- #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED))
- #define USE_MARLINSERIAL !(defined(__AVR__) && defined(USBCON))
- #endif
|