emWin problem with RA8835 controller on LPC1788

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by navman on Mon Oct 08 09:06:39 MST 2012
We are trying to port the emWin precompiled library to a board which uses LPC1788 + monochrome graphics LCD 320x240 with the RA8835 LCD controller. We have run into few problems.

We realized that the emWin has support for S1D13700 (under GUIDRV_SLin) LCD controller whose commands and data organization are compatible with the RA8835 controller.

So we used the GUIDRV_Slin driver and the S1D13700 driver in the Slin group. The initialization is ok. We know this is working because we put some custom code after all the initialization is done to draw some vertical stripes which shows up. But the code hangs after the initialization is done and the emWin takes over after sometime.

We have analyzed what is going on by logging the data & commands passed to the LCD routines and understood that
1) emWin issues the LCD write data to fill the entire LCD memory with 0s.
2) It them calls our initialization routine which is initializing the LCD and displaying vertical stripes to prove that LCD is working.
3) emWin is then clearing the LCD line by line by issuing the set address command then writing zeros to the memory to the extent needed to clear that line. It then sets a new address for the next line, clear it and so on. We see that the screen clears (the vertical stripes introduced in initialization disappear).
4) After clearing the screen, it simply hangs & fails to display simple text that is prepared using the emWin library.

There is an alternate method that works. That is to use the GUIDRV_Lin which is just a frame buffer which emWin prepares. We then copy the frame buffer to LCD periodically. But it takes up awful lot of time (about 40ms) to do each transfer and also there is snow on the display because we might be copying the frame buffer to LCD when it is being modified.

Any help on who to get the S1D13700 driver working would be much appreciated. Also any help on improving the transfer speed of the frame buffer method and ways to avoid snowing would also be welcome.