A library for AQM0802A I2C connecting LCD module.
KuAQM0802A.h@1:39cf7f91a7ba, 2014-08-13 (annotated)
- 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?
User | Revision | Line number | New 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 |