diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h index e5e072a22..2cc8eac31 100644 --- a/Marlin/Conditionals.h +++ b/Marlin/Conditionals.h @@ -130,6 +130,13 @@ #define NEWPANEL #endif + + #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) + #define DOGLCD + #define U8GLIB_ST7920 + #define ULTIPANEL + #endif + /** * I2C PANELS */ diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f810fcd0c..999e043d9 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1118,6 +1118,13 @@ // //#define MAKRPANEL +// +// ReprapWorld Graphical LCD +// https://reprapworld.com/?products_details&products_id/1218 +// +//#define REPRAPWORLD_GRAPHICAL_LCD + + // // Activate one of these if you have a Panucatt Devices // Viki 2.0 or mini Viki with Graphic LCD diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h index 47ec17649..a77232f21 100644 --- a/Marlin/pins_MEGATRONICS_3.h +++ b/Marlin/pins_MEGATRONICS_3.h @@ -106,17 +106,49 @@ #define BEEPER_PIN 61 -#define LCD_PINS_RS 32 -#define LCD_PINS_ENABLE 31 -#define LCD_PINS_D4 14 -#define LCD_PINS_D5 30 -#define LCD_PINS_D6 39 -#define LCD_PINS_D7 15 - -#define SHIFT_CLK 43 -#define SHIFT_LD 35 -#define SHIFT_OUT 34 -#define SHIFT_EN 44 + + + +#if ENABLED(DOGLCD) + + #if ENABLED(U8GLIB_ST7920) + + #define LCD_PINS_RS 56 //CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 51 //SID (MOSI) + #define LCD_PINS_D4 52 //SCK (CLK) clock + + #define BTN_EN1 44 + #define BTN_EN2 45 + #define BTN_ENC 33 + + + #define SD_DETECT_PIN 35 + #endif + +#else + #define LCD_PINS_RS 32 + #define LCD_PINS_ENABLE 31 + #define LCD_PINS_D4 14 + #define LCD_PINS_D5 30 + #define LCD_PINS_D6 39 + #define LCD_PINS_D7 15 + + #define SHIFT_CLK 43 + #define SHIFT_LD 35 + #define SHIFT_OUT 34 + #define SHIFT_EN 44 + //buttons are directly attached using keypad + #define BTN_EN1 44 + #define BTN_EN2 45 + #define BTN_ENC 33 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SD_DETECT_PIN 56 // Megatronics v3.1 only +#endif + // Buttons are directly attached using keypad #define BTN_EN1 44 diff --git a/Marlin/pins_MINITRONICS.h b/Marlin/pins_MINITRONICS.h index 0c80ceda4..734b39de4 100644 --- a/Marlin/pins_MINITRONICS.h +++ b/Marlin/pins_MINITRONICS.h @@ -76,6 +76,25 @@ #define BEEPER_PIN -1 + + +#if ENABLED(DOGLCD) + + #if ENABLED(U8GLIB_ST7920) + + #define LCD_PINS_RS 15 //CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 11 //SID (MOSI) + #define LCD_PINS_D4 10 //SCK (CLK) clock + + #define BTN_EN1 18 + #define BTN_EN2 17 + #define BTN_ENC 25 + + + #define SD_DETECT_PIN 30 + #endif + +#else #define LCD_PINS_RS -1 #define LCD_PINS_ENABLE -1 #define LCD_PINS_D4 -1 @@ -92,3 +111,5 @@ #define BLEN_B 1 #define BLEN_A 0 +#define SD_DETECT_PIN -1 // Minitronics doesn't use this +#endif diff --git a/Marlin/pins_RAMPS_14.h b/Marlin/pins_RAMPS_14.h index c51a8d02a..3434e8c90 100644 --- a/Marlin/pins_RAMPS_14.h +++ b/Marlin/pins_RAMPS_14.h @@ -139,7 +139,23 @@ #define SLED_PIN -1 #endif -#if ENABLED(ULTRA_LCD) + + +#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) + + + #define LCD_PINS_RS 49 //CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 51 //SID (MOSI) + #define LCD_PINS_D4 52 //SCK (CLK) clock + + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + + + #define SD_DETECT_PIN 42 + +#elif ENABLED(ULTRA_LCD) #if ENABLED(NEWPANEL) && ENABLED(PANEL_ONE) #define LCD_PINS_RS 40 diff --git a/Marlin/ultralcd_impl_DOGM.h b/Marlin/ultralcd_impl_DOGM.h index f53f9269c..218f3217b 100644 --- a/Marlin/ultralcd_impl_DOGM.h +++ b/Marlin/ultralcd_impl_DOGM.h @@ -141,7 +141,9 @@ #define START_COL 0 // LCD selection -#if ENABLED(U8GLIB_ST7920) +#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) + U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_RS); +#elif ENABLED(U8GLIB_ST7920) //U8GLIB_ST7920_128X64_RRD u8g(0,0,0); U8GLIB_ST7920_128X64_RRD u8g(0); #elif defined(CARTESIO_UI)