Test USB

Dependencies:   USBDevice mbed

Committer:
Tomoseec
Date:
Tue Dec 25 11:02:43 2012 +0000
Revision:
0:0ca2c7e9dc81
USB TEST

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tomoseec 0:0ca2c7e9dc81 1 /* mbed TextLCD Library
Tomoseec 0:0ca2c7e9dc81 2 * Copyright (c) 2007-2009 sford
Tomoseec 0:0ca2c7e9dc81 3 * Released under the MIT License: http://mbed.org/license/mit
Tomoseec 0:0ca2c7e9dc81 4 *
Tomoseec 0:0ca2c7e9dc81 5 * TODO: Needs serious rework/neatening up!
Tomoseec 0:0ca2c7e9dc81 6 */
Tomoseec 0:0ca2c7e9dc81 7
Tomoseec 0:0ca2c7e9dc81 8 #ifndef MBED_TEXTLCD_H
Tomoseec 0:0ca2c7e9dc81 9 #define MBED_TEXTLCD_H
Tomoseec 0:0ca2c7e9dc81 10
Tomoseec 0:0ca2c7e9dc81 11 #include "Stream.h"
Tomoseec 0:0ca2c7e9dc81 12 #include "DigitalOut.h"
Tomoseec 0:0ca2c7e9dc81 13 #include "BusOut.h"
Tomoseec 0:0ca2c7e9dc81 14
Tomoseec 0:0ca2c7e9dc81 15 namespace mbed {
Tomoseec 0:0ca2c7e9dc81 16
Tomoseec 0:0ca2c7e9dc81 17 /* Class: TextLCD
Tomoseec 0:0ca2c7e9dc81 18 * A 16x2 Text LCD controller
Tomoseec 0:0ca2c7e9dc81 19 *
Tomoseec 0:0ca2c7e9dc81 20 * Allows you to print to a Text LCD screen, and locate/cls. Could be
Tomoseec 0:0ca2c7e9dc81 21 * turned in to a more generic libray.
Tomoseec 0:0ca2c7e9dc81 22 *
Tomoseec 0:0ca2c7e9dc81 23 * If you are connecting multiple displays, you can connect them all in
Tomoseec 0:0ca2c7e9dc81 24 * parallel except for the enable (e) pin, which must be unique for each
Tomoseec 0:0ca2c7e9dc81 25 * display.
Tomoseec 0:0ca2c7e9dc81 26 *
Tomoseec 0:0ca2c7e9dc81 27 * Example:
Tomoseec 0:0ca2c7e9dc81 28 * > #include "mbed.h"
Tomoseec 0:0ca2c7e9dc81 29 * > #include "TextLCD.h"
Tomoseec 0:0ca2c7e9dc81 30 * >
Tomoseec 0:0ca2c7e9dc81 31 * > TextLCD lcd(p24, p25, p26, p27, p28, p29, p30); // rs, rw, e, d0, d1, d2, d3
Tomoseec 0:0ca2c7e9dc81 32 * >
Tomoseec 0:0ca2c7e9dc81 33 * > int main() {
Tomoseec 0:0ca2c7e9dc81 34 * > lcd.printf("Hello World!");
Tomoseec 0:0ca2c7e9dc81 35 * > }
Tomoseec 0:0ca2c7e9dc81 36 */
Tomoseec 0:0ca2c7e9dc81 37 class TextLCD : public Stream {
Tomoseec 0:0ca2c7e9dc81 38
Tomoseec 0:0ca2c7e9dc81 39 public:
Tomoseec 0:0ca2c7e9dc81 40 /* Constructor: TextLCD
Tomoseec 0:0ca2c7e9dc81 41 * Create a TextLCD object, connected to the specified pins
Tomoseec 0:0ca2c7e9dc81 42 *
Tomoseec 0:0ca2c7e9dc81 43 * All signals must be connected to DigitalIn compatible pins.
Tomoseec 0:0ca2c7e9dc81 44 *
Tomoseec 0:0ca2c7e9dc81 45 * Variables:
Tomoseec 0:0ca2c7e9dc81 46 * rs - Used to specify data or command
Tomoseec 0:0ca2c7e9dc81 47 * rw - Used to determine read or write
Tomoseec 0:0ca2c7e9dc81 48 * e - enable
Tomoseec 0:0ca2c7e9dc81 49 * d0..d3 - The data lines
Tomoseec 0:0ca2c7e9dc81 50 */
Tomoseec 0:0ca2c7e9dc81 51 TextLCD(PinName rs, PinName rw, PinName e, PinName d0, PinName d1,
Tomoseec 0:0ca2c7e9dc81 52 PinName d2, PinName d3, int columns = 16, int rows = 2);
Tomoseec 0:0ca2c7e9dc81 53
Tomoseec 0:0ca2c7e9dc81 54 #if 0 // Inhereted from Stream, for documentation only
Tomoseec 0:0ca2c7e9dc81 55 /* Function: putc
Tomoseec 0:0ca2c7e9dc81 56 * Write a character
Tomoseec 0:0ca2c7e9dc81 57 *
Tomoseec 0:0ca2c7e9dc81 58 * Variables:
Tomoseec 0:0ca2c7e9dc81 59 * c - The character to write to the serial port
Tomoseec 0:0ca2c7e9dc81 60 */
Tomoseec 0:0ca2c7e9dc81 61 int putc(int c);
Tomoseec 0:0ca2c7e9dc81 62
Tomoseec 0:0ca2c7e9dc81 63 /* Function: printf
Tomoseec 0:0ca2c7e9dc81 64 * Write a formated string
Tomoseec 0:0ca2c7e9dc81 65 *
Tomoseec 0:0ca2c7e9dc81 66 * Variables:
Tomoseec 0:0ca2c7e9dc81 67 * format - A printf-style format string, followed by the
Tomoseec 0:0ca2c7e9dc81 68 * variables to use in formating the string.
Tomoseec 0:0ca2c7e9dc81 69 */
Tomoseec 0:0ca2c7e9dc81 70 int printf(const char* format, ...);
Tomoseec 0:0ca2c7e9dc81 71 #endif
Tomoseec 0:0ca2c7e9dc81 72
Tomoseec 0:0ca2c7e9dc81 73 /* Function: locate
Tomoseec 0:0ca2c7e9dc81 74 * Locate to a certian position
Tomoseec 0:0ca2c7e9dc81 75 *
Tomoseec 0:0ca2c7e9dc81 76 * Variables:
Tomoseec 0:0ca2c7e9dc81 77 * column - the column to locate to, from 0..15
Tomoseec 0:0ca2c7e9dc81 78 * row - the row to locate to, from 0..1
Tomoseec 0:0ca2c7e9dc81 79 */
Tomoseec 0:0ca2c7e9dc81 80 virtual void locate(int column, int row);
Tomoseec 0:0ca2c7e9dc81 81
Tomoseec 0:0ca2c7e9dc81 82 /* Function: cls
Tomoseec 0:0ca2c7e9dc81 83 * Clear the screen, and locate to 0,0
Tomoseec 0:0ca2c7e9dc81 84 */
Tomoseec 0:0ca2c7e9dc81 85 virtual void cls();
Tomoseec 0:0ca2c7e9dc81 86
Tomoseec 0:0ca2c7e9dc81 87 virtual void reset();
Tomoseec 0:0ca2c7e9dc81 88
Tomoseec 0:0ca2c7e9dc81 89 //protected:
Tomoseec 0:0ca2c7e9dc81 90
Tomoseec 0:0ca2c7e9dc81 91 void clock();
Tomoseec 0:0ca2c7e9dc81 92 void writeData(int data);
Tomoseec 0:0ca2c7e9dc81 93 void writeCommand(int command);
Tomoseec 0:0ca2c7e9dc81 94 void writeByte(int value);
Tomoseec 0:0ca2c7e9dc81 95 void writeNibble(int value);
Tomoseec 0:0ca2c7e9dc81 96 virtual int _putc(int c);
Tomoseec 0:0ca2c7e9dc81 97 virtual int _getc();
Tomoseec 0:0ca2c7e9dc81 98 virtual void newline();
Tomoseec 0:0ca2c7e9dc81 99
Tomoseec 0:0ca2c7e9dc81 100 int _row;
Tomoseec 0:0ca2c7e9dc81 101 int _column;
Tomoseec 0:0ca2c7e9dc81 102 DigitalOut _rw, _rs, _e;
Tomoseec 0:0ca2c7e9dc81 103 BusOut _d;
Tomoseec 0:0ca2c7e9dc81 104 int _columns;
Tomoseec 0:0ca2c7e9dc81 105 int _rows;
Tomoseec 0:0ca2c7e9dc81 106
Tomoseec 0:0ca2c7e9dc81 107 };
Tomoseec 0:0ca2c7e9dc81 108
Tomoseec 0:0ca2c7e9dc81 109 }
Tomoseec 0:0ca2c7e9dc81 110
Tomoseec 0:0ca2c7e9dc81 111 #endif