NuttX on Motorola C155: a long way to get visible

Me and Denis ‘GNUtoo’ Carikli are working on NuttX port for Motorola C155 and we faced many issues porting the graphic LCD (based on Solomon SSD1783) for NX subsystem. Denis did the hardest part of work, porting the LCD driver from Osmocon to NuttX, I helped him doing extensive tests and investigation why it was not working correctly.

I noticed only even columns were displayed and it was happening because use was using BPP=16 but NX buffer was 32 bits.
Greg Nutt said me ‘nxgl_mxpixel_t’ is defined with max BPP supported on defconfig. Then I realized this issue happened because we forgot to put disable 24BPP define on our config file (CONFIG_NX_DISABLE_24BPP=y), then NX was wrongly adding support to 24 bits display so 32 bits buffer was needed.

Below is a small part of steps we followed before get NuttX with graphic interface working on C155.

When we got some progress with our LCD driver we saw this nximage, note only even columns are displayed:

After scaling down the logo NX displayed this image:

Finally after fixing the BPP issue:

Here is nxhello example, Hello. World:

Hmm, NX doesn’t like Romeo, it is crashing, more investigation ahead:

Finally the nxlines example with running pointer (slash) :