Lib for the new LCD Display with ILI9341 controller Modified for huge fonts (>255 bytes/char). Needs modified font.h files with 2-byte size parameter. Window size is set on a per-character basis to minimise the number of pixels written (speed-up, plus better detection of whether one last character will fit on the current line). NUCLEO & NXP DMA-enabled versions are modified but untested.
Fork of SPI_TFT_ILI9341 by
Diff: SPI_TFT_ILI9341.h
- Revision:
- 6:fe07ae8329f7
- Parent:
- 2:0a16083193a4
- Child:
- 8:07ad6a48a85d
- Child:
- 11:59eca2723ec5
diff -r 55aed13f2630 -r fe07ae8329f7 SPI_TFT_ILI9341.h --- a/SPI_TFT_ILI9341.h Tue Oct 22 20:55:39 2013 +0000 +++ b/SPI_TFT_ILI9341.h Sun Jan 26 16:58:45 2014 +0000 @@ -95,7 +95,6 @@ /** Get the width of the screen in pixel * - * @param * @returns width of screen in pixel * */ @@ -130,12 +129,8 @@ * @param x0,y0 center * @param r radius * @param color 16 bit color * - * - * use circle with different radius, - * can miss some pixel */ void fillcircle(int x, int y, int r, int colour); - /** draw a 1 pixel line @@ -231,21 +226,22 @@ void Bitmap(unsigned int x, unsigned int y, unsigned int w, unsigned int h,unsigned char *bitmap); - /** paint a 16 bit BMP from local filesytem on the TFT (slow) + /** paint a 16 bit BMP from filesytem on the TFT (slow) + * + * @param x,y : position of upper left corner + * @param *Name_BMP name of the BMP file with drive: "/local/test.bmp" * - * @param x,y : upper left corner - * @param *Name_BMP name of the BMP file * @returns 1 if bmp file was found and painted - * @returns -1 if bmp file was found not found - * @returns -2 if bmp file is not 16bit + * @returns 0 if bmp file was found not found + * @returns -1 if file is no bmp + * @returns -2 if bmp file is no 16 bit bmp * @returns -3 if bmp file is to big for screen * @returns -4 if buffer malloc go wrong * * bitmap format: 16 bit R5 G6 B5 * * use Gimp to create / load , save as BMP, option 16 bit R5 G6 B5 - * copy to internal file system - * + * copy to internal file system or SD card */ int BMP_16(unsigned int x, unsigned int y, const char *Name_BMP); @@ -274,6 +270,15 @@ * */ void set_orientation(unsigned int o); + + + /** read out the manufacturer ID of the LCD + * can used for checking the connection to the display + * @returns ID + */ + int Read_ID(void); + + SPI _spi; DigitalOut _cs; @@ -322,7 +327,7 @@ - /** Init the HX8347D controller + /** Init the ILI9341 controller * */ void tft_reset(); @@ -359,12 +364,17 @@ */ //void wr_dat_only(unsigned short dat); - /** Read data from the LCD controller + /** Read byte from the LCD controller * + * @param cmd comand to controller * @returns data from LCD controller * */ - //unsigned short rd_dat(void); + char rd_byte(unsigned char cmd); + + + int rd_32(unsigned char cmd); + /** Write a value to the to a LCD register * @@ -384,6 +394,7 @@ unsigned int orientation; unsigned int char_x; unsigned int char_y; + PinName clk; };