OLED¶
There is support for OLED 128x64 display via I2C. The display is refreshed every 3 seconds.
Elements of page¶
- Configuration form with fields for enabling OLED display support, setting the I2C bus frequency and content to display. From SW 1.44 you can also set the display time and define up to 4 screens.
- List of readings from the LC3 that can be shown on display.
- Virtual OLED function.
OLED display configuration¶
The display presents data in the format of 4 lines up to 16 characters long. The characters a-z
, A-Z
, 0-9
, =
, %
and space are allowed (%
only for inserting readings/variables from LK).
You can also insert values from sensors, just like in the HTTP client, using a special format. More information on this here.
Configuration of multiple screens¶
From version SW 1.44 you can define up to 4 different screens and set the display time.
The display time is the time after which the screen will turn off. The time is counted from the moment the screen is turned on or the screen is changed with the action of Events or Scheduler.
Mentioned action OLED ON/NEXT SCREEN, available in Events and Scheduler, allows you to configure cyclic changing of screens or switching on and changing screens in response to an event, e.g. a button connected to INPD. This action turns the screen on if it was turned off and changes to the next screen if it was already on.
Cyclic changing of screens¶
Continuously changing screens can be configured in many ways, offering different effects. Two of the possibilities are described below:
-
displaying successive screens without dimming the display
To do this, in the Scheduler tab, add the entry as below and set the display time equal to 0 or longer than the period defined in the Schedule (here selected 15s).
-
displaying successive screens with the display dimming
To do this, add two entries to the Scheduler as in the image below and set the display time to more than 0 (recommended not less than 5) and less than the period of defined entries (here 10s). It is important that both entries are activated at the same time, i.e. with a single save of form. This is because the OLED ON/NEXT SCREEN action must be performed twice in quick succession to turn on the display and change to the next screen.
Note that, instruction above is for HW 3.5+ SW 1.45b+, when the change to OLED ON/NEXT SCREEN was introduced. It turns on the screen if it was turned off, changes the screen if it was already turned on (previously it changed the screen and turned the screen on if necessary).
Changing screens from events¶
Using Events, you can control the display depending on the readings available on the device, e.g. when one condition is met, display screen 1, and when the second condition is met, screen 2, or control the screen with the button.
Controlling the screen with a button¶
One option may be to use the INPD logic input with a button connected to it (the button connects the INPD input to ground, with the Pull Up option enabled). In Events, the following entry should be added (second visible entry with OUT0 allows you to test the function without connecting the button):
Pressing the button (or the OUT0 button) will turn on the display or change the displayed screen.
Notes on the operation of the OLED function¶
Problem with too long lines
Be careful not to enter more than 16 characters in 4th line, because the display will only display characters after the 16th position from mentioned line.
For example, 12345678901234567
in line 4 will only display 7
on line 1.
Problem with blank lines
Insert at least one space in empty lines. Otherwise, the displayed content may be wrong.
For example, a clean line 2 will cause that the display will show lines 1, 3, 4, 1.
Display initialization
The display initialization is carried out at the LC3 startup and when it is turned on in the OLED tab. Therefore, the display must be connected before the LK start or if later connected, you must enable its operation (if it was already on, you must turn it off and on again).
Virtual OLED¶
Available since HW 3.5+ SW 1.31
Experimental feature that displays content of OLED display in browser. Just fill in the form and visit the page via one of links in the section on page. There is no need for actual OLED display and the page can be viewed without signing in. The idea is to use it as remote display for LK - device with display only needs to view this page in browser.