Upload to cosm (pachube) from mbed.

Dependencies:   EthernetInterface SCP1000 WebSocketClient mbed-rtos mbed

thank you for http://mbed.org/forum/bugs-suggestions/topic/3956/ thread.

Use AMS302,LM61BIZ,CHS-GSS,SCP-1000 and StarBoard Orange.

Committer:
kumajoi
Date:
Sat Feb 09 20:10:09 2013 +0000
Revision:
4:2e051261aef7
Parent:
0:d368632c8662
for MakeFaireTokyo2012

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kumajoi 0:d368632c8662 1 /* mbed TextLCD Library, for a 4-bit LCD based on HD44780
kumajoi 0:d368632c8662 2 * Copyright (c) 2007-2010, sford
kumajoi 0:d368632c8662 3 *
kumajoi 0:d368632c8662 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
kumajoi 0:d368632c8662 5 * of this software and associated documentation files (the "Software"), to deal
kumajoi 0:d368632c8662 6 * in the Software without restriction, including without limitation the rights
kumajoi 0:d368632c8662 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
kumajoi 0:d368632c8662 8 * copies of the Software, and to permit persons to whom the Software is
kumajoi 0:d368632c8662 9 * furnished to do so, subject to the following conditions:
kumajoi 0:d368632c8662 10 *
kumajoi 0:d368632c8662 11 * The above copyright notice and this permission notice shall be included in
kumajoi 0:d368632c8662 12 * all copies or substantial portions of the Software.
kumajoi 0:d368632c8662 13 *
kumajoi 0:d368632c8662 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
kumajoi 0:d368632c8662 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
kumajoi 0:d368632c8662 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
kumajoi 0:d368632c8662 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
kumajoi 0:d368632c8662 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kumajoi 0:d368632c8662 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
kumajoi 0:d368632c8662 20 * THE SOFTWARE.
kumajoi 0:d368632c8662 21 */
kumajoi 0:d368632c8662 22
kumajoi 0:d368632c8662 23 /*
kumajoi 0:d368632c8662 24 * Modified for star board orange by Shinichiro Nakamura. (CuBeatSystems)
kumajoi 0:d368632c8662 25 *
kumajoi 0:d368632c8662 26 * ID : shintamainjp
kumajoi 0:d368632c8662 27 * Added : RW-
kumajoi 0:d368632c8662 28 */
kumajoi 0:d368632c8662 29
kumajoi 0:d368632c8662 30 #ifndef MBED_TEXTLCD_H
kumajoi 0:d368632c8662 31 #define MBED_TEXTLCD_H
kumajoi 0:d368632c8662 32
kumajoi 0:d368632c8662 33 #include "mbed.h"
kumajoi 0:d368632c8662 34
kumajoi 0:d368632c8662 35 /** A TextLCD interface for driving 4-bit HD44780-based LCDs
kumajoi 0:d368632c8662 36 *
kumajoi 0:d368632c8662 37 * Currently supports 16x2, 20x2 and 20x4 panels
kumajoi 0:d368632c8662 38 *
kumajoi 0:d368632c8662 39 * @code
kumajoi 0:d368632c8662 40 * #include "mbed.h"
kumajoi 0:d368632c8662 41 * #include "TextLCD.h"
kumajoi 0:d368632c8662 42 *
kumajoi 0:d368632c8662 43 * TextLCD lcd(p10, p12, p15, p16, p29, p30); // rs, e, d0-d3
kumajoi 0:d368632c8662 44 *
kumajoi 0:d368632c8662 45 * int main() {
kumajoi 0:d368632c8662 46 * lcd.printf("Hello World!\n");
kumajoi 0:d368632c8662 47 * }
kumajoi 0:d368632c8662 48 * @endcode
kumajoi 0:d368632c8662 49 */
kumajoi 0:d368632c8662 50 class TextLCD : public Stream {
kumajoi 0:d368632c8662 51 public:
kumajoi 0:d368632c8662 52
kumajoi 0:d368632c8662 53 /** LCD panel format */
kumajoi 0:d368632c8662 54 enum LCDType {
kumajoi 0:d368632c8662 55 LCD16x2 /**< 16x2 LCD panel (default) */
kumajoi 0:d368632c8662 56 , LCD16x2B /**< 16x2 LCD panel alternate addressing */
kumajoi 0:d368632c8662 57 , LCD20x2 /**< 20x2 LCD panel */
kumajoi 0:d368632c8662 58 , LCD20x4 /**< 20x4 LCD panel */
kumajoi 0:d368632c8662 59 };
kumajoi 0:d368632c8662 60
kumajoi 0:d368632c8662 61 /** Create a TextLCD interface
kumajoi 0:d368632c8662 62 *
kumajoi 0:d368632c8662 63 * @param rs Instruction/data control line.
kumajoi 0:d368632c8662 64 * @param rw Read/Write- control line.
kumajoi 0:d368632c8662 65 * @param e Enable line (clock)
kumajoi 0:d368632c8662 66 * @param d0-d3 Data lines
kumajoi 0:d368632c8662 67 * @param type Sets the panel size/addressing mode (default = LCD16x2)
kumajoi 0:d368632c8662 68 */
kumajoi 0:d368632c8662 69 TextLCD(PinName rs, PinName rw, PinName e, PinName d0, PinName d1, PinName d2, PinName d3, LCDType type = LCD16x2);
kumajoi 0:d368632c8662 70
kumajoi 0:d368632c8662 71 #if DOXYGEN_ONLY
kumajoi 0:d368632c8662 72 /** Write a character to the LCD
kumajoi 0:d368632c8662 73 *
kumajoi 0:d368632c8662 74 * @param c The character to write to the display
kumajoi 0:d368632c8662 75 */
kumajoi 0:d368632c8662 76 int putc(int c);
kumajoi 0:d368632c8662 77
kumajoi 0:d368632c8662 78 /** Write a formated string to the LCD
kumajoi 0:d368632c8662 79 *
kumajoi 0:d368632c8662 80 * @param format A printf-style format string, followed by the
kumajoi 0:d368632c8662 81 * variables to use in formating the string.
kumajoi 0:d368632c8662 82 */
kumajoi 0:d368632c8662 83 int printf(const char* format, ...);
kumajoi 0:d368632c8662 84 #endif
kumajoi 0:d368632c8662 85
kumajoi 0:d368632c8662 86 /** Locate to a screen column and row
kumajoi 0:d368632c8662 87 *
kumajoi 0:d368632c8662 88 * @param column The horizontal position from the left, indexed from 0
kumajoi 0:d368632c8662 89 * @param row The vertical position from the top, indexed from 0
kumajoi 0:d368632c8662 90 */
kumajoi 0:d368632c8662 91 void locate(int column, int row);
kumajoi 0:d368632c8662 92
kumajoi 0:d368632c8662 93 /** Clear the screen and locate to 0,0 */
kumajoi 0:d368632c8662 94 void cls();
kumajoi 0:d368632c8662 95
kumajoi 0:d368632c8662 96 int rows();
kumajoi 0:d368632c8662 97 int columns();
kumajoi 0:d368632c8662 98
kumajoi 0:d368632c8662 99 protected:
kumajoi 0:d368632c8662 100
kumajoi 0:d368632c8662 101 // Stream implementation functions
kumajoi 0:d368632c8662 102 virtual int _putc(int value);
kumajoi 0:d368632c8662 103 virtual int _getc();
kumajoi 0:d368632c8662 104
kumajoi 0:d368632c8662 105 int address(int column, int row);
kumajoi 0:d368632c8662 106 void character(int column, int row, int c);
kumajoi 0:d368632c8662 107 void writeByte(int value);
kumajoi 0:d368632c8662 108 void writeCommand(int command);
kumajoi 0:d368632c8662 109 void writeData(int data);
kumajoi 0:d368632c8662 110
kumajoi 0:d368632c8662 111 DigitalOut _rs, _rw, _e;
kumajoi 0:d368632c8662 112 BusOut _d;
kumajoi 0:d368632c8662 113 LCDType _type;
kumajoi 0:d368632c8662 114
kumajoi 0:d368632c8662 115 int _column;
kumajoi 0:d368632c8662 116 int _row;
kumajoi 0:d368632c8662 117 };
kumajoi 0:d368632c8662 118
kumajoi 0:d368632c8662 119 #endif