Modify & transmit params via CAN
This commit is contained in:
@ -1,3 +1,118 @@
|
||||
#include "params.h"
|
||||
#include "can-halal.h"
|
||||
#include "vehicle.h"
|
||||
|
||||
Params params = {0};
|
||||
|
||||
void params_init() { params.bbal = 50; }
|
||||
|
||||
void params_inc(ParamType param) {
|
||||
switch (param) {
|
||||
case PF_BBAL:
|
||||
params.bbal += 0.5f;
|
||||
if (params.bbal > 100.0f) {
|
||||
params.bbal = 100.0f;
|
||||
}
|
||||
break;
|
||||
case PF_TC1:
|
||||
params.tc1++;
|
||||
break;
|
||||
case PF_TC2:
|
||||
params.tc2++;
|
||||
break;
|
||||
case PF_TORQUEMAP:
|
||||
params.torque_map++;
|
||||
break;
|
||||
case PF_TEST1:
|
||||
params.test[0]++;
|
||||
break;
|
||||
case PF_TEST2:
|
||||
params.test[1]++;
|
||||
break;
|
||||
case PF_TEST3:
|
||||
params.test[2]++;
|
||||
break;
|
||||
case PF_TEST4:
|
||||
params.test[3]++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void params_dec(ParamType param) {
|
||||
switch (param) {
|
||||
case PF_BBAL:
|
||||
params.bbal -= 0.5f;
|
||||
if (params.bbal < 0.0f) {
|
||||
params.bbal = 0.0f;
|
||||
}
|
||||
break;
|
||||
case PF_TC1:
|
||||
if (params.tc1 > 0) {
|
||||
params.tc1--;
|
||||
}
|
||||
break;
|
||||
case PF_TC2:
|
||||
if (params.tc2 > 0) {
|
||||
params.tc2--;
|
||||
}
|
||||
break;
|
||||
case PF_TORQUEMAP:
|
||||
if (params.torque_map > 0) {
|
||||
params.torque_map--;
|
||||
}
|
||||
break;
|
||||
case PF_TEST1:
|
||||
if (params.test[0] > 0) {
|
||||
params.test[0]--;
|
||||
}
|
||||
break;
|
||||
case PF_TEST2:
|
||||
if (params.test[1] > 0) {
|
||||
params.test[1]--;
|
||||
}
|
||||
break;
|
||||
case PF_TEST3:
|
||||
if (params.test[2] > 0) {
|
||||
params.test[2]--;
|
||||
}
|
||||
break;
|
||||
case PF_TEST4:
|
||||
if (params.test[3] > 0) {
|
||||
params.test[3]--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void params_broadcast(ParamType param) {
|
||||
int32_t value;
|
||||
switch (param) {
|
||||
case PF_BBAL:
|
||||
value = params.bbal * 10;
|
||||
break;
|
||||
case PF_TC1:
|
||||
value = params.tc1;
|
||||
break;
|
||||
case PF_TC2:
|
||||
value = params.tc2;
|
||||
break;
|
||||
case PF_TORQUEMAP:
|
||||
value = params.torque_map;
|
||||
break;
|
||||
case PF_TEST1:
|
||||
value = params.test[0];
|
||||
break;
|
||||
case PF_TEST2:
|
||||
value = params.test[1];
|
||||
break;
|
||||
case PF_TEST3:
|
||||
value = params.test[2];
|
||||
break;
|
||||
case PF_TEST4:
|
||||
value = params.test[3];
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
vehicle_broadcast_param(param, value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user