diff -r 000000000000 -r 88d965579617 components/u8g2/doc/u8g2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/u8g2/doc/u8g2.txt Tue Oct 08 12:00:31 2019 +0200 @@ -0,0 +1,110 @@ + +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 + +