I am still quite busy during work hours, but I decided to take a few days off to rest a bit. As a consequence, I started checking some old prototypes of mine, trying to free up a few breadboards as I am always running short of them. That’s when I discovered something I left unfinished in July 2019: the driver for an ILI9225 display that uses the 8080-parallel bus (as opposite to the ubiquitous SPI).
I sometimes use community or vendor frameworks/SDKs to be faster at prototyping, and this was no exception: the display driver was initially written for Mbed, targeting my STM32 F1 MCU (the famous “blue pill” that I also used for a couple of my devices).
I don’t usually use frameworks/SDKs for finished products, going the hard route with bare metal programming. However, I shipped a few prototypes of the Commodore 64 Cartridge Dumper (hardware version 1) that did use Mbed.
Here’s a simple diagram showing what I developed with what:
At the bottom I put bare metal projects, i.e. most of my devices: this usually means using
make. At the top I put Arduino libraries and sketches I developed to be quick with prototyping while retaining the interface of my own libraries. In the middle there’s Mbed and libopencm3 which I also used quite a bit for faster development of proofs-of-concept. I must say that I quite like low-level, but I never go down to assembly: either C or CPP are my languages of choice.
Here’s the results of this morning’s development: a fully functional display driver 🙂
The test scenario I am displaying in the above picture proves that the software support for orientation/rotation is working as expected. All in all, a nifty little display to work with and I can say that I finally got closure having finished coding its driver. I now plan to write a bare metal version of it and perhaps one that relies on libopencm3, although I am not sure I will ever need the latter.
Stay tuned for more!