8caeddde15
A lot of spelling corrections. Now repo will sound like educated person :) Co-authored-by: Bill Thomson <bt@kattt.org>
64 lines
2.3 KiB
Markdown
64 lines
2.3 KiB
Markdown
# I2C 4 Line Display Usermod
|
|
|
|
First, thanks to the authors of the ssd11306_i2c_oled_u8g2 mod.
|
|
|
|
Provides a four line display using either
|
|
128x32 or 128x64 OLED displays.
|
|
It can operate independently, but starts to provide
|
|
a relatively complete on-device UI when paired with the
|
|
Rotary Encoder UI usermod. I strongly encourage you to use
|
|
them together.
|
|
|
|
[See the pair of usermods in action](https://www.youtube.com/watch?v=tITQY80rIOA)
|
|
|
|
## Installation
|
|
|
|
Copy and update the example `platformio_override.ini.sample`
|
|
from the Rotary Encoder UI usermode folder to the root directory of your particular build.
|
|
This file should be placed in the same directory as `platformio.ini`.
|
|
|
|
### Define Your Options
|
|
|
|
* `USERMOD_FOUR_LINE_DISPLAY` - define this to have this mod included wled00\usermods_list.cpp - also tells Rotary Encoder usermod, if installed, the display is available
|
|
* `FLD_PIN_SCL` - The display SCL pin, defaults to 5
|
|
* `FLD_PIN_SDA` - The display SDA pin, defaults to 4
|
|
|
|
All of the parameters can be configured via the Usermods settings page, inluding GPIO pins.
|
|
|
|
### PlatformIO requirements
|
|
|
|
This usermod requires the `U8g2` and `Wire` libraries. See the
|
|
`platformio_override.ini.sample` found in the Rotary Encoder
|
|
UI usermod folder for how to include these using `platformio_override.ini`.
|
|
|
|
## Configuration
|
|
|
|
* `enabled` - enable/disable usermod
|
|
* `pin` - GPIO pins used for display; I2C displays use Clk & Data; SPI displays can use SCK, MOSI, CS, DC & RST
|
|
* `type` - display type in numeric format
|
|
* 1 = I2C SSD1306 128x32
|
|
* 2 = I2C SH1106 128x32
|
|
* 3 = I2C SSD1306 128x64 (4 double-height lines)
|
|
* 4 = I2C SSD1305 128x32
|
|
* 5 = I2C SSD1305 128x64 (4 double-height lines)
|
|
* 6 = SPI SSD1306 128x32
|
|
* 7 = SPI SSD1306 128x64 (4 double-height lines)
|
|
* `contrast` - set display contrast (higher contrast may reduce display lifetime)
|
|
* `refreshRateSec` - display refresh time in seconds
|
|
* `screenTimeOutSec` - screen saver time-out in seconds
|
|
* `flip` - flip/rotate display 180°
|
|
* `sleepMode` - enable/disable screen saver
|
|
* `clockMode` - enable/disable clock display in screen saver mode
|
|
* `i2c-freq-kHz` - I2C clock frequency in kHz (may help reduce dropped frames, range: 400-3400)
|
|
|
|
## Change Log
|
|
|
|
2021-02
|
|
* First public release
|
|
|
|
2021-04
|
|
* Adaptation for runtime configuration.
|
|
|
|
2021-11
|
|
* Added configuration option description.
|