auto-sync

This commit is contained in:
rusEfi 2015-05-03 09:09:31 -04:00
parent d80065a677
commit 37652510e4
3 changed files with 30 additions and 16 deletions

View File

@ -26,5 +26,19 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_F) {
boardConfiguration->triggerInputPins[0] = GPIOC_6;
boardConfiguration->triggerInputPins[1] = GPIOA_5;
boardConfiguration->injectionPins[0] = GPIOD_3;
boardConfiguration->injectionPins[1] = GPIOE_2;
boardConfiguration->injectionPins[2] = GPIOE_3;
boardConfiguration->injectionPins[3] = GPIOE_4;
boardConfiguration->injectionPins[4] = GPIOD_5;
boardConfiguration->injectionPins[5] = GPIOB_7;
boardConfiguration->injectionPins[6] = GPIOB_8;
boardConfiguration->injectionPins[7] = GPIOB_9;
boardConfiguration->ignitionPins[0] = GPIOC_9;
boardConfiguration->mainRelayPin = GPIOE_5;
boardConfiguration->fuelPumpPin = GPIOE_6;
engineConfiguration->vbattAdcChannel = EFI_ADC_NONE; // todo: conflict with what?
}

View File

@ -90,22 +90,24 @@ static void runBench(brain_pin_e brainPin, OutputPin *output, float delayMs, flo
int delaySt = (int) (delayMs * CH_FREQUENCY / 1000);
int onTimeSt = (int) (onTimeMs * CH_FREQUENCY / 1000);
int offTimeSt = (int) (offTimeMs * CH_FREQUENCY / 1000);
if (delaySt <=0) {
if (delaySt < 0) {
scheduleMsg(&logger, "Invalid delay %f", delayMs);
return;
}
if (onTimeSt <=0) {
if (onTimeSt <= 0) {
scheduleMsg(&logger, "Invalid onTime %f", onTimeMs);
return;
}
if (offTimeSt <=0) {
if (offTimeSt <= 0) {
scheduleMsg(&logger, "Invalid offTime %f", offTimeMs);
return;
}
scheduleMsg(&logger, "Running bench: ON_TIME=%f ms OFF_TIME=%fms Counter=%d", onTimeMs, offTimeMs, count);
scheduleMsg(&logger, "output on %s", hwPortname(brainPin));
chThdSleep(delaySt);
if (delaySt != 0) {
chThdSleep(delaySt);
}
isRunningBench = true;
for (int i = 0; i < count; i++) {

View File

@ -604,18 +604,6 @@ static void setIgnitionPin(const char *indexStr, const char *pinName) {
boardConfiguration->ignitionPins[index] = pin;
}
// set_idle_pin none
static void setIdlePin(const char *pinName) {
brain_pin_e pin = parseBrainPin(pinName);
// todo: extract method - code duplication with other 'set_xxx_pin' methods?
if (pin == GPIO_INVALID) {
scheduleMsg(&logger, "invalid pin name [%s]", pinName);
return;
}
scheduleMsg(&logger, "setting idleValve pin to %s please save&restart", hwPortname(pin));
boardConfiguration->idle.solenoidPin = pin;
}
static void setIndividualPin(const char *pinName, brain_pin_e *targetPin, const char *name) {
brain_pin_e pin = parseBrainPin(pinName);
if (pin == GPIO_INVALID) {
@ -626,6 +614,15 @@ static void setIndividualPin(const char *pinName, brain_pin_e *targetPin, const
*targetPin = pin;
}
// set_idle_pin none
static void setIdlePin(const char *pinName) {
setIndividualPin(pinName, &boardConfiguration->idle.solenoidPin, "idle");
}
static void setMainRelayPin(const char *pinName) {
setIndividualPin(pinName, &boardConfiguration->mainRelayPin, "main relay");
}
static void setACPin(const char *pinName) {
setIndividualPin(pinName, &boardConfiguration->acRelayPin, "A/C");
}
@ -1009,6 +1006,7 @@ void initSettings(engine_configuration_s *engineConfiguration) {
addConsoleActionS("set_fuel_pump_pin", setFuelPumpPin);
addConsoleActionS("set_ac_pin", setACPin);
addConsoleActionS("set_idle_pin", setIdlePin);
addConsoleActionS("set_main_relay_pin", setMainRelayPin);
addConsoleActionSS("set", setValue);