ucglib doc
This commit is contained in:
parent
a2bca463a0
commit
a264cdb25d
55
README.md
55
README.md
|
@ -470,6 +470,61 @@ In contrast to the source code based inclusion of XBMs into u8glib, it's require
|
|||
- [ ] setRGB()
|
||||
- [ ] setDefaultMidColor()
|
||||
|
||||
####Operate a display with ucglib
|
||||
Ucglib is a graphics library with support for color TFT displays.
|
||||
|
||||
Ucglib v1.3.3
|
||||
|
||||
#####SPI connection
|
||||
The HSPI module is used, so certain pins are fixed:
|
||||
* HSPI CLK = GPIO14
|
||||
* HSPI MOSI = GPIO13
|
||||
* HSPI MISO = GPIO12 (not used)
|
||||
|
||||
All other pins can be assigned to any available GPIO:
|
||||
* CS
|
||||
* D/C
|
||||
* RES (optional for some displays)
|
||||
|
||||
Also refer to the initialization sequence eg in [GraphicsTest.lua](lua_examples/ucglib/GraphicsRest.lua):
|
||||
```lua
|
||||
spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, spi.DATABITS_8, 0)
|
||||
```
|
||||
|
||||
#####Library usage
|
||||
The Lua bindings for this library closely follow ucglib's object oriented C++ API. Based on the ucg class, you create an object for your display type.
|
||||
|
||||
ILI9341 via SPI:
|
||||
```lua
|
||||
cs = 8 -- GPIO15, pull-down 10k to GND
|
||||
dc = 4 -- GPIO2
|
||||
res = 0 -- GPIO16, RES is optional YMMV
|
||||
disp = ucg.ili9341_18x240x320_hw_spi(cs, dc, res)
|
||||
```
|
||||
|
||||
This object provides all of ucglib's methods to control the display.
|
||||
Again, refer to [GraphicsTest.lua](lua_examples/ucglib/GraphicsTest.lua) to get an impression how this is achieved with Lua code. Visit the [ucglib homepage](https://github.com/olikraus/ucglib) for technical details.
|
||||
|
||||
#####Displays
|
||||
To get access to the display constructors, add the desired entries to the display table in [app/include/ucg_config.h](app/include/ucg_config.h):
|
||||
```c
|
||||
#define UCG_DISPLAY_TABLE \
|
||||
UCG_DISPLAY_TABLE_ENTRY(ili9341_18x240x320_hw_spi, ucg_dev_ili9341_18x240x320, ucg_ext_ili9341_18) \
|
||||
UCG_DISPLAY_TABLE_ENTRY(st7735_18x128x160_hw_spi, ucg_dev_st7735_18x128x160, ucg_ext_st7735_18) \
|
||||
```
|
||||
|
||||
#####Fonts
|
||||
ucglib comes with a wide range of fonts for small displays. Since they need to be compiled into the firmware image, you'd need to include them in [app/include/ucg_config.h](app/include/ucg_config.h) and recompile. Simply add the desired fonts to the font table:
|
||||
```c
|
||||
#define UCG_FONT_TABLE \
|
||||
UCG_FONT_TABLE_ENTRY(font_7x13B_tr) \
|
||||
UCG_FONT_TABLE_ENTRY(font_helvB12_hr) \
|
||||
UCG_FONT_TABLE_ENTRY(font_helvB18_hr) \
|
||||
UCG_FONT_TABLE_ENTRY(font_ncenR12_tr) \
|
||||
UCG_FONT_TABLE_ENTRY(font_ncenR14_hr)
|
||||
```
|
||||
They'll be available as `ucg.<font_name>` in Lua.
|
||||
|
||||
|
||||
####Control a WS2812 based light strip
|
||||
```lua
|
||||
|
|
Loading…
Reference in New Issue