Ini files:
- [r014] - vemsv3.ini including latest STABLE1_0 firmware
Developer section / Beta Ini files
Today we got very far on the megatune settings, Changed status to Testing, also feature freezed until we have everything tested now.
Locking:
- Currently working with the files
- Noone (Write your name here when you are actively working on the files)
Locking / Status:
Unlocked, uploaded [r014], - EL
Testing tasks (May 15):
- check scaling on all variables, also #IF CELSIUS lines for temperature
- Cross check all megatune settings
BUGS Found during testing of RC2:
- strange looking boost vs rpm table, this will stay this way. megatune problem
Assigned TODO tasks:
long term TODO:
- make a "knock gauge" in megatune, it would be very helpfull in tuning
- Configurable sensors
- Temperature sensors (Configurable scaling, not compile time)
- Will need firmware mods
- Misc inputs (currently 3 spare inputs, Is there easier way to configure scaling of these? Currently, .ini-editing is needed)
- Could maybe be done without touching firmware.. Testing has to be done
- Temperature sensors (Configurable scaling, not compile time)
- Script for re-generating a new config.xml when all scaling is done, or manual generating after May 15
Beta files
- latest firmware + megatune package, precompiled for 8x8 and kpa config res. = 1[r014]
- changed page order, some minor fixes [r013] -EL
- error in size of table and map scaling, fixed for lambda table [vemsv3_v11_r012]
- afrtable changed to lambda table with proper scales [vemsv3_v11_r011]
- map scaling update [vemsv3_v11_r010]
- even more ini updates [vemsv3_v11_r009.zip]
- some missing IAC stuff added
- rpmk, baro, dbaro added
- LCD settings added
- ego_conf added. What does ego_conf bit5 do (NBO2_adc7) in addition to egoType? ego.c uses it for reading correct ADC channel, could egoType bit used for same purpose?
- more ini updates [vemsv3_v11_r008]
- secondary trigger bits added. TODO: disabling doesn't set secondary_trigger to 0x02
- inj_stage2_tps scaled
- some typos fixed
- more ini updates [vemsv3_v11_r007] (including also r006)
- WOT / RPM actuators submenu added
- Injector staging submenu added
- Knock sampling submenu added
- Knock action submenu added
- Multitooth submenu added
- Some more items addded to Acceleration enrichments menu
- more ini updates [vemsv3_v11_r003]
- added warmup enrichment menu (celcius/farenheit)
- removed std_enrichments
- more ini updates [vemsv3_v11_r002]
- added remaining iac settings
- reorganised iac related variables
- a bit updated [ini-file] for official release above
There is an error in the .ini file - the line
map = { (kpafac/ 255) * mapADC + kpaofs}
should probably be
map = { (kpafac/ 255) * (mapADC + kpaofs/8)}
Or else the readings in megatune will be wrong if the offset calibration is used
BTW, why use the sampled value directly? and not the real value in KPA?
Old ini-s
- [complete release candidate r007] - 2 kpa k-table scaling. Will not be released in this form.
- it contains a firmware, made from the v8 release. Basically comm.c changed to tell more variables to megatune. comm.c changes commited to CVS STABLE1_0 branch. It also touched lcd_display.c for the correct v3.2 EGT channel. I commited an improved version that allows v3.0 and v3.1 users or special hw to select channel via my_make MCP3208_EGT1 define. global.h 2kpa was already commited. The PRG_RDB .. should be commited (to global.h).
- 2 kpa k-table scaling. This will not be released. We will leave the 1kPa setting standard. We only release firmware and megatun* ini files for 1kPa. 2kPa only for advanced users, non default. So any instructions regarding this will start like "if your MAP is sometimes > 255kPa " ... do this and that ... ( use this firmware, this megatune, etc..).
- swapped l-table and n-table fixed
- separate view for iac refpos added
- [r006]
- vemsv3.ini and config.xml for complete r003 package below
- Some corrections to warmup wizard
- MT requires names awc->aseCount, awev->asePct, cwl/cwh -> crankCold/Hot, primep->primePulse and floodClear
- Added missing hybrid_rpm_a, hybrid_rpm_m
- [r005]
- vemsv3.ini and config.xml for complete r003 package below
- digitalout channel selection corrected
- [r004]
- vemsv3.ini and config.xml for complete r003 package below
- updated scales for ign_dwell14+6, ign_crank_advance,engine_off_delay,ego_minrpm, ego_maxrpm ,awev_temp_scaling
- [r003]
- Complete package this time, both firmware and megatune ini
- EGT scaling done for both channels
- 12 bit raw inputs for 6 other 3208-channels, including FP and EBP
- [r002]
- Removed double idle settings
- [r001]
- Menu for miscout1 + 2
- Menu for some idle settings
- Menu for coolant fan+waterpump
- sparkTable scale changed to 0.25, range to 63.25
- [r000]
- complete firmware + unmodified megatune profile (does not work with included firmware)
- added extra adc channels to realtime variables
I need some help with firmware-support
- Megatune can't handle the maths needed for scaling l-table
- Megatune wants this format (scale and translate is part of megatune config)
- This is preferrably another page, only for megatune compat.
- l-table = lambda / scale - translate
- lambda = (l-table + translate) * scale
- Our current scaling is
- lambda = 256/(200+l)
- l = 256 / lambda - 200
- Make firmware keep k-table in 1kpa resolution in release unless explicitely said otherwise and documented well.
- Support 12x12 tables (maybe later..not urgent)
KPA_CONFIG_RESOLUTION=2 must not be default - it confused every user who tried.
If we don't directly maintain the ini, but generate the ini file from template (maybe with C preprocessor? or perl?), that has say %%KPA_CONFIG_RESOLUTION%% which gets substituted, than maintenance is not a headache. Actually the example my_make defines KPA_CONFIG_RESOLUTION in a bad way(== instead of =), which results in 1kPa. For 1 kpa resolution, changes needed in some mapBins* lines from 2.0 to 1.0 to get good kpa reading and easier tuning. Note that the r007 ini seems to pretend that some config variables (eg. ego_maxmap) are 1.0 kPa resolution that are 2.0 when KPA_CONFIG_RESOLUTION is defined as 2.
mmtf - the way to configure other tables with old megatune that only knows about VE table
Often used with megatune 2.16 and 2.20.
mmtf (menu megatune fool) makes it possible to trick old VE-only megatune to think it talks to the VE table (j[]) while it is in fact talks to ignition advance (n[]) or lambdacorr (l[]) table.
We keep an internal pointer (called megatune_table), which default points to ve.ref_table (so default behaviour is consistent):
- mttn mmtf
- mttj mmtf
- mttl mmtf
Don't enter the space, only provided on command boundaries for easier reading.
The mtt. command switches to n(,j,l respectively) table and the mmtf fool megatune to see that table instead of the default j[].
You better only issue mtf command when the VE-tuning screen in megatune is closed. Otherwise you risk writing data into the ignition table that you read from the injection table previously, or the other way around, not good..
Most convenient to issue the table-switching command from a directly attached KeyBoard. Issuing it from TerminalProgram works, but more strokes:
- "close megatune"
- connect TerminalProgram
- go to "Man" mode
- issue the commands (wether the above, or any other from GenBoard/MenuSystem, see refcard)
- say "bye" from the TerminalProgram. The ECU says "Bye" if it was in "Man" mode earlier. Megatune will not communicate if you forget the ECM (RS232 menu) in "Man" mode ("Man" mode is for GenBoard/MenuSystem). ECM stays in "Man" mode even if you quit TerminalProgram. if you disconnect TerminalProgram before saying "bye", you have to connect back to say "bye"
- disconnect the TerminalProgram (or quit). Otherwise megatune says it cannot connect to ECM.
- start megatune
TODO: lambda info should live on a subpage of GenBoard/Manual/Tables
The ve.lambda is the fixing of megasquirt mix-multiple of two tables:
the VE and the lambda. Lambda is 1.0 for an AFR of 14.7 for gasoline.
Of course lambda can be left 0.8 all over the place initially if you like (but take care not to lean where you shouldn't). Some decimal values for l[] lamdacorr table (use numberformat=10 option or convert to hexa)
- 0=>1.28 (lean)
- 56=>1.0
- 120=>0.8
- 255=>0.56 (stupid rich, that rich not used for gasoline)
Lambda table is important when the system learns the VE, or when WideBand controls the AFR. The original, multiplied together, value is useless, since the ECM cannot figure out from that what AFR target the user wants. This was no issue for original Megasquirt, since it cannot learn, nor control for a (MAP, RPM) dependant WBO2 target.
Misc notes
- megatune 2.16 already support COM ports up to 8.
- If you want to make MStweak compatible log files with megatune, MS_COMPATIBILITY must be in your my_make file. If you do this your engine bits will be correct in the log.
We should propose to include the feature to record mono or stereo wav-s that are syncronized to engine logs. It is often useful. Eg. when
- checking the knock sensor freq
- recording front and rear wheel VSS to analyze wheelspin at race-start
- recording IonSense analog output
- recording ground noises for analysis
- Hexadecimal entries
- Binary Entries, checkbox for each bit or something like that..
- function to set the progressive_delay
[[Manual: Basics.Install.Software]]
- MS_COMPATIBILITY is needed in my_make for old mstweak otherwise it gets confused of idle state (or just does not use idle mode data for statistics?)
- MS_COMPATIBILITY must NOT be defined, and MSNS must be defined for megatuness (a similar program to megatune that lets set ignadv and VE without any tricks). defining MSNS seems like a good idea, it should NOT break anything, just add support for a few new (ignition related) commands