kevin ollivier / Mbed 2 deprecated LCD_clavier

Dependencies:   mbed

Committer:
kevin_38
Date:
Tue May 29 09:30:20 2012 +0000
Revision:
0:18d40dac71ff

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevin_38 0:18d40dac71ff 1 /*Modification de : mbed TextLCD Library, for a 4-bit LCD based on HD44780
kevin_38 0:18d40dac71ff 2 pour la commande d'un afficheur 4x40
kevin_38 0:18d40dac71ff 3 */
kevin_38 0:18d40dac71ff 4
kevin_38 0:18d40dac71ff 5 #ifndef MBED_TEXTLCD_H
kevin_38 0:18d40dac71ff 6 #define MBED_TEXTLCD_H
kevin_38 0:18d40dac71ff 7
kevin_38 0:18d40dac71ff 8 #include "mbed.h"
kevin_38 0:18d40dac71ff 9
kevin_38 0:18d40dac71ff 10 /** A TextLCD interface for driving 4-bit HD44780-based LCDs
kevin_38 0:18d40dac71ff 11 *
kevin_38 0:18d40dac71ff 12 *
kevin_38 0:18d40dac71ff 13 * @code
kevin_38 0:18d40dac71ff 14 * #include "mbed.h"
kevin_38 0:18d40dac71ff 15 * #include "TextLCD.h"
kevin_38 0:18d40dac71ff 16 *
kevin_38 0:18d40dac71ff 17 * TextLCD lcd(p10, p12, p15, p16, p29, p30); // rs, e, d0-d3
kevin_38 0:18d40dac71ff 18 *
kevin_38 0:18d40dac71ff 19 * int main() {
kevin_38 0:18d40dac71ff 20 * lcd.printf("Hello World!\n");
kevin_38 0:18d40dac71ff 21 * }
kevin_38 0:18d40dac71ff 22 * @endcode
kevin_38 0:18d40dac71ff 23 */
kevin_38 0:18d40dac71ff 24 class TextLCD_4x40 : public Stream {
kevin_38 0:18d40dac71ff 25 public:
kevin_38 0:18d40dac71ff 26
kevin_38 0:18d40dac71ff 27 /** Create a TextLCD interface
kevin_38 0:18d40dac71ff 28 *
kevin_38 0:18d40dac71ff 29 * @param rs Instruction/data control line
kevin_38 0:18d40dac71ff 30 * @param e Enable line (clock)
kevin_38 0:18d40dac71ff 31 * @param d0-d3 Data lines
kevin_38 0:18d40dac71ff 32 */
kevin_38 0:18d40dac71ff 33 TextLCD_4x40(PinName rs, PinName e, PinName d0, PinName d1, PinName d2, PinName d3);
kevin_38 0:18d40dac71ff 34
kevin_38 0:18d40dac71ff 35 #if DOXYGEN_ONLY
kevin_38 0:18d40dac71ff 36 /** Write a character to the LCD
kevin_38 0:18d40dac71ff 37 *
kevin_38 0:18d40dac71ff 38 * @param c The character to write to the display
kevin_38 0:18d40dac71ff 39 */
kevin_38 0:18d40dac71ff 40 int putc(char c);
kevin_38 0:18d40dac71ff 41
kevin_38 0:18d40dac71ff 42 /** Write a formated string to the LCD
kevin_38 0:18d40dac71ff 43 *
kevin_38 0:18d40dac71ff 44 * @param format A printf-style format string, followed by the
kevin_38 0:18d40dac71ff 45 * variables to use in formating the string.
kevin_38 0:18d40dac71ff 46 */
kevin_38 0:18d40dac71ff 47 char printf(const char* format, ...);
kevin_38 0:18d40dac71ff 48 #endif
kevin_38 0:18d40dac71ff 49
kevin_38 0:18d40dac71ff 50 /** Locate to a screen column and row
kevin_38 0:18d40dac71ff 51 *
kevin_38 0:18d40dac71ff 52 * @param column The horizontal position from the left, indexed from 0
kevin_38 0:18d40dac71ff 53 * @param row The vertical position from the top, indexed from 0
kevin_38 0:18d40dac71ff 54 */
kevin_38 0:18d40dac71ff 55 void locate(char column, char row);
kevin_38 0:18d40dac71ff 56
kevin_38 0:18d40dac71ff 57 /** Clear the screen and locate to 0,0 */
kevin_38 0:18d40dac71ff 58 void cls();
kevin_38 0:18d40dac71ff 59
kevin_38 0:18d40dac71ff 60 protected:
kevin_38 0:18d40dac71ff 61
kevin_38 0:18d40dac71ff 62 // Stream implementation functions
kevin_38 0:18d40dac71ff 63 virtual int _putc(int value);
kevin_38 0:18d40dac71ff 64 virtual int _getc();
kevin_38 0:18d40dac71ff 65
kevin_38 0:18d40dac71ff 66 char address(char column, char row);
kevin_38 0:18d40dac71ff 67 void character(char column, char row, char c);
kevin_38 0:18d40dac71ff 68 void writeByte(char value);
kevin_38 0:18d40dac71ff 69 void writeCommand(char command);
kevin_38 0:18d40dac71ff 70 void writeData(char data);
kevin_38 0:18d40dac71ff 71
kevin_38 0:18d40dac71ff 72 DigitalOut _rs, _e;
kevin_38 0:18d40dac71ff 73 BusOut _d;
kevin_38 0:18d40dac71ff 74
kevin_38 0:18d40dac71ff 75 char _column;
kevin_38 0:18d40dac71ff 76 char _row;
kevin_38 0:18d40dac71ff 77 };
kevin_38 0:18d40dac71ff 78
kevin_38 0:18d40dac71ff 79 #endif