Cell voltages fork (SoC)

Dependencies:   CUER_CAN CUER_DS1820 LTC2943 LTC6804 mbed PowerControl

Revision:
33:44b241c7b2c1
Parent:
32:5b82679b2e6f
--- a/EEPROM_I2C.cpp	Thu Jul 13 21:30:18 2017 +0000
+++ b/EEPROM_I2C.cpp	Sun Jul 16 09:54:06 2017 +0000
@@ -30,21 +30,21 @@
 void i2c_page_write(uint16_t start_address,int length, char data_out[] )
 {
     char cmd[2+length];
-    cmd[0] = start_address >> 8;
-    cmd[1] = start_address && 0x00FF; //Is && appropriate here as opposed to &?
+    cmd[0] = (start_address >> 8) & 0x00FF;
+    cmd[1] = start_address & 0x00FF; 
     for(int  i = 0; i< length ; i++) {
         cmd[i+2] = data_out[i];
     }
 
-    i2c.write(ADDRESS_1, cmd, length, false);
+    i2c.write(ADDRESS_1, cmd, length + 2, false);
 }
-// Page read
+// Page read. Wait 10 milliseconds after a write at least before reading.
 void i2c_page_read(uint16_t start_address, int length, char data_in[])
 {
     char cmd[2];
-    cmd[0] = start_address >> 8;
-    cmd[1] = start_address && 0x00FF; //Same comment as for write
+    cmd[0] = (start_address >> 8) & 0x00FF;
+    cmd[1] = start_address & 0x00FF; //Same comment as for write
     i2c.write(ADDRESS_1, cmd, 2, true);
-
+    wait_us(10);
     i2c.read(ADDRESS_1, data_in, length, false);
 }