From 8d980527dfe3ce6b00b8c4bc1d2debf1fc6e17df Mon Sep 17 00:00:00 2001 From: olikraus Date: Sat, 21 Oct 2017 08:06:54 +0200 Subject: [PATCH] JLX25664, issue #399 --- ChangeLog | 4 +- cppsrc/U8g2lib.h | 162 ++++++++++++++++++ cppsrc/U8x8lib.h | 54 ++++++ csrc/u8g2.h | 12 +- csrc/u8g2_d_memory.c | 36 ++-- csrc/u8g2_d_setup.c | 56 ++++++ csrc/u8x8.h | 1 + csrc/u8x8_d_st75256.c | 136 +++++++++++++++ .../internal/DebounceU8x8/DebounceU8x8.ino | 1 + .../InputValueU8x8/InputValueU8x8.ino | 1 + .../SelectionListU8x8/SelectionList.ino | 1 + .../StringLineU8x8/StringLineU8x8.ino | 1 + sys/arduino/issue195/issue195.ino | 1 + sys/arduino/u8g2_full_buffer/FPS/FPS.ino | 1 + .../GraphicsTest/GraphicsTest.ino | 1 + .../HelloWorld/HelloWorld.ino | 1 + .../u8g2_full_buffer/PrintUTF8/PrintUTF8.ino | 1 + .../SelectionList/SelectionList.ino | 1 + .../u8g2_full_buffer/U8g2Logo/U8g2Logo.ino | 1 + .../AlarmClock/AlarmClock.ino | 1 + .../u8g2_page_buffer/Chinese/Chinese.ino | 1 + sys/arduino/u8g2_page_buffer/Clock/Clock.ino | 1 + .../ContrastTest/ContrastTest.ino | 1 + .../DirectAccess/DirectAccess.ino | 1 + .../u8g2_page_buffer/ExtUTF8/ExtUTF8.ino | 1 + sys/arduino/u8g2_page_buffer/FPS/FPS.ino | 1 + .../u8g2_page_buffer/FlipMode/FlipMode.ino | 2 +- sys/arduino/u8g2_page_buffer/Gauge/Gauge.ino | 1 + .../GraphicsTest/GraphicsTest.ino | 1 + .../HelloWorld/HelloWorld.ino | 1 + .../u8g2_page_buffer/Japanese/Japanese.ino | 1 + .../u8g2_page_buffer/Korean/Korean.ino | 1 + .../PowerSaveTest/PowerSaveTest.ino | 1 + .../PrintHelloWorld/PrintHelloWorld.ino | 1 + .../u8g2_page_buffer/PrintUTF8/PrintUTF8.ino | 1 + .../ScrollingText/ScrollingText.ino | 1 + .../SelectionList/SelectionList.ino | 1 + .../u8g2_page_buffer/U8g2Logo/U8g2Logo.ino | 1 + .../u8g2_page_buffer/UserPtr/UserPtr.ino | 1 + sys/arduino/u8g2_page_buffer/XBM/XBM.ino | 1 + .../u8g2_page_buffer/XORTest/XORTest.ino | 1 + sys/arduino/u8x8/ButtonTest/ButtonTest.ino | 1 + sys/arduino/u8x8/FlipMode/FlipMode.ino | 1 + .../u8x8/GraphicsTest/GraphicsTest.ino | 1 + sys/arduino/u8x8/HelloWorld/HelloWorld.ino | 1 + sys/arduino/u8x8/MessageBox/MessageBox.ino | 1 + sys/arduino/u8x8/PrintLine/PrintLine.ino | 1 + tools/codebuild/codebuild.c | 17 ++ tools/inoupdate/frame_buffer.ino | 1 + tools/inoupdate/page_buffer.ino | 1 + tools/inoupdate/u8x8.ino | 1 + 51 files changed, 498 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6fafd775..a414421e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -143,5 +143,7 @@ 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 displays (issue 397) diff --git a/cppsrc/U8g2lib.h b/cppsrc/U8g2lib.h index 225b9ee8..20018800 100644 --- a/cppsrc/U8g2lib.h +++ b/cppsrc/U8g2lib.h @@ -6383,6 +6383,168 @@ class U8G2_ST75256_JLX256128_F_2ND_HW_I2C : public U8G2 { 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); diff --git a/cppsrc/U8x8lib.h b/cppsrc/U8x8lib.h index 3a7c1653..d74c7895 100644 --- a/cppsrc/U8x8lib.h +++ b/cppsrc/U8x8lib.h @@ -2294,6 +2294,60 @@ class U8X8_ST75256_JLX256128_2ND_HW_I2C : public U8X8 { 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); diff --git a/csrc/u8g2.h b/csrc/u8g2.h index e748d065..766a4208 100644 --- a/csrc/u8g2.h +++ b/csrc/u8g2.h @@ -484,6 +484,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 +496,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); @@ -750,6 +750,12 @@ void u8g2_Setup_st75256_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x 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); diff --git a/csrc/u8g2_d_memory.c b/csrc/u8g2_d_memory.c index c4a7619e..060ddc2e 100644 --- a/csrc/u8g2_d_memory.c +++ b/csrc/u8g2_d_memory.c @@ -399,6 +399,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 +471,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/csrc/u8g2_d_setup.c b/csrc/u8g2_d_setup.c index 685597ce..69513050 100644 --- a/csrc/u8g2_d_setup.c +++ b/csrc/u8g2_d_setup.c @@ -2117,6 +2117,62 @@ void u8g2_Setup_st75256_i2c_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *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; diff --git a/csrc/u8x8.h b/csrc/u8x8.h index 8c57ec8a..870d2904 100644 --- a/csrc/u8x8.h +++ b/csrc/u8x8.h @@ -776,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); diff --git a/csrc/u8x8_d_st75256.c b/csrc/u8x8_d_st75256.c index 8b3f020b..d6907bae 100644 --- a/csrc/u8x8_d_st75256.c +++ b/csrc/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 = */ 5, /* 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 */ diff --git a/sys/arduino/internal/DebounceU8x8/DebounceU8x8.ino b/sys/arduino/internal/DebounceU8x8/DebounceU8x8.ino index 40bc1345..c612dbbf 100644 --- a/sys/arduino/internal/DebounceU8x8/DebounceU8x8.ino +++ b/sys/arduino/internal/DebounceU8x8/DebounceU8x8.ino @@ -116,6 +116,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/sys/arduino/internal/InputValueU8x8/InputValueU8x8.ino b/sys/arduino/internal/InputValueU8x8/InputValueU8x8.ino index 2531247b..98161519 100644 --- a/sys/arduino/internal/InputValueU8x8/InputValueU8x8.ino +++ b/sys/arduino/internal/InputValueU8x8/InputValueU8x8.ino @@ -116,6 +116,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/sys/arduino/internal/SelectionListU8x8/SelectionList.ino b/sys/arduino/internal/SelectionListU8x8/SelectionList.ino index 866bb282..d8d1c7bd 100644 --- a/sys/arduino/internal/SelectionListU8x8/SelectionList.ino +++ b/sys/arduino/internal/SelectionListU8x8/SelectionList.ino @@ -116,6 +116,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/sys/arduino/internal/StringLineU8x8/StringLineU8x8.ino b/sys/arduino/internal/StringLineU8x8/StringLineU8x8.ino index 866bb282..d8d1c7bd 100644 --- a/sys/arduino/internal/StringLineU8x8/StringLineU8x8.ino +++ b/sys/arduino/internal/StringLineU8x8/StringLineU8x8.ino @@ -116,6 +116,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/sys/arduino/issue195/issue195.ino b/sys/arduino/issue195/issue195.ino index 97738a9e..3a2f52ed 100644 --- a/sys/arduino/issue195/issue195.ino +++ b/sys/arduino/issue195/issue195.ino @@ -84,6 +84,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(/* 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/sys/arduino/u8g2_full_buffer/FPS/FPS.ino b/sys/arduino/u8g2_full_buffer/FPS/FPS.ino index eab72ce2..2040ac3b 100644 --- a/sys/arduino/u8g2_full_buffer/FPS/FPS.ino +++ b/sys/arduino/u8g2_full_buffer/FPS/FPS.ino @@ -251,6 +251,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(/* 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/sys/arduino/u8g2_full_buffer/GraphicsTest/GraphicsTest.ino b/sys/arduino/u8g2_full_buffer/GraphicsTest/GraphicsTest.ino index 24ff5b3b..f5d462fa 100644 --- a/sys/arduino/u8g2_full_buffer/GraphicsTest/GraphicsTest.ino +++ b/sys/arduino/u8g2_full_buffer/GraphicsTest/GraphicsTest.ino @@ -135,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(/* 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/sys/arduino/u8g2_full_buffer/HelloWorld/HelloWorld.ino b/sys/arduino/u8g2_full_buffer/HelloWorld/HelloWorld.ino index 73cf0e71..6c7ce03a 100644 --- a/sys/arduino/u8g2_full_buffer/HelloWorld/HelloWorld.ino +++ b/sys/arduino/u8g2_full_buffer/HelloWorld/HelloWorld.ino @@ -134,6 +134,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(/* 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/sys/arduino/u8g2_full_buffer/PrintUTF8/PrintUTF8.ino b/sys/arduino/u8g2_full_buffer/PrintUTF8/PrintUTF8.ino index ce279d5a..8304af87 100644 --- a/sys/arduino/u8g2_full_buffer/PrintUTF8/PrintUTF8.ino +++ b/sys/arduino/u8g2_full_buffer/PrintUTF8/PrintUTF8.ino @@ -137,6 +137,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(/* 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/sys/arduino/u8g2_full_buffer/SelectionList/SelectionList.ino b/sys/arduino/u8g2_full_buffer/SelectionList/SelectionList.ino index 7f093be3..b48660f3 100644 --- a/sys/arduino/u8g2_full_buffer/SelectionList/SelectionList.ino +++ b/sys/arduino/u8g2_full_buffer/SelectionList/SelectionList.ino @@ -134,6 +134,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(/* 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/sys/arduino/u8g2_full_buffer/U8g2Logo/U8g2Logo.ino b/sys/arduino/u8g2_full_buffer/U8g2Logo/U8g2Logo.ino index f8e84f27..87dd05c6 100644 --- a/sys/arduino/u8g2_full_buffer/U8g2Logo/U8g2Logo.ino +++ b/sys/arduino/u8g2_full_buffer/U8g2Logo/U8g2Logo.ino @@ -135,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(/* 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/sys/arduino/u8g2_page_buffer/AlarmClock/AlarmClock.ino b/sys/arduino/u8g2_page_buffer/AlarmClock/AlarmClock.ino index e9c5a86a..69cbbbe4 100644 --- a/sys/arduino/u8g2_page_buffer/AlarmClock/AlarmClock.ino +++ b/sys/arduino/u8g2_page_buffer/AlarmClock/AlarmClock.ino @@ -126,6 +126,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(/* 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/sys/arduino/u8g2_page_buffer/Chinese/Chinese.ino b/sys/arduino/u8g2_page_buffer/Chinese/Chinese.ino index ba55c14e..b558b678 100644 --- a/sys/arduino/u8g2_page_buffer/Chinese/Chinese.ino +++ b/sys/arduino/u8g2_page_buffer/Chinese/Chinese.ino @@ -137,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(/* 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/sys/arduino/u8g2_page_buffer/Clock/Clock.ino b/sys/arduino/u8g2_page_buffer/Clock/Clock.ino index 8110b6e3..ff00489c 100644 --- a/sys/arduino/u8g2_page_buffer/Clock/Clock.ino +++ b/sys/arduino/u8g2_page_buffer/Clock/Clock.ino @@ -139,6 +139,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(/* 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/sys/arduino/u8g2_page_buffer/ContrastTest/ContrastTest.ino b/sys/arduino/u8g2_page_buffer/ContrastTest/ContrastTest.ino index a0c96cd0..8e0e53f0 100644 --- a/sys/arduino/u8g2_page_buffer/ContrastTest/ContrastTest.ino +++ b/sys/arduino/u8g2_page_buffer/ContrastTest/ContrastTest.ino @@ -136,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(/* 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/sys/arduino/u8g2_page_buffer/DirectAccess/DirectAccess.ino b/sys/arduino/u8g2_page_buffer/DirectAccess/DirectAccess.ino index f98721a1..4deb90c1 100644 --- a/sys/arduino/u8g2_page_buffer/DirectAccess/DirectAccess.ino +++ b/sys/arduino/u8g2_page_buffer/DirectAccess/DirectAccess.ino @@ -140,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(/* 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/sys/arduino/u8g2_page_buffer/ExtUTF8/ExtUTF8.ino b/sys/arduino/u8g2_page_buffer/ExtUTF8/ExtUTF8.ino index 8e196358..bf6e73d9 100644 --- a/sys/arduino/u8g2_page_buffer/ExtUTF8/ExtUTF8.ino +++ b/sys/arduino/u8g2_page_buffer/ExtUTF8/ExtUTF8.ino @@ -136,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(/* 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/sys/arduino/u8g2_page_buffer/FPS/FPS.ino b/sys/arduino/u8g2_page_buffer/FPS/FPS.ino index 5fba03be..0b689a3f 100644 --- a/sys/arduino/u8g2_page_buffer/FPS/FPS.ino +++ b/sys/arduino/u8g2_page_buffer/FPS/FPS.ino @@ -319,6 +319,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(/* 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/sys/arduino/u8g2_page_buffer/FlipMode/FlipMode.ino b/sys/arduino/u8g2_page_buffer/FlipMode/FlipMode.ino index d019e414..18ccf8f6 100644 --- a/sys/arduino/u8g2_page_buffer/FlipMode/FlipMode.ino +++ b/sys/arduino/u8g2_page_buffer/FlipMode/FlipMode.ino @@ -131,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(/* 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); @@ -169,7 +170,6 @@ //U8G2_IL3820_V2_296X128_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // ePaper Display, lesser flickering and faster speed, enable 16 bit mode for this display! -U8G2_ST75256_JLX256128_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8); // Enable U8g2 16 bit mode for this display // End of constructor list diff --git a/sys/arduino/u8g2_page_buffer/Gauge/Gauge.ino b/sys/arduino/u8g2_page_buffer/Gauge/Gauge.ino index 28c3bcae..2f831aae 100644 --- a/sys/arduino/u8g2_page_buffer/Gauge/Gauge.ino +++ b/sys/arduino/u8g2_page_buffer/Gauge/Gauge.ino @@ -149,6 +149,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(/* 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/sys/arduino/u8g2_page_buffer/GraphicsTest/GraphicsTest.ino b/sys/arduino/u8g2_page_buffer/GraphicsTest/GraphicsTest.ino index d7ad636c..e6a39669 100644 --- a/sys/arduino/u8g2_page_buffer/GraphicsTest/GraphicsTest.ino +++ b/sys/arduino/u8g2_page_buffer/GraphicsTest/GraphicsTest.ino @@ -136,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(/* 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/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino b/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino index b6f6f0b3..57cf55d4 100644 --- a/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino +++ b/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino @@ -136,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(/* 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/sys/arduino/u8g2_page_buffer/Japanese/Japanese.ino b/sys/arduino/u8g2_page_buffer/Japanese/Japanese.ino index ab19f743..f4de3c58 100644 --- a/sys/arduino/u8g2_page_buffer/Japanese/Japanese.ino +++ b/sys/arduino/u8g2_page_buffer/Japanese/Japanese.ino @@ -137,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(/* 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/sys/arduino/u8g2_page_buffer/Korean/Korean.ino b/sys/arduino/u8g2_page_buffer/Korean/Korean.ino index 61102b8f..645995f1 100644 --- a/sys/arduino/u8g2_page_buffer/Korean/Korean.ino +++ b/sys/arduino/u8g2_page_buffer/Korean/Korean.ino @@ -137,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(/* 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/sys/arduino/u8g2_page_buffer/PowerSaveTest/PowerSaveTest.ino b/sys/arduino/u8g2_page_buffer/PowerSaveTest/PowerSaveTest.ino index e34d6a4d..b8ce59c4 100644 --- a/sys/arduino/u8g2_page_buffer/PowerSaveTest/PowerSaveTest.ino +++ b/sys/arduino/u8g2_page_buffer/PowerSaveTest/PowerSaveTest.ino @@ -130,6 +130,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(/* 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/sys/arduino/u8g2_page_buffer/PrintHelloWorld/PrintHelloWorld.ino b/sys/arduino/u8g2_page_buffer/PrintHelloWorld/PrintHelloWorld.ino index 3f6ef390..811c55cc 100644 --- a/sys/arduino/u8g2_page_buffer/PrintHelloWorld/PrintHelloWorld.ino +++ b/sys/arduino/u8g2_page_buffer/PrintHelloWorld/PrintHelloWorld.ino @@ -137,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(/* 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/sys/arduino/u8g2_page_buffer/PrintUTF8/PrintUTF8.ino b/sys/arduino/u8g2_page_buffer/PrintUTF8/PrintUTF8.ino index 903b423f..0519cb98 100644 --- a/sys/arduino/u8g2_page_buffer/PrintUTF8/PrintUTF8.ino +++ b/sys/arduino/u8g2_page_buffer/PrintUTF8/PrintUTF8.ino @@ -137,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(/* 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/sys/arduino/u8g2_page_buffer/ScrollingText/ScrollingText.ino b/sys/arduino/u8g2_page_buffer/ScrollingText/ScrollingText.ino index eebd6a7f..a1530919 100644 --- a/sys/arduino/u8g2_page_buffer/ScrollingText/ScrollingText.ino +++ b/sys/arduino/u8g2_page_buffer/ScrollingText/ScrollingText.ino @@ -140,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(/* 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/sys/arduino/u8g2_page_buffer/SelectionList/SelectionList.ino b/sys/arduino/u8g2_page_buffer/SelectionList/SelectionList.ino index 46d5add6..a3267e28 100644 --- a/sys/arduino/u8g2_page_buffer/SelectionList/SelectionList.ino +++ b/sys/arduino/u8g2_page_buffer/SelectionList/SelectionList.ino @@ -126,6 +126,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(/* 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/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino b/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino index d71326f2..08654aab 100644 --- a/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino +++ b/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino @@ -135,6 +135,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(/* 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/sys/arduino/u8g2_page_buffer/UserPtr/UserPtr.ino b/sys/arduino/u8g2_page_buffer/UserPtr/UserPtr.ino index 66139e1f..6c7b8710 100644 --- a/sys/arduino/u8g2_page_buffer/UserPtr/UserPtr.ino +++ b/sys/arduino/u8g2_page_buffer/UserPtr/UserPtr.ino @@ -138,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(/* 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/sys/arduino/u8g2_page_buffer/XBM/XBM.ino b/sys/arduino/u8g2_page_buffer/XBM/XBM.ino index cd1137aa..bef56f19 100644 --- a/sys/arduino/u8g2_page_buffer/XBM/XBM.ino +++ b/sys/arduino/u8g2_page_buffer/XBM/XBM.ino @@ -140,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(/* 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/sys/arduino/u8g2_page_buffer/XORTest/XORTest.ino b/sys/arduino/u8g2_page_buffer/XORTest/XORTest.ino index 653220e5..40020052 100644 --- a/sys/arduino/u8g2_page_buffer/XORTest/XORTest.ino +++ b/sys/arduino/u8g2_page_buffer/XORTest/XORTest.ino @@ -140,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(/* 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/sys/arduino/u8x8/ButtonTest/ButtonTest.ino b/sys/arduino/u8x8/ButtonTest/ButtonTest.ino index 74064211..14b4f2e6 100644 --- a/sys/arduino/u8x8/ButtonTest/ButtonTest.ino +++ b/sys/arduino/u8x8/ButtonTest/ButtonTest.ino @@ -114,6 +114,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/sys/arduino/u8x8/FlipMode/FlipMode.ino b/sys/arduino/u8x8/FlipMode/FlipMode.ino index f67fcd72..2649d792 100644 --- a/sys/arduino/u8x8/FlipMode/FlipMode.ino +++ b/sys/arduino/u8x8/FlipMode/FlipMode.ino @@ -117,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/sys/arduino/u8x8/GraphicsTest/GraphicsTest.ino b/sys/arduino/u8x8/GraphicsTest/GraphicsTest.ino index 41420151..647062c0 100644 --- a/sys/arduino/u8x8/GraphicsTest/GraphicsTest.ino +++ b/sys/arduino/u8x8/GraphicsTest/GraphicsTest.ino @@ -119,6 +119,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/sys/arduino/u8x8/HelloWorld/HelloWorld.ino b/sys/arduino/u8x8/HelloWorld/HelloWorld.ino index 5d6d0a22..00cf1d7f 100644 --- a/sys/arduino/u8x8/HelloWorld/HelloWorld.ino +++ b/sys/arduino/u8x8/HelloWorld/HelloWorld.ino @@ -116,6 +116,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/sys/arduino/u8x8/MessageBox/MessageBox.ino b/sys/arduino/u8x8/MessageBox/MessageBox.ino index e1925de8..36ddc094 100644 --- a/sys/arduino/u8x8/MessageBox/MessageBox.ino +++ b/sys/arduino/u8x8/MessageBox/MessageBox.ino @@ -116,6 +116,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/sys/arduino/u8x8/PrintLine/PrintLine.ino b/sys/arduino/u8x8/PrintLine/PrintLine.ino index 100cb327..c81d004d 100644 --- a/sys/arduino/u8x8/PrintLine/PrintLine.ino +++ b/sys/arduino/u8x8/PrintLine/PrintLine.ino @@ -116,6 +116,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/tools/codebuild/codebuild.c b/tools/codebuild/codebuild.c index 544af273..0265d696 100644 --- a/tools/codebuild/codebuild.c +++ b/tools/codebuild/codebuild.c @@ -664,6 +664,23 @@ struct controller controller_list[] = { NULL } } }, + + { + "st75256", 32, 8, "u8g2_ll_hvline_vertical_top_lsb", "u8x8_cad_011", "", COM_4WSPI|COM_3WSPI|COM_6800|COM_8080, + "", /* is_generate_u8g2_class= */ 1, + { + { "jlx25664" }, + { NULL } + }, + }, + { + "st75256", 32, 8, "u8g2_ll_hvline_vertical_top_lsb", "u8x8_cad_st75256_i2c", "i2c", COM_I2C, + "", /* is_generate_u8g2_class= */ 1, + { + { "jlx25664" }, + { NULL } + } + }, { "st75256", 22, 13, "u8g2_ll_hvline_vertical_top_lsb", "u8x8_cad_011", "", COM_4WSPI|COM_3WSPI|COM_6800|COM_8080, diff --git a/tools/inoupdate/frame_buffer.ino b/tools/inoupdate/frame_buffer.ino index 287d2191..264a7d14 100644 --- a/tools/inoupdate/frame_buffer.ino +++ b/tools/inoupdate/frame_buffer.ino @@ -79,6 +79,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(/* 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/tools/inoupdate/page_buffer.ino b/tools/inoupdate/page_buffer.ino index 9117c193..9014134b 100644 --- a/tools/inoupdate/page_buffer.ino +++ b/tools/inoupdate/page_buffer.ino @@ -79,6 +79,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(/* 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/tools/inoupdate/u8x8.ino b/tools/inoupdate/u8x8.ino index 5a1d88cb..a1bd54a5 100644 --- a/tools/inoupdate/u8x8.ino +++ b/tools/inoupdate/u8x8.ino @@ -70,6 +70,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);