Programme de test pour lcd ITDB02
Fork of TFTLCD by
Diff: ssd.h
- Revision:
- 0:881ff0b71102
- Child:
- 2:81ed304b7e9b
diff -r 000000000000 -r 881ff0b71102 ssd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ssd.h Sat Dec 01 19:38:53 2012 +0000 @@ -0,0 +1,75 @@ +/** \file ssd.h + * \brief mbed TFT LCD controller for displays with the SSD1289 IC. + * \copyright GNU Public License, v2. or later + * + * A known display with this type of controller chip is the ITDB02-3.2S + * from http://imall.iteadstudio.com + * + * This library is based on the Arduino/chipKIT UTFT library by Henning + * Karlsen, http://henningkarlsen.com/electronics/library.php?id=52 + * + * Copyright (C)2010-2012 Henning Karlsen. All right reserved. + * Copyright (C)2012 Todor Todorov. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to: + * + * Free Software Foundation, Inc. + * 51 Franklin St, 5th Floor, Boston, MA 02110-1301, USA + * + *********************************************************************/ +#ifndef SSD_H +#define SSD_H + +#include "lcd_base.h" + +class SSD1289LCD : public LCD +{ +public: + /** Creates a new instance of the class. + * + * \param CS Pin for the ChipSelect signal. + * \param RESET Pin for the RESET line. + * \param RS Pin for the RS signal. + * \param WR Pin for the WR signal. + * \param DATA_PORT Address of the data bus for transfer of commands and pixel data. + * \param RD Pin for the RD signal. This line is not needed by the driver, so if you would like to + * use the pin on the mbed for something else, just pull-up the respective pin on the LCD high, + * and do not assign a value to this parameter when creating the controller instance. + */ + SSD1289LCD( PinName CS, PinName RESET, PinName RS, PinName WR, BusOut* DATA_PORT, PinName RD = NC ); + + /** Initialize display. + * + * Wakes up the display from sleep, initializes power parameters. + * This function must be called first, befor any painting on the + * display is done, otherwise the positioning of graphical elements + * will not work properly and any paynt operation will not be visible + * or produce garbage. + * + * \param oritentation The display orientation, landscape is default. + */ + virtual void Initialize( orientation_t orientation = LANDSCAPE ); + +protected: + virtual void writeCmd( unsigned short cmd ); + virtual void writeData( unsigned short data ); + virtual void setXY( uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2 ); + +private: + DigitalOut _lcd_pin_reset, _lcd_pin_wr; + BusOut* _lcd_port; + DigitalOut* _lcd_pin_rd; +}; + +#endif /* SSD_H */