NOT FINISHED YET!!! My first try to get a self built fully working Quadrocopter based on an mbed, a self built frame and some other more or less cheap parts.

Dependencies:   mbed MODI2C

Committer:
maetugr
Date:
Fri Feb 14 14:17:32 2014 +0000
Revision:
40:2ca410923691
Parent:
2:93f703d2c4d7
now with MPU6050 before taking it too FlyBed2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maetugr 0:0c4fafa398b4 1 /* mbed LCD Library, for a 4-bit LCD based on HD44780
maetugr 0:0c4fafa398b4 2 * Copyright (c) 2007-2010, hb9gaa
maetugr 0:0c4fafa398b4 3 */
maetugr 0:0c4fafa398b4 4
maetugr 2:93f703d2c4d7 5 #ifndef LCD_H
maetugr 2:93f703d2c4d7 6 #define LCD_H
maetugr 0:0c4fafa398b4 7
maetugr 0:0c4fafa398b4 8 #include "mbed.h"
maetugr 0:0c4fafa398b4 9
maetugr 0:0c4fafa398b4 10 class TextLCD : public Stream {
maetugr 0:0c4fafa398b4 11 public:
maetugr 0:0c4fafa398b4 12
maetugr 0:0c4fafa398b4 13 /** LCD panel format */
maetugr 0:0c4fafa398b4 14 enum LCDType {
maetugr 0:0c4fafa398b4 15 LCD16x2 /**< 16x2 LCD panel (default) */
maetugr 0:0c4fafa398b4 16 , LCD16x2B /**< 16x2 LCD panel alternate addressing */
maetugr 0:0c4fafa398b4 17 , LCD20x2 /**< 20x2 LCD panel */
maetugr 0:0c4fafa398b4 18 , LCD20x4 /**< 20x4 LCD panel */
maetugr 0:0c4fafa398b4 19 };
maetugr 0:0c4fafa398b4 20
maetugr 0:0c4fafa398b4 21 /** Create a TextLCD interface
maetugr 0:0c4fafa398b4 22 * @param rs Instruction/data control line
maetugr 0:0c4fafa398b4 23 * @param e Enable line (clock)
maetugr 0:0c4fafa398b4 24 * @param d0-d3 Data lines
maetugr 0:0c4fafa398b4 25 * @param type Sets the panel size/addressing mode (default = LCD16x2)
maetugr 0:0c4fafa398b4 26 */
maetugr 0:0c4fafa398b4 27 TextLCD(PinName rs, PinName rw, PinName e, PinName d0, PinName d1, PinName d2, PinName d3, LCDType type = LCD16x2);
maetugr 0:0c4fafa398b4 28
maetugr 0:0c4fafa398b4 29 #if DOXYGEN_ONLY
maetugr 0:0c4fafa398b4 30 /** Write a character to the LCD
maetugr 0:0c4fafa398b4 31 * @param c The character to write to the display
maetugr 0:0c4fafa398b4 32 */
maetugr 0:0c4fafa398b4 33 int putc(int c);
maetugr 0:0c4fafa398b4 34
maetugr 0:0c4fafa398b4 35 /** Write a formated string to the LCD
maetugr 0:0c4fafa398b4 36 * @param format A printf-style format string, followed by the
maetugr 0:0c4fafa398b4 37 * variables to use in formating the string.
maetugr 0:0c4fafa398b4 38 */
maetugr 0:0c4fafa398b4 39 int printf(const char* format, ...);
maetugr 0:0c4fafa398b4 40 #endif
maetugr 0:0c4fafa398b4 41
maetugr 0:0c4fafa398b4 42 /** Locate to a screen column and row
maetugr 0:0c4fafa398b4 43 * @param column The horizontal position from the left, indexed from 0
maetugr 0:0c4fafa398b4 44 * @param row The vertical position from the top, indexed from 0
maetugr 0:0c4fafa398b4 45 */
maetugr 0:0c4fafa398b4 46 void locate(int column, int row);
maetugr 0:0c4fafa398b4 47
maetugr 0:0c4fafa398b4 48 /** Clear the screen and locate to 0,0 */
maetugr 0:0c4fafa398b4 49 void cls();
maetugr 0:0c4fafa398b4 50
maetugr 0:0c4fafa398b4 51 int rows();
maetugr 0:0c4fafa398b4 52 int columns();
maetugr 0:0c4fafa398b4 53
maetugr 0:0c4fafa398b4 54 protected:
maetugr 0:0c4fafa398b4 55
maetugr 0:0c4fafa398b4 56 // Stream implementation functions
maetugr 0:0c4fafa398b4 57 virtual int _putc(int value);
maetugr 0:0c4fafa398b4 58 virtual int _getc();
maetugr 0:0c4fafa398b4 59
maetugr 0:0c4fafa398b4 60 int address(int column, int row);
maetugr 0:0c4fafa398b4 61 void character(int column, int row, int c);
maetugr 0:0c4fafa398b4 62 void writeByte(int value);
maetugr 0:0c4fafa398b4 63 void writeCommand(int command);
maetugr 0:0c4fafa398b4 64 void writeData(int data);
maetugr 0:0c4fafa398b4 65
maetugr 0:0c4fafa398b4 66 DigitalOut _rs, _rw, _e;
maetugr 0:0c4fafa398b4 67 BusOut _d;
maetugr 0:0c4fafa398b4 68 LCDType _type;
maetugr 0:0c4fafa398b4 69
maetugr 0:0c4fafa398b4 70 int _column;
maetugr 0:0c4fafa398b4 71 int _row;
maetugr 0:0c4fafa398b4 72 };
maetugr 0:0c4fafa398b4 73
maetugr 0:0c4fafa398b4 74 #endif