From 0fe57ad4f58404d22f754b32190f5c201e49bb78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Thu, 9 Mar 2017 02:56:01 +0100 Subject: [PATCH] Add Support TinyBoy2 OLED/Encoder panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The OLED is driven by an SSD1306, connected to the board via I2C, the rotary encoder is connected to 3 GPIO pins. Signed-off-by: Stefan BrĂ¼ns --- Marlin/Conditionals_LCD.h | 10 +++++++++- Marlin/Configuration.h | 5 +++++ Marlin/SanityCheck.h | 5 ++++- Marlin/example_configurations/Cartesio/Configuration.h | 5 +++++ Marlin/example_configurations/Felix/Configuration.h | 5 +++++ .../example_configurations/Felix/DUAL/Configuration.h | 5 +++++ .../example_configurations/Hephestos/Configuration.h | 5 +++++ .../example_configurations/Hephestos_2/Configuration.h | 5 +++++ Marlin/example_configurations/K8200/Configuration.h | 5 +++++ Marlin/example_configurations/K8400/Configuration.h | 5 +++++ .../K8400/Dual-head/Configuration.h | 5 +++++ .../RepRapWorld/Megatronics/Configuration.h | 5 +++++ Marlin/example_configurations/RigidBot/Configuration.h | 5 +++++ Marlin/example_configurations/SCARA/Configuration.h | 5 +++++ Marlin/example_configurations/TAZ4/Configuration.h | 5 +++++ Marlin/example_configurations/WITBOX/Configuration.h | 5 +++++ .../adafruit/ST7565/Configuration.h | 5 +++++ .../delta/flsun_kossel_mini/Configuration.h | 5 +++++ .../delta/generic/Configuration.h | 5 +++++ .../delta/kossel_mini/Configuration.h | 5 +++++ .../delta/kossel_pro/Configuration.h | 5 +++++ .../delta/kossel_xl/Configuration.h | 5 +++++ Marlin/example_configurations/makibox/Configuration.h | 5 +++++ .../tvrrug/Round2/Configuration.h | 5 +++++ Marlin/pins_SANGUINOLOLU_11.h | 7 +++++-- 25 files changed, 128 insertions(+), 4 deletions(-) diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index 970d9686f2..9f27bd29ca 100644 --- a/Marlin/Conditionals_LCD.h +++ b/Marlin/Conditionals_LCD.h @@ -67,6 +67,14 @@ #endif + #if ENABLED(OLED_PANEL_TINYBOY2) + #define U8GLIB_SSD1306 + #define ULTIPANEL + #define NEWPANEL + #define REVERSE_ENCODER_DIRECTION + #define REVERSE_MENU_DIRECTION + #endif + // Generic support for SSD1306 / SH1106 OLED based LCDs. #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106) #define ULTRA_LCD //general LCD support, also 16x2 @@ -158,7 +166,7 @@ #endif // Set encoder detents for well-known controllers - #if ENABLED(miniVIKI) || ENABLED(VIKI2) || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \ + #if 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) #ifndef ENCODER_PULSES_PER_STEP #define ENCODER_PULSES_PER_STEP 4 diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 3facece4b7..16c62de67a 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1405,6 +1405,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 21c1d8626b..f593ec9f17 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -1017,7 +1017,7 @@ static_assert(1 >= 0 #if ENABLED(LCD_I2C_VIKI) + 1 #endif - #if ENABLED(U8GLIB_SSD1306) + #if ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2) + 1 #endif #if ENABLED(SAV_3DLCD) @@ -1029,5 +1029,8 @@ static_assert(1 >= 0 #if ENABLED(SAV_3DGLCD) + 1 #endif + #if ENABLED(OLED_PANEL_TINYBOY2) + + 1 + #endif , "Please select no more than one LCD controller option." ); diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index 60660e994b..3417c113c7 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -1406,6 +1406,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index db44e598e1..c60ee5397a 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -1389,6 +1389,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index 041fd1d333..9d42730be5 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -1389,6 +1389,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index e4524fca56..ce667022b5 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -1398,6 +1398,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index eca7f99e99..4648465aeb 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -1400,6 +1400,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 1b0088526b..a24343f175 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -1438,6 +1438,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + #endif // K8200_VM8201 //============================================================================= diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index ec5b974ea8..efd319e90b 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -1406,6 +1406,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index 19e2f5b8c4..31ac518526 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -1406,6 +1406,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index e3962233d7..88c428424c 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -1406,6 +1406,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 70ce33caf5..e27dd400df 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -1407,6 +1407,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 73f0b04fe3..d185b4ada0 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -1421,6 +1421,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index 63d2cedef5..12196f2ab3 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -1427,6 +1427,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index a454671797..309261540d 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -1398,6 +1398,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index c5b47196a9..9c65eeac35 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -1406,6 +1406,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h index 4a0f3f35c3..9253bc8d49 100644 --- a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h @@ -1511,6 +1511,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 01997b6147..ac7a7ac054 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -1496,6 +1496,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index d7713f9521..30591287a8 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -1500,6 +1500,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 4814fa8f38..867c0ba913 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -1499,6 +1499,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index b71e12accf..bb4f5a5e8a 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -1509,6 +1509,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 0d701d43b5..fd17434994 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -1409,6 +1409,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 11d15e2f9b..64fc6ebef7 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -1402,6 +1402,11 @@ // //#define SAV_3DLCD +// +// TinyBoy2 128x64 OLED / Encoder Panel +// +//#define OLED_PANEL_TINYBOY2 + //============================================================================= //=============================== Extra Features ============================== //============================================================================= diff --git a/Marlin/pins_SANGUINOLOLU_11.h b/Marlin/pins_SANGUINOLOLU_11.h index 4e644b74eb..b7315fba75 100644 --- a/Marlin/pins_SANGUINOLOLU_11.h +++ b/Marlin/pins_SANGUINOLOLU_11.h @@ -188,10 +188,13 @@ #else #define BTN_ENC 30 #endif - #else // !Panelolu2 + #elif ENABLED(OLED_PANEL_TINYBOY2) + #define BTN_ENC 28 + #define LCD_SDSS -1 + #else // !Panelolu2, !TinyBoy2 #define BTN_ENC 16 #define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi - #endif // !Panelolu2 + #endif // !Panelolu2, !TinyBoy2 #define SD_DETECT_PIN -1