diff --git a/examples/full_buffer/FPS/FPS.ino b/examples/full_buffer/FPS/FPS.ino index eab72ce2..c10956a9 100644 --- a/examples/full_buffer/FPS/FPS.ino +++ b/examples/full_buffer/FPS/FPS.ino @@ -199,6 +199,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -251,6 +252,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/full_buffer/GraphicsTest/GraphicsTest.ino b/examples/full_buffer/GraphicsTest/GraphicsTest.ino index 24ff5b3b..b3e3aa39 100644 --- a/examples/full_buffer/GraphicsTest/GraphicsTest.ino +++ b/examples/full_buffer/GraphicsTest/GraphicsTest.ino @@ -83,6 +83,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -135,6 +136,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/full_buffer/HelloWorld/HelloWorld.ino b/examples/full_buffer/HelloWorld/HelloWorld.ino index 73cf0e71..7c17805f 100644 --- a/examples/full_buffer/HelloWorld/HelloWorld.ino +++ b/examples/full_buffer/HelloWorld/HelloWorld.ino @@ -82,6 +82,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -134,6 +135,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/full_buffer/PrintUTF8/PrintUTF8.ino b/examples/full_buffer/PrintUTF8/PrintUTF8.ino index ce279d5a..601c9ca1 100644 --- a/examples/full_buffer/PrintUTF8/PrintUTF8.ino +++ b/examples/full_buffer/PrintUTF8/PrintUTF8.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/full_buffer/SelectionList/SelectionList.ino b/examples/full_buffer/SelectionList/SelectionList.ino index 7f093be3..fe224e4d 100644 --- a/examples/full_buffer/SelectionList/SelectionList.ino +++ b/examples/full_buffer/SelectionList/SelectionList.ino @@ -82,6 +82,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -134,6 +135,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/full_buffer/U8g2Logo/U8g2Logo.ino b/examples/full_buffer/U8g2Logo/U8g2Logo.ino index f8e84f27..8b1e1749 100644 --- a/examples/full_buffer/U8g2Logo/U8g2Logo.ino +++ b/examples/full_buffer/U8g2Logo/U8g2Logo.ino @@ -83,6 +83,7 @@ //U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -135,6 +136,7 @@ //U8G2_ST75256_JLX172104_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_F_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/Chinese/Chinese.ino b/examples/page_buffer/Chinese/Chinese.ino index ba55c14e..925bfe14 100644 --- a/examples/page_buffer/Chinese/Chinese.ino +++ b/examples/page_buffer/Chinese/Chinese.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/Clock/Clock.ino b/examples/page_buffer/Clock/Clock.ino index 8110b6e3..7da11c3a 100644 --- a/examples/page_buffer/Clock/Clock.ino +++ b/examples/page_buffer/Clock/Clock.ino @@ -87,6 +87,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -139,6 +140,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/ContrastTest/ContrastTest.ino b/examples/page_buffer/ContrastTest/ContrastTest.ino index a0c96cd0..9e826b74 100644 --- a/examples/page_buffer/ContrastTest/ContrastTest.ino +++ b/examples/page_buffer/ContrastTest/ContrastTest.ino @@ -84,6 +84,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -136,6 +137,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/DirectAccess/DirectAccess.ino b/examples/page_buffer/DirectAccess/DirectAccess.ino index f98721a1..a4f6f466 100644 --- a/examples/page_buffer/DirectAccess/DirectAccess.ino +++ b/examples/page_buffer/DirectAccess/DirectAccess.ino @@ -88,6 +88,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -140,6 +141,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/ExtUTF8/ExtUTF8.ino b/examples/page_buffer/ExtUTF8/ExtUTF8.ino index 8e196358..62b9d980 100644 --- a/examples/page_buffer/ExtUTF8/ExtUTF8.ino +++ b/examples/page_buffer/ExtUTF8/ExtUTF8.ino @@ -84,6 +84,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -136,6 +137,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/FPS/FPS.ino b/examples/page_buffer/FPS/FPS.ino index 5fba03be..d2aa6dfa 100644 --- a/examples/page_buffer/FPS/FPS.ino +++ b/examples/page_buffer/FPS/FPS.ino @@ -267,6 +267,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -319,6 +320,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/FlipMode/FlipMode.ino b/examples/page_buffer/FlipMode/FlipMode.ino index 416d1783..f1cedee4 100644 --- a/examples/page_buffer/FlipMode/FlipMode.ino +++ b/examples/page_buffer/FlipMode/FlipMode.ino @@ -79,6 +79,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -131,6 +132,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/GraphicsTest/GraphicsTest.ino b/examples/page_buffer/GraphicsTest/GraphicsTest.ino index d7ad636c..edf722e4 100644 --- a/examples/page_buffer/GraphicsTest/GraphicsTest.ino +++ b/examples/page_buffer/GraphicsTest/GraphicsTest.ino @@ -84,6 +84,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -136,6 +137,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/HelloWorld/HelloWorld.ino b/examples/page_buffer/HelloWorld/HelloWorld.ino index b6f6f0b3..4f05cdae 100644 --- a/examples/page_buffer/HelloWorld/HelloWorld.ino +++ b/examples/page_buffer/HelloWorld/HelloWorld.ino @@ -84,6 +84,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -136,6 +137,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/Japanese/Japanese.ino b/examples/page_buffer/Japanese/Japanese.ino index ab19f743..9e5204dd 100644 --- a/examples/page_buffer/Japanese/Japanese.ino +++ b/examples/page_buffer/Japanese/Japanese.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/Korean/Korean.ino b/examples/page_buffer/Korean/Korean.ino index 61102b8f..e5f8044f 100644 --- a/examples/page_buffer/Korean/Korean.ino +++ b/examples/page_buffer/Korean/Korean.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/PowerSaveTest/PowerSaveTest.ino b/examples/page_buffer/PowerSaveTest/PowerSaveTest.ino index e34d6a4d..babf4795 100644 --- a/examples/page_buffer/PowerSaveTest/PowerSaveTest.ino +++ b/examples/page_buffer/PowerSaveTest/PowerSaveTest.ino @@ -78,6 +78,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -130,6 +131,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/PrintHelloWorld/PrintHelloWorld.ino b/examples/page_buffer/PrintHelloWorld/PrintHelloWorld.ino index 3f6ef390..3cd91110 100644 --- a/examples/page_buffer/PrintHelloWorld/PrintHelloWorld.ino +++ b/examples/page_buffer/PrintHelloWorld/PrintHelloWorld.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/PrintUTF8/PrintUTF8.ino b/examples/page_buffer/PrintUTF8/PrintUTF8.ino index 903b423f..ce255f3e 100644 --- a/examples/page_buffer/PrintUTF8/PrintUTF8.ino +++ b/examples/page_buffer/PrintUTF8/PrintUTF8.ino @@ -85,6 +85,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -137,6 +138,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/ScrollingText/ScrollingText.ino b/examples/page_buffer/ScrollingText/ScrollingText.ino index eebd6a7f..ad6ded3e 100644 --- a/examples/page_buffer/ScrollingText/ScrollingText.ino +++ b/examples/page_buffer/ScrollingText/ScrollingText.ino @@ -88,6 +88,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -140,6 +141,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/SelectionList/SelectionList.ino b/examples/page_buffer/SelectionList/SelectionList.ino index 46d5add6..b24ceda6 100644 --- a/examples/page_buffer/SelectionList/SelectionList.ino +++ b/examples/page_buffer/SelectionList/SelectionList.ino @@ -74,6 +74,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -126,6 +127,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/U8g2Logo/U8g2Logo.ino b/examples/page_buffer/U8g2Logo/U8g2Logo.ino index d71326f2..98f21a83 100644 --- a/examples/page_buffer/U8g2Logo/U8g2Logo.ino +++ b/examples/page_buffer/U8g2Logo/U8g2Logo.ino @@ -83,6 +83,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -135,6 +136,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/XBM/XBM.ino b/examples/page_buffer/XBM/XBM.ino index cd1137aa..ea73bd79 100644 --- a/examples/page_buffer/XBM/XBM.ino +++ b/examples/page_buffer/XBM/XBM.ino @@ -88,6 +88,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -140,6 +141,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/page_buffer/XORTest/XORTest.ino b/examples/page_buffer/XORTest/XORTest.ino index 653220e5..cb5ce545 100644 --- a/examples/page_buffer/XORTest/XORTest.ino +++ b/examples/page_buffer/XORTest/XORTest.ino @@ -88,6 +88,7 @@ //U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -140,6 +141,7 @@ //U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display //U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display +//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Due, 2nd I2C, enable U8g2 16 bit mode for this display //U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_ST7588_JLX12864_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/u8x8/FlipMode/FlipMode.ino b/examples/u8x8/FlipMode/FlipMode.ino index f67fcd72..85c4f5d2 100644 --- a/examples/u8x8/FlipMode/FlipMode.ino +++ b/examples/u8x8/FlipMode/FlipMode.ino @@ -77,6 +77,7 @@ //U8X8_SSD1322_NHD_256X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_SSD1326_ER_256X32_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8X8_SSD1327_SEEED_96X96_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_SEEED_96X96_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -117,6 +118,7 @@ //U8X8_ST75256_JLX172104_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_SW_SPI u8x8( /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_ST75256_JLX25664_2ND_HW_I2C u8x8(/* reset=*/ 8); // Due, 2nd I2C //U8X8_NT7534_TG12864R_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_NT7534_TG12864R_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST7588_JLX12864_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/u8x8/GraphicsTest/GraphicsTest.ino b/examples/u8x8/GraphicsTest/GraphicsTest.ino index 41420151..0eb69d01 100644 --- a/examples/u8x8/GraphicsTest/GraphicsTest.ino +++ b/examples/u8x8/GraphicsTest/GraphicsTest.ino @@ -79,6 +79,7 @@ //U8X8_SSD1322_NHD_256X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_SSD1326_ER_256X32_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8X8_SSD1327_SEEED_96X96_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_SEEED_96X96_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -119,6 +120,7 @@ //U8X8_ST75256_JLX172104_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_SW_SPI u8x8( /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_ST75256_JLX25664_2ND_HW_I2C u8x8(/* reset=*/ 8); // Due, 2nd I2C //U8X8_NT7534_TG12864R_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_NT7534_TG12864R_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST7588_JLX12864_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/u8x8/HelloWorld/HelloWorld.ino b/examples/u8x8/HelloWorld/HelloWorld.ino index 5d6d0a22..6723d2a1 100644 --- a/examples/u8x8/HelloWorld/HelloWorld.ino +++ b/examples/u8x8/HelloWorld/HelloWorld.ino @@ -76,6 +76,7 @@ //U8X8_SSD1322_NHD_256X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_SSD1326_ER_256X32_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8X8_SSD1327_SEEED_96X96_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_SEEED_96X96_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -116,6 +117,7 @@ //U8X8_ST75256_JLX172104_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_SW_SPI u8x8( /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_ST75256_JLX25664_2ND_HW_I2C u8x8(/* reset=*/ 8); // Due, 2nd I2C //U8X8_NT7534_TG12864R_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_NT7534_TG12864R_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST7588_JLX12864_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/examples/u8x8/MessageBox/MessageBox.ino b/examples/u8x8/MessageBox/MessageBox.ino index e1925de8..2093cd91 100644 --- a/examples/u8x8/MessageBox/MessageBox.ino +++ b/examples/u8x8/MessageBox/MessageBox.ino @@ -76,6 +76,7 @@ //U8X8_SSD1322_NHD_256X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SSD1325_NHD_128X64_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_SSD1326_ER_256X32_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // experimental driver for ER-OLED018-1 //U8X8_SSD1327_SEEED_96X96_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_SEEED_96X96_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); // Seeedstudio Grove OLED 96x96 //U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); @@ -116,6 +117,7 @@ //U8X8_ST75256_JLX172104_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_SW_SPI u8x8( /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST75256_JLX256128_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +//U8X8_ST75256_JLX25664_2ND_HW_I2C u8x8(/* reset=*/ 8); // Due, 2nd I2C //U8X8_NT7534_TG12864R_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_NT7534_TG12864R_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_ST7588_JLX12864_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 5); diff --git a/extras/ChangeLog b/extras/ChangeLog index 6fafd775..9eac8a45 100644 --- a/extras/ChangeLog +++ b/extras/ChangeLog @@ -143,5 +143,8 @@ https://github.com/olikraus/u8g2 ChangeLog * Support for ST75256 (SPI), JLX256128, JLX172104 (issue 163) * Added uw-ttyp0 fonts (issue 349) 2017-xx-xx v2.20.x olikraus@gmail.com - + * Bugfix for drawBitmap (issue 391) + * I2C support for ST75256 (issue 384) + * Support for SSD1327 128x128 display (issue 397) + * Support for ST75256 JLX25664 display (issue 399) diff --git a/keywords.txt b/keywords.txt new file mode 100644 index 00000000..094b0114 --- /dev/null +++ b/keywords.txt @@ -0,0 +1,1205 @@ +####################################### + +# Syntax Coloring Map For u8g2 + +####################################### + +# Class (KEYWORD1) + +####################################### + + + +u8g2 KEYWORD1 + + + +####################################### + +# Methods and Functions (KEYWORD2) + +####################################### + + +begin KEYWORD2 + +clear KEYWORD2 +clearBuffer KEYWORD2 +clearDisplay KEYWORD2 +disableUTF8Print KEYWORD2 +drawBitmap KEYWORD2 +drawBox KEYWORD2 +drawCircle KEYWORD2 +drawDisc KEYWORD2 +drawEllipse KEYWORD2 +drawFilledEllipse KEYWORD2 +drawFrame KEYWORD2 +drawGlyph KEYWORD2 +drawHLine KEYWORD2 +drawLine KEYWORD2 +drawPixel KEYWORD2 +drawRBox KEYWORD2 +drawRFrame KEYWORD2 +drawStr KEYWORD2 +drawTriangle KEYWORD2 +drawUTF8 KEYWORD2 +drawVLine KEYWORD2 +drawXBM KEYWORD2 +enableUTF8Print KEYWORD2 +firstPage KEYWORD2 +getAscent KEYWORD2 +getDescent KEYWORD2 +getMenuEvent KEYWORD2 +getStrWidth KEYWORD2 +getUTF8Width KEYWORD2 +home KEYWORD2 +initDisplay KEYWORD2 +nextPage KEYWORD2 +print KEYWORD2 +sendBuffer KEYWORD2 +setAutoPageClear KEYWORD2 +setBitmapMode KEYWORD2 +setContrast KEYWORD2 +setCursor KEYWORD2 +setDisplayRotation KEYWORD2 +setDrawColor KEYWORD2 +setFlipMode KEYWORD2 +setFont KEYWORD2 +setFontDirection KEYWORD2 +setFontMode KEYWORD2 +setFontPosBaseline KEYWORD2 +setFontPosBottom KEYWORD2 +setFontPosTop KEYWORD2 +setFontPosCenter KEYWORD2 +setFontRefHeightAll KEYWORD2 +setFontRefHeightExtendedText KEYWORD2 +setFontRefHeightText KEYWORD2 +setI2CAddress KEYWORD2 +setPowerSave KEYWORD2 +userInterfaceInputValue KEYWORD2 +userInterfaceMessage KEYWORD2 +userInterfaceSelectionList KEYWORD2 + + + +####################################### +# Constants (LITERAL1) +####################################### + + +u8g2_font_u8glib_4_tf LITERAL1 +u8g2_font_u8glib_4_tr LITERAL1 +u8g2_font_u8glib_4_hf LITERAL1 +u8g2_font_u8glib_4_hr LITERAL1 +u8g2_font_m2icon_5_tf LITERAL1 +u8g2_font_m2icon_7_tf LITERAL1 +u8g2_font_m2icon_9_tf LITERAL1 +u8g2_font_freedoomr10_tu LITERAL1 +u8g2_font_freedoomr10_mu LITERAL1 +u8g2_font_freedoomr25_tn LITERAL1 +u8g2_font_freedoomr25_mn LITERAL1 +u8g2_font_amstrad_cpc_extended_8f LITERAL1 +u8g2_font_amstrad_cpc_extended_8r LITERAL1 +u8g2_font_amstrad_cpc_extended_8n LITERAL1 +u8g2_font_amstrad_cpc_extended_8u LITERAL1 +u8x8_font_amstrad_cpc_extended_f LITERAL1 +u8x8_font_amstrad_cpc_extended_r LITERAL1 +u8x8_font_amstrad_cpc_extended_n LITERAL1 +u8x8_font_amstrad_cpc_extended_u LITERAL1 +u8g2_font_cursor_tf LITERAL1 +u8g2_font_cursor_tr LITERAL1 +u8g2_font_micro_tr LITERAL1 +u8g2_font_micro_tn LITERAL1 +u8g2_font_micro_mr LITERAL1 +u8g2_font_micro_mn LITERAL1 +u8g2_font_4x6_tf LITERAL1 +u8g2_font_4x6_tr LITERAL1 +u8g2_font_4x6_tn LITERAL1 +u8g2_font_4x6_mf LITERAL1 +u8g2_font_4x6_mr LITERAL1 +u8g2_font_4x6_mn LITERAL1 +u8g2_font_5x7_tf LITERAL1 +u8g2_font_5x7_tr LITERAL1 +u8g2_font_5x7_tn LITERAL1 +u8g2_font_5x7_mf LITERAL1 +u8g2_font_5x7_mr LITERAL1 +u8g2_font_5x7_mn LITERAL1 +u8x8_font_5x7_f LITERAL1 +u8x8_font_5x7_r LITERAL1 +u8x8_font_5x7_n LITERAL1 +u8g2_font_5x8_tf LITERAL1 +u8g2_font_5x8_tr LITERAL1 +u8g2_font_5x8_tn LITERAL1 +u8g2_font_5x8_mf LITERAL1 +u8g2_font_5x8_mr LITERAL1 +u8g2_font_5x8_mn LITERAL1 +u8x8_font_5x8_f LITERAL1 +u8x8_font_5x8_r LITERAL1 +u8x8_font_5x8_n LITERAL1 +u8g2_font_6x10_tf LITERAL1 +u8g2_font_6x10_tr LITERAL1 +u8g2_font_6x10_tn LITERAL1 +u8g2_font_6x10_mf LITERAL1 +u8g2_font_6x10_mr LITERAL1 +u8g2_font_6x10_mn LITERAL1 +u8g2_font_6x12_tf LITERAL1 +u8g2_font_6x12_tr LITERAL1 +u8g2_font_6x12_tn LITERAL1 +u8g2_font_6x12_te LITERAL1 +u8g2_font_6x12_mf LITERAL1 +u8g2_font_6x12_mr LITERAL1 +u8g2_font_6x12_mn LITERAL1 +u8g2_font_6x12_me LITERAL1 +u8g2_font_6x12_t_symbols LITERAL1 +u8g2_font_6x12_m_symbols LITERAL1 +u8g2_font_6x13_tf LITERAL1 +u8g2_font_6x13_tr LITERAL1 +u8g2_font_6x13_tn LITERAL1 +u8g2_font_6x13_te LITERAL1 +u8g2_font_6x13_mf LITERAL1 +u8g2_font_6x13_mr LITERAL1 +u8g2_font_6x13_mn LITERAL1 +u8g2_font_6x13_me LITERAL1 +u8g2_font_6x13_t_hebrew LITERAL1 +u8g2_font_6x13B_tf LITERAL1 +u8g2_font_6x13B_tr LITERAL1 +u8g2_font_6x13B_tn LITERAL1 +u8g2_font_6x13B_mf LITERAL1 +u8g2_font_6x13B_mr LITERAL1 +u8g2_font_6x13B_mn LITERAL1 +u8g2_font_6x13B_t_hebrew LITERAL1 +u8g2_font_6x13O_tf LITERAL1 +u8g2_font_6x13O_tr LITERAL1 +u8g2_font_6x13O_tn LITERAL1 +u8g2_font_6x13O_mf LITERAL1 +u8g2_font_6x13O_mr LITERAL1 +u8g2_font_6x13O_mn LITERAL1 +u8g2_font_7x13_tf LITERAL1 +u8g2_font_7x13_tr LITERAL1 +u8g2_font_7x13_tn LITERAL1 +u8g2_font_7x13_te LITERAL1 +u8g2_font_7x13_mf LITERAL1 +u8g2_font_7x13_mr LITERAL1 +u8g2_font_7x13_mn LITERAL1 +u8g2_font_7x13_me LITERAL1 +u8g2_font_7x13_t_symbols LITERAL1 +u8g2_font_7x13_m_symbols LITERAL1 +u8g2_font_7x13B_tf LITERAL1 +u8g2_font_7x13B_tr LITERAL1 +u8g2_font_7x13B_tn LITERAL1 +u8g2_font_7x13B_mf LITERAL1 +u8g2_font_7x13B_mr LITERAL1 +u8g2_font_7x13B_mn LITERAL1 +u8g2_font_7x13O_tf LITERAL1 +u8g2_font_7x13O_tr LITERAL1 +u8g2_font_7x13O_tn LITERAL1 +u8g2_font_7x13O_mf LITERAL1 +u8g2_font_7x13O_mr LITERAL1 +u8g2_font_7x13O_mn LITERAL1 +u8g2_font_7x14_tf LITERAL1 +u8g2_font_7x14_tr LITERAL1 +u8g2_font_7x14_tn LITERAL1 +u8g2_font_7x14_mf LITERAL1 +u8g2_font_7x14_mr LITERAL1 +u8g2_font_7x14_mn LITERAL1 +u8g2_font_7x14B_tf LITERAL1 +u8g2_font_7x14B_tr LITERAL1 +u8g2_font_7x14B_tn LITERAL1 +u8g2_font_7x14B_mf LITERAL1 +u8g2_font_7x14B_mr LITERAL1 +u8g2_font_7x14B_mn LITERAL1 +u8g2_font_8x13_tf LITERAL1 +u8g2_font_8x13_tr LITERAL1 +u8g2_font_8x13_tn LITERAL1 +u8g2_font_8x13_te LITERAL1 +u8g2_font_8x13_mf LITERAL1 +u8g2_font_8x13_mr LITERAL1 +u8g2_font_8x13_mn LITERAL1 +u8g2_font_8x13_me LITERAL1 +u8g2_font_8x13_t_symbols LITERAL1 +u8g2_font_8x13_m_symbols LITERAL1 +u8g2_font_8x13B_tf LITERAL1 +u8g2_font_8x13B_tr LITERAL1 +u8g2_font_8x13B_tn LITERAL1 +u8g2_font_8x13B_mf LITERAL1 +u8g2_font_8x13B_mr LITERAL1 +u8g2_font_8x13B_mn LITERAL1 +u8g2_font_8x13O_tf LITERAL1 +u8g2_font_8x13O_tr LITERAL1 +u8g2_font_8x13O_tn LITERAL1 +u8g2_font_8x13O_mf LITERAL1 +u8g2_font_8x13O_mr LITERAL1 +u8g2_font_8x13O_mn LITERAL1 +u8g2_font_9x15_tf LITERAL1 +u8g2_font_9x15_tr LITERAL1 +u8g2_font_9x15_tn LITERAL1 +u8g2_font_9x15_te LITERAL1 +u8g2_font_9x15_mf LITERAL1 +u8g2_font_9x15_mr LITERAL1 +u8g2_font_9x15_mn LITERAL1 +u8g2_font_9x15_me LITERAL1 +u8g2_font_9x15_t_symbols LITERAL1 +u8g2_font_9x15_m_symbols LITERAL1 +u8g2_font_9x15B_tf LITERAL1 +u8g2_font_9x15B_tr LITERAL1 +u8g2_font_9x15B_tn LITERAL1 +u8g2_font_9x15B_mf LITERAL1 +u8g2_font_9x15B_mr LITERAL1 +u8g2_font_9x15B_mn LITERAL1 +u8g2_font_9x18_tf LITERAL1 +u8g2_font_9x18_tr LITERAL1 +u8g2_font_9x18_tn LITERAL1 +u8g2_font_9x18_mf LITERAL1 +u8g2_font_9x18_mr LITERAL1 +u8g2_font_9x18_mn LITERAL1 +u8g2_font_9x18B_tf LITERAL1 +u8g2_font_9x18B_tr LITERAL1 +u8g2_font_9x18B_tn LITERAL1 +u8g2_font_9x18B_mf LITERAL1 +u8g2_font_9x18B_mr LITERAL1 +u8g2_font_9x18B_mn LITERAL1 +u8g2_font_10x20_tf LITERAL1 +u8g2_font_10x20_tr LITERAL1 +u8g2_font_10x20_tn LITERAL1 +u8g2_font_10x20_te LITERAL1 +u8g2_font_10x20_mf LITERAL1 +u8g2_font_10x20_mr LITERAL1 +u8g2_font_10x20_mn LITERAL1 +u8g2_font_10x20_me LITERAL1 +u8g2_font_10x20_t_greek LITERAL1 +u8g2_font_10x20_t_cyrillic LITERAL1 +u8g2_font_10x20_t_arabic LITERAL1 +u8g2_font_t0_11_tf LITERAL1 +u8g2_font_t0_11_tr LITERAL1 +u8g2_font_t0_11_tn LITERAL1 +u8g2_font_t0_11_te LITERAL1 +u8g2_font_t0_11_mf LITERAL1 +u8g2_font_t0_11_mr LITERAL1 +u8g2_font_t0_11_mn LITERAL1 +u8g2_font_t0_11_me LITERAL1 +u8g2_font_t0_11_t_all LITERAL1 +u8g2_font_t0_11b_tf LITERAL1 +u8g2_font_t0_11b_tr LITERAL1 +u8g2_font_t0_11b_tn LITERAL1 +u8g2_font_t0_11b_te LITERAL1 +u8g2_font_t0_11b_mf LITERAL1 +u8g2_font_t0_11b_mr LITERAL1 +u8g2_font_t0_11b_mn LITERAL1 +u8g2_font_t0_11b_me LITERAL1 +u8g2_font_t0_12_tf LITERAL1 +u8g2_font_t0_12_tr LITERAL1 +u8g2_font_t0_12_tn LITERAL1 +u8g2_font_t0_12_te LITERAL1 +u8g2_font_t0_12_mf LITERAL1 +u8g2_font_t0_12_mr LITERAL1 +u8g2_font_t0_12_mn LITERAL1 +u8g2_font_t0_12_me LITERAL1 +u8g2_font_t0_12b_tf LITERAL1 +u8g2_font_t0_12b_tr LITERAL1 +u8g2_font_t0_12b_tn LITERAL1 +u8g2_font_t0_12b_te LITERAL1 +u8g2_font_t0_12b_mf LITERAL1 +u8g2_font_t0_12b_mr LITERAL1 +u8g2_font_t0_12b_mn LITERAL1 +u8g2_font_t0_12b_me LITERAL1 +u8g2_font_t0_13_tf LITERAL1 +u8g2_font_t0_13_tr LITERAL1 +u8g2_font_t0_13_tn LITERAL1 +u8g2_font_t0_13_te LITERAL1 +u8g2_font_t0_13_mf LITERAL1 +u8g2_font_t0_13_mr LITERAL1 +u8g2_font_t0_13_mn LITERAL1 +u8g2_font_t0_13_me LITERAL1 +u8g2_font_t0_13b_tf LITERAL1 +u8g2_font_t0_13b_tr LITERAL1 +u8g2_font_t0_13b_tn LITERAL1 +u8g2_font_t0_13b_te LITERAL1 +u8g2_font_t0_13b_mf LITERAL1 +u8g2_font_t0_13b_mr LITERAL1 +u8g2_font_t0_13b_mn LITERAL1 +u8g2_font_t0_13b_me LITERAL1 +u8g2_font_t0_14_tf LITERAL1 +u8g2_font_t0_14_tr LITERAL1 +u8g2_font_t0_14_tn LITERAL1 +u8g2_font_t0_14_te LITERAL1 +u8g2_font_t0_14_mf LITERAL1 +u8g2_font_t0_14_mr LITERAL1 +u8g2_font_t0_14_mn LITERAL1 +u8g2_font_t0_14_me LITERAL1 +u8g2_font_t0_14b_tf LITERAL1 +u8g2_font_t0_14b_tr LITERAL1 +u8g2_font_t0_14b_tn LITERAL1 +u8g2_font_t0_14b_te LITERAL1 +u8g2_font_t0_14b_mf LITERAL1 +u8g2_font_t0_14b_mr LITERAL1 +u8g2_font_t0_14b_mn LITERAL1 +u8g2_font_t0_14b_me LITERAL1 +u8g2_font_t0_15_tf LITERAL1 +u8g2_font_t0_15_tr LITERAL1 +u8g2_font_t0_15_tn LITERAL1 +u8g2_font_t0_15_te LITERAL1 +u8g2_font_t0_15_mf LITERAL1 +u8g2_font_t0_15_mr LITERAL1 +u8g2_font_t0_15_mn LITERAL1 +u8g2_font_t0_15_me LITERAL1 +u8g2_font_t0_15b_tf LITERAL1 +u8g2_font_t0_15b_tr LITERAL1 +u8g2_font_t0_15b_tn LITERAL1 +u8g2_font_t0_15b_te LITERAL1 +u8g2_font_t0_15b_mf LITERAL1 +u8g2_font_t0_15b_mr LITERAL1 +u8g2_font_t0_15b_mn LITERAL1 +u8g2_font_t0_15b_me LITERAL1 +u8g2_font_t0_16_tf LITERAL1 +u8g2_font_t0_16_tr LITERAL1 +u8g2_font_t0_16_tn LITERAL1 +u8g2_font_t0_16_te LITERAL1 +u8g2_font_t0_16_mf LITERAL1 +u8g2_font_t0_16_mr LITERAL1 +u8g2_font_t0_16_mn LITERAL1 +u8g2_font_t0_16_me LITERAL1 +u8g2_font_t0_16b_tf LITERAL1 +u8g2_font_t0_16b_tr LITERAL1 +u8g2_font_t0_16b_tn LITERAL1 +u8g2_font_t0_16b_te LITERAL1 +u8g2_font_t0_16b_mf LITERAL1 +u8g2_font_t0_16b_mr LITERAL1 +u8g2_font_t0_16b_mn LITERAL1 +u8g2_font_t0_16b_me LITERAL1 +u8g2_font_t0_17_tf LITERAL1 +u8g2_font_t0_17_tr LITERAL1 +u8g2_font_t0_17_tn LITERAL1 +u8g2_font_t0_17_te LITERAL1 +u8g2_font_t0_17_mf LITERAL1 +u8g2_font_t0_17_mr LITERAL1 +u8g2_font_t0_17_mn LITERAL1 +u8g2_font_t0_17_me LITERAL1 +u8g2_font_t0_17b_tf LITERAL1 +u8g2_font_t0_17b_tr LITERAL1 +u8g2_font_t0_17b_tn LITERAL1 +u8g2_font_t0_17b_te LITERAL1 +u8g2_font_t0_17b_mf LITERAL1 +u8g2_font_t0_17b_mr LITERAL1 +u8g2_font_t0_17b_mn LITERAL1 +u8g2_font_t0_17b_me LITERAL1 +u8g2_font_t0_18_tf LITERAL1 +u8g2_font_t0_18_tr LITERAL1 +u8g2_font_t0_18_tn LITERAL1 +u8g2_font_t0_18_te LITERAL1 +u8g2_font_t0_18_mf LITERAL1 +u8g2_font_t0_18_mr LITERAL1 +u8g2_font_t0_18_mn LITERAL1 +u8g2_font_t0_18_me LITERAL1 +u8g2_font_t0_18b_tf LITERAL1 +u8g2_font_t0_18b_tr LITERAL1 +u8g2_font_t0_18b_tn LITERAL1 +u8g2_font_t0_18b_te LITERAL1 +u8g2_font_t0_18b_mf LITERAL1 +u8g2_font_t0_18b_mr LITERAL1 +u8g2_font_t0_18b_mn LITERAL1 +u8g2_font_t0_18b_me LITERAL1 +u8g2_font_t0_22_tf LITERAL1 +u8g2_font_t0_22_tr LITERAL1 +u8g2_font_t0_22_tn LITERAL1 +u8g2_font_t0_22_te LITERAL1 +u8g2_font_t0_22_mf LITERAL1 +u8g2_font_t0_22_mr LITERAL1 +u8g2_font_t0_22_mn LITERAL1 +u8g2_font_t0_22_me LITERAL1 +u8g2_font_t0_22b_tf LITERAL1 +u8g2_font_t0_22b_tr LITERAL1 +u8g2_font_t0_22b_tn LITERAL1 +u8g2_font_t0_22b_te LITERAL1 +u8g2_font_t0_22b_mf LITERAL1 +u8g2_font_t0_22b_mr LITERAL1 +u8g2_font_t0_22b_mn LITERAL1 +u8g2_font_t0_22b_me LITERAL1 +u8g2_font_profont10_tf LITERAL1 +u8g2_font_profont10_tr LITERAL1 +u8g2_font_profont10_tn LITERAL1 +u8g2_font_profont10_mf LITERAL1 +u8g2_font_profont10_mr LITERAL1 +u8g2_font_profont10_mn LITERAL1 +u8g2_font_profont11_tf LITERAL1 +u8g2_font_profont11_tr LITERAL1 +u8g2_font_profont11_tn LITERAL1 +u8g2_font_profont11_mf LITERAL1 +u8g2_font_profont11_mr LITERAL1 +u8g2_font_profont11_mn LITERAL1 +u8g2_font_profont12_tf LITERAL1 +u8g2_font_profont12_tr LITERAL1 +u8g2_font_profont12_tn LITERAL1 +u8g2_font_profont12_mf LITERAL1 +u8g2_font_profont12_mr LITERAL1 +u8g2_font_profont12_mn LITERAL1 +u8g2_font_profont15_tf LITERAL1 +u8g2_font_profont15_tr LITERAL1 +u8g2_font_profont15_tn LITERAL1 +u8g2_font_profont15_mf LITERAL1 +u8g2_font_profont15_mr LITERAL1 +u8g2_font_profont15_mn LITERAL1 +u8g2_font_profont17_tf LITERAL1 +u8g2_font_profont17_tr LITERAL1 +u8g2_font_profont17_tn LITERAL1 +u8g2_font_profont17_mf LITERAL1 +u8g2_font_profont17_mr LITERAL1 +u8g2_font_profont17_mn LITERAL1 +u8g2_font_profont22_tf LITERAL1 +u8g2_font_profont22_tr LITERAL1 +u8g2_font_profont22_tn LITERAL1 +u8g2_font_profont22_mf LITERAL1 +u8g2_font_profont22_mr LITERAL1 +u8g2_font_profont22_mn LITERAL1 +u8g2_font_profont29_tf LITERAL1 +u8g2_font_profont29_tr LITERAL1 +u8g2_font_profont29_tn LITERAL1 +u8g2_font_profont29_mf LITERAL1 +u8g2_font_profont29_mr LITERAL1 +u8g2_font_profont29_mn LITERAL1 +u8g2_font_mozart_nbp_tf LITERAL1 +u8g2_font_mozart_nbp_tr LITERAL1 +u8g2_font_mozart_nbp_tn LITERAL1 +u8g2_font_mozart_nbp_t_all LITERAL1 +u8g2_font_mozart_nbp_h_all LITERAL1 +u8g2_font_glasstown_nbp_tf LITERAL1 +u8g2_font_glasstown_nbp_tr LITERAL1 +u8g2_font_glasstown_nbp_tn LITERAL1 +u8g2_font_glasstown_nbp_t_all LITERAL1 +u8g2_font_shylock_nbp_tf LITERAL1 +u8g2_font_shylock_nbp_tr LITERAL1 +u8g2_font_shylock_nbp_tn LITERAL1 +u8g2_font_shylock_nbp_t_all LITERAL1 +u8g2_font_roentgen_nbp_tf LITERAL1 +u8g2_font_roentgen_nbp_tr LITERAL1 +u8g2_font_roentgen_nbp_tn LITERAL1 +u8g2_font_roentgen_nbp_t_all LITERAL1 +u8g2_font_roentgen_nbp_h_all LITERAL1 +u8g2_font_calibration_gothic_nbp_tf LITERAL1 +u8g2_font_calibration_gothic_nbp_tr LITERAL1 +u8g2_font_calibration_gothic_nbp_tn LITERAL1 +u8g2_font_calibration_gothic_nbp_t_all LITERAL1 +u8g2_font_smart_patrol_nbp_tf LITERAL1 +u8g2_font_smart_patrol_nbp_tr LITERAL1 +u8g2_font_smart_patrol_nbp_tn LITERAL1 +u8g2_font_prospero_bold_nbp_tf LITERAL1 +u8g2_font_prospero_bold_nbp_tr LITERAL1 +u8g2_font_prospero_bold_nbp_tn LITERAL1 +u8g2_font_prospero_nbp_tf LITERAL1 +u8g2_font_prospero_nbp_tr LITERAL1 +u8g2_font_prospero_nbp_tn LITERAL1 +u8g2_font_balthasar_regular_nbp_tf LITERAL1 +u8g2_font_balthasar_regular_nbp_tr LITERAL1 +u8g2_font_balthasar_regular_nbp_tn LITERAL1 +u8g2_font_balthasar_titling_nbp_tf LITERAL1 +u8g2_font_balthasar_titling_nbp_tr LITERAL1 +u8g2_font_balthasar_titling_nbp_tn LITERAL1 +u8g2_font_synchronizer_nbp_tf LITERAL1 +u8g2_font_synchronizer_nbp_tr LITERAL1 +u8g2_font_synchronizer_nbp_tn LITERAL1 +u8g2_font_mercutio_basic_nbp_tf LITERAL1 +u8g2_font_mercutio_basic_nbp_tr LITERAL1 +u8g2_font_mercutio_basic_nbp_tn LITERAL1 +u8g2_font_mercutio_basic_nbp_t_all LITERAL1 +u8g2_font_mercutio_sc_nbp_tf LITERAL1 +u8g2_font_mercutio_sc_nbp_tr LITERAL1 +u8g2_font_mercutio_sc_nbp_tn LITERAL1 +u8g2_font_mercutio_sc_nbp_t_all LITERAL1 +u8g2_font_miranda_nbp_tf LITERAL1 +u8g2_font_miranda_nbp_tr LITERAL1 +u8g2_font_miranda_nbp_tn LITERAL1 +u8g2_font_nine_by_five_nbp_tf LITERAL1 +u8g2_font_nine_by_five_nbp_tr LITERAL1 +u8g2_font_nine_by_five_nbp_tn LITERAL1 +u8g2_font_nine_by_five_nbp_t_all LITERAL1 +u8g2_font_rosencrantz_nbp_tf LITERAL1 +u8g2_font_rosencrantz_nbp_tr LITERAL1 +u8g2_font_rosencrantz_nbp_tn LITERAL1 +u8g2_font_rosencrantz_nbp_t_all LITERAL1 +u8g2_font_guildenstern_nbp_tf LITERAL1 +u8g2_font_guildenstern_nbp_tr LITERAL1 +u8g2_font_guildenstern_nbp_tn LITERAL1 +u8g2_font_guildenstern_nbp_t_all LITERAL1 +u8g2_font_astragal_nbp_tf LITERAL1 +u8g2_font_astragal_nbp_tr LITERAL1 +u8g2_font_astragal_nbp_tn LITERAL1 +u8g2_font_etl14thai_t LITERAL1 +u8g2_font_etl16thai_t LITERAL1 +u8g2_font_etl24thai_t LITERAL1 +u8g2_font_crox1cb_tf LITERAL1 +u8g2_font_crox1cb_tr LITERAL1 +u8g2_font_crox1cb_tn LITERAL1 +u8g2_font_crox1cb_mf LITERAL1 +u8g2_font_crox1cb_mr LITERAL1 +u8g2_font_crox1cb_mn LITERAL1 +u8g2_font_crox1c_tf LITERAL1 +u8g2_font_crox1c_tr LITERAL1 +u8g2_font_crox1c_tn LITERAL1 +u8g2_font_crox1c_mf LITERAL1 +u8g2_font_crox1c_mr LITERAL1 +u8g2_font_crox1c_mn LITERAL1 +u8g2_font_crox1hb_tf LITERAL1 +u8g2_font_crox1hb_tr LITERAL1 +u8g2_font_crox1hb_tn LITERAL1 +u8g2_font_crox1h_tf LITERAL1 +u8g2_font_crox1h_tr LITERAL1 +u8g2_font_crox1h_tn LITERAL1 +u8g2_font_crox1tb_tf LITERAL1 +u8g2_font_crox1tb_tr LITERAL1 +u8g2_font_crox1tb_tn LITERAL1 +u8g2_font_crox1t_tf LITERAL1 +u8g2_font_crox1t_tr LITERAL1 +u8g2_font_crox1t_tn LITERAL1 +u8g2_font_crox2cb_tf LITERAL1 +u8g2_font_crox2cb_tr LITERAL1 +u8g2_font_crox2cb_tn LITERAL1 +u8g2_font_crox2cb_mf LITERAL1 +u8g2_font_crox2cb_mr LITERAL1 +u8g2_font_crox2cb_mn LITERAL1 +u8g2_font_crox2c_tf LITERAL1 +u8g2_font_crox2c_tr LITERAL1 +u8g2_font_crox2c_tn LITERAL1 +u8g2_font_crox2c_mf LITERAL1 +u8g2_font_crox2c_mr LITERAL1 +u8g2_font_crox2c_mn LITERAL1 +u8g2_font_crox2hb_tf LITERAL1 +u8g2_font_crox2hb_tr LITERAL1 +u8g2_font_crox2hb_tn LITERAL1 +u8g2_font_crox2h_tf LITERAL1 +u8g2_font_crox2h_tr LITERAL1 +u8g2_font_crox2h_tn LITERAL1 +u8g2_font_crox2tb_tf LITERAL1 +u8g2_font_crox2tb_tr LITERAL1 +u8g2_font_crox2tb_tn LITERAL1 +u8g2_font_crox2t_tf LITERAL1 +u8g2_font_crox2t_tr LITERAL1 +u8g2_font_crox2t_tn LITERAL1 +u8g2_font_crox3cb_tf LITERAL1 +u8g2_font_crox3cb_tr LITERAL1 +u8g2_font_crox3cb_tn LITERAL1 +u8g2_font_crox3cb_mf LITERAL1 +u8g2_font_crox3cb_mr LITERAL1 +u8g2_font_crox3cb_mn LITERAL1 +u8g2_font_crox3c_tf LITERAL1 +u8g2_font_crox3c_tr LITERAL1 +u8g2_font_crox3c_tn LITERAL1 +u8g2_font_crox3c_mf LITERAL1 +u8g2_font_crox3c_mr LITERAL1 +u8g2_font_crox3c_mn LITERAL1 +u8g2_font_crox3hb_tf LITERAL1 +u8g2_font_crox3hb_tr LITERAL1 +u8g2_font_crox3hb_tn LITERAL1 +u8g2_font_crox3h_tf LITERAL1 +u8g2_font_crox3h_tr LITERAL1 +u8g2_font_crox3h_tn LITERAL1 +u8g2_font_crox3tb_tf LITERAL1 +u8g2_font_crox3tb_tr LITERAL1 +u8g2_font_crox3tb_tn LITERAL1 +u8g2_font_crox3t_tf LITERAL1 +u8g2_font_crox3t_tr LITERAL1 +u8g2_font_crox3t_tn LITERAL1 +u8g2_font_crox4hb_tf LITERAL1 +u8g2_font_crox4hb_tr LITERAL1 +u8g2_font_crox4hb_tn LITERAL1 +u8g2_font_crox4h_tf LITERAL1 +u8g2_font_crox4h_tr LITERAL1 +u8g2_font_crox4h_tn LITERAL1 +u8g2_font_crox4tb_tf LITERAL1 +u8g2_font_crox4tb_tr LITERAL1 +u8g2_font_crox4tb_tn LITERAL1 +u8g2_font_crox4t_tf LITERAL1 +u8g2_font_crox4t_tr LITERAL1 +u8g2_font_crox4t_tn LITERAL1 +u8g2_font_crox5hb_tf LITERAL1 +u8g2_font_crox5hb_tr LITERAL1 +u8g2_font_crox5hb_tn LITERAL1 +u8g2_font_crox5h_tf LITERAL1 +u8g2_font_crox5h_tr LITERAL1 +u8g2_font_crox5h_tn LITERAL1 +u8g2_font_crox5tb_tf LITERAL1 +u8g2_font_crox5tb_tr LITERAL1 +u8g2_font_crox5tb_tn LITERAL1 +u8g2_font_crox5t_tf LITERAL1 +u8g2_font_crox5t_tr LITERAL1 +u8g2_font_crox5t_tn LITERAL1 +u8g2_font_cu12_tf LITERAL1 +u8g2_font_cu12_tr LITERAL1 +u8g2_font_cu12_tn LITERAL1 +u8g2_font_cu12_te LITERAL1 +u8g2_font_cu12_hf LITERAL1 +u8g2_font_cu12_hr LITERAL1 +u8g2_font_cu12_hn LITERAL1 +u8g2_font_cu12_he LITERAL1 +u8g2_font_cu12_mf LITERAL1 +u8g2_font_cu12_mr LITERAL1 +u8g2_font_cu12_mn LITERAL1 +u8g2_font_cu12_me LITERAL1 +u8g2_font_cu12_t_symbols LITERAL1 +u8g2_font_cu12_h_symbols LITERAL1 +u8g2_font_cu12_t_greek LITERAL1 +u8g2_font_cu12_t_cyrillic LITERAL1 +u8g2_font_cu12_t_hebrew LITERAL1 +u8g2_font_cu12_t_arabic LITERAL1 +u8g2_font_unifont_t_latin LITERAL1 +u8g2_font_unifont_t_extended LITERAL1 +u8g2_font_unifont_t_greek LITERAL1 +u8g2_font_unifont_t_cyrillic LITERAL1 +u8g2_font_unifont_t_hebrew LITERAL1 +u8g2_font_unifont_t_bengali LITERAL1 +u8g2_font_unifont_t_urdu LITERAL1 +u8g2_font_unifont_t_polish LITERAL1 +u8g2_font_unifont_t_arabic LITERAL1 +u8g2_font_unifont_t_chinese1 LITERAL1 +u8g2_font_unifont_t_chinese2 LITERAL1 +u8g2_font_unifont_t_chinese3 LITERAL1 +u8g2_font_unifont_t_japanese1 LITERAL1 +u8g2_font_unifont_t_japanese2 LITERAL1 +u8g2_font_unifont_t_korean1 LITERAL1 +u8g2_font_unifont_t_korean2 LITERAL1 +u8g2_font_gb16st_t_1 LITERAL1 +u8g2_font_gb16st_t_2 LITERAL1 +u8g2_font_gb16st_t_3 LITERAL1 +u8g2_font_gb24st_t_1 LITERAL1 +u8g2_font_gb24st_t_2 LITERAL1 +u8g2_font_gb24st_t_3 LITERAL1 +u8g2_font_b10_t_japanese1 LITERAL1 +u8g2_font_b10_t_japanese2 LITERAL1 +u8g2_font_b10_b_t_japanese1 LITERAL1 +u8g2_font_b10_b_t_japanese2 LITERAL1 +u8g2_font_f10_t_japanese1 LITERAL1 +u8g2_font_f10_t_japanese2 LITERAL1 +u8g2_font_f10_b_t_japanese1 LITERAL1 +u8g2_font_f10_b_t_japanese2 LITERAL1 +u8g2_font_b12_t_japanese1 LITERAL1 +u8g2_font_b12_t_japanese2 LITERAL1 +u8g2_font_b12_b_t_japanese1 LITERAL1 +u8g2_font_b12_b_t_japanese2 LITERAL1 +u8g2_font_f12_t_japanese1 LITERAL1 +u8g2_font_f12_t_japanese2 LITERAL1 +u8g2_font_f12_b_t_japanese1 LITERAL1 +u8g2_font_f12_b_t_japanese2 LITERAL1 +u8g2_font_b16_t_japanese1 LITERAL1 +u8g2_font_b16_t_japanese2 LITERAL1 +u8g2_font_b16_b_t_japanese1 LITERAL1 +u8g2_font_b16_b_t_japanese2 LITERAL1 +u8g2_font_f16_t_japanese1 LITERAL1 +u8g2_font_f16_t_japanese2 LITERAL1 +u8g2_font_f16_b_t_japanese1 LITERAL1 +u8g2_font_f16_b_t_japanese2 LITERAL1 +u8g2_font_unifont_t_symbols LITERAL1 +u8g2_font_unifont_h_symbols LITERAL1 +u8g2_font_artossans8_8r LITERAL1 +u8g2_font_artossans8_8n LITERAL1 +u8g2_font_artossans8_8u LITERAL1 +u8x8_font_artossans8_r LITERAL1 +u8x8_font_artossans8_n LITERAL1 +u8x8_font_artossans8_u LITERAL1 +u8g2_font_artosserif8_8r LITERAL1 +u8g2_font_artosserif8_8n LITERAL1 +u8g2_font_artosserif8_8u LITERAL1 +u8x8_font_artosserif8_r LITERAL1 +u8x8_font_artosserif8_n LITERAL1 +u8x8_font_artosserif8_u LITERAL1 +u8g2_font_chroma48medium8_8r LITERAL1 +u8g2_font_chroma48medium8_8n LITERAL1 +u8g2_font_chroma48medium8_8u LITERAL1 +u8x8_font_chroma48medium8_r LITERAL1 +u8x8_font_chroma48medium8_n LITERAL1 +u8x8_font_chroma48medium8_u LITERAL1 +u8g2_font_saikyosansbold8_8n LITERAL1 +u8g2_font_saikyosansbold8_8u LITERAL1 +u8x8_font_saikyosansbold8_n LITERAL1 +u8x8_font_saikyosansbold8_u LITERAL1 +u8g2_font_torussansbold8_8r LITERAL1 +u8g2_font_torussansbold8_8n LITERAL1 +u8g2_font_torussansbold8_8u LITERAL1 +u8x8_font_torussansbold8_r LITERAL1 +u8x8_font_torussansbold8_n LITERAL1 +u8x8_font_torussansbold8_u LITERAL1 +u8g2_font_victoriabold8_8r LITERAL1 +u8g2_font_victoriabold8_8n LITERAL1 +u8g2_font_victoriabold8_8u LITERAL1 +u8x8_font_victoriabold8_r LITERAL1 +u8x8_font_victoriabold8_n LITERAL1 +u8x8_font_victoriabold8_u LITERAL1 +u8g2_font_victoriamedium8_8r LITERAL1 +u8g2_font_victoriamedium8_8n LITERAL1 +u8g2_font_victoriamedium8_8u LITERAL1 +u8x8_font_victoriamedium8_r LITERAL1 +u8x8_font_victoriamedium8_n LITERAL1 +u8x8_font_victoriamedium8_u LITERAL1 +u8g2_font_courB08_tf LITERAL1 +u8g2_font_courB08_tr LITERAL1 +u8g2_font_courB08_tn LITERAL1 +u8g2_font_courB10_tf LITERAL1 +u8g2_font_courB10_tr LITERAL1 +u8g2_font_courB10_tn LITERAL1 +u8g2_font_courB12_tf LITERAL1 +u8g2_font_courB12_tr LITERAL1 +u8g2_font_courB12_tn LITERAL1 +u8g2_font_courB14_tf LITERAL1 +u8g2_font_courB14_tr LITERAL1 +u8g2_font_courB14_tn LITERAL1 +u8g2_font_courB18_tf LITERAL1 +u8g2_font_courB18_tr LITERAL1 +u8g2_font_courB18_tn LITERAL1 +u8g2_font_courB24_tf LITERAL1 +u8g2_font_courB24_tr LITERAL1 +u8g2_font_courB24_tn LITERAL1 +u8g2_font_courR08_tf LITERAL1 +u8g2_font_courR08_tr LITERAL1 +u8g2_font_courR08_tn LITERAL1 +u8g2_font_courR10_tf LITERAL1 +u8g2_font_courR10_tr LITERAL1 +u8g2_font_courR10_tn LITERAL1 +u8g2_font_courR12_tf LITERAL1 +u8g2_font_courR12_tr LITERAL1 +u8g2_font_courR12_tn LITERAL1 +u8g2_font_courR14_tf LITERAL1 +u8g2_font_courR14_tr LITERAL1 +u8g2_font_courR14_tn LITERAL1 +u8g2_font_courR18_tf LITERAL1 +u8g2_font_courR18_tr LITERAL1 +u8g2_font_courR18_tn LITERAL1 +u8g2_font_courR24_tf LITERAL1 +u8g2_font_courR24_tr LITERAL1 +u8g2_font_courR24_tn LITERAL1 +u8g2_font_helvB08_tf LITERAL1 +u8g2_font_helvB08_tr LITERAL1 +u8g2_font_helvB08_tn LITERAL1 +u8g2_font_helvB08_te LITERAL1 +u8g2_font_helvB10_tf LITERAL1 +u8g2_font_helvB10_tr LITERAL1 +u8g2_font_helvB10_tn LITERAL1 +u8g2_font_helvB10_te LITERAL1 +u8g2_font_helvB12_tf LITERAL1 +u8g2_font_helvB12_tr LITERAL1 +u8g2_font_helvB12_tn LITERAL1 +u8g2_font_helvB12_te LITERAL1 +u8g2_font_helvB14_tf LITERAL1 +u8g2_font_helvB14_tr LITERAL1 +u8g2_font_helvB14_tn LITERAL1 +u8g2_font_helvB14_te LITERAL1 +u8g2_font_helvB18_tf LITERAL1 +u8g2_font_helvB18_tr LITERAL1 +u8g2_font_helvB18_tn LITERAL1 +u8g2_font_helvB18_te LITERAL1 +u8g2_font_helvB24_tf LITERAL1 +u8g2_font_helvB24_tr LITERAL1 +u8g2_font_helvB24_tn LITERAL1 +u8g2_font_helvB24_te LITERAL1 +u8g2_font_helvR08_tf LITERAL1 +u8g2_font_helvR08_tr LITERAL1 +u8g2_font_helvR08_tn LITERAL1 +u8g2_font_helvR08_te LITERAL1 +u8g2_font_helvR10_tf LITERAL1 +u8g2_font_helvR10_tr LITERAL1 +u8g2_font_helvR10_tn LITERAL1 +u8g2_font_helvR10_te LITERAL1 +u8g2_font_helvR12_tf LITERAL1 +u8g2_font_helvR12_tr LITERAL1 +u8g2_font_helvR12_tn LITERAL1 +u8g2_font_helvR12_te LITERAL1 +u8g2_font_helvR14_tf LITERAL1 +u8g2_font_helvR14_tr LITERAL1 +u8g2_font_helvR14_tn LITERAL1 +u8g2_font_helvR14_te LITERAL1 +u8g2_font_helvR18_tf LITERAL1 +u8g2_font_helvR18_tr LITERAL1 +u8g2_font_helvR18_tn LITERAL1 +u8g2_font_helvR18_te LITERAL1 +u8g2_font_helvR24_tf LITERAL1 +u8g2_font_helvR24_tr LITERAL1 +u8g2_font_helvR24_tn LITERAL1 +u8g2_font_helvR24_te LITERAL1 +u8g2_font_ncenB08_tf LITERAL1 +u8g2_font_ncenB08_tr LITERAL1 +u8g2_font_ncenB08_tn LITERAL1 +u8g2_font_ncenB08_te LITERAL1 +u8g2_font_ncenB10_tf LITERAL1 +u8g2_font_ncenB10_tr LITERAL1 +u8g2_font_ncenB10_tn LITERAL1 +u8g2_font_ncenB10_te LITERAL1 +u8g2_font_ncenB12_tf LITERAL1 +u8g2_font_ncenB12_tr LITERAL1 +u8g2_font_ncenB12_tn LITERAL1 +u8g2_font_ncenB12_te LITERAL1 +u8g2_font_ncenB14_tf LITERAL1 +u8g2_font_ncenB14_tr LITERAL1 +u8g2_font_ncenB14_tn LITERAL1 +u8g2_font_ncenB14_te LITERAL1 +u8g2_font_ncenB18_tf LITERAL1 +u8g2_font_ncenB18_tr LITERAL1 +u8g2_font_ncenB18_tn LITERAL1 +u8g2_font_ncenB18_te LITERAL1 +u8g2_font_ncenB24_tf LITERAL1 +u8g2_font_ncenB24_tr LITERAL1 +u8g2_font_ncenB24_tn LITERAL1 +u8g2_font_ncenB24_te LITERAL1 +u8g2_font_ncenR08_tf LITERAL1 +u8g2_font_ncenR08_tr LITERAL1 +u8g2_font_ncenR08_tn LITERAL1 +u8g2_font_ncenR08_te LITERAL1 +u8g2_font_ncenR10_tf LITERAL1 +u8g2_font_ncenR10_tr LITERAL1 +u8g2_font_ncenR10_tn LITERAL1 +u8g2_font_ncenR10_te LITERAL1 +u8g2_font_ncenR12_tf LITERAL1 +u8g2_font_ncenR12_tr LITERAL1 +u8g2_font_ncenR12_tn LITERAL1 +u8g2_font_ncenR12_te LITERAL1 +u8g2_font_ncenR14_tf LITERAL1 +u8g2_font_ncenR14_tr LITERAL1 +u8g2_font_ncenR14_tn LITERAL1 +u8g2_font_ncenR14_te LITERAL1 +u8g2_font_ncenR18_tf LITERAL1 +u8g2_font_ncenR18_tr LITERAL1 +u8g2_font_ncenR18_tn LITERAL1 +u8g2_font_ncenR18_te LITERAL1 +u8g2_font_ncenR24_tf LITERAL1 +u8g2_font_ncenR24_tr LITERAL1 +u8g2_font_ncenR24_tn LITERAL1 +u8g2_font_ncenR24_te LITERAL1 +u8g2_font_timB08_tf LITERAL1 +u8g2_font_timB08_tr LITERAL1 +u8g2_font_timB08_tn LITERAL1 +u8g2_font_timB10_tf LITERAL1 +u8g2_font_timB10_tr LITERAL1 +u8g2_font_timB10_tn LITERAL1 +u8g2_font_timB12_tf LITERAL1 +u8g2_font_timB12_tr LITERAL1 +u8g2_font_timB12_tn LITERAL1 +u8g2_font_timB14_tf LITERAL1 +u8g2_font_timB14_tr LITERAL1 +u8g2_font_timB14_tn LITERAL1 +u8g2_font_timB18_tf LITERAL1 +u8g2_font_timB18_tr LITERAL1 +u8g2_font_timB18_tn LITERAL1 +u8g2_font_timB24_tf LITERAL1 +u8g2_font_timB24_tr LITERAL1 +u8g2_font_timB24_tn LITERAL1 +u8g2_font_timR08_tf LITERAL1 +u8g2_font_timR08_tr LITERAL1 +u8g2_font_timR08_tn LITERAL1 +u8g2_font_timR10_tf LITERAL1 +u8g2_font_timR10_tr LITERAL1 +u8g2_font_timR10_tn LITERAL1 +u8g2_font_timR12_tf LITERAL1 +u8g2_font_timR12_tr LITERAL1 +u8g2_font_timR12_tn LITERAL1 +u8g2_font_timR14_tf LITERAL1 +u8g2_font_timR14_tr LITERAL1 +u8g2_font_timR14_tn LITERAL1 +u8g2_font_timR18_tf LITERAL1 +u8g2_font_timR18_tr LITERAL1 +u8g2_font_timR18_tn LITERAL1 +u8g2_font_timR24_tf LITERAL1 +u8g2_font_timR24_tr LITERAL1 +u8g2_font_timR24_tn LITERAL1 +u8g2_font_baby_tf LITERAL1 +u8g2_font_baby_tr LITERAL1 +u8g2_font_baby_tn LITERAL1 +u8g2_font_blipfest_07_tr LITERAL1 +u8g2_font_blipfest_07_tn LITERAL1 +u8g2_font_chikita_tf LITERAL1 +u8g2_font_chikita_tr LITERAL1 +u8g2_font_chikita_tn LITERAL1 +u8g2_font_lucasfont_alternate_tf LITERAL1 +u8g2_font_lucasfont_alternate_tr LITERAL1 +u8g2_font_lucasfont_alternate_tn LITERAL1 +u8g2_font_p01type_tf LITERAL1 +u8g2_font_p01type_tr LITERAL1 +u8g2_font_p01type_tn LITERAL1 +u8g2_font_pixelle_micro_tr LITERAL1 +u8g2_font_pixelle_micro_tn LITERAL1 +u8g2_font_robot_de_niro_tf LITERAL1 +u8g2_font_robot_de_niro_tr LITERAL1 +u8g2_font_robot_de_niro_tn LITERAL1 +u8g2_font_trixel_square_tf LITERAL1 +u8g2_font_trixel_square_tr LITERAL1 +u8g2_font_trixel_square_tn LITERAL1 +u8g2_font_haxrcorp4089_tr LITERAL1 +u8g2_font_haxrcorp4089_tn LITERAL1 +u8g2_font_haxrcorp4089_t_cyrillic LITERAL1 +u8g2_font_fub11_tf LITERAL1 +u8g2_font_fub11_tr LITERAL1 +u8g2_font_fub11_tn LITERAL1 +u8g2_font_fub14_tf LITERAL1 +u8g2_font_fub14_tr LITERAL1 +u8g2_font_fub14_tn LITERAL1 +u8g2_font_fub17_tf LITERAL1 +u8g2_font_fub17_tr LITERAL1 +u8g2_font_fub17_tn LITERAL1 +u8g2_font_fub20_tf LITERAL1 +u8g2_font_fub20_tr LITERAL1 +u8g2_font_fub20_tn LITERAL1 +u8g2_font_fub25_tf LITERAL1 +u8g2_font_fub25_tr LITERAL1 +u8g2_font_fub25_tn LITERAL1 +u8g2_font_fub30_tf LITERAL1 +u8g2_font_fub30_tr LITERAL1 +u8g2_font_fub30_tn LITERAL1 +u8g2_font_fub35_tf LITERAL1 +u8g2_font_fub35_tr LITERAL1 +u8g2_font_fub35_tn LITERAL1 +u8g2_font_fub42_tf LITERAL1 +u8g2_font_fub42_tr LITERAL1 +u8g2_font_fub42_tn LITERAL1 +u8g2_font_fub49_tn LITERAL1 +u8g2_font_fur11_tf LITERAL1 +u8g2_font_fur11_tr LITERAL1 +u8g2_font_fur11_tn LITERAL1 +u8g2_font_fur14_tf LITERAL1 +u8g2_font_fur14_tr LITERAL1 +u8g2_font_fur14_tn LITERAL1 +u8g2_font_fur17_tf LITERAL1 +u8g2_font_fur17_tr LITERAL1 +u8g2_font_fur17_tn LITERAL1 +u8g2_font_fur20_tf LITERAL1 +u8g2_font_fur20_tr LITERAL1 +u8g2_font_fur20_tn LITERAL1 +u8g2_font_fur25_tf LITERAL1 +u8g2_font_fur25_tr LITERAL1 +u8g2_font_fur25_tn LITERAL1 +u8g2_font_fur30_tf LITERAL1 +u8g2_font_fur30_tr LITERAL1 +u8g2_font_fur30_tn LITERAL1 +u8g2_font_fur35_tf LITERAL1 +u8g2_font_fur35_tr LITERAL1 +u8g2_font_fur35_tn LITERAL1 +u8g2_font_fur42_tf LITERAL1 +u8g2_font_fur42_tr LITERAL1 +u8g2_font_fur42_tn LITERAL1 +u8g2_font_fur49_tn LITERAL1 +u8g2_font_osb18_tf LITERAL1 +u8g2_font_osb18_tr LITERAL1 +u8g2_font_osb18_tn LITERAL1 +u8g2_font_osb21_tf LITERAL1 +u8g2_font_osb21_tr LITERAL1 +u8g2_font_osb21_tn LITERAL1 +u8g2_font_osb26_tf LITERAL1 +u8g2_font_osb26_tr LITERAL1 +u8g2_font_osb26_tn LITERAL1 +u8g2_font_osb29_tf LITERAL1 +u8g2_font_osb29_tr LITERAL1 +u8g2_font_osb29_tn LITERAL1 +u8g2_font_osb35_tf LITERAL1 +u8g2_font_osb35_tr LITERAL1 +u8g2_font_osb35_tn LITERAL1 +u8g2_font_osb41_tf LITERAL1 +u8g2_font_osb41_tr LITERAL1 +u8g2_font_osb41_tn LITERAL1 +u8g2_font_osr18_tf LITERAL1 +u8g2_font_osr18_tr LITERAL1 +u8g2_font_osr18_tn LITERAL1 +u8g2_font_osr21_tf LITERAL1 +u8g2_font_osr21_tr LITERAL1 +u8g2_font_osr21_tn LITERAL1 +u8g2_font_osr26_tf LITERAL1 +u8g2_font_osr26_tr LITERAL1 +u8g2_font_osr26_tn LITERAL1 +u8g2_font_osr29_tf LITERAL1 +u8g2_font_osr29_tr LITERAL1 +u8g2_font_osr29_tn LITERAL1 +u8g2_font_osr35_tf LITERAL1 +u8g2_font_osr35_tr LITERAL1 +u8g2_font_osr35_tn LITERAL1 +u8g2_font_osr41_tf LITERAL1 +u8g2_font_osr41_tr LITERAL1 +u8g2_font_osr41_tn LITERAL1 +u8g2_font_inr16_mf LITERAL1 +u8g2_font_inr16_mr LITERAL1 +u8g2_font_inr16_mn LITERAL1 +u8g2_font_inr19_mf LITERAL1 +u8g2_font_inr19_mr LITERAL1 +u8g2_font_inr19_mn LITERAL1 +u8g2_font_inr21_mf LITERAL1 +u8g2_font_inr21_mr LITERAL1 +u8g2_font_inr21_mn LITERAL1 +u8g2_font_inr24_mf LITERAL1 +u8g2_font_inr24_mr LITERAL1 +u8g2_font_inr24_mn LITERAL1 +u8g2_font_inr27_mf LITERAL1 +u8g2_font_inr27_mr LITERAL1 +u8g2_font_inr27_mn LITERAL1 +u8g2_font_inr30_mf LITERAL1 +u8g2_font_inr30_mr LITERAL1 +u8g2_font_inr30_mn LITERAL1 +u8g2_font_inr33_mf LITERAL1 +u8g2_font_inr33_mr LITERAL1 +u8g2_font_inr33_mn LITERAL1 +u8g2_font_inr38_mf LITERAL1 +u8g2_font_inr38_mr LITERAL1 +u8g2_font_inr38_mn LITERAL1 +u8g2_font_inr42_mf LITERAL1 +u8g2_font_inr42_mr LITERAL1 +u8g2_font_inr42_mn LITERAL1 +u8g2_font_inr46_mf LITERAL1 +u8g2_font_inr46_mr LITERAL1 +u8g2_font_inr46_mn LITERAL1 +u8g2_font_inr49_mf LITERAL1 +u8g2_font_inr49_mr LITERAL1 +u8g2_font_inr49_mn LITERAL1 +u8g2_font_inr53_mf LITERAL1 +u8g2_font_inr53_mr LITERAL1 +u8g2_font_inr53_mn LITERAL1 +u8g2_font_inr57_mn LITERAL1 +u8g2_font_inr62_mn LITERAL1 +u8g2_font_inb16_mf LITERAL1 +u8g2_font_inb16_mr LITERAL1 +u8g2_font_inb16_mn LITERAL1 +u8g2_font_inb19_mf LITERAL1 +u8g2_font_inb19_mr LITERAL1 +u8g2_font_inb19_mn LITERAL1 +u8g2_font_inb21_mf LITERAL1 +u8g2_font_inb21_mr LITERAL1 +u8g2_font_inb21_mn LITERAL1 +u8g2_font_inb24_mf LITERAL1 +u8g2_font_inb24_mr LITERAL1 +u8g2_font_inb24_mn LITERAL1 +u8g2_font_inb27_mf LITERAL1 +u8g2_font_inb27_mr LITERAL1 +u8g2_font_inb27_mn LITERAL1 +u8g2_font_inb30_mf LITERAL1 +u8g2_font_inb30_mr LITERAL1 +u8g2_font_inb30_mn LITERAL1 +u8g2_font_inb33_mf LITERAL1 +u8g2_font_inb33_mr LITERAL1 +u8g2_font_inb33_mn LITERAL1 +u8g2_font_inb38_mf LITERAL1 +u8g2_font_inb38_mr LITERAL1 +u8g2_font_inb38_mn LITERAL1 +u8g2_font_inb42_mf LITERAL1 +u8g2_font_inb42_mr LITERAL1 +u8g2_font_inb42_mn LITERAL1 +u8g2_font_inb46_mf LITERAL1 +u8g2_font_inb46_mr LITERAL1 +u8g2_font_inb46_mn LITERAL1 +u8g2_font_inb49_mf LITERAL1 +u8g2_font_inb49_mr LITERAL1 +u8g2_font_inb49_mn LITERAL1 +u8g2_font_inb53_mf LITERAL1 +u8g2_font_inb53_mr LITERAL1 +u8g2_font_inb53_mn LITERAL1 +u8g2_font_inb57_mn LITERAL1 +u8g2_font_inb63_mn LITERAL1 +u8g2_font_logisoso16_tf LITERAL1 +u8g2_font_logisoso16_tr LITERAL1 +u8g2_font_logisoso16_tn LITERAL1 +u8g2_font_logisoso18_tf LITERAL1 +u8g2_font_logisoso18_tr LITERAL1 +u8g2_font_logisoso18_tn LITERAL1 +u8g2_font_logisoso20_tf LITERAL1 +u8g2_font_logisoso20_tr LITERAL1 +u8g2_font_logisoso20_tn LITERAL1 +u8g2_font_logisoso22_tf LITERAL1 +u8g2_font_logisoso22_tr LITERAL1 +u8g2_font_logisoso22_tn LITERAL1 +u8g2_font_logisoso24_tf LITERAL1 +u8g2_font_logisoso24_tr LITERAL1 +u8g2_font_logisoso24_tn LITERAL1 +u8g2_font_logisoso26_tf LITERAL1 +u8g2_font_logisoso26_tr LITERAL1 +u8g2_font_logisoso26_tn LITERAL1 +u8g2_font_logisoso28_tf LITERAL1 +u8g2_font_logisoso28_tr LITERAL1 +u8g2_font_logisoso28_tn LITERAL1 +u8g2_font_logisoso30_tf LITERAL1 +u8g2_font_logisoso30_tr LITERAL1 +u8g2_font_logisoso30_tn LITERAL1 +u8g2_font_logisoso32_tf LITERAL1 +u8g2_font_logisoso32_tr LITERAL1 +u8g2_font_logisoso32_tn LITERAL1 +u8g2_font_logisoso34_tf LITERAL1 +u8g2_font_logisoso34_tr LITERAL1 +u8g2_font_logisoso34_tn LITERAL1 +u8g2_font_logisoso38_tf LITERAL1 +u8g2_font_logisoso38_tr LITERAL1 +u8g2_font_logisoso38_tn LITERAL1 +u8g2_font_logisoso42_tf LITERAL1 +u8g2_font_logisoso42_tr LITERAL1 +u8g2_font_logisoso42_tn LITERAL1 +u8g2_font_logisoso46_tf LITERAL1 +u8g2_font_logisoso46_tr LITERAL1 +u8g2_font_logisoso46_tn LITERAL1 +u8g2_font_logisoso50_tf LITERAL1 +u8g2_font_logisoso50_tr LITERAL1 +u8g2_font_logisoso50_tn LITERAL1 +u8g2_font_logisoso54_tf LITERAL1 +u8g2_font_logisoso54_tr LITERAL1 +u8g2_font_logisoso54_tn LITERAL1 +u8g2_font_logisoso58_tf LITERAL1 +u8g2_font_logisoso58_tr LITERAL1 +u8g2_font_logisoso58_tn LITERAL1 +u8g2_font_logisoso62_tn LITERAL1 +u8g2_font_logisoso78_tn LITERAL1 +u8g2_font_logisoso92_tn LITERAL1 +u8g2_font_pressstart2p_8f LITERAL1 +u8g2_font_pressstart2p_8r LITERAL1 +u8g2_font_pressstart2p_8n LITERAL1 +u8g2_font_pressstart2p_8u LITERAL1 +u8x8_font_pressstart2p_f LITERAL1 +u8x8_font_pressstart2p_r LITERAL1 +u8x8_font_pressstart2p_n LITERAL1 +u8x8_font_pressstart2p_u LITERAL1 +u8g2_font_pcsenior_8f LITERAL1 +u8g2_font_pcsenior_8r LITERAL1 +u8g2_font_pcsenior_8n LITERAL1 +u8g2_font_pcsenior_8u LITERAL1 +u8x8_font_pcsenior_f LITERAL1 +u8x8_font_pcsenior_r LITERAL1 +u8x8_font_pcsenior_n LITERAL1 +u8x8_font_pcsenior_u LITERAL1 +u8g2_font_pxplusibmcgathin_8f LITERAL1 +u8g2_font_pxplusibmcgathin_8r LITERAL1 +u8g2_font_pxplusibmcgathin_8n LITERAL1 +u8g2_font_pxplusibmcgathin_8u LITERAL1 +u8x8_font_pxplusibmcgathin_f LITERAL1 +u8x8_font_pxplusibmcgathin_r LITERAL1 +u8x8_font_pxplusibmcgathin_n LITERAL1 +u8x8_font_pxplusibmcgathin_u LITERAL1 +u8g2_font_pxplusibmcga_8f LITERAL1 +u8g2_font_pxplusibmcga_8r LITERAL1 +u8g2_font_pxplusibmcga_8n LITERAL1 +u8g2_font_pxplusibmcga_8u LITERAL1 +u8x8_font_pxplusibmcga_f LITERAL1 +u8x8_font_pxplusibmcga_r LITERAL1 +u8x8_font_pxplusibmcga_n LITERAL1 +u8x8_font_pxplusibmcga_u LITERAL1 +u8g2_font_pxplustandynewtv_8f LITERAL1 +u8g2_font_pxplustandynewtv_8r LITERAL1 +u8g2_font_pxplustandynewtv_8n LITERAL1 +u8g2_font_pxplustandynewtv_8u LITERAL1 +u8x8_font_pxplustandynewtv_f LITERAL1 +u8x8_font_pxplustandynewtv_r LITERAL1 +u8x8_font_pxplustandynewtv_n LITERAL1 +u8x8_font_pxplustandynewtv_u LITERAL1 +u8g2_font_pxplustandynewtv_t_all LITERAL1 +u8g2_font_pxplustandynewtv_8_all LITERAL1 +u8g2_font_pxplusibmvga9_tf LITERAL1 +u8g2_font_pxplusibmvga9_tr LITERAL1 +u8g2_font_pxplusibmvga9_tn LITERAL1 +u8g2_font_pxplusibmvga9_mf LITERAL1 +u8g2_font_pxplusibmvga9_mr LITERAL1 +u8g2_font_pxplusibmvga9_mn LITERAL1 +u8g2_font_pxplusibmvga9_t_all LITERAL1 +u8g2_font_pxplusibmvga9_m_all LITERAL1 +u8g2_font_pxplusibmvga8_tf LITERAL1 +u8g2_font_pxplusibmvga8_tr LITERAL1 +u8g2_font_pxplusibmvga8_tn LITERAL1 +u8g2_font_pxplusibmvga8_mf LITERAL1 +u8g2_font_pxplusibmvga8_mr LITERAL1 +u8g2_font_pxplusibmvga8_mn LITERAL1 +u8g2_font_pxplusibmvga8_t_all LITERAL1 +u8g2_font_pxplusibmvga8_m_all LITERAL1 +u8g2_font_px437wyse700a_tf LITERAL1 +u8g2_font_px437wyse700a_tr LITERAL1 +u8g2_font_px437wyse700a_tn LITERAL1 +u8g2_font_px437wyse700a_mf LITERAL1 +u8g2_font_px437wyse700a_mr LITERAL1 +u8g2_font_px437wyse700a_mn LITERAL1 +u8g2_font_px437wyse700b_tf LITERAL1 +u8g2_font_px437wyse700b_tr LITERAL1 +u8g2_font_px437wyse700b_tn LITERAL1 +u8g2_font_px437wyse700b_mf LITERAL1 +u8g2_font_px437wyse700b_mr LITERAL1 +u8g2_font_px437wyse700b_mn LITERAL1 diff --git a/library.properties b/library.properties index 4ae47c1d..f6a7a057 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=U8g2 -version=2.20.1 +version=2.20.2 author=oliver maintainer=oliver sentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, T6963, RA8835, LC7981, PCD8544, PCF8812, UC1601, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, ST7588, ST75256, NT7534, IST3020, ST7920, LD7032, KS0108, SED1520, SBN1661, IL3820, MAX7219. Interfaces: I2C, SPI, Parallel. diff --git a/src/U8g2lib.h b/src/U8g2lib.h index 08014fca..bab41d94 100644 --- a/src/U8g2lib.h +++ b/src/U8g2lib.h @@ -2369,6 +2369,168 @@ class U8G2_SSD1325_NHD_128X64_F_2ND_HW_I2C : public U8G2 { u8x8_SetPin_HW_I2C(getU8x8(), reset); } }; +class U8G2_SSD1326_ER_256X32_1_4W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_3W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_6800 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_8080 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_4W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_3W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_6800 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_8080 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_4W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_3W_SW_SPI : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_6800 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_8080 : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_SW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_SSD1326_ER_256X32_1_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_SSD1326_ER_256X32_1_2ND_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_SW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_SSD1326_ER_256X32_2_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_SSD1326_ER_256X32_2_2ND_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_SW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_SSD1326_ER_256X32_F_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_SSD1326_ER_256X32_F_2ND_HW_I2C : public U8G2 { + public: U8G2_SSD1326_ER_256X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI : public U8G2 { public: U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); @@ -6329,6 +6491,222 @@ class U8G2_ST75256_JLX256128_F_8080 : public U8G2 { u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); } }; +class U8G2_ST75256_JLX256128_1_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX256128_1_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX256128_1_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX256128_2_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX256128_2_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX256128_2_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX256128_F_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX256128_F_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX256128_F_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX256128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX25664_1_4W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_1_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_1_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_1_3W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_ST75256_JLX25664_1_6800 : public U8G2 { + public: U8G2_ST75256_JLX25664_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_1_8080 : public U8G2 { + public: U8G2_ST75256_JLX25664_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_2_4W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_2_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_2_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_2_3W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_ST75256_JLX25664_2_6800 : public U8G2 { + public: U8G2_ST75256_JLX25664_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_2_8080 : public U8G2 { + public: U8G2_ST75256_JLX25664_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_F_4W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_F_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_F_2ND_4W_HW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_F_3W_SW_SPI : public U8G2 { + public: U8G2_ST75256_JLX25664_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8G2_ST75256_JLX25664_F_6800 : public U8G2 { + public: U8G2_ST75256_JLX25664_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_F_8080 : public U8G2 { + public: U8G2_ST75256_JLX25664_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8G2_ST75256_JLX25664_1_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX25664_1_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX25664_1_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX25664_2_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX25664_2_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX25664_2_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX25664_F_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX25664_F_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX25664_F_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX25664_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8G2_ST75256_JLX172104_1_4W_SW_SPI : public U8G2 { public: U8G2_ST75256_JLX172104_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); @@ -6437,6 +6815,60 @@ class U8G2_ST75256_JLX172104_F_8080 : public U8G2 { u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); } }; +class U8G2_ST75256_JLX172104_1_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX172104_1_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX172104_1_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX172104_2_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX172104_2_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX172104_2_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8G2_ST75256_JLX172104_F_SW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8G2_ST75256_JLX172104_F_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8G2_ST75256_JLX172104_F_2ND_HW_I2C : public U8G2 { + public: U8G2_ST75256_JLX172104_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() { + u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8G2_NT7534_TG12864R_1_4W_SW_SPI : public U8G2 { public: U8G2_NT7534_TG12864R_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() { u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); diff --git a/src/U8x8lib.h b/src/U8x8lib.h index fa65b6bc..82879b37 100644 --- a/src/U8x8lib.h +++ b/src/U8x8lib.h @@ -956,6 +956,60 @@ class U8X8_SSD1325_NHD_128X64_2ND_HW_I2C : public U8X8 { u8x8_SetPin_HW_I2C(getU8x8(), reset); } }; +class U8X8_SSD1326_ER_256X32_4W_SW_SPI : public U8X8 { + public: U8X8_SSD1326_ER_256X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8X8_SSD1326_ER_256X32_4W_HW_SPI : public U8X8 { + public: U8X8_SSD1326_ER_256X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8X8_SSD1326_ER_256X32_2ND_4W_HW_SPI : public U8X8 { + public: U8X8_SSD1326_ER_256X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8X8_SSD1326_ER_256X32_3W_SW_SPI : public U8X8 { + public: U8X8_SSD1326_ER_256X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8X8_SSD1326_ER_256X32_6800 : public U8X8 { + public: U8X8_SSD1326_ER_256X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8X8_SSD1326_ER_256X32_8080 : public U8X8 { + public: U8X8_SSD1326_ER_256X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8X8_SSD1326_ER_256X32_SW_I2C : public U8X8 { + public: U8X8_SSD1326_ER_256X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8X8_SSD1326_ER_256X32_HW_I2C : public U8X8 { + public: U8X8_SSD1326_ER_256X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8X8_SSD1326_ER_256X32_2ND_HW_I2C : public U8X8 { + public: U8X8_SSD1326_ER_256X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8X8_SSD1327_SEEED_96X96_4W_SW_SPI : public U8X8 { public: U8X8_SSD1327_SEEED_96X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); @@ -2276,6 +2330,78 @@ class U8X8_ST75256_JLX256128_8080 : public U8X8 { u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); } }; +class U8X8_ST75256_JLX256128_SW_I2C : public U8X8 { + public: U8X8_ST75256_JLX256128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8X8_ST75256_JLX256128_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX256128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8X8_ST75256_JLX256128_2ND_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX256128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; +class U8X8_ST75256_JLX25664_4W_SW_SPI : public U8X8 { + public: U8X8_ST75256_JLX25664_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset); + } +}; +class U8X8_ST75256_JLX25664_4W_HW_SPI : public U8X8 { + public: U8X8_ST75256_JLX25664_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8X8_ST75256_JLX25664_2ND_4W_HW_SPI : public U8X8 { + public: U8X8_ST75256_JLX25664_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset); + } +}; +class U8X8_ST75256_JLX25664_3W_SW_SPI : public U8X8 { + public: U8X8_ST75256_JLX25664_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset); + } +}; +class U8X8_ST75256_JLX25664_6800 : public U8X8 { + public: U8X8_ST75256_JLX25664_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8X8_ST75256_JLX25664_8080 : public U8X8 { + public: U8X8_ST75256_JLX25664_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); + } +}; +class U8X8_ST75256_JLX25664_SW_I2C : public U8X8 { + public: U8X8_ST75256_JLX25664_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8X8_ST75256_JLX25664_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX25664_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8X8_ST75256_JLX25664_2ND_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX25664_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8X8_ST75256_JLX172104_4W_SW_SPI : public U8X8 { public: U8X8_ST75256_JLX172104_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); @@ -2312,6 +2438,24 @@ class U8X8_ST75256_JLX172104_8080 : public U8X8 { u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset); } }; +class U8X8_ST75256_JLX172104_SW_I2C : public U8X8 { + public: U8X8_ST75256_JLX172104_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset); + } +}; +class U8X8_ST75256_JLX172104_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX172104_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data); + } +}; +class U8X8_ST75256_JLX172104_2ND_HW_I2C : public U8X8 { + public: U8X8_ST75256_JLX172104_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() { + u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino); + u8x8_SetPin_HW_I2C(getU8x8(), reset); + } +}; class U8X8_NT7534_TG12864R_4W_SW_SPI : public U8X8 { public: U8X8_NT7534_TG12864R_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() { u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino); diff --git a/src/clib/u8g2.h b/src/clib/u8g2.h index 0d8cee14..3adff38f 100644 --- a/src/clib/u8g2.h +++ b/src/clib/u8g2.h @@ -433,6 +433,9 @@ uint8_t *u8g2_m_8_4_f(uint8_t *page_cnt); uint8_t *u8g2_m_12_2_1(uint8_t *page_cnt); uint8_t *u8g2_m_12_2_2(uint8_t *page_cnt); uint8_t *u8g2_m_12_2_f(uint8_t *page_cnt); +uint8_t *u8g2_m_32_4_1(uint8_t *page_cnt); +uint8_t *u8g2_m_32_4_2(uint8_t *page_cnt); +uint8_t *u8g2_m_32_4_f(uint8_t *page_cnt); uint8_t *u8g2_m_12_12_1(uint8_t *page_cnt); uint8_t *u8g2_m_12_12_2(uint8_t *page_cnt); uint8_t *u8g2_m_12_12_f(uint8_t *page_cnt); @@ -484,6 +487,9 @@ uint8_t *u8g2_m_17_8_f(uint8_t *page_cnt); uint8_t *u8g2_m_32_16_1(uint8_t *page_cnt); uint8_t *u8g2_m_32_16_2(uint8_t *page_cnt); uint8_t *u8g2_m_32_16_f(uint8_t *page_cnt); +uint8_t *u8g2_m_32_8_1(uint8_t *page_cnt); +uint8_t *u8g2_m_32_8_2(uint8_t *page_cnt); +uint8_t *u8g2_m_32_8_f(uint8_t *page_cnt); uint8_t *u8g2_m_22_13_1(uint8_t *page_cnt); uint8_t *u8g2_m_22_13_2(uint8_t *page_cnt); uint8_t *u8g2_m_22_13_f(uint8_t *page_cnt); @@ -493,9 +499,6 @@ uint8_t *u8g2_m_20_10_f(uint8_t *page_cnt); uint8_t *u8g2_m_20_20_1(uint8_t *page_cnt); uint8_t *u8g2_m_20_20_2(uint8_t *page_cnt); uint8_t *u8g2_m_20_20_f(uint8_t *page_cnt); -uint8_t *u8g2_m_32_8_1(uint8_t *page_cnt); -uint8_t *u8g2_m_32_8_2(uint8_t *page_cnt); -uint8_t *u8g2_m_32_8_f(uint8_t *page_cnt); uint8_t *u8g2_m_22_9_1(uint8_t *page_cnt); uint8_t *u8g2_m_22_9_2(uint8_t *page_cnt); uint8_t *u8g2_m_22_9_f(uint8_t *page_cnt); @@ -597,6 +600,12 @@ void u8g2_Setup_ssd1325_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8 void u8g2_Setup_ssd1325_i2c_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_ssd1325_i2c_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_ssd1325_i2c_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_i2c_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_i2c_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_ssd1326_i2c_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_ssd1327_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_ssd1327_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_ssd1327_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); @@ -747,9 +756,21 @@ void u8g2_Setup_st7588_i2c_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u void u8g2_Setup_st75256_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_st75256_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_st75256_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_st75256_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_st75256_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_st75256_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); +void u8g2_Setup_st75256_i2c_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_nt7534_tg12864r_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_nt7534_tg12864r_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); void u8g2_Setup_nt7534_tg12864r_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb); diff --git a/src/clib/u8g2_d_memory.c b/src/clib/u8g2_d_memory.c index c4a7619e..370854fb 100644 --- a/src/clib/u8g2_d_memory.c +++ b/src/clib/u8g2_d_memory.c @@ -93,6 +93,24 @@ uint8_t *u8g2_m_12_2_f(uint8_t *page_cnt) *page_cnt = 2; return buf; } +uint8_t *u8g2_m_32_4_1(uint8_t *page_cnt) +{ + static uint8_t buf[256]; + *page_cnt = 1; + return buf; +} +uint8_t *u8g2_m_32_4_2(uint8_t *page_cnt) +{ + static uint8_t buf[512]; + *page_cnt = 2; + return buf; +} +uint8_t *u8g2_m_32_4_f(uint8_t *page_cnt) +{ + static uint8_t buf[1024]; + *page_cnt = 4; + return buf; +} uint8_t *u8g2_m_12_12_1(uint8_t *page_cnt) { static uint8_t buf[96]; @@ -399,6 +417,24 @@ uint8_t *u8g2_m_32_16_f(uint8_t *page_cnt) *page_cnt = 16; return buf; } +uint8_t *u8g2_m_32_8_1(uint8_t *page_cnt) +{ + static uint8_t buf[256]; + *page_cnt = 1; + return buf; +} +uint8_t *u8g2_m_32_8_2(uint8_t *page_cnt) +{ + static uint8_t buf[512]; + *page_cnt = 2; + return buf; +} +uint8_t *u8g2_m_32_8_f(uint8_t *page_cnt) +{ + static uint8_t buf[2048]; + *page_cnt = 8; + return buf; +} uint8_t *u8g2_m_22_13_1(uint8_t *page_cnt) { static uint8_t buf[176]; @@ -453,24 +489,6 @@ uint8_t *u8g2_m_20_20_f(uint8_t *page_cnt) *page_cnt = 20; return buf; } -uint8_t *u8g2_m_32_8_1(uint8_t *page_cnt) -{ - static uint8_t buf[256]; - *page_cnt = 1; - return buf; -} -uint8_t *u8g2_m_32_8_2(uint8_t *page_cnt) -{ - static uint8_t buf[512]; - *page_cnt = 2; - return buf; -} -uint8_t *u8g2_m_32_8_f(uint8_t *page_cnt) -{ - static uint8_t buf[2048]; - *page_cnt = 8; - return buf; -} uint8_t *u8g2_m_22_9_1(uint8_t *page_cnt) { static uint8_t buf[176]; diff --git a/src/clib/u8g2_d_setup.c b/src/clib/u8g2_d_setup.c index 3a047174..374be3fb 100644 --- a/src/clib/u8g2_d_setup.c +++ b/src/clib/u8g2_d_setup.c @@ -707,6 +707,62 @@ void u8g2_Setup_ssd1325_i2c_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation buf = u8g2_m_16_8_f(&tile_buf_height); u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); } +/* ssd1326 */ +/* ssd1326 1 */ +void u8g2_Setup_ssd1326_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* ssd1326 2 */ +void u8g2_Setup_ssd1326_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* ssd1326 f */ +void u8g2_Setup_ssd1326_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* ssd1326 */ +/* ssd1326 1 */ +void u8g2_Setup_ssd1326_i2c_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* ssd1326 2 */ +void u8g2_Setup_ssd1326_i2c_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* ssd1326 f */ +void u8g2_Setup_ssd1326_i2c_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_4_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} /* ssd1327 */ /* ssd1327 1 */ void u8g2_Setup_ssd1327_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) @@ -2089,6 +2145,90 @@ void u8g2_Setup_st75256_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x } /* st75256 */ /* st75256 1 */ +void u8g2_Setup_st75256_i2c_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_16_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 2 */ +void u8g2_Setup_st75256_i2c_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_16_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 f */ +void u8g2_Setup_st75256_i2c_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_16_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 */ +/* st75256 1 */ +void u8g2_Setup_st75256_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 2 */ +void u8g2_Setup_st75256_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 f */ +void u8g2_Setup_st75256_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 */ +/* st75256 1 */ +void u8g2_Setup_st75256_i2c_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 2 */ +void u8g2_Setup_st75256_i2c_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 f */ +void u8g2_Setup_st75256_i2c_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_32_8_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 */ +/* st75256 1 */ void u8g2_Setup_st75256_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) { uint8_t tile_buf_height; @@ -2115,6 +2255,34 @@ void u8g2_Setup_st75256_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x buf = u8g2_m_22_13_f(&tile_buf_height); u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); } +/* st75256 */ +/* st75256 1 */ +void u8g2_Setup_st75256_i2c_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_22_13_1(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 2 */ +void u8g2_Setup_st75256_i2c_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_22_13_2(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} +/* st75256 f */ +void u8g2_Setup_st75256_i2c_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) +{ + uint8_t tile_buf_height; + uint8_t *buf; + u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb); + buf = u8g2_m_22_13_f(&tile_buf_height); + u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation); +} /* nt7534 */ /* nt7534 1 */ void u8g2_Setup_nt7534_tg12864r_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb) diff --git a/src/clib/u8x8.h b/src/clib/u8x8.h index 05e8d5ce..431d4b83 100644 --- a/src/clib/u8x8.h +++ b/src/clib/u8x8.h @@ -590,6 +590,7 @@ uint8_t u8x8_cad_011(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_cad_100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_cad_st7920_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_cad_ssd13xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); +uint8_t u8x8_cad_st75256_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_cad_ld7032_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_cad_uc16xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); @@ -775,6 +776,7 @@ uint8_t u8x8_d_st7567_pi_132x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void uint8_t u8x8_d_st7567_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_st7588_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_st75256_jlx256128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); +uint8_t u8x8_d_st75256_jlx25664(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_st75256_jlx172104(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_nt7534_tg12864r(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* u8x8_d_st7565.c */ uint8_t u8x8_d_ld7032_60x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); @@ -790,6 +792,7 @@ uint8_t u8x8_d_ra8835_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void * uint8_t u8x8_d_ssd1325_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1327_seeed_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1327_midas_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); +uint8_t u8x8_d_ssd1326_er_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1329_128x96_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_uc1601_128x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_uc1604_jlx19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); diff --git a/src/clib/u8x8_cad.c b/src/clib/u8x8_cad.c index 80760413..8d6b50f9 100644 --- a/src/clib/u8x8_cad.c +++ b/src/clib/u8x8_cad.c @@ -456,6 +456,51 @@ uint8_t u8x8_cad_ssd13xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *a return 1; } +/* the st75256 i2c driver is a copy of the ssd13xx driver, but with arg=1 */ +/* modified from cad001 (ssd13xx) to cad011 */ +uint8_t u8x8_cad_st75256_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) +{ + uint8_t *p; + switch(msg) + { + case U8X8_MSG_CAD_SEND_CMD: + u8x8_byte_StartTransfer(u8x8); + u8x8_byte_SendByte(u8x8, 0x000); + u8x8_byte_SendByte(u8x8, arg_int); + u8x8_byte_EndTransfer(u8x8); + break; + case U8X8_MSG_CAD_SEND_ARG: + u8x8_byte_StartTransfer(u8x8); + u8x8_byte_SendByte(u8x8, 0x040); + u8x8_byte_SendByte(u8x8, arg_int); + u8x8_byte_EndTransfer(u8x8); + break; + case U8X8_MSG_CAD_SEND_DATA: + /* see ssd13xx driver */ + p = arg_ptr; + while( arg_int > 24 ) + { + u8x8_i2c_data_transfer(u8x8, 24, p); + arg_int-=24; + p+=24; + } + u8x8_i2c_data_transfer(u8x8, arg_int, p); + break; + case U8X8_MSG_CAD_INIT: + /* apply default i2c adr if required so that the start transfer msg can use this */ + if ( u8x8->i2c_address == 255 ) + u8x8->i2c_address = 0x078; /* ST75256, often this is 0x07e */ + return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr); + case U8X8_MSG_CAD_START_TRANSFER: + case U8X8_MSG_CAD_END_TRANSFER: + /* cad transfer commands are ignored */ + break; + default: + return 0; + } + return 1; +} + /* cad i2c procedure for the ld7032 controller */ uint8_t u8x8_cad_ld7032_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) { diff --git a/src/clib/u8x8_d_ssd1326.c b/src/clib/u8x8_d_ssd1326.c new file mode 100644 index 00000000..c4b39c29 --- /dev/null +++ b/src/clib/u8x8_d_ssd1326.c @@ -0,0 +1,266 @@ +/* + + u8x8_d_ssd1326.c + + Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/) + + Copyright (c) 2016, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "u8x8.h" + + +/* ER OLED */ +static const uint8_t u8x8_d_ssd1326_er_256x32_init_seq[] = { + + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + + U8X8_CA(0x0fd, 0x012), /* unlock (not required, this is default by reset) */ + + + U8X8_C(0x0ae), /* display off */ + U8X8_CA(0x0a8, 0x01f), /* multiplex ratio: 0x03f * 1/64 duty - changed by CREESOO, acc. to datasheet, 100317*/ + U8X8_CA(0x0a1, 0x000), /* display start line */ + U8X8_CA(0x0a2, 0x000), /* display offset, shift mapping ram counter */ + //U8X8_CA(0x0ad, 0x002), /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + U8X8_CA(0x0a0, 0x052), /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */ + U8X8_C(0x086), /* full current range (0x084, 0x085, 0x086) */ + + U8X8_C(0x0b7), /* set default gray scale table */ + + U8X8_CA(0x081, 0x027), /* contrast, brightness, 0..128 */ + U8X8_CA(0x0b1, 0x071), /* phase length */ + //U8X8_CA(0x0b2, 0x051), /* frame frequency (row period) */ + U8X8_CA(0x0b3, 0x0f0), /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ + //U8X8_CA(0x0b4, 0x002), /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + //U8X8_CA(0x0b0, 0x028), /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + U8X8_CAA(0x0bb, 0x035, 0x0ff), /* set precharge */ + U8X8_CA(0x0bc, 0x01f), /* pre-charge voltage level */ + U8X8_CA(0x0be, 0x00f), /* VCOMH voltage */ + U8X8_CA(0x0bf, 0x002|0x00d), /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + U8X8_C(0x0a4), /* normal display mode */ + + //U8X8_CA(0x023, 0x003), /* graphics accelleration: fill pixel */ + + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + +static const uint8_t u8x8_d_ssd1326_256x32_nhd_powersave0_seq[] = { + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + U8X8_C(0x0af), /* display on */ + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + +static const uint8_t u8x8_d_ssd1326_256x32_nhd_powersave1_seq[] = { + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + U8X8_C(0x0ae), /* display off */ + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + +static const uint8_t u8x8_d_ssd1326_256x32_nhd_flip0_seq[] = { + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + U8X8_CA(0x0a0, 0x052), /* remap */ + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + +static const uint8_t u8x8_d_ssd1326_256x32_nhd_flip1_seq[] = { + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + U8X8_CA(0x0a0, 0x041), /* remap */ + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + + +/* + input: + one tile (8 Bytes) + output: + Tile for ssd1326 (32 Bytes) +*/ + +static uint8_t u8x8_ssd1326_8to32_dest_buf[32]; + +static uint8_t *u8x8_ssd1326_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr) +{ + uint8_t v; + uint8_t a,b; + uint8_t i, j; + uint8_t *dest; + + for( j = 0; j < 4; j++ ) + { + dest = u8x8_ssd1326_8to32_dest_buf; + dest += j; + a =*ptr; + ptr++; + b = *ptr; + ptr++; + for( i = 0; i < 8; i++ ) + { + v = 0; + if ( a&1 ) v |= 0xf0; + if ( b&1 ) v |= 0x0f; + *dest = v; + dest+=4; + a >>= 1; + b >>= 1; + } + } + + return u8x8_ssd1326_8to32_dest_buf; +} + + + + +static uint8_t u8x8_d_ssd1326_256x32_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) +{ + uint8_t x, y, c; + uint8_t *ptr; + switch(msg) + { + /* handled by the calling function + case U8X8_MSG_DISPLAY_SETUP_MEMORY: + u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1326_256x32_nhd_display_info); + break; + */ + case U8X8_MSG_DISPLAY_INIT: + u8x8_d_helper_display_init(u8x8); + u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_er_256x32_init_seq); + break; + case U8X8_MSG_DISPLAY_SET_POWER_SAVE: + if ( arg_int == 0 ) + u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_powersave0_seq); + else + u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_powersave1_seq); + break; + case U8X8_MSG_DISPLAY_SET_FLIP_MODE: + if ( arg_int == 0 ) + { + u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_flip0_seq); + u8x8->x_offset = u8x8->display_info->default_x_offset; + } + else + { + u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_flip1_seq); + u8x8->x_offset = u8x8->display_info->flipmode_x_offset; + } + break; +#ifdef U8X8_WITH_SET_CONTRAST + case U8X8_MSG_DISPLAY_SET_CONTRAST: + u8x8_cad_StartTransfer(u8x8); + u8x8_cad_SendCmd(u8x8, 0x081 ); + u8x8_cad_SendArg(u8x8, arg_int ); /* ssd1326 has range from 0 to 255 */ + u8x8_cad_EndTransfer(u8x8); + break; +#endif + case U8X8_MSG_DISPLAY_DRAW_TILE: + u8x8_cad_StartTransfer(u8x8); + x = ((u8x8_tile_t *)arg_ptr)->x_pos; + x *= 4; + + y = (((u8x8_tile_t *)arg_ptr)->y_pos); + + y *= 8; + y += u8x8->x_offset; /* x_offset is used as y offset for the ssd1326 */ + + + do + { + c = ((u8x8_tile_t *)arg_ptr)->cnt; + ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr; + + do + { + /* tile is empty, use the graphics acceleration command */ + /* are this really available on the ssd1326??? */ + u8x8_cad_SendCmd(u8x8, 0x024 ); // draw rectangle + u8x8_cad_SendArg(u8x8, x ); + u8x8_cad_SendArg(u8x8, y ); + u8x8_cad_SendArg(u8x8, x+3 ); + u8x8_cad_SendArg(u8x8, y+7 ); + u8x8_cad_SendArg(u8x8, 0 ); // clear + ptr += 8; + x += 4; + c--; + } while( c > 0 ); + + //x += 4; + arg_int--; + } while( arg_int > 0 ); + + u8x8_cad_EndTransfer(u8x8); + break; + default: + return 0; + } + return 1; +} + + +static const u8x8_display_info_t u8x8_ssd1326_256x32_display_info = +{ + /* chip_enable_level = */ 0, + /* chip_disable_level = */ 1, + + /* post_chip_enable_wait_ns = */ 20, + /* pre_chip_disable_wait_ns = */ 15, + /* reset_pulse_width_ms = */ 100, + /* post_reset_wait_ms = */ 100, /**/ + /* sda_setup_time_ns = */ 100, /* ssd1326 */ + /* sck_pulse_width_ns = */ 100, /* ssd1326 */ + /* sck_clock_hz = */ 4000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be 1000000000/sck_pulse_width_ns */ + /* spi_mode = */ 0, /* active high, rising edge */ + /* i2c_bus_clock_100kHz = */ 4, + /* data_setup_time_ns = */ 40, + /* write_pulse_width_ns = */ 60, /* ssd1326 */ + /* tile_width = */ 32, + /* tile_hight = */ 4, + /* default_x_offset = */ 0, /* x_offset is used as y offset for the ssd1326 */ + /* flipmode_x_offset = */ 0, /* x_offset is used as y offset for the ssd1326 */ + /* pixel_width = */ 256, + /* pixel_height = */ 32 +}; + +uint8_t u8x8_d_ssd1326_er_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) +{ + if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY ) + { + u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1326_256x32_display_info); + return 1; + } + return u8x8_d_ssd1326_256x32_generic(u8x8, msg, arg_int, arg_ptr); +} + + diff --git a/src/clib/u8x8_d_st75256.c b/src/clib/u8x8_d_st75256.c index 8b3f020b..03d85f27 100644 --- a/src/clib/u8x8_d_st75256.c +++ b/src/clib/u8x8_d_st75256.c @@ -185,6 +185,7 @@ static uint8_t u8x8_d_st75256_256x128_generic(u8x8_t *u8x8, uint8_t msg, uint8_t } /*=============================================*/ +/* JLX256128 */ static const u8x8_display_info_t u8x8_st75256_256x128_display_info = { @@ -316,6 +317,141 @@ uint8_t u8x8_d_st75256_jlx256128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, voi return 0; } + +/*=============================================*/ +/* JLX25664 */ + +static const u8x8_display_info_t u8x8_st75256_256x64_display_info = +{ + /* chip_enable_level = */ 0, + /* chip_disable_level = */ 1, + + /* post_chip_enable_wait_ns = */ 20, + /* pre_chip_disable_wait_ns = */ 20, + /* reset_pulse_width_ms = */ 5, + /* post_reset_wait_ms = */ 5, /**/ + /* sda_setup_time_ns = */ 20, /* */ + /* sck_pulse_width_ns = */ 40, /* */ + /* sck_clock_hz = */ 4000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be 1000000000/sck_pulse_width_ns */ + /* spi_mode = */ 0, /* active high, rising edge */ + /* i2c_bus_clock_100kHz = */ 4, /* 400KHz */ + /* data_setup_time_ns = */ 15, + /* write_pulse_width_ns = */ 70, + /* tile_width = */ 32, + /* tile_hight = */ 8, + /* default_x_offset = */ 0, /* must be 0, because this is checked also for normal mode */ + /* flipmode_x_offset = */ 13, /* used as y offset */ + /* pixel_width = */ 256, + /* pixel_height = */ 64 +}; + + +static const uint8_t u8x8_d_st75256_256x64_init_seq[] = { + U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ + + U8X8_DLY(20), + + U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_C( 0x094 ), /* sleep out */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_C( 0x0ae ), /* display off */ + + U8X8_C( 0x031 ), /* select 01 commands */ + U8X8_CA( 0x0d7, 0x09f ), /* disable auto read */ + + //U8X8_C( 0x031 ), /* select 01 commands */ + U8X8_C( 0x032 ), /* analog circuit set */ + U8X8_A( 0x000 ), /* code example: OSC Frequency adjustment */ + U8X8_A( 0x001 ), /* Frequency on booster capacitors 1 = 6KHz? */ + U8X8_A( 0x005 ), /* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */ + + //U8X8_C( 0x031 ), /* select 01 commands */ + U8X8_C( 0x020 ), /* gray levels */ + U8X8_A( 0x01 ), + U8X8_A( 0x03 ), + U8X8_A( 0x05 ), + U8X8_A( 0x07 ), + U8X8_A( 0x09), + U8X8_A( 0x0b ), + U8X8_A( 0x0d ), + U8X8_A( 0x10 ), + U8X8_A( 0x11 ), + U8X8_A( 0x13 ), + U8X8_A( 0x15 ), + U8X8_A( 0x17 ), + U8X8_A( 0x19 ), + U8X8_A( 0x1b ), + U8X8_A( 0x1d ), + U8X8_A( 0x1f ), + + + U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_CAA(0x75, 0, 0x1f), /* row range */ + U8X8_CAA(0x15, 0, 255), /* col range */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_CA( 0xbc, 0x00 ), /* data scan dir */ + U8X8_A( 0xa6 ), /* ??? */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_C( 0x00c ), /* data format LSB top */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_C( 0xca ), /* display control, 3 args follow */ + U8X8_A( 0x00 ), /* 0x00: no clock division, 0x04: devide clock */ + U8X8_A( 0x3f ), /* 64 duty value from the DS example code */ + U8X8_A( 0x20 ), /* nline off */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_CA( 0x0f0, 0x010 ), /* monochrome mode = 0x010*/ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_CAA( 0x81, 012, 0x02 ), /* Volume control */ + + //U8X8_C( 0x030 ), /* select 00 commands */ + U8X8_CA( 0x020, 0x00b ), /* Power control: Regulator, follower & booster on */ + U8X8_DLY(100), + + U8X8_END_TRANSFER(), /* disable chip */ + U8X8_END() /* end of sequence */ +}; + + +uint8_t u8x8_d_st75256_jlx25664(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) +{ + if ( u8x8_d_st75256_256x128_generic(u8x8, msg, arg_int, arg_ptr) != 0 ) + return 1; + if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY ) + { + //u8x8_SetI2CAddress(u8x8, 0x078); /* lowest I2C adr of the ST75256 */ + u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x64_display_info); + return 1; + } + else if ( msg == U8X8_MSG_DISPLAY_INIT ) + { + u8x8_d_helper_display_init(u8x8); + u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x64_init_seq); + return 1; + } + else if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE ) + { + if ( arg_int == 0 ) + { + u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip0_seq); + u8x8->x_offset = u8x8->display_info->default_x_offset; + } + else + { + u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip1_seq); + u8x8->x_offset = u8x8->display_info->flipmode_x_offset; + } + return 1; + } + return 0; +} + + /*=============================================*/ /* JLX172104 LCD */