move eeprom to app
This commit is contained in:
@@ -1,139 +0,0 @@
|
||||
/**
|
||||
* @author R<>mi Heredero
|
||||
* @version 1.0.0
|
||||
* @date August 2023
|
||||
* @file eeprom_interface.h
|
||||
*/
|
||||
|
||||
#include "eeprom.h"
|
||||
#include "../app/car.h"
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
uint8_t byte0;
|
||||
uint8_t byte1;
|
||||
uint8_t byte2;
|
||||
uint8_t byte3;
|
||||
} separate;
|
||||
uint32_t full;
|
||||
uint8_t array[4];
|
||||
} BYTES_4;
|
||||
|
||||
void MEM_init(){
|
||||
uint8_t check = MEM_read_1_byte(0x0);
|
||||
if(check != 0x42){
|
||||
KART_CST.CONTROL_STEERING_MODE = 0;
|
||||
KART_CST.CONTROL_ALIVE_TIME = 50;
|
||||
KART_CST.CONTROL_SPEED_FACTOR = 0;
|
||||
KART_CST.CONTROL_POWER_FACTOR = 10000;
|
||||
KART_CST.CONTROL_STEERING_FACTOR = 400000000;
|
||||
KART_CST.CONTROL_MAX_SPEED_FW = 500;
|
||||
KART_CST.CONTROL_MAX_SPEED_BW = 250;
|
||||
|
||||
KART_CST.JOYSTICK_MODE = 0;
|
||||
KART_CST.JOYSTICK_PARAM1 = 5;
|
||||
KART_CST.JOYSTICK_PARAM2 = 1;
|
||||
KART_CST.JOYSTICK_ALIVE_TIME = 25;
|
||||
|
||||
KART_CST.DISPLAY_ALIVE_TIME = 100;
|
||||
|
||||
KART_CST.DRIVE_SPEED_TIME = 20;
|
||||
KART_CST.DRIVE_STOP_TIME = 10;
|
||||
KART_CST.DRIVE_ALIVE_TIME = 25;
|
||||
|
||||
KART_CST.STEERING_ALIVE_TIME = 100;
|
||||
|
||||
KART_CST.BATTERY_VOLT_TIME = 50;
|
||||
KART_CST.BATTERY_CURRENT_TIME = 50;
|
||||
KART_CST.BATTERY_ENERGY_TIME = 50;
|
||||
KART_CST.BATTERY_ALIVE_TIME = 50;
|
||||
|
||||
MEM_write_1_byte(MEMADD_CONTROL_STEERING_MODE, KART_CST.CONTROL_STEERING_MODE);
|
||||
MEM_write_1_byte(MEMADD_CONTROL_ALIVE_TIME, KART_CST.CONTROL_ALIVE_TIME);
|
||||
MEM_write_4_byte(MEMADD_CONTROL_SPEED_FACTOR, KART_CST.CONTROL_SPEED_FACTOR);
|
||||
MEM_write_4_byte(MEMADD_CONTROL_POWER_FACTOR, KART_CST.CONTROL_POWER_FACTOR);
|
||||
MEM_write_4_byte(MEMADD_CONTROL_STEERING_FACTOR, KART_CST.CONTROL_STEERING_FACTOR);
|
||||
MEM_write_1_byte(MEMADD_CONTROL_MAX_SPEED_FW, KART_CST.CONTROL_MAX_SPEED_FW);
|
||||
MEM_write_1_byte(MEMADD_CONTROL_MAX_SPEED_BW, KART_CST.CONTROL_MAX_SPEED_BW);
|
||||
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_MODE, KART_CST.JOYSTICK_MODE);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_PARAM1, KART_CST.JOYSTICK_PARAM1);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_PARAM2, KART_CST.JOYSTICK_PARAM2);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_ALIVE_TIME, KART_CST.JOYSTICK_ALIVE_TIME);
|
||||
|
||||
MEM_write_1_byte(MEMADD_DISPLAY_ALIVE_TIME, KART_CST.DISPLAY_ALIVE_TIME);
|
||||
|
||||
MEM_write_1_byte(MEMADD_DRIVE_SPEED_TIME, KART_CST.DRIVE_SPEED_TIME);
|
||||
MEM_write_1_byte(MEMADD_DRIVE_STOP_TIME, KART_CST.DRIVE_STOP_TIME);
|
||||
MEM_write_1_byte(MEMADD_DRIVE_ALIVE_TIME, KART_CST.DRIVE_ALIVE_TIME);
|
||||
|
||||
MEM_write_1_byte(MEMADD_STEERING_ALIVE_TIME, KART_CST.STEERING_ALIVE_TIME);
|
||||
|
||||
MEM_write_1_byte(MEMADD_BATTERY_VOLT_TIME, KART_CST.BATTERY_VOLT_TIME);
|
||||
MEM_write_1_byte(MEMADD_BATTERY_CURRENT_TIME, KART_CST.BATTERY_CURRENT_TIME);
|
||||
MEM_write_1_byte(MEMADD_BATTERY_ENERGY_TIME, KART_CST.BATTERY_ENERGY_TIME);
|
||||
MEM_write_1_byte(MEMADD_BATTERY_ALIVE_TIME, KART_CST.BATTERY_ALIVE_TIME);
|
||||
|
||||
MEM_write_1_byte(0x0, 0x42);
|
||||
} else {
|
||||
KART_CST.CONTROL_STEERING_MODE = MEM_read_1_byte(MEMADD_CONTROL_STEERING_MODE);
|
||||
KART_CST.CONTROL_ALIVE_TIME = MEM_read_1_byte(MEMADD_CONTROL_ALIVE_TIME);
|
||||
KART_CST.CONTROL_SPEED_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_SPEED_FACTOR);
|
||||
KART_CST.CONTROL_POWER_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_POWER_FACTOR);
|
||||
KART_CST.CONTROL_STEERING_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_STEERING_FACTOR);
|
||||
KART_CST.CONTROL_MAX_SPEED_FW = MEM_read_1_byte(MEMADD_CONTROL_MAX_SPEED_FW);
|
||||
KART_CST.CONTROL_MAX_SPEED_BW = MEM_read_1_byte(MEMADD_CONTROL_MAX_SPEED_BW);
|
||||
|
||||
KART_CST.JOYSTICK_MODE = MEM_read_1_byte(MEMADD_JOYSTICK_MODE);
|
||||
KART_CST.JOYSTICK_PARAM1 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM1);
|
||||
KART_CST.JOYSTICK_PARAM2 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM2);
|
||||
KART_CST.JOYSTICK_ALIVE_TIME = MEM_read_1_byte(MEMADD_JOYSTICK_ALIVE_TIME);
|
||||
|
||||
KART_CST.DISPLAY_ALIVE_TIME = MEM_read_1_byte(MEMADD_DISPLAY_ALIVE_TIME);
|
||||
|
||||
KART_CST.DRIVE_SPEED_TIME = MEM_read_1_byte(MEMADD_DRIVE_SPEED_TIME);
|
||||
KART_CST.DRIVE_STOP_TIME = MEM_read_1_byte(MEMADD_DRIVE_STOP_TIME);
|
||||
KART_CST.DRIVE_ALIVE_TIME = MEM_read_1_byte(MEMADD_DRIVE_ALIVE_TIME);
|
||||
|
||||
KART_CST.STEERING_ALIVE_TIME = MEM_read_1_byte(MEMADD_STEERING_ALIVE_TIME);
|
||||
|
||||
KART_CST.BATTERY_VOLT_TIME = MEM_read_1_byte(MEMADD_BATTERY_VOLT_TIME);
|
||||
KART_CST.BATTERY_CURRENT_TIME = MEM_read_1_byte(MEMADD_BATTERY_CURRENT_TIME);
|
||||
KART_CST.BATTERY_ENERGY_TIME = MEM_read_1_byte(MEMADD_BATTERY_ENERGY_TIME);
|
||||
KART_CST.BATTERY_ALIVE_TIME = MEM_read_1_byte(MEMADD_BATTERY_ALIVE_TIME);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void MEM_reset() {
|
||||
MEM_write_1_byte(0x0, 0x0);
|
||||
}
|
||||
|
||||
void MEM_write_1_byte(uint8_t address, uint8_t data) {
|
||||
DATAEE_WriteByte(address, data);
|
||||
}
|
||||
|
||||
void MEM_write_4_byte(uint8_t address, uint32_t data) {
|
||||
BYTES_4 tmpData;
|
||||
tmpData.full = data;
|
||||
for(uint8_t i = 0; i<4;i++) {
|
||||
uint8_t add = address;
|
||||
add += i;
|
||||
MEM_write_1_byte(add, tmpData.array[i]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
uint8_t MEM_read_1_byte(uint8_t address) {
|
||||
return DATAEE_ReadByte(address);
|
||||
}
|
||||
|
||||
uint32_t MEM_read_4_byte(uint8_t address) {
|
||||
BYTES_4 tmpData;
|
||||
for(uint8_t i = 0; i<4;i++) {
|
||||
uint8_t add = address;
|
||||
add += i;
|
||||
tmpData.array[i] = MEM_read_1_byte(add);
|
||||
}
|
||||
return tmpData.full;
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
/**
|
||||
* @author R<>mi Heredero
|
||||
* @version 1.0.0
|
||||
* @date August 2023
|
||||
* @file eeprom_interface.h
|
||||
*/
|
||||
#ifndef EEPROM_INTERFACE_H
|
||||
#define EEPROM_INTERFACE_H
|
||||
|
||||
#include <stdint.h> // usage of standard types
|
||||
#include <stdbool.h> // usage of boolean types
|
||||
#include "../mcc_generated_files/mcc.h"
|
||||
|
||||
void MEM_init();
|
||||
void MEM_reset();
|
||||
void MEM_write_1_byte(uint8_t address, uint8_t data);
|
||||
void MEM_write_4_byte(uint8_t address, uint32_t data);
|
||||
uint8_t MEM_read_1_byte(uint8_t address);
|
||||
uint32_t MEM_read_4_byte(uint8_t address);
|
||||
|
||||
#endif /* EEPROM_INTERFACE_H */
|
||||
|
Reference in New Issue
Block a user