mean00 / simpler_SSD1306

easy to port SSD1306 library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is a modified version of the SSD1306 driver from http://www.RinkyDinkElectronics.com/, mostly rewritten

What are the changes ?

  • Simple & fast
  • C++ and Rust version
  • Adafruit "Truetype" font support

And the details ?

  • Rust : Only the modified page is refreshed on screen, that version is optimized a lot.

  • Rust : Support for pre-rotated bitmaps (see the bitmap_generation_tool), raw or heatshrunk. Pre rotated blit is very fast.

  • Rust : There is a simulator to test your layout on a PC in the sim folder ( using macroquad ).

  • C++ : Basic optimization, draw_line is slow.

  • There is not a lot of sanity check in the code, it slows things down

Porting

  • C++: The access to the device is done through derivation. So just write your derived class providing the sendCommand and update functions for YOUR platform, for YOUR connectivity (i2c/spi). No #ifdef all around the place + you keep the code optimized for a specific platform.
  • Rust : There is an access traits to talk to the SSD1306. some sample are provided.

Platforms supported

Two examples provided :

  • lnArduino : stm32duino i2c
  • Arduino : untested, probably not working

About

easy to port SSD1306 library


Languages

Language:Rust 62.4%Language:C++ 22.0%Language:C 9.5%Language:CMake 3.7%Language:Python 2.2%Language:Shell 0.2%