useful for
Important warning
The switch that switches a relay MUST NOT be connected directly to mcp3208 input. The mcp3208 would be blown immediately. Use a diode (eg. 1n4007) to protect the mcp3208 input.
- diode Anode connected to mcp3208 input.
- diode (stripe-marked) Cathode connected to switch, that pulls to GND.
TODO: upload video of
- exit VemsTune
- switching from LPG to gasoline (engine idling)
- start VemsTune and check that tables are switched over
Switching over tables - the easiest way so far
- TABLESET 0: basic (eg. gasoline) config and tables up on ECU, tested OK
- confswitch=C6 (vemstune Outputs/confsw dialog "Map switch"=198)
- note that this is for mcp3208ch6. You would use 197 for mcp3208ch5, or 199 for mcp3208ch7
- exit VemsTune (or MegaTune)
- issue "ManmcS1" manually to initialize second set of tables for sane initial values. Might not be needed if we upload a FULL set of config and tables
- remove injector connectors, fuelpump and ignition fuses the same way needed for a firmware upgrade. Take this seriously. Do NOT risk blowing ignition coils or filling engine with fuel.
- SWITCH mcp3208ch6 from 5V to 0V (pull down to GND with a switch)
- start VemsTune
- TABLESET 1: upload new tables
- set confswitch=D6 (vemstune Outputs/confsw dialog "Map switch"=214)
- this is needed, so switching off confswitch will actually go back to tableset 0
- note that this is for mcp3208ch6. You would use 213 for mcp3208ch5, or 215 for mcp3208ch7
- burn ("basic settings" dialog).
- verify.
- Always exit vemstune before switching confswitch on/off. VemsTune or MegaTune does NOT know about the different set of tables. You do not want it accidentally write to the other set, or making switching impossible by changing confswitch=.. value
- we recommend that you keep list (on paper!) of variables that vary between the 2 tablesets. This makes it easier to see what's going on, or revert in case something goes wrong.
- repeat the dual-table procedure a few times on the bench before going to real engine.
A more complex method to upload data to tableset1 is found on MembersPage/GolfGtiLpg/KapcsLpg
Some indication flag (to differentiate between tableset0 and tableset1) would be nice (should appear in the log as well). The analog input measurement is in the logs, but a flah would be nicer.
for Power-users - text stolen from GenBoard/UnderDevelopment/FirmwareChanges
- switch-activated full-table-and-config-swap see TableSwitch. Expert feature, must upload valid config+tables to both storage (2 completely different permanent storage area inside the ECU) separately. Same ignition and injection outputs must be used in same positions (otherwise => risk of blowing ignition fuse and flooding cylinders with gasoline. Therefore this does not allow additional injector-staging-hack features, besides the existing staging functionality). Configuration of storage0 (eg. confswitch=C3) can allow to change to storage1. If you want to be able to switch back to storage0 without reboot, config of storage1 (eg. confswitch=D3) must allow to change to storage0. MegaTune does not know about which storage it reads/writes (closing megatune windows before switching to alternate storage seems wise). Useful for bi-fuel, or special different tables like N2O or similar. Switching can also depend on misc1 condition (TPS, RPM, MAP). After switching, the misc1 condition of the new storage will be used (which can be slightly different, eg. to allow hysteresis). For most applications, rpm < 100 (engine off) is recommended, or at least rpm < 1500 (idle). For N2O, the condition will be different of course.
- confswitch=00 disables switching
- confswitch=C3 does load_variables(1) if mcp3208 ch3 goes low
- confswitch=D3 does load_variables(0) if mcp3208 ch3 goes high
- confswitch=83 does load_variables(1) if mcp3208 ch3 goes low AND misc1 condition is true
- confswitch=93 does load_variables(0) if mcp3208 ch3 goes high AND misc1 condition is false
- any mcp3208 analog input channel (mcp3208ch 0..7) can be chosen with confswitch bit 0:3