Displaytronic (Xiamen Zettler)'s I2C text LCD driver
Dependents: IsuProject_LPC1768 robottt
ACM1602.h@0:f81621685b23, 2014-03-19 (annotated)
- Committer:
- kayekss
- Date:
- Wed Mar 19 01:08:18 2014 +0000
- Revision:
- 0:f81621685b23
Displaytronic (Xiamen Zettler)'s I2C text LCD driver
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kayekss | 0:f81621685b23 | 1 | // ==================================================== Mar 19 2014, kayeks == |
kayekss | 0:f81621685b23 | 2 | // ACM1602.cpp |
kayekss | 0:f81621685b23 | 3 | // =========================================================================== |
kayekss | 0:f81621685b23 | 4 | // Displaytronic (Xiamen Zettler)'s I2C text LCD driver |
kayekss | 0:f81621685b23 | 5 | |
kayekss | 0:f81621685b23 | 6 | #ifndef ACM1602_H_ |
kayekss | 0:f81621685b23 | 7 | #define ACM1602_H_ |
kayekss | 0:f81621685b23 | 8 | |
kayekss | 0:f81621685b23 | 9 | class ACM1602 : public Stream { |
kayekss | 0:f81621685b23 | 10 | private: |
kayekss | 0:f81621685b23 | 11 | I2C i2c; |
kayekss | 0:f81621685b23 | 12 | uint8_t address; |
kayekss | 0:f81621685b23 | 13 | int col, row; |
kayekss | 0:f81621685b23 | 14 | uint8_t lineBuffer[2][16]; |
kayekss | 0:f81621685b23 | 15 | |
kayekss | 0:f81621685b23 | 16 | public: |
kayekss | 0:f81621685b23 | 17 | ACM1602(PinName sda, PinName scl, uint8_t address); |
kayekss | 0:f81621685b23 | 18 | void init(); |
kayekss | 0:f81621685b23 | 19 | void cls(); |
kayekss | 0:f81621685b23 | 20 | void locate(int col, int row); |
kayekss | 0:f81621685b23 | 21 | |
kayekss | 0:f81621685b23 | 22 | private: |
kayekss | 0:f81621685b23 | 23 | virtual int _putc(int c); |
kayekss | 0:f81621685b23 | 24 | virtual int _getc(); |
kayekss | 0:f81621685b23 | 25 | void shiftUp(); |
kayekss | 0:f81621685b23 | 26 | void command(uint8_t b); |
kayekss | 0:f81621685b23 | 27 | void data(uint8_t b); |
kayekss | 0:f81621685b23 | 28 | }; |
kayekss | 0:f81621685b23 | 29 | |
kayekss | 0:f81621685b23 | 30 | #endif |