Auto-generated configs and docs

This commit is contained in:
GitHub build-firmware Action 2021-10-28 16:45:50 +00:00
parent f48d568be7
commit 83aa4c625a
45 changed files with 4450 additions and 235 deletions

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "engine_types.h"
// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Thu Oct 28 16:15:36 UTC 2021
// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Thu Oct 28 16:43:25 UTC 2021
// see also gen_config_and_enums.bat
@ -518,8 +518,6 @@ case TS_COMMAND_5:
return "TS_COMMAND_5";
case TS_COMMAND_9:
return "TS_COMMAND_9";
case TS_COMMAND_IGNITION_CATEGORY:
return "TS_COMMAND_IGNITION_CATEGORY";
case TS_DEBUG_MODE:
return "TS_DEBUG_MODE";
case TS_GRAB_PEDAL_UP:
@ -530,6 +528,8 @@ case TS_GRAB_TPS_CLOSED:
return "TS_GRAB_TPS_CLOSED";
case TS_GRAB_TPS_WOT:
return "TS_GRAB_TPS_WOT";
case TS_IGNITION_CATEGORY:
return "TS_IGNITION_CATEGORY";
case TS_INJECTOR_CATEGORY:
return "TS_INJECTOR_CATEGORY";
case TS_RESET_TLE8888:

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD all
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 2045067855
#define TS_SIGNATURE "rusEFI 2021.10.28.all.2045067855"
#define SIGNATURE_HASH 3318047347
#define TS_SIGNATURE "rusEFI 2021.10.28.all.3318047347"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD atlas
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 1697625960
#define TS_SIGNATURE "rusEFI 2021.10.28.atlas.1697625960"
#define SIGNATURE_HASH 3641677652
#define TS_SIGNATURE "rusEFI 2021.10.28.atlas.3641677652"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD f429-discovery
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 2045067855
#define TS_SIGNATURE "rusEFI 2021.10.28.f429-discovery.2045067855"
#define SIGNATURE_HASH 3318047347
#define TS_SIGNATURE "rusEFI 2021.10.28.f429-discovery.3318047347"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD frankenso_na6
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 64427942
#define TS_SIGNATURE "rusEFI 2021.10.28.frankenso_na6.64427942"
#define SIGNATURE_HASH 3220649882
#define TS_SIGNATURE "rusEFI 2021.10.28.frankenso_na6.3220649882"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen-nb1
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 507692134
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen-nb1.507692134"
#define SIGNATURE_HASH 2724389978
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen-nb1.2724389978"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen121nissan
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 4061403661
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen121nissan.4061403661"
#define SIGNATURE_HASH 1312045617
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen121nissan.1312045617"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen121vag
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 705274377
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen121vag.705274377"
#define SIGNATURE_HASH 2519302709
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen121vag.2519302709"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen128
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 2951043743
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen128.2951043743"
#define SIGNATURE_HASH 331709091
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen128.331709091"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen154hyundai
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 1033561205
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen154hyundai.1033561205"
#define SIGNATURE_HASH 2176500809
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen154hyundai.2176500809"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen72
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 527442536
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen72.527442536"
#define SIGNATURE_HASH 2739929684
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen72.2739929684"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen88bmw
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 2405809826
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen88bmw.2405809826"
#define SIGNATURE_HASH 860200606
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen88bmw.860200606"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellenNA6
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 2402233251
#define TS_SIGNATURE "rusEFI 2021.10.28.hellenNA6.2402233251"
#define SIGNATURE_HASH 856624031
#define TS_SIGNATURE "rusEFI 2021.10.28.hellenNA6.856624031"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen_cypress
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 999922079
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen_cypress.999922079"
#define SIGNATURE_HASH 2277095843
#define TS_SIGNATURE "rusEFI 2021.10.28.hellen_cypress.2277095843"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD kin
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 3292288355
#define TS_SIGNATURE "rusEFI 2021.10.28.kin.3292288355"
#define SIGNATURE_HASH 2015130975
#define TS_SIGNATURE "rusEFI 2021.10.28.kin.2015130975"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD mre_f4
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 4050998747
#define TS_SIGNATURE "rusEFI 2021.10.28.mre_f4.4050998747"
#define SIGNATURE_HASH 1297446375
#define TS_SIGNATURE "rusEFI 2021.10.28.mre_f4.1297446375"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD mre_f7
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 4050998747
#define TS_SIGNATURE "rusEFI 2021.10.28.mre_f7.4050998747"
#define SIGNATURE_HASH 1297446375
#define TS_SIGNATURE "rusEFI 2021.10.28.mre_f7.1297446375"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD prometheus_405
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 688888745
#define TS_SIGNATURE "rusEFI 2021.10.28.prometheus_405.688888745"
#define SIGNATURE_HASH 2502933397
#define TS_SIGNATURE "rusEFI 2021.10.28.prometheus_405.2502933397"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD prometheus_469
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 688888745
#define TS_SIGNATURE "rusEFI 2021.10.28.prometheus_469.688888745"
#define SIGNATURE_HASH 2502933397
#define TS_SIGNATURE "rusEFI 2021.10.28.prometheus_469.2502933397"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD proteus_f4
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 793784456
#define TS_SIGNATURE "rusEFI 2021.10.28.proteus_f4.793784456"
#define SIGNATURE_HASH 2473595060
#define TS_SIGNATURE "rusEFI 2021.10.28.proteus_f4.2473595060"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD proteus_f7
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 793784456
#define TS_SIGNATURE "rusEFI 2021.10.28.proteus_f7.793784456"
#define SIGNATURE_HASH 2473595060
#define TS_SIGNATURE "rusEFI 2021.10.28.proteus_f7.2473595060"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD subaru_eg33_f7
#define SIGNATURE_DATE 2021.10.28
#define SIGNATURE_HASH 3966740780
#define TS_SIGNATURE "rusEFI 2021.10.28.subaru_eg33_f7.3966740780"
#define SIGNATURE_HASH 1347389712
#define TS_SIGNATURE "rusEFI 2021.10.28.subaru_eg33_f7.1347389712"

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.all.2045067855"
signature = "rusEFI 2021.10.28.all.3318047347"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.all.2045067855" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.all.3318047347" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:41 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:22 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3161,9 +3360,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3191,10 +3390,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4509,6 +4710,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5291,4 +5493,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.atlas.1697625960"
signature = "rusEFI 2021.10.28.atlas.3641677652"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.atlas.1697625960" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.atlas.3641677652" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:38 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:19 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3161,9 +3360,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3191,10 +3390,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4501,6 +4702,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5282,4 +5484,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.f429-discovery.2045067855"
signature = "rusEFI 2021.10.28.f429-discovery.3318047347"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.f429-discovery.2045067855" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.f429-discovery.3318047347" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:24:49 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:28 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3161,9 +3360,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3191,10 +3390,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4509,6 +4710,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5291,4 +5493,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.frankenso_na6.64427942"
signature = "rusEFI 2021.10.28.frankenso_na6.3220649882"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.frankenso_na6.64427942" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.frankenso_na6.3220649882" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:24 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:03 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3161,9 +3360,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3191,10 +3390,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4509,6 +4710,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5291,4 +5493,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen-nb1.507692134"
signature = "rusEFI 2021.10.28.hellen-nb1.2724389978"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen-nb1.507692134" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen-nb1.2724389978" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:11 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:50 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5254,4 +5456,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen121nissan.4061403661"
signature = "rusEFI 2021.10.28.hellen121nissan.1312045617"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen121nissan.4061403661" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen121nissan.1312045617" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:24:59 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:37 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5256,4 +5458,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen121vag.705274377"
signature = "rusEFI 2021.10.28.hellen121vag.2519302709"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen121vag.705274377" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen121vag.2519302709" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:24:56 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:34 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5258,4 +5460,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen128.2951043743"
signature = "rusEFI 2021.10.28.hellen128.331709091"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen128.2951043743" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen128.331709091" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:24:53 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:31 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5256,4 +5458,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen154hyundai.1033561205"
signature = "rusEFI 2021.10.28.hellen154hyundai.2176500809"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen154hyundai.1033561205" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen154hyundai.2176500809" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:02 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:41 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5255,4 +5457,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen72.527442536"
signature = "rusEFI 2021.10.28.hellen72.2739929684"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen72.527442536" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen72.2739929684" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:08 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:47 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5254,4 +5456,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen88bmw.2405809826"
signature = "rusEFI 2021.10.28.hellen88bmw.860200606"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen88bmw.2405809826" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen88bmw.860200606" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:05 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:44 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5253,4 +5455,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellenNA6.2402233251"
signature = "rusEFI 2021.10.28.hellenNA6.856624031"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellenNA6.2402233251" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellenNA6.856624031" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:14 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:53 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4493,6 +4694,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5255,4 +5457,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.hellen_cypress.999922079"
signature = "rusEFI 2021.10.28.hellen_cypress.2277095843"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.hellen_cypress.999922079" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.hellen_cypress.2277095843" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 28 15:25:46 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 28 16:44:28 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3161,9 +3360,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3191,10 +3390,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4509,6 +4710,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5291,4 +5493,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.kin.3292288355"
signature = "rusEFI 2021.10.28.kin.2015130975"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.kin.3292288355" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.kin.2015130975" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 28 15:25:44 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 28 16:44:25 UTC 2021
pageSize = 19972
page = 1
@ -1308,13 +1308,18 @@ fsioTable4LoadBins = array, F32, 19908, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 19972
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1330,15 +1335,30 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1355,24 +1375,44 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1381,10 +1421,15 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1396,13 +1441,28 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1410,8 +1470,16 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1426,6 +1494,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1435,12 +1505,18 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1448,6 +1524,7 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1458,66 +1535,160 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2247 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1536,6 +1707,11 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1560,7 +1736,24 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4511 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3133,9 +3326,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3163,10 +3356,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4482,6 +4677,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5264,4 +5460,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.mre_f4.4050998747"
signature = "rusEFI 2021.10.28.mre_f4.1297446375"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.mre_f4.4050998747" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.mre_f4.1297446375" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:21 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:00 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4492,6 +4693,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5261,4 +5463,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.mre_f7.4050998747"
signature = "rusEFI 2021.10.28.mre_f7.1297446375"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.mre_f7.4050998747" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.mre_f7.1297446375" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:18 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:43:57 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4492,6 +4693,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5261,4 +5463,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.prometheus_405.688888745"
signature = "rusEFI 2021.10.28.prometheus_405.2502933397"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.prometheus_405.688888745" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.prometheus_405.2502933397" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:29 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:09 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3156,9 +3355,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3186,10 +3385,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4504,6 +4705,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5286,4 +5488,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.prometheus_469.688888745"
signature = "rusEFI 2021.10.28.prometheus_469.2502933397"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.prometheus_469.688888745" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.prometheus_469.2502933397" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:26 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:06 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3156,9 +3355,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3186,10 +3385,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4504,6 +4705,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5286,4 +5488,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.proteus_f4.793784456"
signature = "rusEFI 2021.10.28.proteus_f4.2473595060"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.proteus_f4.793784456" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.proteus_f4.2473595060" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:35 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:16 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3153,9 +3352,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3183,10 +3382,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4479,6 +4680,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5243,4 +5445,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.proteus_f7.793784456"
signature = "rusEFI 2021.10.28.proteus_f7.2473595060"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.proteus_f7.793784456" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.proteus_f7.2473595060" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:32 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:12 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3153,9 +3352,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3183,10 +3382,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4479,6 +4680,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5243,4 +5445,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -32,12 +32,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.28.subaru_eg33_f7.3966740780"
signature = "rusEFI 2021.10.28.subaru_eg33_f7.1347389712"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.28.subaru_eg33_f7.3966740780" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.28.subaru_eg33_f7.1347389712" ; signature is expected to be 7 or more characters.
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
useLegacyFTempUnits = false
@ -85,7 +85,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 28 15:25:49 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 28 16:44:31 UTC 2021
pageSize = 20000
page = 1
@ -1330,13 +1330,18 @@ fsioTable4LoadBins = array, F32, 19936, [8], "L", 1, 0, 0, 255, 0
fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
; total TS size = 20000
[SettingContextHelp]
engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X"
engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X"
injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min"
injector_battLagCorrBins = "set_flat_injector_lag LAG\nset_injector_lag VOLTAGE LAG"
injector_battLagCorr = "ms delay between injector open and close dead times"
useFordRedundantTps = "On Ford vehicles one of the sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor."
enableFan1WithAc = "Turn on this fan when AC is on."
enableFan2WithAc = "Turn on this fan when AC is on."
disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running."
disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running."
enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)."
isCJ125Verbose = "enable cj125verbose/disable cj125verbose"
cj125isUaDivided = "Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1\nWhen exposed to free air and 17x gain, Ua will be 4.17 volt"
etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode."
isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position."
@ -1352,15 +1357,30 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped."
cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel."
cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X"
cranking_alignmentFill_at_6 = "need 4 byte alignment"
ignitionDwellForCrankingMs = "Dwell duration while cranking"
etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle."
etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed."
map = "@see isMapAveragingEnabled"
map_samplingAngle = "@brief MAP averaging sampling start angle, by RPM"
map_samplingWindow = "@brief MAP averaging angle duration, by RPM"
map_sensor_lowValue = "kPa value at low volts"
map_sensor_highValue = "kPa value at high volts"
clt = "todo: merge with channel settings, use full-scale Thermistor here!"
clt_tempC_1 = "these values are in Celcius"
clt_bias_resistor = "Pull-up resistor value on your board"
clt_alignmentFill_at_29 = "need 4 byte alignment"
iat_tempC_1 = "these values are in Celcius"
iat_bias_resistor = "Pull-up resistor value on your board"
iat_alignmentFill_at_29 = "need 4 byte alignment"
launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster"
hip9011PrescalerAndSDO = "value '6' for 8MHz hw osc\nread hip9011 datasheet for details\ntodo split into two bit fields"
knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override"
sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM"
displacement = "Engine displacement, in litres\nsee also cylindersCount"
cylinderBore = "Cylinder diameter, in mm."
sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm"
rpmHardLimit = "set rpm_hard_limit X"
fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor"
crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"."
injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection"
@ -1377,27 +1397,47 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
vehicleSpeedCoef = "This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h"
canNbcType = "set can_mode X"
canSleepPeriodMs = "CANbus thread period, ms"
ambiguousOperationMode = "'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2\nSee engineCycle\nset operation_mode X"
tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel"
vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB."
fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined."
tps2_1AdcChannel = "Second throttle body position sensor, single channel so far\nset_analog_input_pin tps2 X"
idle_derivativeFilterLoss = "0.1 is a good default value"
trailingSparkAngle = "just a temporary solution"
trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers\nset trigger_type X"
trigger_useOnlyFirstChannel = "This option could be used if your second trigger channel is broken"
failedMapFallback = "This value is only used for speed density fueling calculations."
boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost."
globalFuelCorrection = "set global_fuel_correction X"
camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts."
throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nset_analog_input_pin pps X\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage"
throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata"
baroSensor = "@see hasBaroSensor"
baroSensor_lowValue = "kPa value at low volts"
baroSensor_highValue = "kPa value at high volts"
manIdlePosition = "value between 0 and 100 used in Manual mode"
knockRetardAggression = "Ignition timing to remove when a knock event occurs."
knockRetardReapplyRate = "After a knock event, reapply timing at this rate."
knockRetardMaximum = "Maximum amount of knock retard."
triggerSimulatorFrequency = "Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires)\nSee also directSelfStimulation (no wires, bypassing input hardware)\nrpm X\nTODO: rename to triggerSimulatorRpm"
malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot."
clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down"
wboHeaterPin = "set_cj125_heater_pin XXX"
cj125CsPin = "set_cj125_cs_pin XXX"
digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code"
auxFastSensor1_adcChannel = "Useful in Research&Development phase"
tps1_2AdcChannel = "First throttle body, second sensor."
tps2_2AdcChannel = "Second throttle body, second sensor."
throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage"
afr_type = "AFR, WBO, EGO - whatever you like to call it"
idle_antiwindupFreq = "0.1 is a good default value"
canTxPin = "set_can_tx_pin X"
canRxPin = "set_can_rx_pin X"
acIdleExtraOffset = "Additional idle % while A/C is active"
can2SleepPeriodMs = "CANbus thread period, ms"
wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!"
@ -1406,10 +1446,15 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units"
tunerStudioSerialSpeed = "Secondary TTL channel baud rate"
compressionRatio = "Just for reference really, not taken into account by any logic at this point"
triggerSimulatorPins1 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins2 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
triggerSimulatorPins3 = "Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board.\nSee also directSelfStimulation which is different."
o2heaterPin = "Narrow band o2 heater, not used for CJ125. 'ON' if engine is running, 'OFF' if stopped or cranking. See wboHeaterPin"
isSdCardEnabled = "enable sd/disable sd"
useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed."
enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
onOffAlternatorLogic = "This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control."
isCJ125Enabled = "enable cj125/disable cj125"
vvtCamSensorUseRise = "Use rise or fall signal front\nget vvtCamSensorUseRise"
measureMapOnlyInOneCylinder = "Useful for individual intakes"
isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled."
@ -1421,13 +1466,28 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
enableAemXSeries = "AEM X-Series or rusEFI Wideband"
minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost."
acFanPin = "Optional Radiator Fan used with A/C"
fsioOutputPins1 = "todo: more comments"
fsioOutputPins2 = "todo: more comments"
fsioOutputPins3 = "todo: more comments"
fsioOutputPins4 = "todo: more comments"
fsioOutputPins5 = "todo: more comments"
fsioOutputPins6 = "todo: more comments"
sdCardPeriodMs = "SD card logging period, in milliseconds"
starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running"
secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve"
startStopButtonPin = "See also starterControlPin"
mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies."
idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling."
startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed"
triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high"
cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module"
sensorChartMode = "rusEfi console Sensor Sniffer mode"
fsioDigitalInputs1 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs2 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs3 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs4 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs5 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
fsioDigitalInputs6 = "todo:not finished\nThese input pins allow us to pull toggle buttons state"
clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up"
multisparkMaxRpm = "Disable multispark above this engine speed."
multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC."
@ -1435,8 +1495,16 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve"
enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration."
stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor."
verboseVVTDecoding = "enable vvt_details"
invertCamVVTSignal = "get invertCamVVTSignal"
consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors"
etbIo1_controlPin = "Acts as EN pin in two-wire mode"
etbIo2_controlPin = "Acts as EN pin in two-wire mode"
boostControlPin = "Wastegate control Solenoid"
boostPid_offset = "Linear addition to PID logic"
boostPid_periodMs = "PID dTime"
boostPid_minValue = "Output min value"
boostPid_maxValue = "Output max value"
launchSpeedTreshold = "Disabled above this speed"
launchRpmTreshold = "Disabled below this rpm"
launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate"
@ -1451,6 +1519,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
stft_minAfr = "Below this AFR, correction is paused"
stft_maxAfr = "Above this AFR, correction is paused"
stft_startupDelay = "Delay after starting the engine before beginning closed loop correction."
stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode"
stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode"
engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online"
engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online"
vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online"
@ -1463,12 +1533,18 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
isVerboseETB = "Prints ETB details to rusEFI console"
isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price"
silentTriggerError = "Sometimes we have a performance issue while printing error"
canReadEnabled = "enable can_read/disable can_read"
canWriteEnabled = "enable can_write/disable can_write"
tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%"
isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings."
invertPrimaryTriggerSignal = "This setting flips the signal from the primary engine speed sensor."
invertSecondaryTriggerSignal = "This setting flips the signal from the secondary engine speed sensor."
launchSparkCutEnable = "This is the Cut Mode normally used"
useFSIO5ForCriticalIssueEngineStop = "Sometimes we just have to shut the engine down. Use carefully!"
useFSIO4ForSeriousEngineWarning = "Sometimes we have to miss injection on purpose to attract driver's attention"
acSwitch = "A/C button input"
etbNeutralPosition = "Expected neutral position"
idleMode = "See also idleRpmPid"
isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings."
isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings."
isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders."
@ -1476,6 +1552,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed."
useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling."
verboseTriggerSynchDetails = "enable trigger_details"
isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed"
twoWireBatchInjection = "This is needed if your coils are individually wired and you wish to use batch injection.\nenable two_wire_batch_injection"
useOnlyRisingEdgeForTrigger = "VR sensors are only precise on rising front\nenable trigger_only_front"
twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)."
@ -1486,66 +1563,166 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle."
primeInjFalloffTemperature = "This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature."
acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling."
warningPeriod = "set warningPeriod X"
noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413"
mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback."
crankingTpsCoef = "Cranking fuel correction coefficient based on TPS"
tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode"
maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check."
maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check."
maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check."
wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. "
alternatorControl_offset = "Linear addition to PID logic"
alternatorControl_periodMs = "PID dTime"
alternatorControl_minValue = "Output min value"
alternatorControl_maxValue = "Output max value"
etb_offset = "Linear addition to PID logic"
etb_periodMs = "PID dTime"
etb_minValue = "Output min value"
etb_maxValue = "Output max value"
tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X"
tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X"
starterControlPin = "See also startStopButtonPin"
mapErrorDetectionTooLow = "kPa value which is too low to be true"
mapErrorDetectionTooHigh = "kPa value which is too high to be true"
multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark."
multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table."
idleRpmPid = "See cltIdleRpmBins"
idleRpmPid_offset = "Linear addition to PID logic"
idleRpmPid_periodMs = "PID dTime"
idleRpmPid_minValue = "Output min value"
idleRpmPid_maxValue = "Output max value"
wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. "
communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster."
runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running."
binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN"
knockNoise = "Knock sensor output knock detection threshold depending on current RPM"
throttlePedalWOTVoltage = "Pedal in the floor"
startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure"
idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation"
cltIdleRpmBins = "CLT-based target RPM for automatic idle controller"
cltIdleRpm = "See idleRpmPid"
targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain"
alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load."
startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X"
afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup."
iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value"
auxSerialTxPin = "set_aux_tx_pin X"
auxSerialRxPin = "set_aux_rx_pin X"
tpsAccelLength = "This is the number of engine cycles that the TPS position change can occur over, a longer duration will make the enrichment more active but too long may affect steady state driving, a good default is 30-60 cycles. "
tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in."
uartConsoleSerialSpeed = "Band rate for primary TTL"
slowAdcAlpha = "ExpAverage alpha coefficient"
debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X"
throttlePedalSecondaryWOTVoltage = "Pedal in the floor"
canBaudRate = " set can_baudrate"
veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
enableVerboseCan2Tx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast"
can2ReadEnabled = "enable can_read/disable can_read"
can2WriteEnabled = "enable can_write/disable can_write"
stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)"
can2NbcType = "set can_mode X"
can2TxPin = "set_can2_tx_pin X"
can2RxPin = "set_can2_rx_pin X"
ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this."
injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors."
boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut."
unusedAnotherOneOfThose = "EGO value correction"
fixedTiming = "Fixed timing, useful for TDC testing"
mapLowValueVoltage = "MAP voltage for low point"
mapHighValueVoltage = "MAP voltage for low point"
egoValueShift = "EGO value correction"
alignmentFill_at_2227 = "need 4 byte alignment"
crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling."
fan1ExtraIdle = "Additional idle % when fan #1 is active"
alignmentFill_at_2253 = "need 4 byte alignment"
narrowToWideOxygenBins = "Narrow Band WBO Approximation"
vvtMode1 = "set vvt_mode X"
vvtMode2 = "set vvt_mode X"
fan2ExtraIdle = "Additional idle % when fan #2 is active"
cltTimingBins = "CLT-based timing correction"
injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor"
fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here."
postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start"
postCrankingDurationSec = "Time over which to taper out after start enrichment"
auxTempSensor1_tempC_1 = "these values are in Celcius"
auxTempSensor1_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor1_alignmentFill_at_29 = "need 4 byte alignment"
auxTempSensor2_tempC_1 = "these values are in Celcius"
auxTempSensor2_bias_resistor = "Pull-up resistor value on your board"
auxTempSensor2_alignmentFill_at_29 = "need 4 byte alignment"
applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment."
etbWastegatePid_offset = "Linear addition to PID logic"
etbWastegatePid_periodMs = "PID dTime"
etbWastegatePid_minValue = "Output min value"
etbWastegatePid_maxValue = "Output max value"
stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough"
stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)"
stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)"
timing_offset_cylinder1 = "per-cylinder timing correction"
timing_offset_cylinder2 = "per-cylinder timing correction"
timing_offset_cylinder3 = "per-cylinder timing correction"
timing_offset_cylinder4 = "per-cylinder timing correction"
timing_offset_cylinder5 = "per-cylinder timing correction"
timing_offset_cylinder6 = "per-cylinder timing correction"
timing_offset_cylinder7 = "per-cylinder timing correction"
timing_offset_cylinder8 = "per-cylinder timing correction"
timing_offset_cylinder9 = "per-cylinder timing correction"
timing_offset_cylinder10 = "per-cylinder timing correction"
timing_offset_cylinder11 = "per-cylinder timing correction"
timing_offset_cylinder12 = "per-cylinder timing correction"
spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc."
mc33816_rstb = "ResetB"
brakePedalPin = "Brake pedal switch"
cj125ua = "lambda input"
cj125ur = "heater input"
auxPid1_offset = "Linear addition to PID logic"
auxPid1_periodMs = "PID dTime"
auxPid1_minValue = "Output min value"
auxPid1_maxValue = "Output max value"
auxPid2_offset = "Linear addition to PID logic"
auxPid2_periodMs = "PID dTime"
auxPid2_minValue = "Output min value"
auxPid2_maxValue = "Output max value"
fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius"
fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius"
flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type"
crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)"
servoOutputPins1 = "todo: more comments"
servoOutputPins2 = "todo: more comments"
servoOutputPins3 = "todo: more comments"
servoOutputPins4 = "todo: more comments"
servoOutputPins5 = "todo: more comments"
servoOutputPins6 = "todo: more comments"
servoOutputPins7 = "todo: more comments"
servoOutputPins8 = "todo: more comments"
coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active."
coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle"
coastingFuelCutTps = "Throttle position below which fuel cut is active."
coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold."
pidExtraForLowRpm = "Increases PID reaction for RPM<target by adding extra percent to PID-error"
coastingFuelCutMap = "MAP value above which fuel injection is re-enabled."
iacCoastingBins = "CLT-based idle position for coasting (used in Auto-PID Idle mode)"
iacCoasting = " CLT-based idle position for coasting (used in Auto-PID Idle mode)"
cltRevLimitRpmBins = "CLT-based target RPM for hard limit depending on CLT like on Lexus LFA"
cltRevLimitRpm = "See idleRpmPid"
etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method"
etbBiasValues = "PWM bias, 0 to 100%"
etb_iTermMin = "iTerm min value"
etb_iTermMax = "iTerm max value"
idleTimingPid = "See useIdleTimingPidControl"
idleTimingPid_offset = "Linear addition to PID logic"
idleTimingPid_periodMs = "PID dTime"
idleTimingPid_minValue = "Output min value"
idleTimingPid_maxValue = "Output max value"
idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation"
tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions"
tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions"
idlerpmpid_iTermMin = "iTerm min value"
stoichRatioPrimary = "Stoichiometric ratio for your primary fuel. When Flex Fuel is enabled, this value is used when the Flex Fuel sensor indicates E0.\nE0 = 14.7\nE10 = 14.1\nE85 = 9.9\nE100 = 9.0"
idlerpmpid_iTermMax = "iTerm max value"
stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0"
etbIdleThrottleRange = "This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position."
cylinderBankSelect1 = "Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor"
@ -1564,6 +1741,11 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
triggerCompHystMin = "Trigger comparator hysteresis voltage (Min)"
triggerCompHystMax = "Trigger comparator hysteresis voltage (Max)"
triggerCompSensorSatRpm = "VR-sensor saturation RPM"
idleRpmPid2_offset = "Linear addition to PID logic"
idleRpmPid2_periodMs = "PID dTime"
idleRpmPid2_minValue = "Output min value"
idleRpmPid2_maxValue = "Output max value"
canVssNbcType = "set can_vss X"
gppwm1_pin = "Select a pin to use for PWM or on-off output."
gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage."
gppwm1_pwmFrequency = "Select a frequency to run PWM at.\nSet this to 0hz to enable on-off mode."
@ -1588,7 +1770,24 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2
gppwm4_onAboveDuty = "Hysteresis: in on-off mode, turn the output on when the table value is above this duty."
gppwm4_offBelowDuty = "Hysteresis: in on-off mode, turn the output off when the table value is below this duty."
gppwm4_loadAxis = "Selects the load axis to use for the table."
alignmentFill_at_4539 = "need 4 byte alignment"
cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller"
cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller"
idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleAdvance = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)"
idleVeBins = "Optional VE table for Idle (see useSeparateVEForIdle)"
idleVe = " Optional VE table for Idle (see useSeparateVEForIdle)"
cltIdleCorrBins = "CLT-based idle position multiplier for simple manual idle controller"
cltIdleCorr = " CLT-based idle position multiplier for simple manual idle controller"
mafDecoding = "Also known as MAF transfer function.\nkg/hour value.\nBy the way 2.081989116 kg/h = 1 ft3/m"
vssFilterReciprocal = "Good example: number of tooth on wheel, For Can 10 is a good number."
vvtTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
vvtTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
tpsTpsAccelToRpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable1RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable2RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable3RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
fsioTable4RpmBins = "RPM is float and not integer in order to use unified methods for interpolation"
; SettingContextHelpEnd
@ -3157,9 +3356,9 @@ menuDialog = main
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "Z\x00\x12\x00\x01"
cmd_test_spk2 = "Z\x00\x12\x00\x02"
cmd_test_spk3 = "Z\x00\x12\x00\x03"
cmd_test_spk1 = "Z18\x00\x01"
cmd_test_spk2 = "Z18\x00\x02"
cmd_test_spk3 = "Z18\x00\x03"
cmd_test_spk4 = "Z\x00\x12\x00\x04"
cmd_test_spk5 = "Z\x00\x12\x00\x05"
cmd_test_spk6 = "Z\x00\x12\x00\x06"
@ -3187,10 +3386,12 @@ cmd_test_fsio14 = "Z\x00\x21\x00\x0e"
cmd_test_fsio15 = "Z\x00\x21\x00\x0f"
cmd_test_fsio16 = "Z\x00\x21\x00\x10"
cmd_test_debug_mode_vvt = "Z\x00\x00\x00\x07"
cmd_test_debug_mode_can = "Z\x00\x00\x00\x1a"
cmd_test_inj1 = "Z\x00\x13\x00\x01"
cmd_test_inj2 = "Z\x00\x13\x00\x02"
cmd_test_inj3 = "Z\x00\x13\x00\x03"
cmd_test_inj3 = "Z19\x00\x03"
cmd_test_inj4 = "Z\x00\x13\x00\x04"
cmd_test_inj5 = "Z\x00\x13\x00\x05"
cmd_test_inj6 = "Z\x00\x13\x00\x06"
@ -4503,6 +4704,7 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
dialog = vvtPidDialog0, "Configuration"
commandButton = "Enable VVT#1 debug mode", cmd_test_debug_mode_vvt
field = "VVT solenoid bank 1 intake", auxPidPins1
field = "VVT solenoid bank 1 exhaust", auxPidPins2
field = "VVT solenoid bank 2 intake", auxPidPins3
@ -5277,4 +5479,3 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00"
#else
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
#endif

View File

@ -22,6 +22,6 @@ public enum ts_command_e {
TS_COMMAND_15,
TS_COMMAND_16,
TS_COMMAND_17,
TS_COMMAND_IGNITION_CATEGORY,
TS_IGNITION_CATEGORY,
TS_INJECTOR_CATEGORY,
}