QtLedTest

Project source: QtLedTest on GitHub
Screen shot:

Description

This is a little program I threw together to help evaluate different OLED displays and GUI layouts for them. Internally, it's comprised of 1 external widget and 3 of my own:

Future work

I'd really like to make the SSD1306 simulation a bit more realistic, and most importantly make it work asynchronously from the main Qt thread. Right now the entire interface locks up while the fairly lengthy process of rendering the scene entirely through setPixel() calls, then transfering the 1k (8 pages of 128 columns) of memory, 1 byte at a time, and finally rendering the individual pixels one at a time. On my reasonably powerful laptop (2x Core-i7), this takes a noticeable amount of time. Another thought I had, was to maybe split the display and user-inter code in to separate processes connected via IPC mechanism. I could then re-compile and re-run the user logic while keeping the display on and active.

Certainly, the next thing I'll probably actually work on is getting the MainWindow class to remember the selected options when you restart the program. ;-)

Building it yourself

Pre-reqs:

Build instructions

git clone https://github.com/jnwatts/QtLedTest.git
cd QtLedTest
git submodule init
git submodule update
cd QLedMatrix
qmake && make -j4
cd ../
qmake && make -j4

Running the program

Unless you manually copy QLedMatrix/build/libqledmatrix.so to somewhere in your library path (/usr/local/lib perhaps?), you'll need to prefix the command with LD_LIBRARY_PATH:
LD_LIBRARY_PATH=QLedMatrix/build/ ./QtLedTest