cancel
Showing results for 
Search instead for 
Did you mean: 

Only displaying a partial Initial display (first 6 lines)

KMacD.1
Associate II

I am having trouble displaying more than the first 6 lines of the display on my initial draw. As near as I can tell the touchgfxDisplayDriverTransmitBlock is called only three times and as a result only the first 6 lines of pixels are displaying correctly. Can't understand why is is just stopping and not being called again? SPI are in polling mode and no interrupts are being used. Any suggestions would be appreciated.

Code is below: (Displ_SpiAvailable is set when SPI transmission is happening and reset when it is not) touchgfxDisplayDriverTransmitActive is only called three times as well. The application is set to use a partial buffer. 

 

/* Private function prototypes -----------------------------------------------*/

 

/*********************************************************

* @brief TouchGFX integration: returns status of

* communication to the display

* @return 1 = there is a transmission running

* 0 = no transmission

*********************************************************/

int touchgfxDisplayDriverTransmitActive(){

return (!Displ_SpiAvailable);

}

 

/*********************************************************

* @brief TouchGFX integration: write to display the

* block indicated by parameters

*********************************************************/

void touchgfxDisplayDriverTransmitBlock(const uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h){

 

Select_Main_Window_16bpp();

Main_Image_Start_Address(layer1_start_addr);

Main_Window_Start_XY(0,0);

Main_Image_Width(LCD_XSIZE_TFT);

Canvas_Image_Start_address(layer1_start_addr);

Canvas_image_width(LCD_XSIZE_TFT);

Active_Window_XY(x,y);

Active_Window_WH(w,h);

Goto_Pixel_XY(10,10);

Goto_Pixel_XY(x,y);

MPuint8_t_16bpp_Memory_Write(x, y, w, h, pixels);

 

return;

}

1 ACCEPTED SOLUTION

Accepted Solutions
KMacD.1
Associate II

Resolved my issue as I wasn't calling DisplayDriver_TransferCompleteCallback() at the end of a SPI transfer.

 

Thanks.

 

View solution in original post

1 REPLY 1
KMacD.1
Associate II

Resolved my issue as I wasn't calling DisplayDriver_TransferCompleteCallback() at the end of a SPI transfer.

 

Thanks.