Misc output switched by battery voltage

I would like at least one of the misc outputs to be switched based on battery voltage.

Hysteresis (like the fan and water pump controllers have) on all parameters would be nice, but is very much not essential.

This will enable "smart" alternator control - ie the field in the alternator can be switched off at high TPS and MAT (MAT or MAP?) as long as the battery voltage remains above a threshold.

We can PWM the alternator to control the battery voltage, so that over a number of load cells, the batt_fac parameter can be properly estimated. In reality, you'd never let too much of a drop in battery volts happen. All you're really trying to do is not dump loads of energy as heat from the alternator regulator.

PWM type output for controlling evaporative emissions (carbon can) solenoid

This is discussed elsewhere on my pages [need to add link], and would allow the standard emissions control and tank vents to remain in the car.

Some changes to improve knock control

Will be discussed at much greater length when I am not at work!

1. Create table of knock reading to table (RPM vs MAP) of average knock readings from the last n seconds. (Probably easiest if this is a fading memory smoothing algorithm)

2. Use m*table_values as threshold for declaring knock

3. Retard timing as appropriate

4. Record table (again RPM vs MAP) of [average or max - not sure!] knock retard so that this can be used next time knock occurs, or simply as a tuning aid.

Dual WBO2 sensors

This page is concerned with the firmware mods required to enable dual wideband lambdas for those of us with v8 engines with 2 cats.

It would appear that dual WB02 is all done and dusted. I have fitted the "missing" resistors and capacitors to my Genboard.

R137, R140, R28, R29 and C83

I used firmware 1.2.11 to test readings on the 2nd sensor out of the exhaust. All worked as expected.

Firmware 1.2.13 should allow the 2nd wideband to control closed loop fuelling. This requires setting which injector bin belongs to each bank. Seeing as no VemsTune config was available, I hacked one together, using the LCD backlight byte setting as the ego bank control.

The injectors are connected up in numbered order to the injector drivers, and the firing order is configured as 1-8-4-3-6-5-7-2. The previous "rotate by one" issue has been corrected by changing the trigger tooth parameters.

I believe the ego bank uses firing order, so this means I need to set ego bank to decimal 150. (0x96)

By firing order:

InjgroupCylinderEgo bank

Cylinder numbering


Mapping in VEMSTune configuration


NB: VEMSTune screenshots will not show the ego bank selection in any detail because it is based on a hacked config file where a raw byte is specified.