Code Monkey home page Code Monkey logo

xmemtft's Introduction

A C++ graphics library for the Arduino

xmemtft is a modular, optimised, object oriented graphics library for driving TFT panels on the Arduino. It is primarily targeted at the Arduino Mega but most of its functionality is available on the standard Arduino.

Features include:

  • Graphics primitives: lines, ellipse, rectangles, gradients etc.
  • TrueType proportionally-spaced fonts.
  • Compressed PNG-style graphics.
  • JPEG decompression and display.
  • External memory (XMEM) and highly optimised GPIO interfaces.

The main documentation for this library can be found at my website in a number of articles supported by demo code and videos on YouTube:

Nokia QVGA TFT LCD Graphics Library
Interfacing the Nokia 6300 QVGA to the standard Arduino
Nokia N82 2.4" QVGA TFT on the Arduino
Reverse engineering the Nokia N95 8Gb QVGA LCD
Reverse engineering the Nokia N93 QVGA LCD
Reverse engineering the Nokia E73 QVGA LCD
A generic 16-bit LCD adaptor for the Arduino
Reverse engineering the LG KF700 480x240 widescreen LCD
Reverse engineering the Sony Ericsson Vivaz high resolution 640x360 cellphone LCD

Installation

Visit my downloads page to download a package that you can just unzip into your Arduino IDE's libraries subdirectory. The next time you restart the Arduino IDE you will see that all the examples are available via the IDE menu.

Supported panels

The following are supported using the external memory (XMEM) access mode:

  • Nokia 6300
  • Nokia N82
  • Nokia N95 8Gb
  • Nokia N93
  • Nokia E73
  • LG KF700
  • Sony Ericsson Vivaz U5

The following are supported using my generic 16-bit LCD adaptor running the highly optimised GPIO driver. Additionally, the Adafruit ILI9325 shield is supported via a driver contributed by Colin Irwin.

  • ILI9325
  • ILI9327
  • ILI9481
  • HX8347A
  • HX8352A
  • R61523

Contributing

Contributions to xmemtft are welcome. Please follow these steps to ensure a smooth workflow:

  • Clone the main xmemtft repo into your personal account and create a branch off master for your work. Give it a short meaningful name that allows people to get a good idea at-a-glance of what you've done.

  • Write your contribution while trying to stay within the coding style evident within the library.

  • When you're happy with your code, first do a merge back from the current master to ensure you're still compatible and then send me a pull request. I will code-review the pull-request and when we're all happy I will accept it and do the merge back into master.

From time to time I will take the current master branch, tag it with a version number and create a zip package on my website's downloads page that people can use to install the driver into the Arduino IDE.

xmemtft's People

Contributors

andysworkshop avatar mic159 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.