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:
		
							parent
							
								
									e746d68a12
								
							
						
					
					
						commit
						0fe57ad4f5
					
				| @ -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 | ||||
|  | ||||
| @ -1405,6 +1405,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -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." | ||||
| ); | ||||
|  | ||||
| @ -1406,6 +1406,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1389,6 +1389,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1389,6 +1389,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1398,6 +1398,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1400,6 +1400,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1438,6 +1438,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| #endif // K8200_VM8201
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1406,6 +1406,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1406,6 +1406,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1406,6 +1406,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1407,6 +1407,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1421,6 +1421,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1427,6 +1427,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1398,6 +1398,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1406,6 +1406,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1511,6 +1511,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1496,6 +1496,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1500,6 +1500,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1499,6 +1499,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1509,6 +1509,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1409,6 +1409,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -1402,6 +1402,11 @@ | ||||
| //
 | ||||
| //#define SAV_3DLCD
 | ||||
| 
 | ||||
| //
 | ||||
| // TinyBoy2 128x64 OLED / Encoder Panel
 | ||||
| //
 | ||||
| //#define OLED_PANEL_TINYBOY2
 | ||||
| 
 | ||||
| //=============================================================================
 | ||||
| //=============================== Extra Features ==============================
 | ||||
| //=============================================================================
 | ||||
|  | ||||
| @ -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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user