Releases: bitbank2/OneBitDisplay
Fix for drawBMP
Additional e-paper panels
In this release I've added support for more e-paper panels from Good Display and DKE. I've also corrected some errors in the code to better support the "no-backbuffer" method of working with e-paper without requiring any MCU RAM to hold the graphics. See OneBitDisplay.h for the complete list of supported displays.
Refactors & Fixes
This release moves the code into several files to make it easier to use just the GFX functions without any OS/machine-specific code. This allows easier porting to non-Arduino embedded systems. I also updated the examples to reflect the changes to the API. I removed the animation and menu functions because they were taking up code space without adding much value to the library.
More refactoring
Continued cleanup of the support for e-paper displays.
Improved e-paper support and AVR changes
This release rounds out the e-paper support for systems with no (or little) RAM. Many functions will now write directly on the internal e-paper frame buffer instead of needing RAM from the MCU.
Added EPD panel support
This release adds support for a few popular e-ink panels such as the 2.9" 128x296 used in the Pimoroni Badger2040. I've written support for both full and partial updates in a way which integrates nicely with the C++ API. Documentation is still behind, but the demo sketch (epd_test) helps fill in the missing pieces.
Minor fixes
Added the setContrast() method and fixed some internal variables needed for SPI mode.
C++ wrapper API and lots of new features
The major change for this point release is the addition of a C++ wrapper API which mimics the Adafruit_GFX functions. This allows both C and C++ code to access all of the features of the library. Also in this release is support for the ST7302 low power LCD.
Added text rotation
This release adds support for a new display type (64x128 SH1107). This display is different from the SSD1306 128x64 in that the memory layout is rotated 90 degrees. Also in this release is the addition of drawing direction/rotation to the obdScaledString function. Now it allows drawing text of any size and any pixel boundary and in one of 4 directions/rotations.
New bitmap copy function and bug fixes
This release is focused on new functionality to allow OneBitDisplay to be used as a general purpose 1-bpp graphics library. The 'virtual' display option allows the creation of any sized 1-bpp bitmap. The only limitation was that the internal memory format mimicked OLED/LCD memory layout and was not compatible with other types of displays. I added the obdCopy() function which allows the internal bitmap data to be converted to any output format desired. It also includes options to rotate+flip the bitmap for maximum flexibility.
Another change in this release is the separation of the generic C code from the Arduino-specific parts. This will allow easy integration of the code into other embedded environments, and PCs/mobile.
This release also includes bug fixes for drawing functions which didn't properly support larger (virtual) bitmaps correctly.