implement memory init for EEPROM
This commit is contained in:
@@ -6,9 +6,9 @@
|
||||
*/
|
||||
|
||||
#include "can_message.h"
|
||||
#include "../middleware/can_interface.h"
|
||||
#include "car.h"
|
||||
#include "../app/factory/factory.h"
|
||||
#include "../middleware/can_interface.h"
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
@@ -24,40 +24,44 @@ typedef union {
|
||||
|
||||
void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){
|
||||
switch(idSender){
|
||||
case 0: // Broadcast / Debug
|
||||
/*
|
||||
S R M
|
||||
0 1 0 CONTROL_SETUP steeringMode - - controlAliveTime
|
||||
0 1 1 CONTROL_SPEED_FACTOR valHH valH valL valLL
|
||||
0 1 2 CONTROL_POWER_FACTOR valHH valH valL valLL
|
||||
0 1 3 CONTROL_STEERING_FACTOR valHH valH valL valLL
|
||||
0 1 4 CONTROL_SECURITY_PARAM maxSpeedFw maxSpeedBw - -
|
||||
0 1 5 CONTROL_SETUP_PARAM displayAliveTime steeringAliveTime
|
||||
0 1 6 CONTROL_SETUP_PARAM_JOY joystickMode joystickParam1 joystickParam2 joystickAliveTime
|
||||
0 1 7 CONTROL_SETUP_PARAM_DRIVE driveAliveTime driveSpeedTime driveStopTime
|
||||
0 1 8 CONTROL_SETUP_PARAM_BATTERY batteryVoltTime batteryCurrentTime batteryEnergyTime batteryAliveTime
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* BROADCAST / DEBUG *
|
||||
*********************/
|
||||
case 0:
|
||||
if(idMsg == 0x0) { // CONTROL_SETUP
|
||||
|
||||
// steeringMode - - controlAliveTime
|
||||
BYTES_4 tmpData;
|
||||
tmpData.full.bytes = data;
|
||||
CAR_CST.CONTROL_STEERING_MODE = tmpData.separate.byte0;
|
||||
CAR_CST.CONTROL_ALIVE_TIME = tmpData.separate.byte3;
|
||||
MEM_write_1_byte(MEMADD_CONTROL_STEERING_MODE, CAR_CST.CONTROL_STEERING_MODE);
|
||||
MEM_write_1_byte(MEMADD_CONTROL_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME);
|
||||
WATCHDOG_setTime(WDcontroller(), CAR_CST.CONTROL_ALIVE_TIME);
|
||||
}
|
||||
|
||||
if(idMsg == 0x1) { // CONTROL_SPEED_FACTOR
|
||||
// valHH valH valL valLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x2) { // CONTROL_POWER_FACTOR
|
||||
// valHH valH valL valLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x3) { // CONTROL_STEERING_FACTOR
|
||||
// valHH valH valL valLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x4) { // CONTROL_SECURITY_PARAM
|
||||
// maxSpeedFw maxSpeedBw - -
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x5) { // CONTROL_SETUP_PARAM
|
||||
// displayAliveTime steeringAliveTime - -
|
||||
|
||||
}
|
||||
|
||||
@@ -65,41 +69,50 @@ void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){
|
||||
// joystickMode joystickParam1 joystickParam2 joystickAliveTime
|
||||
BYTES_4 tmpData;
|
||||
tmpData.full.bytes = data;
|
||||
MEM_write_one_byte(MEMADD_JOYSTICK_MODE, tmpData.separate.byte0);
|
||||
MEM_write_one_byte(MEMADD_JOYSTICK_PARAM1, tmpData.separate.byte1);
|
||||
MEM_write_one_byte(MEMADD_JOYSTICK_PARAM2, tmpData.separate.byte2);
|
||||
MEM_write_one_byte(MEMADD_JOYSTICK_ALIVE_TIME, tmpData.separate.byte3);
|
||||
CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE);
|
||||
CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1);
|
||||
CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2);
|
||||
CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME);
|
||||
CAR_CST.JOYSTICK_MODE = tmpData.separate.byte0;
|
||||
CAR_CST.JOYSTICK_PARAM1 = tmpData.separate.byte1;
|
||||
CAR_CST.JOYSTICK_PARAM2 = tmpData.separate.byte2;
|
||||
CAR_CST.JOYSTICK_ALIVE_TIME = tmpData.separate.byte3;
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_MODE, CAR_CST.JOYSTICK_MODE);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_PARAM1, CAR_CST.JOYSTICK_PARAM1);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_PARAM2, CAR_CST.JOYSTICK_PARAM2);
|
||||
MEM_write_1_byte(MEMADD_JOYSTICK_ALIVE_TIME, CAR_CST.JOYSTICK_ALIVE_TIME);
|
||||
|
||||
ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME);
|
||||
CM_JOY_SETUP(NULL);
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x7) { // CONTROL_SETUP_PARAM_DRIVE
|
||||
// driveAliveTime driveSpeedTime driveStopTime -
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x8) { // CONTROL_SETUP_PARAM_BATTERY
|
||||
// batteryVoltTime batteryCurrentTime batteryEnergyTime batteryAliveTime
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 2: // Joystick
|
||||
|
||||
/************
|
||||
* JOYSTICK *
|
||||
************/
|
||||
case 2:
|
||||
if(idMsg == 0x1) { // JOY_MESURE
|
||||
// posX posY button -
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0xF) { // JOY_ALIVE
|
||||
// - - - -
|
||||
ALIVE_CHECKER_ISALIVE(ACjoy());
|
||||
if(ACjoy()->state == STAC_DEAD){
|
||||
CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE);
|
||||
CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1);
|
||||
CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2);
|
||||
CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME);
|
||||
CAR_CST.JOYSTICK_MODE = MEM_read_1_byte(MEMADD_JOYSTICK_MODE);
|
||||
CAR_CST.JOYSTICK_PARAM1 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM1);
|
||||
CAR_CST.JOYSTICK_PARAM2 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM2);
|
||||
CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_1_byte(MEMADD_JOYSTICK_ALIVE_TIME);
|
||||
ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME);
|
||||
ALIVE_CHECKER_emitBorn(ACjoy(), 0, 0);
|
||||
ALIVE_CHECKER_emitReady(ACjoy(), 100, 0);
|
||||
@@ -107,19 +120,70 @@ void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){
|
||||
}
|
||||
break;
|
||||
|
||||
case 3: // Display
|
||||
|
||||
/***********
|
||||
* DISPLAY *
|
||||
***********/
|
||||
case 3:
|
||||
if(idMsg == 0xF) { // DISPLAY_ALIVE
|
||||
// powerMode - - -
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 4: // Drive
|
||||
|
||||
/*********
|
||||
* DRIVE *
|
||||
*********/
|
||||
case 4:
|
||||
if(idMsg == 0x0) { // DRIVE_SPEED
|
||||
// speedHH speedH speedL speedLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0xF) { // DRIVE_ALIVE
|
||||
// statusH statusL - -
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 5: // Steering
|
||||
|
||||
/************
|
||||
* STEERING *
|
||||
************/
|
||||
case 5:
|
||||
if(idMsg == 0x1) { // STEERING_GET_CENTER
|
||||
// valHH valH valL valLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0x2) { // STEERING_GET_POSITION
|
||||
// valHH valH valL valLL
|
||||
|
||||
}
|
||||
|
||||
if(idMsg == 0xF) { // STEERING_ALIVE
|
||||
// statusH statusL - -
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 6: // Supply
|
||||
|
||||
/**********
|
||||
* SUPPLY *
|
||||
**********/
|
||||
case 6:
|
||||
if(idMsg == 0xF) { // BATTERY_ALIVE
|
||||
// - - - -
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 7: // Undefined
|
||||
|
||||
/*************
|
||||
* UNDEFINED *
|
||||
*************/
|
||||
case 7:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user