cancel
Showing results for 
Search instead for 
Did you mean: 

stemwin support for GUIDRV_Mem

vismay1989
Associate II
Posted on June 01, 2014 at 21:49

Hi All,

We are using STM32F429 Controller with LS013B7DH03 Monochrome LCD.

As per document STemWin5.pdf  :

30.1.4 Available, but not yet migrated drivers

GUIDRV_Mem   - No controller, writes into main memory

Requires ISR or special hardware to refresh LCD

(monochrome displays)

So It seems our LCD should fit into category of GUIDRV_Mem. and So as per document it seems this drivers are not supported in current version of stemwin  STemWinLibrary522.

So is there any new version available of stemwin which supports GUIDRV_Mem ?

As we are using MDK-Middleware Version 5.1.4 for Keil. It has example LCDConf.c under Sample\LCDConf for different displays. So any sample config file LCDConf.c available which demonstrates using GUIDRV_Mem ?

Please help us on this.

-Vismay

#stemwin-stm32f429 #stemwin #stm32f429discovery
3 REPLIES 3
vismay1989
Associate II
Posted on January 17, 2015 at 07:03

Hi All,

Somehow, I managed to run GUI Driver with GUIDRV_Lin_1 after lots of effort.

 

GUI_DEVICE_CreateAndLink(GUIDRV_LIN_1, GUICC_1, 0, 0);

 LCD_SetSizeEx (0, 144, 128);

 LCD_SetVSizeEx(0, 144, 128);

Width = 144  =  128 bit for pixels + 8 bits idle + 8 bits Next Line No.

unsigned short int frameBuffer[1152]; //9 -  half words per line , 128 such lines

//Passing framebuffer address to GUI driver to fill drawn image/window.

LCD_SetVRAMAddrEx(0, (void *)frameBuffer);

//To Transfer image from memory to display

LCD_update()

{

int i,j;

unsigned char *p = (unsigned char *)frameBuffer;

LCD_CS_HIGH();

for(i=0;i<=100;i++);

lineno = 1;

LCD_SendByte(MLCD_WR);

LCD_SendByte(lineno);

for ( i=1; i<=128; i++ ) {

    /* Send pixels for this line */

    for ( j=0; j<18; j++ ) {

      LCD_SendByte(*p);

      p++;

    }

}

for(i=0;i<=100;i++);

LCD_CS_LOW();

}

So whenever i have drawn the image using GUI Driver like calling GUI_DrawBitmap();

I call LCD_Update() function to transfer image to display. Is there any way to attach/glue LCD_Update function to GUI Driver so that whenever i call GUI_Exec() it calls LCD_Update when painting is done in memory.

ST People, please help on this as i am stuck up with this issue.

Posted on March 30, 2015 at 19:12

Hi shah.vismay,

The GUIDRV_Mem display driver is not supported by STemWin library.

Only LIN and FLEX drivers are supported.

BTW, you can adapt and use the ''GUIDRV_Template.c'' provided with the 

STemWin library.

Best regards,

Heisenberg.

ralphj
Associate II
Posted on October 06, 2015 at 16:55

Perhaps this thread is too old to dig up, but I'm a bit confused as to whether there is a driver available for a controller-less LCD, or if I have to start with the driver template file.  The LCD that I'm using is attached. (never mind, couldn't get attachment to work).

It's a color LCD, being used in 16 bit RGB sync mode.  The frame buffer is in external SRAM.

I think I have the LCD timings and configuration correct.  When I try to use STemWin to print some text on the screen it just shows up as a bunch of scrambled pixels.  The color is good, the location is good.  I think the driver may be incorrect; I've tried all variants of the GUIDRV_LIN_16 drivers.