MAX6955 LED driver

Revision:
2:f6c4ed9cbf0e
Parent:
1:8936ddb97551
Child:
3:fbcb79f6e0a8
--- a/MAX6955.cpp	Sun Jun 24 09:40:19 2018 -0400
+++ b/MAX6955.cpp	Sat Aug 11 10:56:18 2018 -0400
@@ -6,6 +6,15 @@
 
 MAX6955::MAX6955(PinName sda, PinName scl, char driver): i2c_(sda, scl), driver_(driver){}
 
+static void prepareString(char* buffer, char* i2cData) {
+    for (int i = 0; i < 8; i++) {
+        if (buffer[i] < 32 || buffer[i] > 126) { // make sure its printable
+            i2cData[i+1] = 32; // if not, replace it with "space"
+        } else {
+            i2cData[i+1] = buffer[i];
+        }
+    }
+}
 
 int MAX6955::write(char command, char data) {
     char i2cData[2];
@@ -17,16 +26,9 @@
 }
 
 int MAX6955::writeS(char* buffer) {
-    int i;
     char i2cData[9];
     i2cData[0] = 0x20; // first digit
-    for (i = 0; i < 8; i++) {
-        if (buffer[i] < 32 || buffer[i] > 126) { // make sure its printable
-            i2cData[i+1] = 32; // if not, replace it with "space"
-        } else {
-            i2cData[i+1] = buffer[i];
-        }
-    }
+    prepareString(buffer, i2cData);
     int result = i2c_.write(driver_, (char *) i2cData, 9);
     wait(0.07);
     return result;