Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 10:839cd28531dd, committed 2019-02-27
- 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; }