Cell voltages fork (SoC)
Dependencies: CUER_CAN CUER_DS1820 LTC2943 LTC6804 mbed PowerControl
Diff: EEPROM_I2C.cpp
- 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); }