PWM parameter validation fix #594

This commit is contained in:
rusefi 2019-04-15 20:47:06 -04:00
parent bba5f7f9e3
commit 0171e00231
3 changed files with 16 additions and 13 deletions

View File

@ -1923,7 +1923,7 @@ typedef enum {
CUSTOM_ERR_6576 = 6576,
CUSTOM_ERR_6577 = 6577,
CUSTOM_ERR_6578 = 6578,
CUSTOM_ERR_6579 = 6579,
CUSTOM_DUTY_TOO_LOW = 6579,
CUSTOM_ERR_6580 = 6580,
CUSTOM_ERR_6581 = 6581,
@ -1975,10 +1975,10 @@ typedef enum {
CUSTOM_ERR_6623 = 6623,
CUSTOM_ERR_6624 = 6624,
CUSTOM_ERR_6625 = 6625,
CUSTOM_ERR_6626 = 6626,
CUSTOM_ERR_6627 = 6627,
CUSTOM_EVENT_6626 = 6626,
CUSTOM_STACK_6627 = 6627,
CUSTOM_ERR_6628 = 6628,
CUSTOM_ERR_6629 = 6629,
CUSTOM_STACK_6629 = 6629,
CUSTOM_IGN_MATH_STATE = 6630,
CUSTOM_ERR_6631 = 6631,
@ -2068,7 +2068,8 @@ typedef enum {
CUSTOM_ERR_6707 = 6707,
CUSTOM_ERR_6708 = 6708,
CUSTOM_ERR_6709 = 6709,
CUSTOM_ERR_6710 = 6710,
CUSTOM_DUTY_INVALID = 6710,
CUSTOM_DUTY_TOO_HIGH = 6711,
CUSTOM_ERR_TRIGGER_SYNC = 9000,

View File

@ -62,12 +62,14 @@ void PwmConfig::init(float *st, SingleWave *waves) {
*/
void SimplePwm::setSimplePwmDutyCycle(float dutyCycle) {
if (cisnan(dutyCycle)) {
warning(CUSTOM_ERR_6691, "spwd:dutyCycle %.2f", dutyCycle);
return;
}
if (dutyCycle < 0 || dutyCycle > 1) {
warning(CUSTOM_ERR_6579, "spwd:dutyCycle %.2f", dutyCycle);
warning(CUSTOM_DUTY_INVALID, "spwd:dutyCycle %.2f", dutyCycle);
return;
} else if (dutyCycle < 0) {
warning(CUSTOM_DUTY_TOO_LOW, "spwd:dutyCycle %.2f", dutyCycle);
dutyCycle = 0;
} else if (dutyCycle > 1) {
warning(CUSTOM_DUTY_TOO_HIGH, "spwd:dutyCycle %.2f", dutyCycle);
dutyCycle = 1;
}
if (dutyCycle == 0.0f && stateChangeCallback != NULL) {
/**

View File

@ -183,7 +183,7 @@ void seTurnPinLow(InjectionSignalPair *pair) {
tempTurnPinLow(output);
}
}
efiAssertVoid(CUSTOM_ERR_6626, pair->event != NULL, "pair event");
efiAssertVoid(CUSTOM_EVENT_6626, pair->event != NULL, "pair event");
#if EFI_UNIT_TEST
Engine *engine = pair->event->engine;
EXPAND_Engine;
@ -366,7 +366,7 @@ static void fuelClosedLoopCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIndex, int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
efiAssertVoid(CUSTOM_ERR_6627, getCurrentRemainingStack() > 128, "lowstck#3");
efiAssertVoid(CUSTOM_STACK_6627, getCurrentRemainingStack() > 128, "lowstck#3");
efiAssertVoid(CUSTOM_ERR_6628, trgEventIndex < engine->engineCycleEventCount, "handleFuel/event index");
if (!isInjectionEnabled(PASS_ENGINE_PARAMETER_SIGNATURE) || limitedFuel) {
@ -446,7 +446,7 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
*/
return;
}
efiAssertVoid(CUSTOM_ERR_6629, getCurrentRemainingStack() > 128, "lowstck#2");
efiAssertVoid(CUSTOM_STACK_6629, getCurrentRemainingStack() > 128, "lowstck#2");
if (trgEventIndex >= ENGINE(engineCycleEventCount)) {
/**