| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- U8glib V2: Name and project goals
- https://github.com/olikraus/u8g2
- U8g2 = Universal 8bit Graphics
- [U]niversal: Support for many displays ans development platforms
- [8]bit: Initial focus had been 8 bit microcontroller systems
- [g]raphics": U8g2 is a graphics library with focus on monochrome graphics displays
- [2]: Second generation and successor of u8glib
- U8glib V2 Goals
- - Support for monochrome LCDs and OLEDs
- - Focus on "monochrome"
- - Low memory footprint
- U8glib V2: Features and Limitations
- - Full Memory Buffer
- - 3-wire-SPI
- - Support for Arduino Libraries SPI and TWI
- - Unicode Support
- Unicode plane 0 (Basic Multilingual Plane, BMP, glyphs with 0x0000-0xffff)
- is fully supported.
- Limitation: Unicode planes > 0 are not supported
- - UTF-8 Support
- 2 and 3 byte sequences are detected and handled.
- Limitation:
- Behavior for sequences with more than 3 bytes is unknown.
- - Large number of fonts
- - Compilation speed improved (font data)
- - "Text only" sub library: U8x8
- - Hardware supported display flip
- - Better hardware support: Tested with avr, esp8266 and sam architectures.
- u8g vs. u8g2
- Major Changes (Code rework required)
- - The name of the include file has changed: Use
- #include "U8g2lib.h"
- - The native type for pixel coordinates has changed to u8g2_uint_t
- Use the following line to redefine this at the beginning of your code
- typedef u8g2_uint_t u8g_uint_t;
- - Old Arduino IDE 00xx (before 1.00) is not supported any more.
- ARDUINO macro must be >= 100
- - begin() must be called (this was optional in U8glib)
- - constructor contains name of communicaton interface and
- also contains the display orientation as first argument
- - u8g2.drawStr90 does not exist any more, use
- void u8g2_SetFontDirection(u8g2_t *u8g2, uint8_t dir);
- - "P" versions of the string functions are not yet implemented.
- This includes drawStrP(), getStrWidthP(), etc
- Use the print function with the F() macro instead.
- - In U8glib font transparency was defined in the .begin() statement. This is now
- handled by setFontMode().
- - Screen rotation is handled by the constructor in u8g2
- The functions undoRotation, setRot90, setRot180 and setRot270 are
- replaced by the first argument of the constructor
- - Screen scaling is not there in u8g2
- It is completly removed, there are no corresponding function in u8g2
- for undoScale() and setScale2x2().
- - setColorEntry(), setHiColor(), setHiColorByRGB(), setRGB: Not supported any more
- (u8g2 focus are monochrome displays, use Ucglib instead)
- - getMode(): Is not available any more because there is only one monochrome mode.
- - setDefaultForegroundColor(), setDefaultBackgroundColor() and
- setDefaultMidColor() are not required any more. These functions do not
- exist in U8g2. Use setDrawColor() instead.
- - getFontLineSpacing() and setFontLineSpacingFactor() are not supported any more.
- - getStrPixelWidth() is replaced by getStrWidth()
- - setHardwareBackup() not supported any more. Might be implemented later
- - Cursor functions are not available. This includes:
- setCursorFont(), setCursorStyle(), setCursorPos(), setCursorColor(),
- enableCursor(), disableCursor(), drawCursor()
- - Virtual screen handling is not supported:
- setVirtualScreenDimension(), addToVirtualScreen()
-
- Minor Changes (Code update might be required)
- - U8g2 drawTriangle() expects signed arguments (u8glib expects unsigned arguments)
- - U8g2 has different font names. Some of the old font names are known to u8g2 and are
- mapped automatically. If the font name is unknown, please choose a different font from the font list.
- Change Notes (No code change required)
- - sleepOn(), sleepOff(): supported, but better user setPowerSave()
- - setColorIndex() and getColorIndex() are renamed to setDrawColor() and
- getDrawColor(). The old names are still supported.
- - getFontAscent() and getFontDescent() are renamed to getAscent() and getDescent()
- The old names are still supported.
- - Signal names are renamed in the constructor calls:
- U8glib sck == U8g2 clock
- U8glib mosi == U8g2 data
- U8glib a0 == U8g2 dc
- - getHeight() renamed to getDisplayHeight(), old name still exists
- - getWidth() renamed to getDisplayWidth(), old name still exists
-
|