A library for AQM0802A I2C connecting LCD module.

Committer:
kunichiko
Date:
Wed Aug 13 13:14:21 2014 +0000
Revision:
1:39cf7f91a7ba
Parent:
0:414db8b8aaad
Replace print() with Stream's printf() method.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kunichiko 0:414db8b8aaad 1 #ifndef AQM0802A_H
kunichiko 0:414db8b8aaad 2 #define AQM0802A_H
kunichiko 0:414db8b8aaad 3
kunichiko 0:414db8b8aaad 4 #include "mbed.h"
kunichiko 0:414db8b8aaad 5
kunichiko 0:414db8b8aaad 6 /**
kunichiko 0:414db8b8aaad 7 * A library for AQM0802A I2C connecting LCD.
kunichiko 0:414db8b8aaad 8 */
kunichiko 1:39cf7f91a7ba 9 class KuAQM0802A : public Stream {
kunichiko 0:414db8b8aaad 10 private:
kunichiko 0:414db8b8aaad 11 I2C &i2c;
kunichiko 0:414db8b8aaad 12
kunichiko 0:414db8b8aaad 13 public:
kunichiko 0:414db8b8aaad 14
kunichiko 0:414db8b8aaad 15 /**
kunichiko 0:414db8b8aaad 16 * Constractor of AQM0802A driver.
kunichiko 0:414db8b8aaad 17 * @param i2c I2C object
kunichiko 0:414db8b8aaad 18 */
kunichiko 0:414db8b8aaad 19 explicit KuAQM0802A(I2C &i2c);
kunichiko 0:414db8b8aaad 20
kunichiko 0:414db8b8aaad 21 /**
kunichiko 0:414db8b8aaad 22 * Destractor
kunichiko 0:414db8b8aaad 23 */
kunichiko 0:414db8b8aaad 24 ~KuAQM0802A();
kunichiko 0:414db8b8aaad 25
kunichiko 0:414db8b8aaad 26 /**
kunichiko 0:414db8b8aaad 27 * Reset target device
kunichiko 0:414db8b8aaad 28 */
kunichiko 0:414db8b8aaad 29 void reset();
kunichiko 0:414db8b8aaad 30
kunichiko 0:414db8b8aaad 31 /**
kunichiko 0:414db8b8aaad 32 * Locate cursor
kunichiko 0:414db8b8aaad 33 * @param x Position X
kunichiko 0:414db8b8aaad 34 * @param y Position Y
kunichiko 0:414db8b8aaad 35 */
kunichiko 0:414db8b8aaad 36 void locate(unsigned int x, unsigned int y);
kunichiko 0:414db8b8aaad 37
kunichiko 0:414db8b8aaad 38 /**
kunichiko 1:39cf7f91a7ba 39 * Print a character
kunichiko 1:39cf7f91a7ba 40 * @param character A character to print
kunichiko 0:414db8b8aaad 41 */
kunichiko 1:39cf7f91a7ba 42 void print_char(const int character);
kunichiko 0:414db8b8aaad 43
kunichiko 0:414db8b8aaad 44 /**
kunichiko 0:414db8b8aaad 45 * Change LCD contrast
kunichiko 0:414db8b8aaad 46 * @param contrast LCD contrast (0-63)
kunichiko 0:414db8b8aaad 47 */
kunichiko 0:414db8b8aaad 48 void set_contrast(unsigned int contrast);
kunichiko 0:414db8b8aaad 49
kunichiko 1:39cf7f91a7ba 50 // for Stream implementation
kunichiko 1:39cf7f91a7ba 51 virtual int _putc(int value) { print_char(value); return 1; };
kunichiko 1:39cf7f91a7ba 52 virtual int _getc() { return -1; };
kunichiko 1:39cf7f91a7ba 53
kunichiko 0:414db8b8aaad 54 private:
kunichiko 0:414db8b8aaad 55 void send_cmd(char cmd);
kunichiko 0:414db8b8aaad 56
kunichiko 0:414db8b8aaad 57 void send(bool CO, bool RS, char code);
kunichiko 0:414db8b8aaad 58 };
kunichiko 0:414db8b8aaad 59
kunichiko 0:414db8b8aaad 60 #endif