Library to control a QVGA TFT connected to SPI. You can use printf to print text The lib can handle different fonts, draw lines, circles, rect and bmp

Files at this revision

API Documentation at this revision

Comitter:
dreschpe
Date:
Wed Jul 13 08:35:20 2011 +0000
Parent:
1:aa3356b16080
Child:
3:5be1edd3a543
Commit message:
doxigen fix

Changed in this revision

SPI_TFT.h Show annotated file Show diff for this revision Revisions of this file
--- a/SPI_TFT.h	Wed Jul 13 08:25:10 2011 +0000
+++ b/SPI_TFT.h	Wed Jul 13 08:35:20 2011 +0000
@@ -86,260 +86,259 @@
 class SPI_TFT : public GraphicsDisplay {
 public:
 
-/** Create a SPI_TFT object connected to SPI and two pins
- *
- * @param mosi,miso,sclk SPI
- * @param cs pin connected to CS of display
- * @param reset pin connected to RESET of display
- *
- */ 
-    SPI_TFT(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName reset,const char* name ="TFT");
+  /** Create a SPI_TFT object connected to SPI and two pins
+   *
+   * @param mosi,miso,sclk SPI
+   * @param cs pin connected to CS of display
+   * @param reset pin connected to RESET of display
+   *
+   */ 
+  SPI_TFT(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName reset,const char* name ="TFT");
     
-/** Get the width of the screen in pixel
- *
- * @param 
- * @returns width of screen in pixel
- *
- */    
-    virtual int width();
+  /** Get the width of the screen in pixel
+   *
+   * @param 
+   * @returns width of screen in pixel
+   *
+   */    
+  virtual int width();
 
-/** Get the height of the screen in pixel
- *
- * @param  
- * @returns height of screen in pixel 
- *
- */     
-    virtual int height();
+  /** Get the height of the screen in pixel
+   *
+   * @returns height of screen in pixel 
+   *
+   */     
+  virtual int height();
     
-/** Draw a pixel at x,y with color 
- *  
- * @param x horizontal position
- * @param y vertical position
- * @param color 16 bit pixel color
- **/    
-    virtual void pixel(int x, int y, int colour);
+  /** Draw a pixel at x,y with color 
+   *  
+   * @param x horizontal position
+   * @param y vertical position
+   * @param color 16 bit pixel color
+   */    
+  virtual void pixel(int x, int y, int colour);
     
-/** draw a circle
- *
- * @param x0,y0 center
- * @param r radius
- * @param color 16 bit color                                                                 *
- *
- */    
-    void circle(int x, int y, int r, int colour); 
+  /** draw a circle
+   *
+   * @param x0,y0 center
+   * @param r radius
+   * @param color 16 bit color                                                                 *
+   *
+   */    
+  void circle(int x, int y, int r, int colour); 
     
-/** draw a 1 pixel line
- *
- * @param x0,y0 start point
- * @param x1,y1 stop point
- * @param color 16 bit color
- *
- **/    
-    void line(int x0, int y0, int x1, int y1, int colour);
+  /** draw a 1 pixel line
+   *
+   * @param x0,y0 start point
+   * @param x1,y1 stop point
+   * @param color 16 bit color
+   *
+   */    
+  void line(int x0, int y0, int x1, int y1, int colour);
     
-/** draw a rect
- *
- * @param x0,y0 top left corner
- * @param x1,y1 down right corner
- * @param color 16 bit color
- *                                                   *
- **/    
-    void rect(int x0, int y0, int x1, int y1, int colour);
+  /** draw a rect
+   *
+   * @param x0,y0 top left corner
+   * @param x1,y1 down right corner
+   * @param color 16 bit color
+   *                                                   *
+   */    
+  void rect(int x0, int y0, int x1, int y1, int colour);
     
-/** draw a filled rect
- *
- * @param x0,y0 top left corner
- * @param x1,y1 down right corner
- * @param color 16 bit color
- *
- **/    
-    void fillrect(int x0, int y0, int x1, int y1, int colour);
+  /** draw a filled rect
+   *
+   * @param x0,y0 top left corner
+   * @param x1,y1 down right corner
+   * @param color 16 bit color
+   *
+   */    
+  void fillrect(int x0, int y0, int x1, int y1, int colour);
     
- /** setup cursor position
- *
- * @param column 0 to max
- * @param row 0 to max 
- * max depend on font size
- **/   
-    void locate(int column, int row);
+  /** setup cursor position
+   *
+   * @param column 0 to max
+   * @param row 0 to max 
+   * max depend on font size
+   */   
+  void locate(int column, int row);
     
- /** Fill the screen with _backgroun color
- *
- **/   
-    virtual void cls (void);   
+  /** Fill the screen with _backgroun color
+   *
+   */   
+  virtual void cls (void);   
     
-/** calculate the max number of char in a line
- *
- * @returns max columns
- * depends on actual font size
- *
- */    
-    int columns(void);
+  /** calculate the max number of char in a line
+   *
+   * @returns max columns
+   * depends on actual font size
+   *
+   */    
+  int columns(void);
     
-/** calculate the max number of columns
- *
- * @returns max column
- * depends on actual font size
- *
- */   
-    int rows(void);
+  /** calculate the max number of columns
+   *
+   * @returns max column
+   * depends on actual font size
+   *
+   */   
+  int rows(void);
     
-/** put a char on the screen
- *
- * @param value char to print
- * @returns printed char
- *
- */
-    int _putc(int value);
+  /** put a char on the screen
+   *
+   * @param value char to print
+   * @returns printed char
+   *
+   */
+  int _putc(int value);
     
-/** draw a character on given position out of the active font to the TFT
- *
- * @param col column
- * @param row row
- * @param c char to print
- *
- */    
-    virtual void character(int col, int row, int c);
+  /** draw a character on given position out of the active font to the TFT
+   *
+   * @param col column
+   * @param row row
+   * @param c char to print
+   *
+   */    
+  virtual void character(int col, int row, int c);
     
-/** paint a bitmap on the TFT 
- *
- * @param x,y : upper left corner 
- * @param w width of bitmap
- * @param h high of bitmap
- * @param *bitmap pointer to the bitmap data
- *
- *   bitmap format: 16 bit R5 G6 B5
- * 
- *   use Gimp to create / load , save as BMP, option 16 bit R5 G6 B5            
- *   use winhex to load this file and mark data stating at offset 0x46 to end
- *   use edit -> copy block -> C Source to export C array
- *   paste this array into your program
- * 
- */    
-    void Bitmap(unsigned int x, unsigned int y, unsigned int w, unsigned int h,unsigned char *bitmap);
+  /** paint a bitmap on the TFT 
+   *
+   * @param x,y : upper left corner 
+   * @param w width of bitmap
+   * @param h high of bitmap
+   * @param *bitmap pointer to the bitmap data
+   *
+   *   bitmap format: 16 bit R5 G6 B5
+   * 
+   *   use Gimp to create / load , save as BMP, option 16 bit R5 G6 B5            
+   *   use winhex to load this file and mark data stating at offset 0x46 to end
+   *   use edit -> copy block -> C Source to export C array
+   *   paste this array into your program
+   * 
+   */    
+  void Bitmap(unsigned int x, unsigned int y, unsigned int w, unsigned int h,unsigned char *bitmap);
     
- /** select the font to use
- *
- * @param f pointer to font array 
- *                                                                              
- *   font array can created with GLCD Font Creator from http://www.mikroe.com
- *   you have to add 4 parameter at the beginning of the font array to use: 
- *   - the number of byte / char
- *   - the vertial size in pixel
- *   - the horizontal size in pixel
- *   - the number of byte per vertical line
- *   you also have to change the array to char[]
- *
- */   
-    void set_font(unsigned char* f);
+  /** select the font to use
+   *
+   * @param f pointer to font array 
+   *                                                                              
+   *   font array can created with GLCD Font Creator from http://www.mikroe.com
+   *   you have to add 4 parameter at the beginning of the font array to use: 
+   *   - the number of byte / char
+   *   - the vertial size in pixel
+   *   - the horizontal size in pixel
+   *   - the number of byte per vertical line
+   *   you also have to change the array to char[]
+   *
+   */   
+  void set_font(unsigned char* f);
    
-/** Set the orientation of the screen
- *  x,y: 0,0 is always top left 
- *
- * @param o direction to use the screen (0-3) 90° Steps  
- *
- */  
-    void set_orientation(unsigned int o);
+  /** Set the orientation of the screen
+   *  x,y: 0,0 is always top left 
+   *
+   * @param o direction to use the screen (0-3) 90° Steps  
+   *
+   */  
+  void set_orientation(unsigned int o);
     
-    SPI _spi;
-    DigitalOut _cs;
-    DigitalOut _reset;
-    unsigned char* font;
-    
+  SPI _spi;
+  DigitalOut _cs;
+  DigitalOut _reset;
+  unsigned char* font;
+   
 protected:
 
-/** draw a horizontal line
- *
- * @param x0 horizontal start
- * @param x1 horizontal stop
- * @param y vertical position
- * @param color 16 bit color                                               
- *
- **/
-    void hline(int x0, int x1, int y, int colour);
+  /** draw a horizontal line
+   *
+   * @param x0 horizontal start
+   * @param x1 horizontal stop
+   * @param y vertical position
+   * @param color 16 bit color                                               
+   *
+   */
+  void hline(int x0, int x1, int y, int colour);
     
- /** draw a vertical line
- *
- * @param x horizontal position
- * @param y0 vertical start 
- * @param y1 vertical stop
- * @param color 16 bit color
- **/
-    void vline(int y0, int y1, int x, int colour);
+  /** draw a vertical line
+   *
+   * @param x horizontal position
+   * @param y0 vertical start 
+   * @param y1 vertical stop
+   * @param color 16 bit color
+   */
+  void vline(int y0, int y1, int x, int colour);
     
-/** Set draw window region
- *
- * @param x horizontal position
- * @param y vertical position
- * @param w window width in pixel
- * @param h window height in pixels
- **/    
-    void window (unsigned int x, unsigned int y, unsigned int w, unsigned int h);
+  /** Set draw window region
+   *
+   * @param x horizontal position
+   * @param y vertical position
+   * @param w window width in pixel
+   * @param h window height in pixels
+   */    
+  void window (unsigned int x, unsigned int y, unsigned int w, unsigned int h);
     
   /** Set draw window region to whole screen
- *
- **/  
-    void WindowMax (void);
+   *
+   */  
+  void WindowMax (void);
     
-/** Init the HX8347D controller 
- *
- */    
-    void tft_reset();
+  /** Init the HX8347D controller 
+   *
+   */    
+  void tft_reset();
     
- /** Write data to the LCD controller
- *
- * @param dat data written to LCD controller
- * 
- */   
-    void wr_dat(int value);
+   /** Write data to the LCD controller
+   *
+   * @param dat data written to LCD controller
+   * 
+   */   
+  void wr_dat(int value);
     
- /** Write a command the LCD controller 
- *
- * @param cmd: command to be written   
- *
- */   
-    void wr_cmd(int value);
+  /** Write a command the LCD controller 
+   *
+   * @param cmd: command to be written   
+   *
+   */   
+  void wr_cmd(int value);
     
- /** Start data sequence to the LCD controller
- * 
- */   
-    void wr_dat_start();
+   /** Start data sequence to the LCD controller
+   * 
+   */   
+  void wr_dat_start();
     
-/** Stop of data writing to the LCD controller
- *   
- */  
-    void wr_dat_stop();
+  /** Stop of data writing to the LCD controller
+   *   
+   */  
+  void wr_dat_stop();
     
-/** write data to the LCD controller
- *
- * @param data to be written 
- *                                           *
- */    
-    void wr_dat_only(unsigned short dat);
+  /** write data to the LCD controller
+   *
+   * @param data to be written 
+   *                                           *
+   */    
+  void wr_dat_only(unsigned short dat);
     
-/** Read data from the LCD controller
- *
- * @returns data from LCD controller
- *  
- */    
-    unsigned short rd_dat(void);
+  /** Read data from the LCD controller
+   *
+   * @returns data from LCD controller
+   *  
+   */    
+  unsigned short rd_dat(void);
     
- /** Write a value to the to a LCD register
- *
- * @param reg register to be written
- * @param val data to be written
- */   
-    void wr_reg (unsigned char reg, unsigned short val);
+  /** Write a value to the to a LCD register
+   *
+   * @param reg register to be written
+   * @param val data to be written
+   */   
+  void wr_reg (unsigned char reg, unsigned short val);
     
-/** Read a LCD register
- *
- * @param reg register to be read
- * @returns value of the register 
- */    
-    unsigned short rd_reg (unsigned char reg);
+  /** Read a LCD register
+   *
+   * @param reg register to be read
+   * @returns value of the register 
+   */    
+  unsigned short rd_reg (unsigned char reg);
     
-    unsigned int orientation;
-    unsigned int char_x;
+  unsigned int orientation;
+  unsigned int char_x;
     
 };