An I2C text LCD library for Displaytronic ACM1602NI-FLW-FBW-M01

Dependents:   ACM1602NI_Demo ROBOT_v01 ROBOT_v02 Boku-Transmit ... more

Revision:
8:661827681a12
Parent:
7:728c03b52b79
--- a/ACM1602NI.h	Sat Jan 18 02:27:30 2014 +0000
+++ b/ACM1602NI.h	Sat Feb 15 13:48:55 2014 +0000
@@ -23,12 +23,15 @@
  * The device does not work with default I2C library due to its slow I2C responce.
  * This library adds some extra waits so that the device can answer to the I2C commands.
  * The interface is basically the same as TextLCD by Simon Ford.
+ * 
+ * This LCD device is manufactured by Xiamen Zettler Electronics Co. Ltd. and distributed by
+ * Akizuki Denshi Tsusho Co. Ltd.
+ * http://akizukidenshi.com/catalog/g/gP-05693/
+ * http://akizukidenshi.com/download/ds/xiamen/ACM1602NI-FLW-FBW-M01_DISPLAYTRONIC_%20SPEC%20VER1.2.pdf
  *
  * Example:
  * @code
  * #include "mbed.h"
- *
- * // I2C Text LCD: http://mbed.org/users/takuo/code/ACM1602NI/
  * #include "ACM1602NI.h"
  *
  * // I2C pins: p9 = sda, p10 = scl
@@ -38,15 +41,13 @@
  * // I2C i2c(p9, p10);
  * // ACM1602NI lcd(i2c);
  *
- * int main()
- * {
+ * int main() {
  *     lcd.printf("Hello, World!\n");
  *     lcd.printf("ACM1602NI\n");
  * }
  * @endcode
  */
-class ACM1602NI : public Stream
-{
+class ACM1602NI : public Stream {
 public:
     /** Create an ACM1602NI object connected to the specified I2C pins.
      *
@@ -78,6 +79,21 @@
     int rows();
     int columns();
 
+#if DOXYGEN_ONLY
+    /** Write a character to the LCD
+     *
+     * @param c The character to write to the display
+     */
+    int putc(int c);
+
+    /** Write a formated string to the LCD
+     *
+     * @param format A printf-style format string, followed by the
+     *               variables to use in formating the string.
+     */
+    int printf(const char* format, ...);
+#endif
+
 protected:
     static const int i2c_addr = 0x50 << 1;
     static const int i2c_bit_wait_us = 20;
@@ -94,9 +110,10 @@
 
     int address(int column, int raw);
     void character(int column, int row, int c);
+
     int writeBytes(const char *data, int length, bool repeated = false);
-    void writeCommand(int command);
-    void writeData(int data);
+    void writeCommand(char command);
+    void writeData(char data);
 };
 
 #endif