Skip to content

gavinlyonsrepo/displaylib_1bit_PICO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Website Rss Donate

Display Library for 1-bit color graphic displays for Raspberry PI PICO

Table of contents

Overview

  • Name : displaylib_1bit_PICO
  • Description :
  1. C++ Library to support 1-bit color graphic displays for the Raspberry PI PICO.
  2. 10 fonts included, fonts can easily be added or removed.
  3. Graphics class included.
  4. Bitmaps supported.
  5. Polymorphic print class included to print many data types.
  6. Multiple displays supported, see supported-devices, new components can be easily added.
  7. URL project github link
  • Author: Gavin Lyons

  • Developed on Toolchain:

    1. Raspberry pi PICO RP2040
    2. SDK(1.4.0) C++20
    3. compiler G++ for arm-none-eabi((15:10.3-2021.07-4)
    4. CMAKE(VERSION 3.18) , VScode(1.84.2)
    5. Linux Mint 22.1

Documentation

Supported devices

Component name Type Interface Readme URL link
ERM19264 UC1609 LCD SPI Readme
PCD8544 LCD SPI Readme
ERM1 CH1115 OLED SPI Readme
SSD1306 OLED I2C Readme
SH1106 SH1107 OLED I2C Readme

API Documentation

The application programming interface html documentation is at link hosted on github pages and generated by Doxygen. Detailed project overview images are available there.

Fonts

The font system readme for the graphic displays is in the 'doc' folder at link.

Software

Test

There are multiple examples for each device, User picks the one they want by editing the: CMakeLists.txt :: add_executable(${PROJECT_NAME} section. Comment in one path and one path ONLY. See displays readme's for more details.

Advanced Graphics

There is an advanced graphics modes in library. Standard graphics supports drawing lines, pixels
rectangles, triangles, circles and rounded rectangles. Advanced graphics supports drawing polygons, dot grid, quadrilaterals, arcs, ellipses and lines at an angle. If you don't want these 'advanced' functions and want to save memory space: Simply comment out line 14 #define ADVANCED_GRAPHICS_ENABLE in display_graphics.hpp. This will disable advanced graphics mode.

Print

The print class can print integers, floats, characters, character arrays and C++ std::strings. It can also format floating point numbers to a number of decimal places. and format integers in different base number systems. Support for other data types can be added.

File system

Class diagram:

image link

Error Codes

Most functions that return a value, return a enum 'DisplayRet::Ret_Codes_e'. Zero for success and a positive number for an error code.

Notes

Older versions

  • This repo before version 2.0.0 was originally called SSD1306_OLED_PICO and just supported ssd1306.