Has base BMU code but sends dummy temperature and voltage readings to test CAN
Dependencies: CUER_CAN DS1820 LTC2943 LTC6804 mbed
Fork of BMS_BMUCore_Max by
Diff: EEPROM_I2C.cpp
- Revision:
- 0:0a5f554d2a16
- Child:
- 1:51477fe4851b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EEPROM_I2C.cpp Thu Dec 22 15:11:29 2016 +0000 @@ -0,0 +1,42 @@ +#include "EEPROM_I2C.h" + +I2C i2c(I2C_DATA, I2C_CLOCK); + +// Write individual byte +void i2c_write(int start_address,char data_out){ + + char data[3]; + data[0] = start_address; + data[1] = start_address; + data[2] = data_out; + i2c.write(ADDRESS_1, data, 3, false); +} + +// Read individual byte +char i2c_read(int start_address){ + char cmd[3]; + cmd[0] = start_address; + cmd[1] = start_address; + i2c.write(ADDRESS_1, cmd, 2, true); + + char data_out; + i2c.read(ADDRESS_1, &data_out, 1, false); + return data_out; +} + +// Page write +void i2c_page_write(int start_address,int length, char data_out[] ){ + + i2c.write(ADDRESS_1, data_out, length, false); + +} +// Page read +void i2c_page_read(int start_address,int length, char data_in[]){ + char cmd[2]; + cmd[0] = start_address; + cmd[1] = start_address + length; + i2c.write(ADDRESS_1, cmd, length, true); + + i2c.read(ADDRESS_1, data_in, length, false); +} + \ No newline at end of file