About Chuck

Chuck enjoys electronics, coffee, cycling, skiing and scotch, not necessarily in that order. By day Chuck works trying remove bloat-ware from satellite set top boxes. By night he is an embedded software and hardware developer.

Yet another Nokia 6100 controller

Our lastest batch of 100 lcd boards has the Epson “Type B” controller. That is, it doesnt work quite right with the three bytes per two pixel mode. It needs to be set up in the two bytes per pixel mode. I.e.

WriteCommand(lctCmd, DATCTL); // Data Control
WriteCommand(lctData, 0x01); // normal orientation; scan across cols, then rows
//	WriteCommand(lctData, 0x02); // reverse... bottom up
WriteCommand(lctData, 0x00); // RGB arrangement (RGB all rows/cols)
if (m_epson_typeb){
WriteCommand(lctData, 0x04); // 16 bpp
} else {
WriteCommand(lctData, 0x02); // 12 bpp display
}

When loading pictures you can still use the 12bpp, but it fails when drawing lines of a single pixel width.

So now I have support for three controller types.

Yay, I guess.