Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Example_Menu_LCD_TFT
Diff: LCDTFT.h
- Revision:
- 1:1085b6177f6e
- Parent:
- 0:359653f39307
--- a/LCDTFT.h Sun Jan 30 20:25:48 2011 +0000
+++ b/LCDTFT.h Tue Mar 15 01:47:35 2011 +0000
@@ -1,156 +1,157 @@
-/*
- @file LCDTFT.h
- @version: 1.0
-
- @web www.micros-designs.com.ar
- @date 30/01/11
-
-*- Version Log --------------------------------------------------------------*
-* Fecha Autor Comentarios *
-*----------------------------------------------------------------------------*
-* 30/01/11 Suky Original *
-*----------------------------------------------------------------------------*/
-///////////////////////////////////////////////////////////////////////////
-//// ////
-//// ////
-//// (C) Copyright 2011 www.micros-designs.com.ar ////
-//// Este código puede ser usado, modificado y distribuido libremente ////
-//// sin eliminar esta cabecera y sin garantÃa de ningún tipo. ////
-//// ////
-//// ////
-///////////////////////////////////////////////////////////////////////////
-
-/** Libreria para LCD TFT chip Himax HX8347-A
- *
- *
- * @code
- * #include "mbed.h"
- * #include "LCDTFT.h"
- *
- *BusOut MyBus(p13,p14,p15,p16,p17,p18,p19,p20,p30,p29,p28,p27,p26,p25,p24,p23);
- *LCDTFT MyLCD(p5,p6,p7,p22,p21,&MyBus);
- *
- *int main(){
- * MyLCD.vLCDTFTInit();
- * MyLCD.vLCDTFTFillScreen(ColorWhite);
- * MyLCD.printf("Hola mbed!!!");
- *
- * MyLCD.vDrawImageBMP24Bits("IMG0.BMP");
- *
- * while(1){
- * }
- *}
- * @endcode
- */
-
-#include "mbed.h"
-#include "Fuentes.h"
-
-#define ColorRed 0xf800
-#define ColorGreen 0x400
-#define ColorBlue 0x001f
-#define ColorMarron 0x8208
-#define ColorBlack 0x0
-#define ColorWhite 0xffff
-#define ColorMaroon 0x8000
-#define ColorFuchsia 0xf81f
-#define ColorVioleta 0x801f
-#define ColorAzulMarino 0x14
-#define ColorGray 0x8410
-#define ColorOlive 0x8400
-#define ColorNaranja 0xfc08
-#define ColorYellow 0xffe0
-#define ColorCian 0x87ff
-#define ColorRosado 0xf810
-#define ColorNavy 0x10
-#define ColorPurple 0x8010
-#define ColorTeal 0x410
-#define ColorLime 0x7e0
-#define ColorAqua 0x7ff
-
-#define LCD_X_MAX 240
-#define LCD_Y_MAX 320
-
-class LCDTFT: public Stream {
- public:
- /** Crea LCDTFT interface
- *
- * @param RD
- * @param WR
- * @param RS
- * @param CS
- * @param RESET
- * @param BusLCD (16-bits)
- */
- LCDTFT(PinName PIN_RD,PinName PIN_WR,PinName PIN_RS,PinName PIN_CS,PinName PIN_RESET, BusOut *BUSLCD);
- /** Inicializa LCD
- *
- */
- void vLCDTFTInit(void);
- /** Fija parametros para escritura mediante printf
- *
- * @param Xo X inicial
- * @param Yo Y inicial
- * @param Xmin X minimo
- * @param Xmax X maximo
- * @param Alto Alto de letra (1,2,3..)
- * @param Color Color de letra 16-bits
- */
- void vLCDTFTSetParametersPrintf(unsigned short Xo,unsigned short Yo,unsigned short Xmin,unsigned short Xmax,unsigned char Alto, unsigned short Color);
- /** Pinta pantalla completa de color
- * @param Color Color de 16-bits
- */
- void vLCDTFTFillScreen(unsigned short Color);
- /** Dibuja punto en pantalla
- * @param x Posicion x
- * @param y Posicion y
- * @param Color Color 16-bits
- */
- void vLCDTFTPoint(unsigned short x,unsigned short y,unsigned short Color);
- /** Escribe string en LCD
- * @param x X inicial
- * @param y Y inicial
- * @param *PtrText Texto a escribir
- * @param *Fuente Fuente de letra a escribir (ARIAL)
- * @param Alto Alto de letra (1,2,3)
- * @param Color Color de 16-bits
- */
- void vLCDTFTText(unsigned short x,unsigned short y,const char *PtrText,const char (*Fuente)[5],unsigned char Alto,unsigned short Color);
-
- void vLCDTFTLine(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2,unsigned short Color);
- void vLCDTFTRectangle(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2,bool Filled,unsigned short Color);
- void vLCDTFTCircle(unsigned short x,unsigned short y,unsigned short Radius,bool Filled,unsigned short Color);
- /** Dibuja imagen ubicada en memoria de mbed (2Mbytes) centrada en patalla
- * @param NameImagen nombre de imagen (ejm: IMAGEN.BMP)
- */
- void vDrawImageBMP24Bits(const char *NameImagen);
- #if DOXYGEN_ONLY
- /** Escribe un caracter en LCD
- *
- * @param c El caracter a escribir en LCD
- */
- int putc(int c);
-
- /** Escribe un string formateado en LCD
- *
- * @param format A printf-style format string, followed by the
- * variables to use in formating the string.
- */
- int printf(const char* format, ...);
- #endif
-
- private:
- DigitalOut LCD_PIN_RD,LCD_PIN_WR,LCD_PIN_RS,LCD_PIN_CS,LCD_PIN_RESET;
- BusOut *LCD_PORT;
- unsigned short X,Y,X_min,X_max,_Alto,_Color;
- // Stream implementation functions
- virtual int _putc(int value);
- virtual int _getc();
-
- virtual void vLCDTFTWriteCommand(unsigned short Data);
- virtual void vLCDTFTWriteData(unsigned short Data);
- virtual void vLCDTFTWriteCommandData(unsigned short CMD,unsigned short Data);
- virtual void vLCDTFTAddressSet(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2);
- virtual void vLCDTFTAddressSetPoint(unsigned short x,unsigned short y);
-};
-// **************************************************************************************************************************************
+/*
+ @file LCDTFT.h
+ @version: 1.0
+
+ @web www.micros-designs.com.ar
+ @date 30/01/11
+
+*- Version Log --------------------------------------------------------------*
+* Fecha Autor Comentarios *
+*----------------------------------------------------------------------------*
+* 30/01/11 Suky Original *
+*----------------------------------------------------------------------------*/
+///////////////////////////////////////////////////////////////////////////
+//// ////
+//// ////
+//// (C) Copyright 2011 www.micros-designs.com.ar ////
+//// Este código puede ser usado, modificado y distribuido libremente ////
+//// sin eliminar esta cabecera y sin garantía de ningún tipo. ////
+//// ////
+//// ////
+///////////////////////////////////////////////////////////////////////////
+
+/** Libreria para LCD TFT chip Himax HX8347-A
+ *
+ *
+ * @code
+ * #include "mbed.h"
+ * #include "LCDTFT.h"
+ *
+ *BusOut MyBus(p13,p14,p15,p16,p17,p18,p19,p20,p30,p29,p28,p27,p26,p25,p24,p23);
+ *LCDTFT MyLCD(p5,p6,p7,p22,p21,&MyBus);
+ *
+ *int main(){
+ * MyLCD.vLCDTFTInit();
+ * MyLCD.vLCDTFTFillScreen(ColorWhite);
+ * MyLCD.printf("Hola mbed!!!");
+ *
+ * MyLCD.vDrawImageBMP24Bits("IMG0.BMP");
+ *
+ * while(1){
+ * }
+ *}
+ * @endcode
+ */
+
+#include "mbed.h"
+#include "Fuentes.h"
+
+#define ColorRed 0xf800
+#define ColorGreen 0x400
+#define ColorBlue 0x001f
+#define ColorMarron 0x8208
+#define ColorBlack 0x0
+#define ColorWhite 0xffff
+#define ColorMaroon 0x8000
+#define ColorFuchsia 0xf81f
+#define ColorVioleta 0x801f
+#define ColorAzulMarino 0x14
+#define ColorGray 0x8410
+#define ColorOlive 0x8400
+#define ColorNaranja 0xfc08
+#define ColorYellow 0xffe0
+#define ColorCian 0x87ff
+#define ColorRosado 0xf810
+#define ColorNavy 0x10
+#define ColorPurple 0x8010
+#define ColorTeal 0x410
+#define ColorLime 0x7e0
+#define ColorAqua 0x7ff
+
+#define LCD_X_MAX 240
+#define LCD_Y_MAX 320
+
+class LCDTFT: public Stream {
+ public:
+ /** Crea LCDTFT interface
+ *
+ * @param RD
+ * @param WR
+ * @param RS
+ * @param CS
+ * @param RESET
+ * @param BusLCD (16-bits)
+ */
+ LCDTFT(PinName PIN_RD,PinName PIN_WR,PinName PIN_RS,PinName PIN_CS,PinName PIN_RESET, BusOut *BUSLCD);
+ /** Inicializa LCD
+ *
+ */
+ void vLCDTFTInit(void);
+ /** Fija parametros para escritura mediante printf
+ *
+ * @param Xo X inicial
+ * @param Yo Y inicial
+ * @param Xmin X minimo
+ * @param Xmax X maximo
+ * @param Alto Alto de letra (1,2,3..)
+ * @param Color Color de letra 16-bits
+ */
+ void vLCDTFTSetParametersPrintf(unsigned short Xo,unsigned short Yo,unsigned short Xmin,unsigned short Xmax,unsigned char Alto, unsigned short Color);
+ /** Pinta pantalla completa de color
+ * @param Color Color de 16-bits
+ */
+ void vLCDTFTFillScreen(unsigned short Color);
+ /** Dibuja punto en pantalla
+ * @param x Posicion x
+ * @param y Posicion y
+ * @param Color Color 16-bits
+ */
+ void vLCDTFTPoint(unsigned short x,unsigned short y,unsigned short Color);
+ /** Escribe string en LCD
+ * @param x X inicial
+ * @param y Y inicial
+ * @param *PtrText Texto a escribir
+ * @param *Fuente Fuente de letra a escribir (ARIAL)
+ * @param Alto Alto de letra (1,2,3)
+ * @param Color Color de 16-bits
+ */
+ void vLCDTFTText(unsigned short x,unsigned short y,const char *PtrText,const char (*Fuente)[5],unsigned char Alto,unsigned short Color);
+
+ void vLCDTFTLine(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2,unsigned short Color);
+ void vLCDTFTRectangle(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2,bool Filled,unsigned short Color);
+ void vLCDTFTCircle(unsigned short x,unsigned short y,unsigned short Radius,bool Filled,unsigned short Color);
+ /** Dibuja imagen ubicada en memoria de mbed (2Mbytes) centrada en patalla
+ * @param NameImagen nombre de imagen (ejm: IMAGEN.BMP)
+ */
+ void vDrawImageBMP24Bits(const char *NameImagen);
+ void vLCDTFTDrawImage(unsigned short x,unsigned short y, unsigned short Width, unsigned short Heigh, unsigned int Lenght, const unsigned short *Imagen);
+ #if DOXYGEN_ONLY
+ /** Escribe un caracter en LCD
+ *
+ * @param c El caracter a escribir en LCD
+ */
+ int putc(int c);
+
+ /** Escribe un string formateado en LCD
+ *
+ * @param format A printf-style format string, followed by the
+ * variables to use in formating the string.
+ */
+ int printf(const char* format, ...);
+ #endif
+
+ private:
+ DigitalOut LCD_PIN_RD,LCD_PIN_WR,LCD_PIN_RS,LCD_PIN_CS,LCD_PIN_RESET;
+ BusOut *LCD_PORT;
+ unsigned short X,Y,X_min,X_max,_Alto,_Color;
+ // Stream implementation functions
+ virtual int _putc(int value);
+ virtual int _getc();
+
+ virtual void vLCDTFTWriteCommand(unsigned short Data);
+ virtual void vLCDTFTWriteData(unsigned short Data);
+ virtual void vLCDTFTWriteCommandData(unsigned short CMD,unsigned short Data);
+ virtual void vLCDTFTAddressSet(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2);
+ virtual void vLCDTFTAddressSetPoint(unsigned short x,unsigned short y);
+};
+// **************************************************************************************************************************************