Add Support TinyBoy2 OLED/Encoder panel

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 <stefan.bruens@rwth-aachen.de>
This commit is contained in:
Stefan Brüns 2017-03-09 02:56:01 +01:00 committed by Scott Lahteine
parent e746d68a12
commit 0fe57ad4f5
25 changed files with 128 additions and 4 deletions

View file

@ -67,6 +67,14 @@
#endif #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. // Generic support for SSD1306 / SH1106 OLED based LCDs.
#if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106) #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
#define ULTRA_LCD //general LCD support, also 16x2 #define ULTRA_LCD //general LCD support, also 16x2
@ -158,7 +166,7 @@
#endif #endif
// Set encoder detents for well-known controllers // 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) || ENABLED(BQ_LCD_SMART_CONTROLLER) || ENABLED(LCD_I2C_PANELOLU2) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#ifndef ENCODER_PULSES_PER_STEP #ifndef ENCODER_PULSES_PER_STEP
#define ENCODER_PULSES_PER_STEP 4 #define ENCODER_PULSES_PER_STEP 4

View file

@ -1405,6 +1405,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1017,7 +1017,7 @@ static_assert(1 >= 0
#if ENABLED(LCD_I2C_VIKI) #if ENABLED(LCD_I2C_VIKI)
+ 1 + 1
#endif #endif
#if ENABLED(U8GLIB_SSD1306) #if ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2)
+ 1 + 1
#endif #endif
#if ENABLED(SAV_3DLCD) #if ENABLED(SAV_3DLCD)
@ -1029,5 +1029,8 @@ static_assert(1 >= 0
#if ENABLED(SAV_3DGLCD) #if ENABLED(SAV_3DGLCD)
+ 1 + 1
#endif #endif
#if ENABLED(OLED_PANEL_TINYBOY2)
+ 1
#endif
, "Please select no more than one LCD controller option." , "Please select no more than one LCD controller option."
); );

View file

@ -1406,6 +1406,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1389,6 +1389,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1389,6 +1389,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1398,6 +1398,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1400,6 +1400,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1438,6 +1438,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
#endif // K8200_VM8201 #endif // K8200_VM8201
//============================================================================= //=============================================================================

View file

@ -1406,6 +1406,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1406,6 +1406,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1406,6 +1406,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1407,6 +1407,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1421,6 +1421,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1427,6 +1427,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1398,6 +1398,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1406,6 +1406,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1511,6 +1511,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1496,6 +1496,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1500,6 +1500,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1499,6 +1499,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1509,6 +1509,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1409,6 +1409,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -1402,6 +1402,11 @@
// //
//#define SAV_3DLCD //#define SAV_3DLCD
//
// TinyBoy2 128x64 OLED / Encoder Panel
//
//#define OLED_PANEL_TINYBOY2
//============================================================================= //=============================================================================
//=============================== Extra Features ============================== //=============================== Extra Features ==============================
//============================================================================= //=============================================================================

View file

@ -188,10 +188,13 @@
#else #else
#define BTN_ENC 30 #define BTN_ENC 30
#endif #endif
#else // !Panelolu2 #elif ENABLED(OLED_PANEL_TINYBOY2)
#define BTN_ENC 28
#define LCD_SDSS -1
#else // !Panelolu2, !TinyBoy2
#define BTN_ENC 16 #define BTN_ENC 16
#define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi #define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi
#endif // !Panelolu2 #endif // !Panelolu2, !TinyBoy2
#define SD_DETECT_PIN -1 #define SD_DETECT_PIN -1