Device-MegaSquirt
view release on metacpan or search on metacpan
doc/devdoc/ini/megasquirt-ii.ini.ms2extra view on Meta::CPAN
idleadvance_rpm = scalar, S16, 390, "rpm", 1, 0, 0, 3000, 0
idleadvance_load = scalar, S16, 392, "%", 0.1, 0, 0, 100, 0
#if CELSIUS
#if EXPANDED_CLT_TEMP
idleadvance_clt = scalar, S16, 394, "°C", 0.05555, -320, -40, 230.00, 1
#else
idleadvance_clt = scalar, S16, 394, "°C", 0.05555, -320, -40, 150.00, 1
#endif
#else
#if EXPANDED_CLT_TEMP
idleadvance_clt = scalar, S16, 394, "°F", 0.10000, 0.00000, -40, 450, 1
#else
idleadvance_clt = scalar, S16, 394, "°F", 0.10000, 0.00000, -40, 300, 1
#endif
#endif
idleadvance_delay = scalar, U08, 396, "sec", 1, 0, 0, 5, 0
idleadvance_curve = array, S16, 397, [ 4 ], "deg", 0.10000, 0.00000, -10.00, 90.00, 1
idleadvance_loads = array, S16, 405, [ 4 ], "%", 0.10000, 0.00000, 0, 100, 1
feature413_dbg = bits, U08, 413, [0:0], "Off", "On"
feature413_missdbg = bits, U08, 413, [1:1], "Off", "On"
; The following is presently only used by TunerStudio
; Used to store sensor calibration settings last written to the controller
sen_calib_table_id = array, U08, 968, [ 2], "id", 1.0, 0.0, 0, 255, 0 ; (2 bytes)
sen_calib_units = array, U08, 970, [ 2], "id", 1.0, 0.0, 0, 255, 0 ; (2 bytes)
sen_calib_bias = array, U32, 972, [ 2], "ohms", 1, 0, 0, 100000, 0 ; (8 bytes)
sen_calib_temp = array, S16, 980, [ 2x3], "deg", 0.1, 0, -40, 400, 1 ; (12 bytes)
sen_calib_res1 = array, U32, 992, [ 2x3], "ohms", 1, 0, 0, 100000, 0 ; (24 bytes )
; The index of the selected EGO sensor as defined in the solutions section of the
; ReferenceTable section of the ini, this may also be found in the ms2ReferenceTables.ini
; file found in the inc dir of your TunerStudio installation.
ego_calib_selection= scalar, U08, 1016, "index", 1.0, 0.0, 0.0, 255, 0 ; * ( 1 byte)
ego_calib_volts = array, U08, 1017, [ 3], "Volts", 0.1, 0.0, 0.0, 5.0, 1 ; (3 bytes)
ego_calib_afrs = array, U08, 1020, [ 3], "AFR", 0.1, 0.0, 5.0, 25.0, 1 ; (3 bytes)
page = 5
veTable1 = array , U08, 0, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ; * (144 bytes)
veTable2 = array , U08, 256, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
veTable3 = array , U08, 512, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
frpm_table1 = array , U16, 768, [ 16], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
frpm_table2 = array , U16, 800, [ 16], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
frpm_table3 = array , U16, 832, [ 16], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
fmap_table1 = array , S16, 864, [ 16], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
fmap_table2 = array , S16, 896, [ 16], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
fmap_table3 = array , S16, 928, [ 16], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
;same tables again but smaller - start in different places to 16x16
veTable1dozen = array , U08, 0, [12x12], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ; * (144 bytes)
veTable2dozen = array , U08, 144, [12x12], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
veTable3dozen = array , U08, 288, [12x12], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
frpm_table1doz = array , U16, 768, [ 12], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
frpm_table2doz = array , U16, 792, [ 12], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
frpm_table3doz = array , U16, 816, [ 12], "RPM", 1.00000, 0.00000, 0.00,15000.00, 0 ; * ( 24 bytes)
fmap_table1doz = array , S16, 864, [ 12], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
fmap_table2doz = array , S16, 888, [ 12], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
fmap_table3doz = array , S16, 912, [ 12], "%", 0.10000, 0.00000, 0.00, 400.00, 1 ; * ( 24 bytes)
[Menu]
;----------------------------------------------------------------------------
; There are five pre-defined values that may be used to define your menus.
; The first four allow access to the "standard" dialog boxes, the last one
; merely draws a separator (horizontal line) in the menu.
;
; std_constants
; std_enrichments
; std_realtime
; std_warmup
; std_accel
;
; std_separator
;
; Additionally, to support MegaSquirt-II firmware, there are two standard
; dialogs to generate its three embedded tables. The first of these acts
; like Roger Enns' EasyTherm, but only works for MS-II. The second one
; generates the internal AFR table required for proper closed loop operation
; in MS-II. Use these without page numbers, as they will just be ignored
; in any case.
;
; std_ms2gentherm
; std_ms2geno2
;
; If you use any of the std_constants, std_enrichments or std_warmup
; editors, they may be optionally suffixed with a page number (only
; useful for multi-page code variants), which causes them to edit the
; specified page. If you leave off the page specifier, they edit logical
; page one as specified in the Constants section.
;
; There are four special menu names, which when used append to the standard
; menus of the same name instead of creating a new one. The menu names
; are "File", "Communications", "Tools" and "Help".
;
;----------------------------------------------------------------------------
menuDialog = main
menu = "&Basic setup"
subMenu = std_injection, "Engine constants"
subMenu = secondaryLoad, "More Engine constants"
subMenu = injChars, "I&njector Characteristics"
subMenu = std_separator ;----------------------------------------------
subMenu = ignitionOptions, "Tach input/&Ignition settings", 0
subMenu = moreIgnitionOptions, "More Ignition Settings", 0, { spk_mode0 != 31 }
subMenu = advign, "Noise Filtering - EDIS", 0, { spk_mode0 < 2 }
subMenu = noisefiltering, "Noise Filtering", 0, {spk_mode0 > 1}
subMenu = NoiseFiltercurve, "Noise Filter Curve", 0, { NoiseFilterOpts & 1 }
subMenu = triggerWheel, "&Trigger Wheel Settings", 0, { (userlevel > 127) && (spk_mode0 == 4) }
subMenu = RotaryTrailingSettings, "Rotary Settings", 0, { (spk_mode0 != 31) }
subMenu = RotarySplitTbl, "Rotary Split Table", 0, { RotarySplitModeOn && (spk_mode0 != 31) }
subMenu = std_separator
subMenu = veTable1Tbl, "Fuel VE Table &1", 0,{ (feature4_0VEtblsize==0) }
subMenu = veTable1Tbldoz, "Fuel VE Table &1",0, { feature4_0VEtblsize }
subMenu = afrTable1Tbl, "A&FR Table 1", 0
subMenu = ignitionTbl1, "&Ignition Table1", 0, { (userlevel > 63) && (spk_mode0 != 31) }
subMenu = veTable2Tbl, "Fuel VE Table &2", 0, { ((dualTable && userlevel > 127) || (algorithm2 != 0)) && (feature4_0VEtblsize==0) }
subMenu = veTable2Tbldoz, "Fuel VE Table &2", 0, { ((dualTable && userlevel > 127) || (algorithm2 != 0)) && (feature4_0VEtblsize) }
subMenu = afrTable2Tbl, "AF&R Table 2", 0, { dualTable && userlevel > 127}
subMenu = ignitionTbl2, "Ignition Table2", 0, { (userlevel > 127) && (IgnAlgorithm2 !=0) && (spk_mode0 != 31)}
subMenu = std_separator ;----------------------------------------------
subMenu = generalSettings, "&General, lags"
subMenu = revlimiter, "Rev Limiter"
subMenu = revlimiterBins, "CLT-Based Rev Limit", 0, { (RevLimCLTbased & 1) }
subMenu = std_separator ;----------------------------------------------
subMenu = egoControl, "&EGO Control"
subMenu = userlevel, "Basic/Advanced user"
menu = "&Startup/idle"
subMenu = crsettings, "Cranking settings", 0
subMenu = primingPW, "Pri&ming Pulse", 0
subMenu = crankingPW, "Cra&nking Pulse", 0
subMenu = asePct, "A&SE Percentage", 0
subMenu = aseTaper, "AS&E Taper", 0
subMenu = idleControl, "I&dle Control"
subMenu = pwmidle_crank_dutyorsteps_dutycurve, "PWM idle cranking duty", 0, {IdleCtl == 4 || IdleCtl == 6}
subMenu = pwmidle_crank_dutyorsteps_stepscurve, "IAC idle cranking steps", 0, {IdleCtl == 2 || IdleCtl == 3 || IdleCtl == 5 || IdleCtl == 7 || IdleCtl == 8}
subMenu = iacBins, "I&dle Steps", 0, { IdleCtl == 2 || IdleCtl == 3 || IdleCtl == 5 }
subMenu = ipwset, "Idle &PWM Settings", 0, { IdleCtl == 4 || IdleCtl == 6 }
subMenu = ipwBins, "I&dle PWM duty Table",0, { IdleCtl == 4 }
subMenu = pwmidle_closedloop, "Closed-loop idle valve settings", 0, { IdleCtl == 6 || IdleCtl == 7 || IdleCtl == 8 }
subMenu = pwmidle_PID, "Closed-loop idle PID settings", 0, { IdleCtl == 6 || IdleCtl == 7 || IdleCtl == 8 }
subMenu = pwmidle_target_curve, "Closed-loop idle target rpm curve", 0, { IdleCtl == 6 || IdleCtl == 7 || IdleCtl == 8 }
subMenu = warmup_curve, "&Warmup Enrichment", 0
menu = "Accel Enrich", { userlevel > 127 }
subMenu = accelsettings, "Accel Enrich settings"
subMenu = std_accel, "&Acceleration Wizard", 0, { EAEOption < 1 }
subMenu = EAEBAWCcurve, "EAE Adhere-to-walls constant", 0, { EAEOption > 0 }
subMenu = EAEBSOCcurve, "EAE Sucked-from-walls constant", 0, {EAEOption > 0}
subMenu = EAEAWNcurve, "EAE Adhere-to-walls rpm correction", 0, {EAEOption > 0}
subMenu = EAESONcurve, "EAE Sucked-from-walls rpm correction", 0, {EAEOption > 0}
subMenu = EAEAWWcurve, "EAE Adhere-to-walls CLT correction", 0, {EAEOption > 0}
subMenu = EAESOWcurve, "EAE Sucked-from-walls CLT correction", 0, {EAEOption > 0}
subMenu = EAElagcomp, "EAE lag compensation settings", 0, {EAEOption == 3}
menu = "&Extended", { userlevel > 127 }
subMenu = std_port_edit, "&Output port Settings"
subMenu = barometerCorr, "Barometric Correction"
subMenu = coldAdvance, "&Cold Advance", 0, { spk_mode0 != 31 }
subMenu = matBasedRetard, "MAT-&Based Timing Retard", 0, { spk_mode0 != 31 }
subMenu = manifoldTempCorr,"MAT Correction table", 0
subMenu = MATCorrval, "MAT Correction value", 0
subMenu = flexFuelSettings,"&Flex Fuel"
subMenu = knockSettings, "&Knock Sensor Settings"
subMenu = overrun, "Over Run Fuel cut"
subMenu = staging, "Staged Injection"
subMenu = tacho, "Tacho output"
subMenu = launch, "Launch Control"
subMenu = tablesw, "Table Switching control"
subMenu = veTable3Tbl, "Fuel VE Table 3", 0, {(feature4_0VEtblsize==0) && (f5_0_tsf>0) && (userlevel > 127) }
subMenu = veTable3Tbldoz, "Fuel VE Table 3", 0, {(feature4_0VEtblsize==1) && (f5_0_tsf>0) && (userlevel > 127) }
subMenu = ignitionTbl3, "Ignition Table3", 0, {(f5_0_tss>0) && (userlevel > 127)}
subMenu = N2OSystem, "&Nitrous System"
subMenu = N2OSystem2, "&Nitrous Stage 2", 0, { N2Oopt_2 && N2Oopt_3 }
subMenu = overboost, "Overboost Protection"
subMenu = idleAdvance, "Idle Advance Settings"
subMenu = idleAdvance_curve, "Idle Advance Timing", 0, { idleadvance_on }
menu = "&Advanced", {userlevel > 191 }
subMenu = dwellSettings, "D&well battery correction", 0, { spk_mode0 != 31 }
; subMenu = amcSettings, "Automatic &Mixture Control", 0, { 1 == 0 } ; disabled
subMenu = boostctlSettings, "Boost Control Settings"
subMenu = boostctlDutys, "Boost Control Duty Table", 0, { (boost_ctl_settings_on) && (!boost_ctl_settings_cl) }
subMenu = boostctlTargs, "Boost Control Target Table", 0, { (boost_ctl_settings_on == 1) && (boost_ctl_settings_cl == 1) }
subMenu = canparams, "CAN parameters"
subMenu = std_separator ;----------------------------------------------
subMenu = experimental, "Experimental"
subMenu = debug, "Debug options"
subMenu = outputtest, "Output test mode"
subMenu = iactest, "Idle valve test"
subMenu = injseq, "Injector Sequence"
; subMenu = userdefined, "User defined menu" ; uncomment this line to enable
menuDialog = main
menu = "&Tuning"
subMenu = std_realtime, "&Realtime Display"
subMenu = std_separator ;----------------------------------------------
subMenu = std_accel, "&Acceleration Wizard", 0, { EAEOption < 1 }
;16x16
subMenu = veTable1Map, "Fuel VE Table &1",0 { (feature4_0VEtblsize==0) }
subMenu = veTable2Map, "Fuel VE Table &2", 0, { ((dualTable && (userlevel > 127)) || (algorithm2 != 0)) && (feature4_0VEtblsize==0) }
subMenu = veTable3Map, "Fuel VE Table &3", 0, { (userlevel > 127) && f5_0_tsf && (feature4_0VEtblsize==0) }
;12x12
subMenu = veTable1Mapdoz, "Fuel VE Table &1",0, { (feature4_0VEtblsize==1) }
subMenu = veTable2Mapdoz, "Fuel VE Table &2",0, { ((dualTable && (userlevel > 127)) || (algorithm2 != 0)) && (feature4_0VEtblsize==1) }
subMenu = veTable3Mapdoz, "Fuel VE Table &3", 0, { (userlevel > 127) && f5_0_tsf && (feature4_0VEtblsize==1) }
subMenu = afrTable1Map, "A&FR Table 1", 0, { egoType >= 3 }
subMenu = afrTable2Map, "AF&R Table 2", 0, { egoType >= 3 && dualTable && (userlevel > 127) }
subMenu = std_separator ;----------------------------------------------
subMenu = ignitionMap1, "&Ignition Map1", 0, {(userlevel > 63) && (spk_mode0 != 31)}
subMenu = ignitionMap2, "&Ignition Map2", 0, {(userlevel > 127) && ((IgnAlgorithm2 != 0) || f5_0_tss) && (spk_mode0 != 31)}
subMenu = RotarySplitMap, "Rotary Split Map", 0, {RotarySplitModeOn && (spk_mode0 != 31)}
subMenu = std_separator ;----------------------------------------------
subMenu = boostctlDtyMap, "Boost Control Duty Map", 0, {boost_ctl_settings_on && boost_ctl_settings_cl == 0}
subMenu = boostctlTargMap, "Boost Control Target Map", 0, {boost_ctl_settings_on && boost_ctl_settings_cl}
menuDialog = main
menu = "Tools"
subMenu = std_ms2gentherm, "Calibrate T&hermistor Tables..."
subMenu = std_ms2geno2, "Calibrate &AFR Table..."
subMenu = sensorCal, "&Sensor Calibration..."
subMenu = std_trigwiz, "Tri&gger Wizard..."
menu = "Communications"
subMenu = setbaud, "Megasquirt baud rate", 0, { userlevel > 191}
menu = "Help"
subMenu = helpGeneral, "MS-II Info"
subMenu = sensorHelp, "Sensor Calibration"
;-------------------------------------------------------------------------------
[UserDefined]
dialog = MATCorrval, "MAT correction value"
field = "This value allows you to scale down the built in air"
field = "density (MAT) correction. "
field = "100% means that the PV=nRT ideal gas law is followed."
field = "Lower values give less aggressive correction."
field = "0% is not allowed as it ignores the physics completely."
field = "(0% is interpreted as 100% for backwards compatability)"
field = "This value and the table are used at the same time"
field = "MAT correction scaling", airden_scaling
dialog = N2OSystem, "Nitrous System"
field = "Nitrous Control", N2Oopt_2
field = "Turn N2O on when above", N2ORpm, { N2Oopt_2 }
field = "And Coolant Temp above", N2OClt, { N2Oopt_2 }
field = "And TPS >", N2OTps, { N2Oopt_2 }
field = "Enable input on:", N2Oopt_pins, { N2Oopt_2 }
field = "Output pins for stage 1+2", N2Oopt_pins2, { N2Oopt_2 }
; field = ""
field = "Additional Fuel PW @ N2O min rpm", N2OPWLo, { N2Oopt_2 }
field = "Max RPM", N2ORpmMax, { N2Oopt_2 }
field = "Additional Fuel PW @ N2O Max RPM", N2OPWHi, { N2Oopt_2 }
field = "Enrich which bank in DualTable", N2Oopt_01, { N2Oopt_2 && dualTable }
; field = ""
field = "If ST2 off Retard Ignition by" N2OAngle, { N2Oopt_2}
; field = ""
field = "Nitrous delay after launch", N2Odel_launch, { N2Oopt_2 && launch_opt_on }
field = "Nitrous delay after flat shift", N2Odel_flat, { N2Oopt_2 && launch_opt_on }
;not yet implemented field = "Nitrous fuel hold on", N2Oholdon, { N2Oopt_2 }
field = ""
field = "Nitrous stage 2", N2Oopt_3, { N2Oopt_2 }
dialog = N2OSystem2, "Nitrous System stage 2"
field = "Enable stage 2 above", N2O2Rpm
field = "Max RPM", N2O2RpmMax
field = "delay after stage1", N2O2delay
field = "Retard Ignition by", N2O2Angle
field = "Additional Fuel PW @ N2O min rpm", N2O2PWLo
field = "Additional Fuel PW @ N2O Max RPM", N2O2PWHi
dialog = boostctlSettings, "Boost Control Settings"
field = "Boost control Enabled", boost_ctl_settings_on
field = "Solenoid Frequency", boost_ctl_settings_freq, {boost_ctl_settings_on}
field = "Control Interval", boost_ctl_ms, {boost_ctl_settings_on}
field = ""
field = "Boost Control Pin", boost_ctl_pins, {boost_ctl_settings_on}
field = "Output polarity", boost_ctl_settings_invert, {boost_ctl_settings_on}
field = "Closed Duty", boost_ctl_closeduty, {boost_ctl_settings_on}
field = "Open Duty", boost_ctl_openduty, {boost_ctl_settings_on}
field = ""
field = "Algorithm", boost_ctl_settings_cl, {boost_ctl_settings_on}
field = "Proportional Gain", boost_ctl_Kp, {boost_ctl_settings_cl}
field = "Integral Gain", boost_ctl_Ki, {boost_ctl_settings_cl}
field = "Differential Gain", boost_ctl_Kd, {boost_ctl_settings_cl}
( run in 0.496 second using v1.01-cache-2.11-cpan-d7f47b0818f )