diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index 7aa96deae4..deb89fb51f 100644 --- a/Marlin/Conditionals_LCD.h +++ b/Marlin/Conditionals_LCD.h @@ -120,7 +120,7 @@ #define ULTIMAKERCONTROLLER #endif - #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(LCD_FOR_MELZI) #define DOGLCD #define U8GLIB_ST7920 #define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 05e193f13a..1da8ecc5a9 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1402,6 +1402,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 19a78c4bf9..27022e6fb5 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -1086,6 +1086,9 @@ static_assert(1 >= 0 #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(BQ_LCD_SMART_CONTROLLER) + 1 #endif + #if ENABLED(LCD_FOR_MELZI) + + 1 + #endif #if ENABLED(CARTESIO_UI) + 1 #endif diff --git a/Marlin/example_configurations/Anet/A6/Configuration.h b/Marlin/example_configurations/Anet/A6/Configuration.h index a05c5864ac..5d3edc5a78 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration.h +++ b/Marlin/example_configurations/Anet/A6/Configuration.h @@ -1560,6 +1560,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Anet/A8/Configuration.h b/Marlin/example_configurations/Anet/A8/Configuration.h index 3cae7b59ba..5fcc0bb86a 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration.h +++ b/Marlin/example_configurations/Anet/A8/Configuration.h @@ -1410,6 +1410,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/CL-260/Configuration.h b/Marlin/example_configurations/CL-260/Configuration.h index f10203a21c..68dd02dbef 100644 --- a/Marlin/example_configurations/CL-260/Configuration.h +++ b/Marlin/example_configurations/CL-260/Configuration.h @@ -1399,6 +1399,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index 1e195fff02..4993a749f2 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -1396,6 +1396,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index c339a163c0..ebe75ffbcd 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -1380,6 +1380,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index 26cfe57745..cd44443f4e 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -1380,6 +1380,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h b/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h index ac04018735..d4b961f2af 100644 --- a/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h +++ b/Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h @@ -1402,6 +1402,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index a5d558f85d..8703990be8 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -1388,6 +1388,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index bcb6765744..8a150d6814 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -1391,6 +1391,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/Infitary-i3-M508/Configuration.h b/Marlin/example_configurations/Infitary-i3-M508/Configuration.h index 78c3a341d0..31d384da6f 100644 --- a/Marlin/example_configurations/Infitary-i3-M508/Configuration.h +++ b/Marlin/example_configurations/Infitary-i3-M508/Configuration.h @@ -1372,6 +1372,11 @@ // //#define BQ_LCD_SMART_CONTROLLER +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 6842ecf92b..e7542ef652 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -1430,6 +1430,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index 9a1dacf393..d586dc9eef 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -1398,6 +1398,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index 8f23d29f46..50890b1fb4 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -1398,6 +1398,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/M150/Configuration.h b/Marlin/example_configurations/M150/Configuration.h index 5e99290d83..e3493203c2 100644 --- a/Marlin/example_configurations/M150/Configuration.h +++ b/Marlin/example_configurations/M150/Configuration.h @@ -1425,6 +1425,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 7369f7ac8d..a3ab9103a6 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -1398,6 +1398,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 799ad46dc3..51879d1522 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -1398,6 +1398,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index e04d12e863..d2bf864fa0 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -1410,6 +1410,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index 0b2897bced..fedf767be9 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -1417,6 +1417,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index 4d35c063a6..aad2a90908 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -1454,6 +1454,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 691abb4977..0154727f9c 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -1388,6 +1388,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 5b1dbf648f..4cb5eb5866 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -1398,6 +1398,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h index 6706efd51c..7952f1989f 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h @@ -1519,6 +1519,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h index 8e402bcb0f..0d0a3dc3ee 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h @@ -1520,6 +1520,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 2f69a232e1..fe6b678701 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -1509,6 +1509,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 9596a58c47..8dc758c332 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -1512,6 +1512,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 6219756021..64ed4fa276 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -1517,6 +1517,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 99271bf5f8..0afc96ea6d 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -1575,6 +1575,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h index cde1f76480..98661d21df 100644 --- a/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h +++ b/Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h @@ -1414,6 +1414,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 7992697dfc..ca473aeeda 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -1401,6 +1401,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 8a54d17340..6b86fc1873 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -1393,6 +1393,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h index 9be759d373..851ee11dce 100644 --- a/Marlin/example_configurations/wt150/Configuration.h +++ b/Marlin/example_configurations/wt150/Configuration.h @@ -1404,6 +1404,11 @@ // A clone of the RepRapDiscount full graphics display but with // different pins/wiring (see pins_ANET_10.h). +// +// LCD for Melzi Card with Graphical LCD +// +//#define LCD_FOR_MELZI + // // CONTROLLER TYPE: I2C // diff --git a/Marlin/pins_SANGUINOLOLU_11.h b/Marlin/pins_SANGUINOLOLU_11.h index 6bac9d7a8a..e6769f533a 100644 --- a/Marlin/pins_SANGUINOLOLU_11.h +++ b/Marlin/pins_SANGUINOLOLU_11.h @@ -209,16 +209,39 @@ #define BTN_EN2 10 #if ENABLED(LCD_I2C_PANELOLU2) + #if IS_MELZI #define BTN_ENC 29 #define LCD_SDSS 30 // Panelolu2 SD card reader rather than the Melzi #else #define BTN_ENC 30 #endif - #else // !Panelolu2 + + #elif ENABLED(LCD_FOR_MELZI) + + #define LCD_PINS_RS 17 + #define LCD_PINS_ENABLE 16 + #define LCD_PINS_D4 11 + #define BTN_ENC 28 + #define BTN_EN1 29 + #define BTN_EN2 30 + + #ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_0_NOP + #endif + #ifndef ST7920_DELAY_3 + #define ST7920_DELAY_2 DELAY_3_NOP + #endif + #ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_0_NOP + #endif + + #else // !LCD_I2C_PANELOLU2 && !LCD_FOR_MELZI + #define BTN_ENC 16 #define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi - #endif // !Panelolu2 + + #endif #define SD_DETECT_PIN -1