updated eeprom.h
This commit is contained in:
parent
662faed1fe
commit
cc496b1140
@ -5,10 +5,11 @@
|
||||
* Author: Hamza
|
||||
*/
|
||||
|
||||
#include "TMP1075.h"
|
||||
#include <eeprom.h>
|
||||
|
||||
// see Datasheet for these values
|
||||
#define EEPROM_I2C_ADDR 0xB0
|
||||
#define EEPROM_I2C_ADDR 0xA0
|
||||
#define EEPROM_WRITE_FREQ_INACTIVE 1000
|
||||
#define EEPROM_WRITE_FREQ_ACTIVE 100
|
||||
#define EERROM_MEMORY_ADDR_SIZE 2
|
||||
@ -34,14 +35,17 @@ void eeprom_write_status(){
|
||||
data[4] = (RELAY_BAT_SIDE_VOLTAGE >> 8); // 16 bit battery voltage
|
||||
data[5] = (RELAY_BAT_SIDE_VOLTAGE);
|
||||
data[6] = (RELAY_ESC_SIDE_VOLTAGE >> 8); // 16 bit Inverter voltage
|
||||
data[7] = (RELAY_ESC_SIDE_VOLTAGE >> 8);
|
||||
data[7] = (RELAY_ESC_SIDE_VOLTAGE);
|
||||
data[8] = (CURRENT_MEASUREMENT >> 8); // 16 bit Inverter voltage
|
||||
data[9] = (CURRENT_MEASUREMENT);
|
||||
|
||||
// data 0-23
|
||||
for (int i = 0; i < 13; i++) {
|
||||
data[i+10] = ((int) module.auxVoltages[i]) >> 8;
|
||||
data[i+11] = ((int) module.auxVoltages[i]);
|
||||
// data 10-35
|
||||
for (int i = 10; i < 36; i+=2) {
|
||||
data[i] = ((int) module.auxVoltages[i]) >> 8;
|
||||
data[i+1] = ((int) module.auxVoltages[i]);
|
||||
}
|
||||
for (int i = 37; i < 50; i++) {
|
||||
data[i] = tmp1075_temps[i];
|
||||
}
|
||||
eeprom_write(data, current_address);
|
||||
current_address++;
|
||||
@ -50,16 +54,26 @@ void eeprom_write_status(){
|
||||
HAL_StatusTypeDef eeprom_read(uint8_t* data, uint16_t address){
|
||||
HAL_StatusTypeDef status = HAL_I2C_Mem_Read(
|
||||
hi2c, EEPROM_I2C_ADDR, address,
|
||||
2, data, sizeof(data), 100);
|
||||
2, data, sizeof(data), 50);
|
||||
return status;
|
||||
}
|
||||
|
||||
HAL_StatusTypeDef eeprom_write(uint8_t* data, uint16_t address){
|
||||
HAL_StatusTypeDef status = HAL_OK;
|
||||
HAL_GPIO_WritePin(EEPROM___WC__GPIO_Port, EEPROM___WC__Pin, GPIO_PIN_RESET);
|
||||
HAL_StatusTypeDef status = HAL_I2C_Mem_Write(
|
||||
if (address < 65535){
|
||||
status = HAL_I2C_Mem_Write(
|
||||
hi2c, EEPROM_I2C_ADDR,
|
||||
current_address, EERROM_MEMORY_ADDR_SIZE,
|
||||
data, sizeof(data), 100);
|
||||
return status;
|
||||
HAL_GPIO_WritePin(EEPROM___WC__GPIO_Port, EEPROM___WC__Pin, GPIO_PIN_SET);
|
||||
data, sizeof(data), 50);
|
||||
current_address += sizeof(data);
|
||||
} else if (address > 65535) {
|
||||
status = HAL_I2C_Mem_Write(
|
||||
hi2c, EEPROM_I2C_ADDR,
|
||||
current_address, EERROM_MEMORY_ADDR_SIZE,
|
||||
data, sizeof(data), 50);
|
||||
current_address += sizeof(data);
|
||||
}
|
||||
HAL_GPIO_WritePin(EEPROM___WC__GPIO_Port, EEPROM___WC__Pin, GPIO_PIN_SET);
|
||||
return status;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user