SO1602A Lib. SO1602A is Organic LED, has 16 chars and 2 lines. This lib supports printf() of C-Language. http://akizukidenshi.com/catalog/g/gP-08276/

Dependents:   NEW_LineTraceHub NEW_LineTraceHub_2 ColorSensorTest

Committer:
AkinoriHashimoto
Date:
Tue Sep 08 08:35:42 2015 +0000
Revision:
0:d8b95544d238
Child:
1:eef15a16fe7a
Published.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AkinoriHashimoto 0:d8b95544d238 1 #pragma once
AkinoriHashimoto 0:d8b95544d238 2
AkinoriHashimoto 0:d8b95544d238 3 #include "mbed.h"
AkinoriHashimoto 0:d8b95544d238 4
AkinoriHashimoto 0:d8b95544d238 5 // SA0(Pin4)=Low: i2c_addr= 0x78, High: 0x7a;
AkinoriHashimoto 0:d8b95544d238 6 // DDRAM addr. Line1: 0x00 ~ 0x0f. Line2: 0x20 ~ 0x2f.
AkinoriHashimoto 0:d8b95544d238 7
AkinoriHashimoto 0:d8b95544d238 8 class SO1602A : public Stream{
AkinoriHashimoto 0:d8b95544d238 9 public:
AkinoriHashimoto 0:d8b95544d238 10 SO1602A (PinName sda, PinName scl, char address= 0x78);
AkinoriHashimoto 0:d8b95544d238 11 SO1602A (I2C &_i2c, char address= 0x78);
AkinoriHashimoto 0:d8b95544d238 12
AkinoriHashimoto 0:d8b95544d238 13 // ******************** printf() future of C-language. ***************************
AkinoriHashimoto 0:d8b95544d238 14
AkinoriHashimoto 0:d8b95544d238 15 /** Initialize
AkinoriHashimoto 0:d8b95544d238 16 */
AkinoriHashimoto 0:d8b95544d238 17 void init();
AkinoriHashimoto 0:d8b95544d238 18
AkinoriHashimoto 0:d8b95544d238 19 /** Clear Display.
AkinoriHashimoto 0:d8b95544d238 20 */
AkinoriHashimoto 0:d8b95544d238 21 void clear();
AkinoriHashimoto 0:d8b95544d238 22
AkinoriHashimoto 0:d8b95544d238 23 /** Set Position of char.
AkinoriHashimoto 0:d8b95544d238 24 * @param col: column, row: rows.
AkinoriHashimoto 0:d8b95544d238 25 */
AkinoriHashimoto 0:d8b95544d238 26 void locate(int col, int row);
AkinoriHashimoto 0:d8b95544d238 27
AkinoriHashimoto 0:d8b95544d238 28 /** Set Contrast.
AkinoriHashimoto 0:d8b95544d238 29 * @param val; 256steps, 0x00 ~ 0xff. Contrast increas as the value.
AkinoriHashimoto 0:d8b95544d238 30 */
AkinoriHashimoto 0:d8b95544d238 31 void setContrast(char val);
AkinoriHashimoto 0:d8b95544d238 32
AkinoriHashimoto 0:d8b95544d238 33 private:
AkinoriHashimoto 0:d8b95544d238 34 I2C i2c;
AkinoriHashimoto 0:d8b95544d238 35 char addr;
AkinoriHashimoto 0:d8b95544d238 36 char buf[3];
AkinoriHashimoto 0:d8b95544d238 37 int _column, _row;
AkinoriHashimoto 0:d8b95544d238 38
AkinoriHashimoto 0:d8b95544d238 39 bool cmd(char chr);
AkinoriHashimoto 0:d8b95544d238 40
AkinoriHashimoto 0:d8b95544d238 41 // virtual func for printf() in Stream-class.
AkinoriHashimoto 0:d8b95544d238 42 virtual int _putc(int val);
AkinoriHashimoto 0:d8b95544d238 43 virtual int _getc();
AkinoriHashimoto 0:d8b95544d238 44
AkinoriHashimoto 0:d8b95544d238 45 // Function SET
AkinoriHashimoto 0:d8b95544d238 46 void setRE();
AkinoriHashimoto 0:d8b95544d238 47 void clearRE();
AkinoriHashimoto 0:d8b95544d238 48 void setSD();
AkinoriHashimoto 0:d8b95544d238 49 void clearSD();
AkinoriHashimoto 0:d8b95544d238 50
AkinoriHashimoto 0:d8b95544d238 51 };
AkinoriHashimoto 0:d8b95544d238 52
AkinoriHashimoto 0:d8b95544d238 53 // EOF