Skip to content

Commit

Permalink
Version 1.0.3
Browse files Browse the repository at this point in the history
- added grey levels graphics support GxEPD_HD_4G.h, GxEPD_HD_16G.h, GxEPD_HD_GreyGraphics.ino
- added support for Waveshare ED060SCT on IT8951 Driver HAT
- added touch support for GxGDE060F3-T (initial version, GxFT5436 touch driver for FT5436 controller)
- added fix for GFX_FontExtension (added adapted getTextBounds)
  • Loading branch information
ZinggJM committed Oct 27, 2020
1 parent 415512a commit ccd8a98
Show file tree
Hide file tree
Showing 28 changed files with 2,816 additions and 41 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@ E-Paper display library for Arduino for HD parallel interface displays from Dali
- CPU Speed(MHz): "72MHz (Normal)"
- Upload method: "STLink"

### Version 1.0.2
### Version 1.0.3
- added grey levels graphics support GxEPD_HD_4G.h, GxEPD_HD_16G.h, GxEPD_HD_GreyGraphics.ino
- added support for Waveshare ED060SCT on IT8951 Driver HAT
- added touch support for GxGDE060F3-T (initial version, GxFT5436 touch driver for FT5436 controller)
- added fix for GFX_FontExtension (added adapted getTextBounds)
#### Version 1.0.2
- fixed controller buffer partial overwrite issue with GDE060F3 or GDEW080T5 (higher buffer base address)
#### Version 1.0.1
- added GxGDE060F3 for panel GDE060F3 6" 1024x758
Expand Down
39 changes: 30 additions & 9 deletions examples/GxEPD_HD_Example/GxEPD_HD_Example.ino
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,16 @@
//
// Library: https://github.com/ZinggJM/GxEPD_HD
//
// To be used with "STM32F103VE" of "Generic STM32F103V series" of package "STM32 Boards (STM32Duino.com)" for Arduino.
// To be used with Board: "Generic STM32F1 series" Board part number: "Generic F103VE" of package "STM32 Boards (select from submenu)" for Arduino
// Add this package by adding "https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/master/STM32/package_stm_index.json"
// to Preferences "Additional Boards Manager URLs" and installing with Boards Manager.
//
// Can also be used with "STM32F103VE" of "Generic STM32F103V series" of package "STM32 Boards (STM32Duino.com)" for Arduino.
// download this package as .zip file from https://github.com/rogerclarkmelbourne/Arduino_STM32
// and install it as described in https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation
//
// Can also be used with ESP32 boards, e.g. "DOIT ESP32 DEVKIT V1", with my proto board for DESTM32-Tcon-11.
//
// The e-paper display and demo board is available from:
// http://www.buy-lcd.com/index.php?route=product/product&path=2897_10571_10574&product_id=57650
// or https://www.aliexpress.com/store/product/6-inch-HD-Interface-High-resolution-electronic-paper-display-e-ink-epaper-with-TCON-Demo-Kit/600281_32838449413.html
Expand All @@ -29,29 +35,38 @@ GxDESTM32T io;
//#include <GxDESP32T/GxDESP32T.h>
//GxDESP32T io;
// next is for my DESP32T_BP (proto board) for TCon-11 parallel interface
#include <GxDESP32T_BP/GxDESP32T_BP.h>
GxDESP32T_BP io;
//#include <GxDESP32T_BP/GxDESP32T_BP.h>
//GxDESP32T_BP io;
// next is for ED060SCT on IT8951 Driver HAT e.g. with ESP32
#include <GxIT8951/GxIT8951.h>
GxIT8951 io(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4);
#endif

// select the base display class to use, only one
//GxGDE043A2 base_display(io); // default vcom used (-2.0V)
//GxGDE060BA base_display(io); // default vcom used (-2.0V)
GxGDE060BA base_display(io, -2.3); // vcom from sticker on flex connector of my panel, as double
//GxGDE060BA base_display(io, -2.3); // vcom from sticker on flex connector of my panel, as double
//GxGDE060BA base_display(io, uint16_t(2300)); // or as abs(vcom*1000) in mV, as uint16_t
//GxGDE060F3 base_display(io, -2.4); // vcom from sticker on flex connector of my panel, as double
GxGDE060F3 base_display(io, -2.4); // vcom from sticker on flex connector of my panel, as double
//GxGDEW080T5 base_display(io); // default vcom used (-2.2V)
// ED060SCT on IT8951 Driver HAT e.g. with ESP32
//GxED060SCT base_display(io); // default vcom used (-2.0V)

// select the graphics display template class to use, only one
#if (defined(ARDUINO_ARCH_STM32F1) && defined(ARDUINO_GENERIC_STM32F103V)) || (defined(ARDUINO_ARCH_STM32) && defined(ARDUINO_GENERIC_F103VE))
//GxEPD_HD_BW < GxGDE043A2, GxGDE043A2::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~30k RAM remaining
GxEPD_HD_BW < GxGDE060BA, GxGDE060BA::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~30k RAM remaining
//GxEPD_HD_BW < GxGDE060F3, GxGDE060F3::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~11k RAM remaining
//GxEPD_HD_BW < GxGDE060BA, GxGDE060BA::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~30k RAM remaining
GxEPD_HD_BW < GxGDE060F3, GxGDE060F3::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~11k RAM remaining
//GxEPD_HD_BW < GxGDEW080T5, GxGDEW080T5::HEIGHT / 2 > display(base_display); // half height, 2 pages, ~11k RAM remaining
#else
//GxEPD_HD_BW<GxGDE043A2, GxGDE043A2::HEIGHT> display(base_display); // full height, one page
GxEPD_HD_BW<GxGDE060BA, GxGDE060BA::HEIGHT> display(base_display); // full height, one page
//GxEPD_HD_BW<GxGDE060BA, GxGDE060BA::HEIGHT> display(base_display); // full height, one page
//GxEPD_HD_BW<GxGDE060F3, GxGDE060F3::HEIGHT> display(base_display); // full height, one page
//GxEPD_HD_BW<GxGDEW080T5, GxGDEW080T5::HEIGHT> display(base_display); // full height, one page
// ED060SCT on IT8951 Driver HAT e.g. with ESP32
GxEPD_HD_BW<GxED060SCT, GxED060SCT::HEIGHT> display(base_display); // full height, one page, on ESP32
//GxEPD_HD_BW < GxED060SCT, GxED060SCT::HEIGHT / 2 > display(base_display); // half height, 2 pages, e.g. on ESP8266
//GxEPD_HD_BW < GxED060SCT, GxED060SCT::HEIGHT / 4 > display(base_display); // quarter height, 4 pages, e.g. on MKR1000
#endif

// uncomment to see bitmap examples
Expand All @@ -69,12 +84,18 @@ GxEPD_HD_BW<GxGDE060BA, GxGDE060BA::HEIGHT> display(base_display); // full heigh
#include <Fonts/FreeMonoBold18pt7b.h>
#include <Fonts/FreeMonoBold24pt7b.h>

#if (defined(ARDUINO_ARCH_STM32F1) && defined(ARDUINO_GENERIC_STM32F103V)) || (defined(ARDUINO_ARCH_STM32) && defined(ARDUINO_GENERIC_F103VE))
#if (defined(ARDUINO_ARCH_STM32F1) && defined(ARDUINO_GENERIC_STM32F103V)) // "STM32 Boards (STM32Duino.com)"
// select diagnostic output stream, only one
//HardwareSerial& DiagnosticStream = Serial1; // pins PA9, PA10
HardwareSerial& DiagnosticStream = Serial2; // pins PA2, PA3 for USB jumpers
//HardwareSerial& DiagnosticStream = Serial3; // pins PB10, PB11
//USBSerial& DiagnosticStream = Serial; // pins PA11, PA12 USB direct?
#elif (defined(ARDUINO_ARCH_STM32) && defined(ARDUINO_GENERIC_F103VE)) // "STM32 Boards (select from submenu)"
//HardwareSerial DiagnosticStream(PA10, PA9); // pins PA9, PA10
HardwareSerial DiagnosticStream(PA3, PA2); // pins PA2, PA3 for USB jumpers
//HardwareSerial DiagnosticStream(PB11, PB10); // pins PB10, PB11
#elif defined(ARDUINO_ARCH_SAMD)
Serial_& DiagnosticStream = Serial; // MKR1000 compile test
#else
HardwareSerial& DiagnosticStream = Serial; // ESP32
#endif
Expand Down
Loading

0 comments on commit ccd8a98

Please sign in to comment.