Giter Site home page Giter Site logo

pushedssd1306's Introduction

SSD1306 led driver library

Description

PushedSSD1306 is a c++ library, mainly suited for led 128x64 displays driven by SSD1306 with I2C.

It uses display driver in page addressing mode, allowing you to write strings and chars to any position with any compatible font.

Work in progress

  • Full custom font support
  • 128x64 displays
  • 128x32 displays
  • Custom I2C library support
  • Char and C-string writing
  • Check whether driver was connected with given addres or not
  • Drawing functionality
    • Rectangles
    • Single Pixels
    • More comples geometrical shapes
    • Diagrams and graphics
    • Custom pictures (you can just define custom font wih picture)

Requirements

  1. C++ compiler with support of C++14 or later
  2. Following header files in standard library:
  3. stdint.h (uintX_t type definitions)
  4. stddef.h (size_t definition)

Compatibility

PushedSSD1306 uses I2C to communicate with display driver.

It has built-in support for TwoWire and TinyWireM communication libraries.

But you can adpot and use almost any other library if you want (see adoption examples).

Motivation

There are many nice, shiny and beautiful led libraries for avr/esp32 etc.

But I wanted to use one library for all combinations of board+I2Clibrary+platform

And it was a bit painly to figure out that yet another library uses only Wire.h, or defines fonts in PROGMEM (if you want to use esp32), or does not allow to define custom fonts, or contains 5-6 different fonts that compiles into resulting binary file.

So, here it is. Library for SSD1306 independent from Arduino.h, that allows you to use const or PROGMEM fonts, any I2C library you like

Examples

Check out the examples/ subfolder

License

PushedSSD1306 is free software, distributed without any warranty.

You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

Some separate files not so somplex or contain only simple definitions and you are free to use them as standalone without any conditions as long as you credit me somewhere

Have fun!

If you find this code useful, I will be glad if you use it in your GPL3-or-later-compatible licensed project.

"Why GPL-3. Author, are you too proud?"

Nope. Just join us now and share the software. My code is neither perfect nor revolutionary. But the world is crazy, you know

Any help and criticism is greatly appreciated.

pushedssd1306's People

Contributors

yiffyrusdev avatar

Watchers

 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.