Skip to content

Adafruit TFT library using 8 bit parallel access ported to STM32

Notifications You must be signed in to change notification settings

miekush/Adafruit_TFTLCD_8bit_STM32

 
 

Repository files navigation

This is a library for the 8 bit parallel driven TFT displays, ported from stevstrong's port of the original Adafruit library [https://github.com/adafruit/TFTLCD-Library] and adapted to STM32F103Cx controller. No other CPU architecture is supported at the moment.

This library depends on the ST HAL based core files from:

https://github.com/stm32duino/Arduino_Core_STM32

The scope of this library is to achieve highest display update rate while maintaing the compatibility with original Adafruit display API. Only tested with ILI9328 and "unknown" ILI9341-compatitble driver chips.

Contribution from users for other display control types is welcome and made easy by allocating separate files for each controller type in part.

Benchmark Using Adafruit 3.2" ILI9341 based TFT and STM32 Blue Pill @ 72 MHz:

Benchmark Time (microseconds)
Screen fill 65189
Text 20945
Lines 176017
Horiz/Vert Lines 7769
Rectangles (outline) 6087
Rectangles (filled) 151762
Circles (filled) 69631
Circles (outline) 75129
Triangles (outline) 38230
Triangles (filled) 91974
Rounded rects (outline) 27250
Rounded rects (filled) 168812

How to use:

  • Place the Adafruit_TFT library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE.

  • Also requires the Adafruit_GFX library for Arduino. https://github.com/adafruit/Adafruit-GFX-Library . Alternatively, you can change Adafruit_TFTLCD_8bit_STM32.h to #include <Adafruit_GFX_AS.h>, instead.

  • Pin connections can be configured near the top of Adafruit_TFTLCD_8bit_STM32.h . Note that the data lines have to be on consequtive pins of the same output register (PA0...PA7, by default). To use the higher pins (PA8..PA15), set TFT_DATA_SHIFT to 8. The four control pins must all be one output register (the same as the data pins, or a different one), but can be freely assigned within the register. The TFT reset line can be assigned, freely.

About

Adafruit TFT library using 8 bit parallel access ported to STM32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.0%
  • C 14.0%