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 CUER

EEPROM_I2C.cpp

Committer:
lcockerton62
Date:
2016-12-22
Revision:
0:0a5f554d2a16
Child:
1:51477fe4851b

File content as of revision 0:0a5f554d2a16:

#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);
}