Library for LCD ACM1602NI connected using I2C interface on Nucleo F401/411. Nucleo F401/411RE で使える I2C 接続の LCD ACM1602NI 用のライブラリ.

Dependents:   ACM1602NI_NucleoF4_Demo ACM1602NI_NucleoF4_Demo

Files at this revision

API Documentation at this revision

Comitter:
CQpub0Mikami
Date:
Tue Dec 09 13:24:27 2014 +0000
Parent:
0:ea06bd02d438
Child:
2:56a2f5e674e4
Commit message:
2

Changed in this revision

ACM1602NI.cpp Show annotated file Show diff for this revision Revisions of this file
ACM1602NI.hpp Show annotated file Show diff for this revision Revisions of this file
--- a/ACM1602NI.cpp	Thu Nov 06 23:48:52 2014 +0000
+++ b/ACM1602NI.cpp	Tue Dec 09 13:24:27 2014 +0000
@@ -1,7 +1,7 @@
 //-------------------------------------------------------
 //  Class for LCD, ACM1602Ni
 //
-//  2014/10/14, Copyright (c) 2014 MIKAMI, Naoki
+//  2014/12/09, Copyright (c) 2014 MIKAMI, Naoki
 //-------------------------------------------------------
 
 #include "ACM1602NI.hpp"
@@ -43,7 +43,7 @@
         return ok;
     }
 
-    // Write string from specified position
+    // Write string
     void Acm1602Ni::WriteString(const char str[])
     {
         for (int n=0; n<16; n++)
--- a/ACM1602NI.hpp	Thu Nov 06 23:48:52 2014 +0000
+++ b/ACM1602NI.hpp	Tue Dec 09 13:24:27 2014 +0000
@@ -11,7 +11,7 @@
 //      I2C2   PB_3(D3)           PB_10(D6)
 //      I2C3   PB_4(D5) or PC_9   PA_8(D7)
 //
-//  2014/10/14, Copyright (c) 2014 MIKAMI, Naoki
+//  2014/12/09, Copyright (c) 2014 MIKAMI, Naoki
 //-------------------------------------------------------
 //  I2C_TypeDef: See stm32f401xe.h on following URL
 //  http://mbed.org/users/mbed_official/code/mbed/file/
@@ -22,6 +22,7 @@
 #define ACM1602NI_HPP
 
 #include "mbed.h"
+#include <string>
 
 namespace Mikami
 {
@@ -38,20 +39,29 @@
         bool GetOk() { return connected_; }
         // All clear
         bool Clear();
+ 
         // Send command
         bool WriteCmd(uint8_t cmd) { return LcdTx(0x00, cmd); }
+ 
         // Write character
         void WriteChar(char data) { LcdTx(0x80, data); }
         // Specify display position, x: 0 - 15, y: 0, 1
+
         void SetXY(uint8_t x = 0, uint8_t y = 0)
         { WriteCmd(x + y*0x40 | 0x80);}
+
         // Write string
         void WriteString(const char str[]);
+        void WriteString(const string str) { WriteString(str.c_str()); }
+
         // Write string from specified position
-        void WriteStringXY(const char str[], uint8_t x, uint8_t);
+        void WriteStringXY(const char str[], uint8_t x, uint8_t y);
+        void WriteStringXY(const string str, uint8_t x, uint8_t y)
+        { WriteStringXY(str.c_str(), x, y); }
+
         // Clear of specified line
         void ClearLine(uint8_t line)
-        { WriteStringXY("                 ", 0, line); }
+        { WriteStringXY("                ", 0, line); }
 
     private:
         // Slave address of ACM1602NI (0x50)