Update current library to accommodate small devices.

Files at this revision

API Documentation at this revision

Comitter:
jonebuckman
Date:
Wed Feb 27 22:22:16 2019 +0000
Parent:
9:26b4bcc5d3b5
Commit message:
Added type cast (char)

Changed in this revision

I2CEEPROM.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 26b4bcc5d3b5 -r 839cd28531dd I2CEEPROM.cpp
--- a/I2CEEPROM.cpp	Thu Jun 22 13:11:09 2017 +0000
+++ b/I2CEEPROM.cpp	Wed Feb 27 22:22:16 2019 +0000
@@ -30,7 +30,7 @@
     if (!checkSpace(address, 1))
         return 0;
     if(m_chipSize == 256 || m_chipSize == 128 || m_chipSize == 16) {
-        char values[] = { (address & 0xFF) };
+        char values[] = { (char)(address & 0xFF) };
         if (m_i2c.write(m_i2cAddress, values, 1) == 0) {
             if (m_i2c.read(m_i2cAddress, &value, 1) == 0) {
                 return 1;
@@ -38,7 +38,7 @@
         }
     }
     else {
-        char values[] = { (address >> 8), (address & 0xFF) };
+        char values[] = { (char)(address >> 8), (char)(address & 0xFF) };
         if (m_i2c.write(m_i2cAddress, values, 2) == 0) {
             if (m_i2c.read(m_i2cAddress, &value, 1) == 0) {
                 return 1;
@@ -55,7 +55,7 @@
         return 0;
 
     if(m_chipSize == 256 || m_chipSize == 128 || m_chipSize == 16) {
-        char values[] = { (address & 0xFF) };
+        char values[] = { (char)(address & 0xFF) };
         if (m_i2c.write(m_i2cAddress, values, 1) == 0) {
             if (m_i2c.read(m_i2cAddress, buffer, size) == 0) {
                 return size;
@@ -63,7 +63,7 @@
         }
     }
     else {
-        char values[] = { (address >> 8), (address & 0xFF) };
+        char values[] = { (char)(address >> 8), (char)(address & 0xFF) };
         if (m_i2c.write(m_i2cAddress, values, 2) == 0) {
             if (m_i2c.read(m_i2cAddress, buffer, size) == 0) {
                 return size;
@@ -80,13 +80,13 @@
         return 0;
 
     if(m_chipSize == 256 || m_chipSize == 128 || m_chipSize == 16) {
-        char values[] = { (address & 0xFF), value };
+        char values[] = { (char)(address & 0xFF), value };
         if (m_i2c.write(m_i2cAddress, values, 2) != 0) {
             return 0;
         }
     }
     else {
-        char values[] = { (address >> 8), (address & 0xFF), value };
+        char values[] = { (char)(address >> 8), (char)(address & 0xFF), value };
         if (m_i2c.write(m_i2cAddress, values, 3) != 0) {
             return 0;
         }
@@ -127,14 +127,14 @@
         //printf("Writing [%.*s] at %d size %d\n\r", toWrite, page, address, toWrite);
         // Start the page write with the addres ine one write call.
         if(m_chipSize == 256 || m_chipSize == 128 || m_chipSize == 16) {
-            char values[] = { (address & 0xFF) };
+            char values[] = { (char)(address & 0xFF) };
             if (m_i2c.write(m_i2cAddress, values, 1, true) != 0) {
                 // Write failed to return bytes written so far.
                 return size - left;
             }
         }
         else {
-            char values[] = { (address >> 8), (address & 0xFF) };
+            char values[] = { (char)(address >> 8), (char)(address & 0xFF) };
             if (m_i2c.write(m_i2cAddress, values, 2, true) != 0) {
                 // Write failed to return bytes written so far.
                 return size - left;
@@ -142,8 +142,8 @@
         }
 
         // Write the bytes out one at a time to avoid having to copy them to
-        // another buffer.        
-        for (int count = 0; count != toWrite; ++count) {
+        // another buffer.
+        for (size_t count = 0; count != (size_t)toWrite; ++count) {
             if (m_i2c.write(*page) == 0) {
                 // Write failed to return bytes written so far.
                 return size - left;
@@ -156,12 +156,12 @@
         m_i2c.stop();
 
         waitForWrite();
-        
+
         // Update the counters with the amount we've just written
         left -= toWrite;
         address += toWrite;
     }
-    
+
     return size;
 }
 
@@ -171,7 +171,7 @@
         return 0;
         
     size_t left = size;
-    
+
     while (left != 0) {
         size_t toWrite;
         if ((address % m_pageSize) != 0) {
@@ -189,27 +189,27 @@
         
         //printf("Writing %d at %d size %d\n\r", value, address, toWrite);
         if(m_chipSize == 256 || m_chipSize == 128 || m_chipSize == 16) {
-            char values[] = { (address & 0xFF) };
+            char values[] = { (char)(address & 0xFF) };
             if (m_i2c.write(m_i2cAddress, values, 1, true) != 0) {
                 return size - left;
             }
         }
         else {
-            char values[] = { (address >> 8), (address & 0xFF) };
+            char values[] = { (char)(address >> 8), (char)(address & 0xFF) };
             if (m_i2c.write(m_i2cAddress, values, 2, true) != 0) {
                 return size - left;
             }
         }
-        
-        for (int count = 0; count != toWrite; ++count) {
+
+        for (size_t count = 0; count != (size_t)toWrite; ++count) {
             if (m_i2c.write(value) == 0)
                 return size - left;
         }
         
         m_i2c.stop();
-        
+
         waitForWrite();
-        
+
         left -= toWrite;
         address += toWrite;
     }