diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index 7aa96deae..deb89fb51 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 05e193f13..1da8ecc5a 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 19a78c4bf..27022e6fb 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 a05c5864a..5d3edc5a7 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 3cae7b59b..5fcc0bb86 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 f10203a21..68dd02dbe 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 1e195fff0..4993a749f 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 c339a163c..ebe75ffbc 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 26cfe5774..cd44443f4 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 ac0401873..d4b961f2a 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 a5d558f85..8703990be 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 bcb676574..8a150d681 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 78c3a341d..31d384da6 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 6842ecf92..e7542ef65 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 9a1dacf39..d586dc9ee 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 8f23d29f4..50890b1fb 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 5e99290d8..e3493203c 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 7369f7ac8..a3ab9103a 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 799ad46dc..51879d152 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 e04d12e86..d2bf864fa 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 0b2897bce..fedf767be 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 4d35c063a..aad2a9090 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 691abb497..0154727f9 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 5b1dbf648..4cb5eb586 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 6706efd51..7952f1989 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 8e402bcb0..0d0a3dc3e 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 2f69a232e..fe6b67870 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 9596a58c4..8dc758c33 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 621975602..64ed4fa27 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 99271bf5f..0afc96ea6 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 cde1f7648..98661d21d 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 7992697df..ca473aeed 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 8a54d1734..6b86fc187 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 9be759d37..851ee11dc 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 6bac9d7a8..e6769f533 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