diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h index f09a8a2fe8..358131e4ae 100644 --- a/Marlin/Conditionals.h +++ b/Marlin/Conditionals.h @@ -22,15 +22,20 @@ #define NEWPANEL #endif - #if defined(miniVIKI) || defined(VIKI2) + #if defined(miniVIKI) || defined(VIKI2) || defined(ELB_FULL_GRAPHIC_CONTROLLER) #define ULTRA_LCD //general LCD support, also 16x2 #define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. #ifdef miniVIKI #define DEFAULT_LCD_CONTRAST 95 - #else + #elif defined(VIKI2) #define DEFAULT_LCD_CONTRAST 40 + #elif defined(ELB_FULL_GRAPHIC_CONTROLLER) + #define DEFAULT_LCD_CONTRAST 110 + #define SDCARDDETECTINVERTED + #define SDSLOW + #define U8GLIB_LM6059_AF #endif #define ENCODER_PULSES_PER_STEP 4 diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 8e520fa96a..ccd9786811 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -660,6 +660,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/configurator/config/Configuration.h b/Marlin/configurator/config/Configuration.h index de4c8a5f71..0d8a5d4228 100644 --- a/Marlin/configurator/config/Configuration.h +++ b/Marlin/configurator/config/Configuration.h @@ -661,6 +661,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 47e4a9244d..c7e371f67f 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -126,6 +126,9 @@ #elif defined(VIKI2) || defined(miniVIKI) // Mini Viki and Viki 2.0 LCD, ST7565 controller as well U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0); +#elif defined(U8GLIB_LM6059_AF) + // Based on the Adafruit ST7565 (http://www.adafruit.com/products/250) + U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0); #else // for regular DOGM128 display with HW-SPI U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 078af2a0d5..9df608264d 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -595,6 +595,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index c5184ac6e4..4e8503aa6f 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -615,6 +615,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller #define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index f4fccc82ac..b430543ef5 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -678,6 +678,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 27a2582900..b98c72437a 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -661,6 +661,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index e4941a7fd6..aa623d2db5 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -646,6 +646,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index f0c71c16de..f9543b0c45 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -614,6 +614,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller #define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index 908acce5ab..f86b2da382 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -660,6 +660,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 0a5b7e6711..6aeb7fa41f 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -663,6 +663,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 87d1cd2a1e..0f7662892e 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -667,6 +667,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 63a4024673..33419bd87a 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -614,6 +614,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 0dd00045b2..a317358a9d 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -620,6 +620,11 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic //#define VIKI2 //#define miniVIKI +// This is a new controller currently under development. https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/ +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define ELB_FULL_GRAPHIC_CONTROLLER + // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h index c9c796ed42..37683b8c59 100644 --- a/Marlin/pins_RAMPS_13.h +++ b/Marlin/pins_RAMPS_13.h @@ -180,6 +180,17 @@ #define BTN_ENC -1 #define LCD_SDSS 53 #define SDCARDDETECT 49 + #elif defined(ELB_FULL_GRAPHIC_CONTROLLER) + #define BTN_EN1 35 // reverse if the encoder turns the wrong way. + #define BTN_EN2 37 + #define BTN_ENC 31 + #define SDCARDDETECT 49 + #define LCD_SDSS 53 + #define KILL_PIN 41 + #define BEEPER 23 + #define DOGLCD_CS 29 + #define DOGLCD_A0 27 + #define LCD_PIN_BL 33 #else // arduino pin which triggers an piezzo beeper #define BEEPER 33 // Beeper on AUX-4 @@ -209,7 +220,6 @@ #endif #endif - #else // Old-style panel with shift register // Arduino pin witch triggers an piezzo beeper #define BEEPER 33 // No Beeper added diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 1bcd3dbaae..8584a963d5 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -1110,13 +1110,24 @@ static void lcd_control_volumetric_menu() { #ifdef HAS_LCD_CONTRAST static void lcd_set_contrast() { if (encoderPosition != 0) { - lcd_contrast -= encoderPosition; - lcd_contrast &= 0x3F; + #ifdef U8GLIB_LM6059_AF + lcd_contrast += encoderPosition; + lcd_contrast &= 0xFF; + #else + lcd_contrast -= encoderPosition; + lcd_contrast &= 0x3F; + #endif encoderPosition = 0; lcdDrawUpdate = 1; u8g.setContrast(lcd_contrast); } - if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_CONTRAST), itostr2(lcd_contrast)); + if (lcdDrawUpdate) { + #ifdef U8GLIB_LM6059_AF + lcd_implementation_drawedit(PSTR(MSG_CONTRAST), itostr3(lcd_contrast)); + #else + lcd_implementation_drawedit(PSTR(MSG_CONTRAST), itostr2(lcd_contrast)); + #endif + } if (LCD_CLICKED) lcd_goto_menu(lcd_control_menu); } #endif // HAS_LCD_CONTRAST