Add endurance power limit
This commit is contained in:
parent
2b54a8ffe8
commit
1eefffcbd6
|
@ -11,7 +11,7 @@ extern "C" {
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
CountedEnum(ParamType, size_t, PF_BBAL, PF_SLIPREF, PF_MUMAX, PF_ASRP, PF_ASRON,
|
CountedEnum(ParamType, size_t, PF_BBAL, PF_SLIPREF, PF_MUMAX, PF_ASRP, PF_ASRON,
|
||||||
PF_ASRI);
|
PF_ASRI, PF_PLIM);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
float bbal;
|
float bbal;
|
||||||
|
@ -20,6 +20,7 @@ typedef struct {
|
||||||
unsigned asrp;
|
unsigned asrp;
|
||||||
unsigned asri;
|
unsigned asri;
|
||||||
unsigned asron;
|
unsigned asron;
|
||||||
|
unsigned plim;
|
||||||
} Params;
|
} Params;
|
||||||
|
|
||||||
extern Params params;
|
extern Params params;
|
||||||
|
|
|
@ -4,7 +4,10 @@
|
||||||
|
|
||||||
Params params = {0};
|
Params params = {0};
|
||||||
|
|
||||||
void params_init() { params.bbal = 50; }
|
void params_init() {
|
||||||
|
params.bbal = 50;
|
||||||
|
params.plim = 20;
|
||||||
|
}
|
||||||
|
|
||||||
void params_inc(ParamType param) {
|
void params_inc(ParamType param) {
|
||||||
switch (param) {
|
switch (param) {
|
||||||
|
@ -29,6 +32,9 @@ void params_inc(ParamType param) {
|
||||||
case PF_ASRON:
|
case PF_ASRON:
|
||||||
params.asron = 1;
|
params.asron = 1;
|
||||||
break;
|
break;
|
||||||
|
case PF_PLIM:
|
||||||
|
params.plim = (params.plim < 80) ? params.plim + 1 : 80;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +69,9 @@ void params_dec(ParamType param) {
|
||||||
case PF_ASRON:
|
case PF_ASRON:
|
||||||
params.asron = 0;
|
params.asron = 0;
|
||||||
break;
|
break;
|
||||||
|
case PF_PLIM:
|
||||||
|
params.plim = (params.plim > 2) ? params.plim - 1 : 2;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,6 +96,8 @@ void params_broadcast(ParamType param) {
|
||||||
case PF_ASRON:
|
case PF_ASRON:
|
||||||
value = params.asron;
|
value = params.asron;
|
||||||
break;
|
break;
|
||||||
|
case PF_PLIM:
|
||||||
|
value = params.plim;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -316,6 +316,7 @@ NamedFieldDescription paramFieldDescs[] = {
|
||||||
[PF_ASRP] = {NamedFieldKind::Int, "ASR-P", 2, 0, PARAM_FIELD(asrp)},
|
[PF_ASRP] = {NamedFieldKind::Int, "ASR-P", 2, 0, PARAM_FIELD(asrp)},
|
||||||
[PF_ASRON] = {NamedFieldKind::Int, "ASR-ON", 2, 0, PARAM_FIELD(asron)},
|
[PF_ASRON] = {NamedFieldKind::Int, "ASR-ON", 2, 0, PARAM_FIELD(asron)},
|
||||||
[PF_ASRI] = {NamedFieldKind::Int, "ASR-I", 2, 0, PARAM_FIELD(asri)},
|
[PF_ASRI] = {NamedFieldKind::Int, "ASR-I", 2, 0, PARAM_FIELD(asri)},
|
||||||
|
[PF_PLIM] = {NamedFieldKind::Int, "PLIM", 2, 0, PARAM_FIELD(plim)},
|
||||||
};
|
};
|
||||||
|
|
||||||
static_assert(sizeof(paramFieldDescs) / sizeof(paramFieldDescs[0]) ==
|
static_assert(sizeof(paramFieldDescs) / sizeof(paramFieldDescs[0]) ==
|
||||||
|
|
Loading…
Reference in New Issue