Genboard Configuration Parameters
Since we often change values inside GenBoard (there are several ways, even simulataneously: keyboard, rs232, tuningprogram), but when saving the values from GenBoard to PC (Manmcd command in TerminalProgram) the comments are not saved, since GenBoard does not know about the comments. It is a tedious process to merge the changes manually, or remember what was changed.
But there exists a rescue:
- save the results of "mcd" command (GenBoard's internal idea of current configuration) to "etc/mcd.txt" file
- run "make mtt" from the firmware directory as you usually do
- this way, besides the "etc/config.mtt" file (that can be sent to GenBoard via TerminalProgram) an etc/config_mcd.txt file will be created, with values updated from mcd.txt file. The updated variables and their old/new values are printed for quick review.
- so the comments are kept, but values updated from the mcd.txt file
- if you like the resulting "merge", name "etc/config_mcd.txt" to "etc/config.txt"
- update the comments, because some comments are likely invalidated (old comments don't reflect the new, updated values).
- remove "etc/mcd.txt" file, because you want to apply any further changes to your config.txt, and the "mcd.txt" will just confuse you.
An example usage of "make mtt" (actually I use an equivalent 2-liner makemtt.bat batch file on win32 that is broken to execute "make mtt" properly sometimes):
C:\efi\engine\Daewoo\firmware>perl bin/make_conf.pl global.h etc/config.txt etc/config.mtt Values from etc/mcd.txt take precedence. Make sure this is intentional (etc/mcd.txt is not old) adding config_t to hash updating variable warmup_clt_range : 14 => 15 updating variable kpafac : 39 => 33 updating variable injpwm6 : FF => 00 updating variable tps_low : 10 => 20 updating variable tps_high : De => F0 updating variable ego_delta : 02 => 01 updating variable ego_coolant : 94 => 00 updating variable trigger_tooth : 08 => 03 updating variable ign_dwell14 : 1f => 32 rawdictionary: INJFET_7=> 112 done, 251 variables:0 config_t errors, 0 config.txt errors, 0 warnings
Cutting down the setup of initial configuration time from 300 minutes to 5 minutes by the help of configlets
- TODO: iterate over mcd* files in lexical order and use variables from each (the lexically highest takes precedence, except mcd.txt, the values read from one's own ECM after custom settings, which is the highest priority)
- TODO: provide a directory hierarchy of files in cvs like mcd/wbo2/mcd_80_wbo2_ri_nernst_calibration_nernstampx1.txt
- these small example files allow the user to click together her config by copying the files that match her setup
- each file must have some comments (good for verification: these don't get used, although some comments matching some pattern could be used even from the mcd files).
- the "80" in the filename makes it possible to control precedence, eg. the mcd/wbo2/mcd_80_wbo2_ri_nernst_calibration_nernstampx1.txt file is just a minor tweak of 2 parameters (wbo2_ri_target and wbo2_nernstdc_target for a special nernst x1 amplification OPA setup) that gets applied upon more general (and complete for wbo2) settings from wbo2/mcd_40_wbo2_default.txt which is upon mcd_10_base_.... which is a default setup (with might have variables for everything, but not too specific at all).
- If one tries to use mcd_20_basic_4cyl... and mcd_20_basic_8cyl.. conflicting files (by first part of the name), warning must be fired.
- make a well commented config.txt with sufficient comments and examples for each variable.
- make similar for tables. The mct_... file that has the h table must have some comments like "this is only good for a wiring that matches ... URL ...".
Users don't set the variables individually, but copy groups of variables. This way the tedious work of doing the grouping can be done beforehand. They just want to select if they want to enable VE learning, if they want a fast or slow EGO, a big or small EGO-control range (ego_lean_limit, ego_rich_limit), an MPX4250AP or a 3 bar MAP sensor, etc...
After the user clicked together her config, the number of custom variables she'll set might be just 4..10. (Besides her tables, that she still needs to tune, of course - especially the h and n tables that is not possible to tune automatically at this time).
- GenBoard/Manual/Config/HwMap - h table for hardware mapping in sequential operation
- GenBoard/Manual/Config/InputTrigger - input trigger related parameters
- GenBoard/Manual/Config/CoolantTemperature - parameters related to engine temperature
- GenBoard/Manual/Config/ManifoldAbsolutePressure - manifold pressure parameters
- GenBoard/Manual/Config/WBoxygen - configuration of wide band oxygen sensor
- GenBoard/Manual/Config/NBoxygen - configuration of narrow band oxygen sensor
- GenBoard/Manual/Config/IdleControl - configuration of all idle control types.