Jump to content

Config:Advanced: Difference between revisions

From epicEFI Wiki
Created page with "<!-- section:smLaunchControl --> = Launch Control = <!-- section:smLaunchControlWest --> == Launch Control Settings == <!-- field:launchControlEnabled --> ==== Launch Control ==== <!-- field:launchActivationMode --> ==== Activation Mode ==== * '''Launch Button''' * '''Clutch Down Switch''' * '''Speed Based''' * '''Brake Pedal''' * '''Lua''' * '''TPS based''' * '''Clutch Up''' <!-- field:clutchDownPin --> ==== Clutch Down ==== Some cars have a switch to indicate that..."
 
No edit summary
 
Line 1: Line 1:
<!-- section:smLaunchControl -->
<!-- section:smLaunchControl -->
= Launch Control =
= Launch Control =
Two-step / launch control: holds a fixed RPM off the line by cutting fuel and/or retarding and cutting ignition, so the driver can hold the throttle flat and launch on release. Activation can be by clutch, button, speed and/or throttle, and a separate rolling-launch mode is provided for roll racing.


<!-- section:smLaunchControlWest -->
<!-- section:smLaunchControlWest -->
== Launch Control Settings ==
== Launch Control Settings ==
All launch activation and effect settings: how launch is armed and triggered (clutch, button, speed, TPS, or rolling-launch), the launch RPM and cut window, and what happens at the limit — ignition retard, ignition and/or fuel cut, and fuel trim.


<!-- field:launchControlEnabled -->
<!-- field:launchControlEnabled -->
Line 130: Line 132:
<!-- section:antiLagDialog -->
<!-- section:antiLagDialog -->
= Anti-Lag ALS =
= Anti-Lag ALS =
Anti-lag (ALS): keeps a turbo spooled off-throttle by retarding timing, adding fuel and holding the throttle/idle air open so combustion continues in the exhaust. Strongly stresses the turbo and exhaust — the MAP/TPS/RPM/CLT/EGT limits here end ALS on timeout or instantly to protect the hardware.


<!-- field:antiLagEnabled -->
<!-- field:antiLagEnabled -->
Line 213: Line 216:
<!-- group:Traction Control and Vehicle Speed -->
<!-- group:Traction Control and Vehicle Speed -->
= Traction Control and Vehicle Speed =
= Traction Control and Vehicle Speed =
Vehicle speed, gear detection and traction control. Configure the speed source (local sensor or CAN) and individual wheel-speed inputs, then traction control compares driven vs driven-wheel speed and reduces torque on slip — via ETB closing, ignition retard, and/or spark skip.


<!-- section:speedSensor -->
<!-- section:speedSensor -->
== Vehicle speed sensor ==
== Vehicle speed sensor ==
Where vehicle speed comes from and how it is scaled — a local speed sensor or the CAN bus — plus gear detection derived from speed and RPM.


<!-- section:speedSensorAnalog -->
<!-- section:speedSensorAnalog -->
=== Speed sensor ===
=== Speed sensor ===
Local (hardwired) vehicle speed sensor: input source and pin, signal filtering, and the calibration (pulses or wheel revs per km, gear ratio, tooth count) that converts pulses into road speed.


<!-- field:trac_vss_source -->
<!-- field:trac_vss_source -->
Line 262: Line 268:
<!-- section:speedSensorCan -->
<!-- section:speedSensorCan -->
=== CAN vehicle speed ===
=== CAN vehicle speed ===
Vehicle speed taken from the CAN bus instead of a local sensor — legacy CAN VSS types and scaling, or a custom CAN wheel-speed reading with tyre dimensions used to compute road speed.


<!-- field:enableCanVss -->
<!-- field:enableCanVss -->
Line 298: Line 305:
<!-- section:gearDetection -->
<!-- section:gearDetection -->
=== Gear Detection ===
=== Gear Detection ===
Detects the current gear by comparing engine RPM to road speed against each gear's ratio. Enter the final drive, forward gear count and per-gear ratios; the detected gear feeds boost-by-gear, traction control and other features.


<!-- field:driveWheelRevPerKm#1 -->
<!-- field:driveWheelRevPerKm#1 -->
Line 344: Line 352:
<!-- section:tractionControlInputs -->
<!-- section:tractionControlInputs -->
== Local Wheel speed inputs ==
== Local Wheel speed inputs ==
Individual hardwired wheel-speed sensor inputs (FL/FR/RL/RR), each with its own pin, tooth count, revs-per-km, gear ratio and filtering, used for slip-based traction control.


<!-- field:customCanVSS#1 -->
<!-- field:customCanVSS#1 -->
Line 454: Line 463:
<!-- section:canWheelSpeeds -->
<!-- section:canWheelSpeeds -->
== CAN Wheel speed inputs ==
== CAN Wheel speed inputs ==
Individual wheel speeds (FL/FR/RL/RR) read from CAN messages — per-wheel CAN ID, bit length, start byte, endianness, factor and offset — as an alternative to hardwired wheel-speed sensors.


<!-- field:customCanVSS#2 -->
<!-- field:customCanVSS#2 -->
Line 580: Line 590:
<!-- section:tractionControlTracSettings -->
<!-- section:tractionControlTracSettings -->
== Traction control settings ==
== Traction control settings ==
Core traction control: drivetrain layout, whether slip is calculated and intervention is enabled, the intervention methods (ETB close, ignition retard, spark skip), and the minimum RPM/MAP/TPS/speed below which it stays inactive.


<!-- field:drive_train_layout -->
<!-- field:drive_train_layout -->
Line 628: Line 639:
<!-- section:tractionControlCanBoxParams -->
<!-- section:tractionControlCanBoxParams -->
== CAN box traction settings ==
== CAN box traction settings ==
Trim settings for an external CAN traction-control box: the driver-adjustable trim range, step size and preset trim levels.


<!-- field:canBoxTracTrimMax -->
<!-- field:canBoxTracTrimMax -->
Line 659: Line 671:
<!-- section:tractionEtbDialog -->
<!-- section:tractionEtbDialog -->
== Traction Control ETB ==
== Traction Control ETB ==
Throttle-reduction tables for traction control: how far the electronic throttle is closed on detected slip, split into left/right and front/rear tables.


<!-- curve:tractionEtbLeftRightTableTbl -->
<!-- curve:tractionEtbLeftRightTableTbl -->
Line 670: Line 683:
<!-- section:tractionTimingDialog -->
<!-- section:tractionTimingDialog -->
== Traction Control Timing Retard ==
== Traction Control Timing Retard ==
Ignition-retard tables for traction control: degrees of timing pulled on detected slip, split into left/right and front/rear tables.


<!-- curve:tractionTimingLeftRightTableTbl -->
<!-- curve:tractionTimingLeftRightTableTbl -->
Line 681: Line 695:
<!-- section:tractionIgnitionSkipDialog -->
<!-- section:tractionIgnitionSkipDialog -->
== Traction Control Spark Skip ==
== Traction Control Spark Skip ==
Spark-skip tables for traction control: the proportion of ignition events skipped on detected slip, split into left/right and front/rear tables.


<!-- curve:tractionIgnitionSkipLeftRightTableTbl -->
<!-- curve:tractionIgnitionSkipLeftRightTableTbl -->
Line 692: Line 707:
<!-- section:rotaryDialog -->
<!-- section:rotaryDialog -->
= Rotary =
= Rotary =
Rotary (Wankel) engine support. Configures the trailing spark plugs, which fire shortly after the leading plugs in each rotor chamber. Set the trailing ignition output pins here; trailing spark timing relative to the leading plug is set on the [[Ignition]] page.


<!-- field:enableTrailingSparks -->
<!-- field:enableTrailingSparks -->
Line 731: Line 747:
<!-- group:Torque Control -->
<!-- group:Torque Control -->
= Torque Control =
= Torque Control =
Torque-reduction features, primarily flat-shift / shift-cut. On a shift request (button, clutch, or launch input) the ECU briefly retards or cuts ignition to unload the gearbox for a full-throttle upshift, then tapers torque back in. Load-cell sensors for a strain-gauge shift knob are also configured here.


<!-- section:ShiftTorqueReductionDialog -->
<!-- section:ShiftTorqueReductionDialog -->
Line 914: Line 931:
<!-- section:NitrousControlDialog -->
<!-- section:NitrousControlDialog -->
= Nitrous Control =
= Nitrous Control =
Nitrous oxide injection control. Drives a nitrous relay/solenoid once arming and activation conditions are met, with safety windows on speed, TPS, CLT, MAP, AFR and an RPM activation/deactivation window. Fuel enrichment and ignition retard are applied while active to keep the engine safe under the added oxygen.


<!-- field:nitrousControlEnabled -->
<!-- field:nitrousControlEnabled -->
Line 1,011: Line 1,029:
<!-- section:VvlControlDialog -->
<!-- section:VvlControlDialog -->
= Variable valve lift (VVL) =
= Variable valve lift (VVL) =
Variable valve lift / switched-cam control (Honda VTEC, Toyota VVTL-i and similar). Switches a relay/solenoid to the high-lift cam profile once RPM and the safety conditions (TPS, CLT, MAP, AFR, oil pressure) are met, with hysteresis on the deactivation RPM. Fuel and ignition adders can be applied on the high-lift profile.


<!-- field:vvlControlEnabled -->
<!-- field:vvlControlEnabled -->
Line 1,075: Line 1,094:
<!-- group:Variable valve timing (VVT) -->
<!-- group:Variable valve timing (VVT) -->
= Variable valve timing (VVT) =
= Variable valve timing (VVT) =
Closed-loop variable valve timing (cam phasing). A PID per cam drives the VVT solenoids to hold the measured cam angle at the target from the intake/exhaust target tables. Supports up to four cams (intake/exhaust on two banks). Cam sensor inputs and offsets are configured on the [[Setup#Trigger|trigger]] page.


<!-- section:vvtPidDialog -->
<!-- section:vvtPidDialog -->
Line 1,224: Line 1,244:
<!-- section:timebasedDialog -->
<!-- section:timebasedDialog -->
= Timebased =
= Timebased =
Time-based corrections: after a trigger (typically launch release), a set of corrections is ramped in over elapsed time — ETB limit, boost multiplier, ignition adder, closed-loop boost multiplier, lambda adder, RPM limit, and driving/driven speed limits. Each correction has its own enable pin and time curve, letting you build a timed power-delivery / drag strategy off the line.


<!-- field:time_based_corrections -->
<!-- field:time_based_corrections -->
Line 1,403: Line 1,424:
<!-- group:Boost Control -->
<!-- group:Boost Control -->
= Boost Control =
= Boost Control =
Turbo/supercharger boost control. Drives a wastegate or boost-control solenoid in open loop (base duty table) and/or closed loop (PID toward a target table), with overboost cut protection. Open- and closed-loop values can be trimmed by gear, CLT and IAT, and a table-switch input allows a second set of tables (e.g. low/high boost).


<!-- section:boostDialog -->
<!-- section:boostDialog -->
== Boost control options ==
== Boost control options ==
Master boost settings: enable and control mode (open and/or closed loop), the wastegate/solenoid output(s) and PWM frequency, overboost-cut protection (including the feather and table-switch variants), and the RPM/TPS/MAP thresholds below which boost control is disabled.


<!-- field:isBoostControlEnabled -->
<!-- field:isBoostControlEnabled -->
Line 1,539: Line 1,562:
<!-- section:boostOpenLoopDialog -->
<!-- section:boostOpenLoopDialog -->
== Boost control Open loop base duty cycle ==
== Boost control Open loop base duty cycle ==
Open-loop wastegate duty table — the feed-forward solenoid duty versus the selected axes. This is the base from which the gear/CLT/IAT trims and any closed-loop correction are applied.


<!-- field:boostOpenLoopYAxis -->
<!-- field:boostOpenLoopYAxis -->
Line 1,549: Line 1,573:
<!-- section:boostClosedLoopDialog -->
<!-- section:boostClosedLoopDialog -->
== Boost control target ==
== Boost control target ==
Closed-loop boost target (kPa) versus the selected axes. The PID drives the wastegate to hold this target.


<!-- field:boostClosedLoopYAxis -->
<!-- field:boostClosedLoopYAxis -->
Line 1,559: Line 1,584:
<!-- section:boostPidDialog -->
<!-- section:boostPidDialog -->
== Boost control PID ==
== Boost control PID ==
Closed-loop boost PID gains and output limits. Enable 'Use PID tables' to switch from these fixed gains to the RPM-based [[Advanced#Boost PID tables|P/I/D tables]].


<!-- field:boostPid_pFactor -->
<!-- field:boostPid_pFactor -->
Line 1,588: Line 1,614:
<!-- section:spooledCurve -->
<!-- section:spooledCurve -->
== SPOOLED curve ==
== SPOOLED curve ==
Spool-assist duty versus RPM: extra open-loop wastegate duty held until boost comes up, to help the turbo spool. Enabled by 'Use SPOOLED curve'.


<!-- section:lowerWgTableTbl -->
<!-- section:lowerWgTableTbl -->
== Lower wastegate duty (open loop) ==
== Lower wastegate duty (open loop) ==
Open-loop duty table for the lower (second) wastegate output, used on dual-port or twin-wastegate setups driven from the 'Lower WG Output'.


<!-- section:boostOpenLoopGearAdderDialog -->
<!-- section:boostOpenLoopGearAdderDialog -->
== Boost control Open loop PW ADDER by gear ==
== Boost control Open loop PW ADDER by gear ==
Per-gear trim (gear x) added to the open-loop wastegate duty — use it to run less or more duty in specific gears. Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostOpenLoopGearAdderCurve -->
<!-- curve:boostOpenLoopGearAdderCurve -->
Line 1,601: Line 1,630:
<!-- section:boostOpenLoopGearMultiplierDialog -->
<!-- section:boostOpenLoopGearMultiplierDialog -->
== Boost control Open loop PW MULTIPLIER by gear ==
== Boost control Open loop PW MULTIPLIER by gear ==
Per-gear multiplier (gear x) applied to the open-loop wastegate duty — scales duty up or down by gear. Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostOpenLoopGearMultiplierCurve -->
<!-- curve:boostOpenLoopGearMultiplierCurve -->
Line 1,608: Line 1,638:
<!-- section:boostOpenLoopGearLimiterDialog -->
<!-- section:boostOpenLoopGearLimiterDialog -->
== Boost control Open loop PW LIMITER by gear ==
== Boost control Open loop PW LIMITER by gear ==
Per-gear cap (gear x) on the open-loop wastegate duty — limits maximum duty in each gear (e.g. less boost in low gears for traction). Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostOpenLoopGearLimiterCurve -->
<!-- curve:boostOpenLoopGearLimiterCurve -->
Line 1,615: Line 1,646:
<!-- section:boostClosedLoopGearAdderDialog -->
<!-- section:boostClosedLoopGearAdderDialog -->
== Boost control closed-loop kPa adder by gear ==
== Boost control closed-loop kPa adder by gear ==
Per-gear trim (gear x) added to the closed-loop boost target in kPa — run a different target pressure per gear. Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostClosedLoopGearAdderCurve -->
<!-- curve:boostClosedLoopGearAdderCurve -->
Line 1,622: Line 1,654:
<!-- section:boostClosedLoopGearMultiplierDialog -->
<!-- section:boostClosedLoopGearMultiplierDialog -->
== Boost control closed-loop kPa multiplier by gear ==
== Boost control closed-loop kPa multiplier by gear ==
Per-gear multiplier (gear x) applied to the closed-loop boost target — scales target pressure by gear. Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostClosedLoopGearMultiplierCurve -->
<!-- curve:boostClosedLoopGearMultiplierCurve -->
Line 1,629: Line 1,662:
<!-- section:boostClosedLoopGearLimiterDialog -->
<!-- section:boostClosedLoopGearLimiterDialog -->
== Boost control closed-loop kPa limiter by gear ==
== Boost control closed-loop kPa limiter by gear ==
Per-gear cap (gear x) on the closed-loop boost target in kPa — limits maximum target pressure in each gear. Requires [[Advanced#Traction Control and Vehicle Speed|gear detection]].


<!-- curve:boostClosedLoopGearLimiterCurve -->
<!-- curve:boostClosedLoopGearLimiterCurve -->
Line 1,636: Line 1,670:
<!-- section:cltBoostCorrCurve -->
<!-- section:cltBoostCorrCurve -->
== CLT boost duty multiplier ==
== CLT boost duty multiplier ==
Multiplier on the open-loop wastegate duty versus coolant temperature — typically reduces boost on a cold engine.


<!-- section:cltBoostAdderCurve -->
<!-- section:cltBoostAdderCurve -->
== CLT boost target adder ==
== CLT boost target adder ==
Adjustment to the closed-loop boost target versus coolant temperature.


<!-- section:iatBoostCorrCurve -->
<!-- section:iatBoostCorrCurve -->
== IAT boost duty multiplier ==
== IAT boost duty multiplier ==
Multiplier on the open-loop wastegate duty versus intake air temperature — pull boost back as intake temps climb to protect against knock.


<!-- section:iatBoostAdderCurve -->
<!-- section:iatBoostAdderCurve -->
== IAT boost target adder ==
== IAT boost target adder ==
Adjustment to the closed-loop boost target versus intake air temperature.


<!-- group:Boost PID tables -->
<!-- group:Boost PID tables -->
= Boost PID tables =
= Boost PID tables =
Optional RPM-based gain tables for the closed-loop boost PID. When 'Use PID tables' is enabled in [[Advanced#Boost control PID|Boost control PID]], these P/I/D curves replace the single fixed gains, letting boost response be tuned across the rev range.


<!-- section:boostPidPCurve -->
<!-- section:boostPidPCurve -->
== P Table ==
== P Table ==
Proportional gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).


<!-- section:boostPidICurve -->
<!-- section:boostPidICurve -->
== I Table ==
== I Table ==
Integral gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).


<!-- section:boostPidDCurve -->
<!-- section:boostPidDCurve -->
== D Table ==
== D Table ==
Derivative gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).


<!-- group:Boost Table Switch -->
<!-- group:Boost Table Switch -->
= Boost Table Switch =
= Boost Table Switch =
A second set of boost tables (open and closed loop) that can be blended in against the main tables, selected by a switch pin or a parameter/Y-axis override with a bias curve. Use it for a low/high boost switch, valet/wet maps, or any second boost profile.


<!-- section:boostOpenBlend1Cfg -->
<!-- section:boostOpenBlend1Cfg -->
== Open Loop Boost Table Switch 1 Settings ==
== Open Loop Boost Table Switch 1 Settings ==
How the alternate open-loop boost table is blended in: the switch pin (or parameter / Y-axis override), the blend mode, and the bias curve that sets how much of the alternate table is mixed with the main one.


<!-- field:boostOpenLoopBlends1_tableSwitch -->
<!-- field:boostOpenLoopBlends1_tableSwitch -->
Line 1,693: Line 1,737:
<!-- section:boostOpenBlend1Table -->
<!-- section:boostOpenBlend1Table -->
== Open Loop Boost Table Switch 1 ==
== Open Loop Boost Table Switch 1 ==
The alternate open-loop wastegate duty table that is blended in per the settings above.


<!-- section:boostClosedBlend1Cfg -->
<!-- section:boostClosedBlend1Cfg -->
== Closed Loop Boost Table Switch 1 Settings ==
== Closed Loop Boost Table Switch 1 Settings ==
How the alternate closed-loop boost target table is blended in: the switch pin (or parameter / Y-axis override), the blend mode, and the bias curve.


<!-- field:boostClosedLoopBlends1_tableSwitch -->
<!-- field:boostClosedLoopBlends1_tableSwitch -->
Line 1,726: Line 1,772:
<!-- section:boostClosedBlend1Table -->
<!-- section:boostClosedBlend1Table -->
== Closed Loop Boost Table Switch 1 ==
== Closed Loop Boost Table Switch 1 ==
The alternate closed-loop boost target table that is blended in per the settings above.


<!-- group:Generic PWM -->
<!-- group:Generic PWM -->
= Generic PWM =
= Generic PWM =
Up to four general-purpose PWM channels (GP PWM x, x = 1–4). Each looks up a 3D table on selectable X/Y axes and drives a pin with the result: as PWM at the chosen frequency, or as an on/off signal with hysteresis ('on above duty' / 'off below duty') when frequency is set to 0. An optional switch pin selects or blends the table, 'off value' applies while that switch is off, and 'duty if error' is the safe fallback used if an input sensor faults.
All four channels are identical; only their index differs.


<!-- section:gppwm1 -->
<!-- section:gppwm1 -->
Line 1,992: Line 2,042:
<!-- group:User tables -->
<!-- group:User tables -->
= User tables =
= User tables =
Up to eight user-defined 3D lookup tables (user table x, x = 1–8). Each table picks its own X and Y axes from any available channel, looks up a value, and either drives an output or feeds its result to another function (another table's axis, a CAN message, a math channel).
Per-table fields, identical for every table:
* '''Enabled''' / '''Enable Pin''' - turn the table on, optionally gated by a switch input.
* '''X Axis''' / '''Y Axis''' - the channels used to index the table (the '''Hash''' fields are internal axis identifiers, not user-set).
* '''Action''' - what the looked-up value controls; leave 'None' to use the table only for monitoring or as an input to something else.
* '''PWM Output Pin''' / '''PWM Frequency''' / '''PWM Duty if error''' - used when Action is PWM Output; the error duty is the safe fallback when the axes are invalid.
All eight tables are identical; only their index differs.


<!-- section:userTable1TblSettings -->
<!-- section:userTable1TblSettings -->
Line 2,443: Line 2,502:
<!-- group:User curves -->
<!-- group:User curves -->
= User curves =
= User curves =
Up to eight user-defined 2D curves (user curve x, x = 1–8). Each maps one selectable X-axis channel to an output value and either drives a PWM/on-off output or feeds its result to another function. The fields mirror the [[Advanced#User tables|user tables]] but with a single X axis instead of X and Y.
All eight curves are identical; only their index differs.


<!-- section:userCurve1CurveSettings -->
<!-- section:userCurve1CurveSettings -->
Line 2,830: Line 2,892:
<!-- group:User counters -->
<!-- group:User counters -->
= User counters =
= User counters =
Up to four user counters (user counter x, x = 1–4). Each is an integer value that increments, decrements, and resets from button inputs, optionally wrapping between a minimum and maximum. Use one as a manually-stepped selector — a map switch, boost level, launch RPM step, etc. — whose value feeds other functions.
Per-counter fields, identical for every counter: '''Minimum/Maximum value''' and '''Wrap around''' bound the count, and the '''Increment''' / '''Decrement''' / '''Reset''' switch inputs (with their pin modes) step it.
All four counters are identical; only their index differs.


<!-- section:userCounter1Settings -->
<!-- section:userCounter1Settings -->
Line 3,073: Line 3,140:
<!-- group:Math channels -->
<!-- group:Math channels -->
= Math channels =
= Math channels =
Up to eight math channels (math channel x, x = 1–8). Each applies a selectable '''Function''' to up to five '''inputs''', where each input is either a constant '''Value''' or a '''Variable''' (any channel). Optional exponential '''Averaging''' smooths a noisy result (0 = none, 90–95 for noisy signals). The output becomes a channel you can log or feed into tables, logic outputs and CAN messages. The per-input '''Hash''' fields are internal identifiers, not user-set.
All eight channels are identical; only their index differs.


<!-- section:mathChannel1Dialog -->
<!-- section:mathChannel1Dialog -->
Line 3,844: Line 3,914:
<!-- group:Bit builders -->
<!-- group:Bit builders -->
= Bit builders =
= Bit builders =
Up to eight bit builders (bit builder x, x = 1–8). Each assembles a single integer from up to eight bits, where every bit is either '''Fixed''' or driven by a '''Variable''' — any non-zero variable value sets that bit to 1. Use it to pack several on/off signals (typically [[Advanced#Logic outputs|logic outputs]]) into one value for CAN transmission or table lookup.
All eight builders are identical; only their index differs.


<!-- section:bitBuilder1Dialog -->
<!-- section:bitBuilder1Dialog -->
Line 5,043: Line 5,116:
<!-- group:Analog Multi-Switch -->
<!-- group:Analog Multi-Switch -->
= Analog Multi-Switch =
= Analog Multi-Switch =
Up to four analog multi-switches (analog multi-switch x, x = 1–4). Each reads one analog input and resolves its voltage to a discrete '''Position''' via the position curve — the standard way to read a multi-position rotary switch (for example a 5-position map selector) over a single wire using a resistor ladder.
All four switches are identical; only their index differs.


<!-- section:analogMultiSwitchSettings1 -->
<!-- section:analogMultiSwitchSettings1 -->
Line 5,098: Line 5,174:
<!-- group:Logic outputs -->
<!-- group:Logic outputs -->
= Logic outputs =
= Logic outputs =
Up to ten logic outputs (logic output x, x = 1–10) — the ECU's general-purpose programmable on/off logic. Each output evaluates up to five '''conditions''' (comparisons on any channel), combines them with the selected boolean '''Conditions logic''', and when the result is true drives an output '''pin''' and/or takes an engine '''action''' (do nothing, cut fuel, cut spark, cut both, kill the engine, or limit RPM). '''Turn on/off delay''' debounce the result and '''Inverted''' flips it (active when conditions are NOT met). Set the pin to NONE to use the result virtually (e.g. as a [[Advanced#Bit builders|bit builder]] input).
All ten outputs are identical; only their index differs.


<!-- section:logicOutput1Dialog -->
<!-- section:logicOutput1Dialog -->
Line 8,081: Line 8,160:
<!-- section:auxAnalogInputsDialog -->
<!-- section:auxAnalogInputsDialog -->
= Aux analog inputs =
= Aux analog inputs =
Eight spare analog inputs (aux analog x, x = 1–8). Each assigns an ADC channel whose voltage is exposed as a channel for logging, [[Lua]], CAN broadcast, or use as an axis in user tables/curves. Calibrate raw voltage into engineering units in Lua or a user curve.


<!-- field:auxAnalogInputs1 -->
<!-- field:auxAnalogInputs1 -->
Line 8,140: Line 8,220:
<!-- section:auxDigitalInputsDialog -->
<!-- section:auxDigitalInputsDialog -->
= Aux digital inputs =
= Aux digital inputs =
Eight spare digital (switch) inputs (aux digital x, x = 1–8). Each assigns a switch pin whose on/off state is exposed as a channel for [[Lua]], CAN, or as a condition in [[Advanced#Logic outputs|logic outputs]] and user tables.


<!-- field:luaDigitalInputPins1 -->
<!-- field:luaDigitalInputPins1 -->
Line 8,247: Line 8,328:
<!-- section:cruiseControlDialog -->
<!-- section:cruiseControlDialog -->
= Cruise Control =
= Cruise Control =
Electronic-throttle cruise control. Holds a target speed (or RPM) by adjusting ETB angle with a proportional controller, with extensive safety conditions and driver cancel inputs (brake, clutch, off button). Requires drive-by-wire throttle.


<!-- section:cruiseControlSettingsDialog -->
<!-- section:cruiseControlSettingsDialog -->
== Settings ==
== Settings ==
Core cruise behaviour: enable/arm logic, what the setpoint tracks (vehicle speed or RPM), ETB adjustment smoothing, and which driver inputs cancel cruise.


<!-- field:cruiseControlEnabled -->
<!-- field:cruiseControlEnabled -->
Line 8,297: Line 8,380:
<!-- section:cruiseControlDisengageConditionsDialog -->
<!-- section:cruiseControlDisengageConditionsDialog -->
== Safety Conditions ==
== Safety Conditions ==
Limits that prevent cruise from engaging or that disengage it: max pedal to engage/stay engaged, hard throttle/RPM/speed bounds, and RPM/speed bands beyond which cruise drops out. Set these conservatively — they are the guard rails on a system that opens the throttle on its own.


<!-- field:cc_max_soft_etb -->
<!-- field:cc_max_soft_etb -->
Line 8,356: Line 8,440:
<!-- section:cruiseControlAdjustmentConditionsDialog -->
<!-- section:cruiseControlAdjustmentConditionsDialog -->
== Adjustment Conditions ==
== Adjustment Conditions ==
Tuning for how cruise holds the setpoint: proportional gains and ETB adjustment limits, RPM/speed deadbands to stop hunting, the INC/DEC step sizes, and the rate at which the setpoint eases toward the held value.


<!-- field:cc_proportionalGainRPM -->
<!-- field:cc_proportionalGainRPM -->
Line 8,406: Line 8,491:
<!-- section:cruise_control_buttons -->
<!-- section:cruise_control_buttons -->
= Cruise Control Buttons (GPIO) =
= Cruise Control Buttons (GPIO) =
Pin assignments for the cruise control buttons (enable/arm, set/engage, resume, increase, decrease, off/cancel), each with its input mode and an optional inversion. Wire whichever buttons your control stalk provides; cruise can also be driven over CAN.


<!-- field:cruiseControlEnablePin -->
<!-- field:cruiseControlEnablePin -->
Line 8,493: Line 8,579:
<!-- section:longStorageDialog -->
<!-- section:longStorageDialog -->
= Long Storage =
= Long Storage =
Values that persist across power cycles (saved to non-volatile storage), such as trip fuel used and per-tank fuel level. Use these for a fuel-remaining readout and trip metering that survive key-off.


<!-- section:longStorageDialogWest -->
<!-- section:longStorageDialogWest -->
== Long Storage ==
== Long Storage ==
Trip fuel correction and the configured size of each fuel tank, used to compute fuel used and fuel remaining.


<!-- field:tripFuelCorrection -->
<!-- field:tripFuelCorrection -->
Line 8,515: Line 8,603:
<!-- section:longStorageGaugeCategory1 -->
<!-- section:longStorageGaugeCategory1 -->
== Fuel Tank 1 ==
== Fuel Tank 1 ==
Live fuel level / fuel-used gauges for fuel tank x (x = 1–3), based on the tank size set above and fuel consumed. All three tanks are identical; only their index differs.


<!-- section:longStorageGaugeCategory2 -->
<!-- section:longStorageGaugeCategory2 -->
== Fuel Tank 2 ==
== Fuel Tank 2 ==
Fuel tank x gauges — see [[Advanced#Fuel Tank 1|Fuel Tank 1]].


<!-- section:longStorageGaugeCategory3 -->
<!-- section:longStorageGaugeCategory3 -->
== Fuel Tank 3 ==
== Fuel Tank 3 ==
Fuel tank x gauges — see [[Advanced#Fuel Tank 1|Fuel Tank 1]].


<!-- section:longStorageDialogEast -->
<!-- section:longStorageDialogEast -->
== Long Storage ==
== Long Storage ==
Live readout of the persisted long-storage values.

Latest revision as of 23:16, 6 June 2026

Launch Control

Two-step / launch control: holds a fixed RPM off the line by cutting fuel and/or retarding and cutting ignition, so the driver can hold the throttle flat and launch on release. Activation can be by clutch, button, speed and/or throttle, and a separate rolling-launch mode is provided for roll racing.

Launch Control Settings

All launch activation and effect settings: how launch is armed and triggered (clutch, button, speed, TPS, or rolling-launch), the launch RPM and cut window, and what happens at the limit — ignition retard, ignition and/or fuel cut, and fuel trim.

Launch Control

Activation Mode

  • Launch Button
  • Clutch Down Switch
  • Speed Based
  • Brake Pedal
  • Lua
  • TPS based
  • Clutch Up

Clutch Down

Some cars have a switch to indicate that clutch pedal is all the way down ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Clutch Down mode

  • $pin_input_mode_e_enum

Clutch Up

Some vehicles have a switch to indicate that clutch pedal is all the way up ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Clutch Up mode

  • $pin_input_mode_e_enum

Launch Button

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Launch Button mode

  • $pin_input_mode_e_enum

Launch Full Cut RPM

A secondary Rev limit engaged by the driver to help launch the vehicle faster

Launch Window - start of cut(lRPM - window)

Starting Launch RPM window to activate (subtracts from Launch RPM)

Rolling Launch Button

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Rolling Launch Button mode

  • $pin_input_mode_e_enum

Rolling Launch Min RPM

Min rpm at which rpm can be locked for launch

Rolling Launch RPM Lock Full Cut Adder(+/-)

Adder to launch rpm when button is held

TPS Engage Above

Engage TPS launch above

TPS Disengage Below

Disengage TPS launch below

TPS Launch Min RPM

TPS min RPM

Speed Threshold

Launch disabled above this speed if setting is above zero

Driver Intent / TPS

true = ETB pedal, false = TPS, fallback to TPS if no etb

TPS Threshold (no launch below this)

Use Ignition Retard

Smooth Retard Mode

Interpolates the Ignition Retard from 0 to 100% within the RPM Range

Ignition Timing Final

Fuel Added (-100 to 100) %

Ignition Cut

This is the Cut Mode normally used

Initial Ignition Cut %

Final Ignition Cut % Before launch

Fuel Cut

launch_control_state

Anti-Lag ALS

Anti-lag (ALS): keeps a turbo spooled off-throttle by retarding timing, adding fuel and holding the throttle/idle air open so combustion continues in the exhaust. Strongly stresses the turbo and exhaust — the MAP/TPS/RPM/CLT/EGT limits here end ALS on timeout or instantly to protect the hardware.

AntiLag

Activation Mode

  • Switch Input
  • Always Active
  • Lua

Switch Input

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Switch OFF uses timeout

ALS on/off switch uses timeout

ALS Button mode

  • $pin_input_mode_e_enum

ALS timeout

Min MAP - Ends ALS after timeout

Min TPS/PPS - Ends ALS after timeout

Min TPS/PPS

Min RPM - Ends ALS after timeout

Max MAP - Ends ALS Instantly

Max TPS/PPS - Ends ALS Instantly

Max TPS/PPS

Max RPM - Ends ALS Instantly

Min CLT - ALS Safety limit - no ALS below this

Max CLT - ALS Safety limit - no ALS above this

Use EGT

Max EGT

Idle Air Add

ETB Air Add

Fuel adjustment

3D table: Fuel adjustment.

Ignition adjustment

3D table: Ignition adjustment.

Ignition Skip

3D table: Ignition Skip.

ETB Air Add

3D table: ETB Air Add.

Traction Control and Vehicle Speed

Vehicle speed, gear detection and traction control. Configure the speed source (local sensor or CAN) and individual wheel-speed inputs, then traction control compares driven vs driven-wheel speed and reduces torque on slip — via ETB closing, ignition retard, and/or spark skip.

Vehicle speed sensor

Where vehicle speed comes from and how it is scaled — a local speed sensor or the CAN bus — plus gear detection derived from speed and RPM.

Speed sensor

Local (hardwired) vehicle speed sensor: input source and pin, signal filtering, and the calibration (pulses or wheel revs per km, gear ratio, tooth count) that converts pulses into road speed.

Source for speed sensor input

Source for Main VSS reference

  • VSS Sensor
  • Trac Front
  • Trac Rear
  • Trac Front/Rear AVG
  • GPS

Input

?highlight=class~event_inputs

  • $brain_input_pin_e_list

Filter parameter

Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response.

Calibration Drive Speed

Drive this speed when calibrating VSS pulses per km

Pulses per KM

vss Pulses per KM

Wheel revolutions per kilometer

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Speed sensor gear ratio

Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0.

Speed sensor tooth count

Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft.

CAN vehicle speed

Vehicle speed taken from the CAN bus instead of a local sensor — legacy CAN VSS types and scaling, or a custom CAN wheel-speed reading with tyre dimensions used to compute road speed.

Enable legacy CAN VSS

Read VSS from OEM CAN bus according to selected CAN vehicle configuration.

CAN VSS type

  • BMW_e46
  • W202
  • BMW E8x/E9x MK60e5
  • Nissan 350
  • Hyundai PB
  • Honda Civic9

CAN VSS scaling

Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead.

Custom CAN Wheel speed reading enabled

Target km/h

Drive this speed when calibrating VSS pulses per km

tire Width(mm)

tire Aspect(%)

tire Rim Diameter (in)

Gear Detection

Detects the current gear by comparing engine RPM to road speed against each gear's ratio. Enter the final drive, forward gear count and per-gear ratios; the detected gear feeds boost-by-gear, traction control and other features.

Wheel revolutions per kilometer

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Final drive ratio

Ratio between the wheels and your transmission output.

Forward gear count

1st gear

gearRatio 1

2nd gear

gearRatio 2

3rd gear

gearRatio 3

4th gear

gearRatio 4

5th gear

gearRatio 5

6th gear

gearRatio 6

7th gear

gearRatio 7

8th gear

gearRatio 8

Local Wheel speed inputs

Individual hardwired wheel-speed sensor inputs (FL/FR/RL/RR), each with its own pin, tooth count, revs-per-km, gear ratio and filtering, used for slip-based traction control.

CAN Wheel speed reading enabled(overrides real inputs)

Wheel Speed Input 1 (FL)

wheelSpeedSensorInputPin 1 ?highlight=class~event_inputs

  • $brain_input_pin_e_list

Wheel Speed Input 2 (FR)

wheelSpeedSensorInputPin 2 ?highlight=class~event_inputs

  • $brain_input_pin_e_list

Wheel Speed Input 3 (RL)

wheelSpeedSensorInputPin 3 ?highlight=class~event_inputs

  • $brain_input_pin_e_list

Wheel Speed Input 4 (RR)

wheelSpeedSensorInputPin 4 ?highlight=class~event_inputs

  • $brain_input_pin_e_list

Speed sensor tooth count (FL)

Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft.

Speed sensor tooth count (FR)

Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft.

Speed sensor tooth count (RL)

Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft.

Speed sensor tooth count (RR)

Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft.

Wheel revolutions per kilometer (FL)

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Wheel revolutions per kilometer (FR)

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Wheel revolutions per kilometer (RL)

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Wheel revolutions per kilometer (RR)

Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size.

Speed sensor gear ratio (FL)

Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0.

Speed sensor gear ratio (FR)

Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0.

Speed sensor gear ratio (RL)

Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0.

Speed sensor gear ratio (RR)

Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0.

Filter parameter1 FL

Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response.

Filter parameter2 FR

Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response.

Filter parameter3 RL

Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response.

Filter parameter4 RR

Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response.

Use biquad on wheel speed FL

Use biquad on wheel speed FR

Use biquad on wheel speed RL

Use biquad on wheel speed RR

CAN Wheel speed inputs

Individual wheel speeds (FL/FR/RL/RR) read from CAN messages — per-wheel CAN ID, bit length, start byte, endianness, factor and offset — as an alternative to hardwired wheel-speed sensors.

CAN Wheel speed reading enabled

Front left Enabled

Front left CAN ID(dec)

CAN ID of the front left wheel speed

Front left bit length

How many bits the data is

Front left start BYTE (0-7)

Starting byte of the data

Front left big endian

Endianness for Front left wheel speed

  • little
  • big

Front left factor

Scale factor for front left wheel speed

Front left offset

Offset for front left wheel speed

Front right Enabled

Front right CAN ID(dec)

CAN ID of the front right wheel speed

Front right bit length

How many bits the data is

Front right start BYTE (0-7)

Starting byte of the data

Front right big endian

Endianness for Front right wheel speed

  • little
  • big

Front right factor

Scale factor for front right wheel speed

Front right offset

Offset for front right wheel speed

Rear left Enabled

Rear left CAN ID(dec)

CAN ID of the rear left wheel speed

Rear left bit length

How many bits the data is

Rear left start BYTE (0-7)

Starting byte of the data

Rear left big endian

Endianness for Rear left wheel speed

  • little
  • big

Rear left factor

Scale factor for rear left wheel speed

Rear left offset

Offset for rear left wheel speed

Rear right Enabled

Rear right CAN ID(dec)

CAN ID of the rear right wheel speed

Rear right bit length

How many bits the data is

Rear right start BYTE (0-7)

Starting byte of the data

Rear right big endian

Endianness for Rear right wheel speed

  • little
  • big

Rear right factor

Scale factor for rear right wheel speed

Rear right offset

Offset for rear right wheel speed

Traction control settings

Core traction control: drivetrain layout, whether slip is calculated and intervention is enabled, the intervention methods (ETB close, ignition retard, spark skip), and the minimum RPM/MAP/TPS/speed below which it stays inactive.

Drivetrain layout

Drivetrain layout

  • None
  • RWD
  • FWD
  • AWD

Enable Slip and wheel speed calculations

Enable Slip value calculations

Traction control intervention enabled

Traction control intervention enabled

Use ETB for trac

traction control uses ETB

Use Spark Skip for trac

traction control uses spark skip

Use Ignition Timing retard for trac

traction control uses ignition timing retard

Minimum RPM for traction control

Trac minimum RPM

Minimum MAP for traction control

Trac minimum MAP

Minimum TPS for traction control

Trac minimum TPS

Minimum speed for traction control

Trac minimum speed

CAN box traction settings

Trim settings for an external CAN traction-control box: the driver-adjustable trim range, step size and preset trim levels.

canBoxTracTrimMax

Traction trim adjust max

canBoxTracTrimMin

Traction trim adjust min

canBoxTracTrimStep

Traction trim adjustment step

canBoxTracTrim1

Trim preset 1

canBoxTracTrim2

Trim preset 1

canBoxTracTrim3

Trim preset 1

canBoxTracTrim4

Trim preset 1

Traction Control ETB

Throttle-reduction tables for traction control: how far the electronic throttle is closed on detected slip, split into left/right and front/rear tables.

Traction Control Left/Right ETB drop

3D table: Traction Control Left/Right ETB drop.

Traction Control Front/Rear ETB drop

3D table: Traction Control Front/Rear ETB drop.

Traction Control Timing Retard

Ignition-retard tables for traction control: degrees of timing pulled on detected slip, split into left/right and front/rear tables.

Traction Control Left/Right Timing drop

3D table: Traction Control Left/Right Timing drop.

Traction Control Front/Rear Timing drop

3D table: Traction Control Front/Rear Timing drop.

Traction Control Spark Skip

Spark-skip tables for traction control: the proportion of ignition events skipped on detected slip, split into left/right and front/rear tables.

Traction Control Left/Right Skip Ignition

3D table: Traction Control Left/Right Skip Ignition.

Traction Control Front/Rear Skip Ignition

3D table: Traction Control Front/Rear Skip Ignition.

Rotary

Rotary (Wankel) engine support. Configures the trailing spark plugs, which fire shortly after the leading plugs in each rotor chamber. Set the trailing ignition output pins here; trailing spark timing relative to the leading plug is set on the Ignition page.

Enable Trailing Sparks

Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines).

Trailing Pin 1

trailingCoilPins 1 ?highlight=class~outputs

  • $output_pin_e_list

Trailing Pin 2

trailingCoilPins 2 ?highlight=class~outputs

  • $output_pin_e_list

Trailing Pin 3

trailingCoilPins 3 ?highlight=class~outputs

  • $output_pin_e_list

Trailing Pin 4

trailingCoilPins 4 ?highlight=class~outputs

  • $output_pin_e_list

Trailing spark

3D table: Trailing spark.

Torque Control

Torque-reduction features, primarily flat-shift / shift-cut. On a shift request (button, clutch, or launch input) the ECU briefly retards or cuts ignition to unload the gearbox for a full-throttle upshift, then tapers torque back in. Load-cell sensors for a strain-gauge shift knob are also configured here.

Shift Torque Reduction (Flat Shift)

Activation

Enable Shift Torque Reduction

Activation Mode

  • Torque Reduction Button
  • Launch Button
  • Clutch Down Switch
  • Clutch Up Switch
  • Load Cell 1
  • Load Cell 2
  • Load Cell 3

Minimal CLT

Torque Reduction Button

Torque Reduction Button

Pin that activates the reduction/cut for shifting. Sometimes shared with the Launch Control pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Torque Reduction Button Mode

  • $pin_input_mode_e_enum

Launch Button

Launch Button

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Clutch Down

Clutch Down

Some cars have a switch to indicate that clutch pedal is all the way down ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Clutch Down Mode

  • $pin_input_mode_e_enum

Clutch Up

Clutch Up

Some vehicles have a switch to indicate that clutch pedal is all the way up ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Clutch Up Mode

  • $pin_input_mode_e_enum

Settings

Torque Reduction Arming RPM

Since torque reduction pin is usually shared with launch control, most people have an RPM where behavior under that is Launch Control, over that is Flat Shift/Torque Reduction

Torque Reduction Arming APP

Pedal position to realize that we need to reduce torque when the trigger pin is uuuh triggered

Timing Table is Adder

True = adder, False = absolute

Limit Torque Reduction Time

Taper time to restore torque (0-1200ms)

Time(ms) to restore torque (0-1200ms)

X axis torque reduction time

Selects the X axis to use for the table.

X axis torque reduction ignition retard

Selects the X axis to use for the table.

X axis torque reduction ignition cut

Selects the X axis to use for the table.

Torque reduction time table

3D table: Torque reduction time table.

Torque reduction ignition retard table

3D table: Torque reduction ignition retard table.

Torque reduction cut table

3D table: Torque reduction cut table.

Load Cell Sensors

Load Cell Runtime Values

Load Cell

Load Cell 1 ADC Channel

Load cell 1 ADC channel ?highlight=class~analog_inputs

  • $adc_channel_e_list

Load Cell 2 ADC Channel

Load cell 2 ADC channel ?highlight=class~analog_inputs

  • $adc_channel_e_list

Load Cell 3 ADC Channel

Load cell 3 ADC channel ?highlight=class~analog_inputs

  • $adc_channel_e_list

Load Cell Low Pass Cutoff Hz

Load cell low pass cutoff Hz

Load Cell 1 Minimum Value

Load cell 1 minimum value

Load Cell 1 Maximum Value

Load cell 1 maximum value

Load Cell 2 Minimum Value

Load cell 2 minimum value

Load Cell 2 Maximum Value

Load cell 2 maximum value

Load Cell 3 Minimum Value

Load cell 3 minimum value

Load Cell 3 Maximum Value

Load cell 3 maximum value

Load Cell Gauge

Nitrous Control

Nitrous oxide injection control. Drives a nitrous relay/solenoid once arming and activation conditions are met, with safety windows on speed, TPS, CLT, MAP, AFR and an RPM activation/deactivation window. Fuel enrichment and ignition retard are applied while active to keep the engine safe under the added oxygen.

Nitrous Control

Arming Method

Arming Method

  • Digital Switch Input
  • Lua Gauge

Digital Switch Input

Nitrous Control Button

Pin that activates nitrous control ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Nitrous Control Mode

  • $pin_input_mode_e_enum

Lua Gauge

Lua Gauge

  • Lua Gauge 1
  • Lua Gauge 2
  • Lua Gauge 3
  • Lua Gauge 4
  • Lua Gauge 5
  • Lua Gauge 6
  • Lua Gauge 7
  • Lua Gauge 8

Value Meaning

  • Lower Bound
  • Upper Bound

Arming Value

Settings

Nitrous Relay

?highlight=class~outputs

  • $output_pin_e_list

Nitrous Relay Mode

  • $pin_output_mode_e_enum

Minimum Vehicle Speed

Minimum TPS

Minimum CLT

Maximum MAP

Maximum AFR

Activation RPM

Dectivation RPM

Dectivation RPM Window

Fuel Adder

Ignition Retard

Retard timing to remove from actual final timing (after all corrections) due to additional air.

nitrous_control_state

Variable valve lift (VVL)

Variable valve lift / switched-cam control (Honda VTEC, Toyota VVTL-i and similar). Switches a relay/solenoid to the high-lift cam profile once RPM and the safety conditions (TPS, CLT, MAP, AFR, oil pressure) are met, with hysteresis on the deactivation RPM. Fuel and ignition adders can be applied on the high-lift profile.

VVL/Switched cam Control

Settings

VVL Relay

?highlight=class~outputs

  • $output_pin_e_list

VVL Relay Mode

  • $pin_output_mode_e_enum

VVL Override On Pin

VVL override pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

VVL Override Pin Mode

  • $pin_input_mode_e_enum

Minimum TPS

Minimum CLT

Maximum MAP (0 = always true)

Minimum MAP (0 = always true)

Maximum AFR

Minimum Oil Pressure (kPa, 0 = always true)

Activation RPM (-> ON)

Deactivation RPM Window (hysteresis)

Fuel Adder

Ignition Retard

Retard timing to remove from actual final timing (after all corrections) due to additional air.

vvl_controller_state

Variable valve timing (VVT)

Closed-loop variable valve timing (cam phasing). A PID per cam drives the VVT solenoids to hold the measured cam angle at the target from the intake/exhaust target tables. Supports up to four cams (intake/exhaust on two banks). Cam sensor inputs and offsets are configured on the trigger page.

VVT outputs and PID

Configuration

Activation Delay

We need to give engine time to build oil pressure without diverting it to VVT

Do not control below RPM

Do not control below CLT

Minimum coolant temperature to activate VVT

VVT PWM frequency

VVT solenoid bank 1 intake

VVT output solenoid pin for this cam 1 ?highlight=class~outputs

  • $output_pin_e_list

VVT solenoid bank 1 exhaust

VVT output solenoid pin for this cam 2 ?highlight=class~outputs

  • $output_pin_e_list

VVT solenoid bank 2 intake

VVT output solenoid pin for this cam 3 ?highlight=class~outputs

  • $output_pin_e_list

VVT solenoid bank 2 exhaust

VVT output solenoid pin for this cam 4 ?highlight=class~outputs

  • $output_pin_e_list

VVT solenoid intake cams control direction

If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'.

  • advance
  • retard

VVT solenoid exhaust cams control direction

If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'.

  • advance
  • retard

Intake PID

offset

Linear addition to PID logic Also known as feedforward.

P factor

Proportional value. See https://content.epicefi.com/wiki/index.php/Guides:PID_Control

I factor

Integral value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

D factor

Derivative value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

Min

PID controller output minimum duty value.

Max

PID controller output maximum duty value.

iTerm min

vvtItermMin 1

iTerm max

vvtItermMax 2

Exhaust PID

offset

Linear addition to PID logic Also known as feedforward.

P factor

Proportional value. See https://content.epicefi.com/wiki/index.php/Guides:PID_Control

I factor

Integral value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

D factor

Derivative value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

Min

PID controller output minimum duty value.

Max

PID controller output maximum duty value.

iTerm min

vvtItermMin 2

iTerm max

vvtItermMax 2

VVT intake target

VVT exhaust target

Timebased

Time-based corrections: after a trigger (typically launch release), a set of corrections is ramped in over elapsed time — ETB limit, boost multiplier, ignition adder, closed-loop boost multiplier, lambda adder, RPM limit, and driving/driven speed limits. Each correction has its own enable pin and time curve, letting you build a timed power-delivery / drag strategy off the line.

Enabled time based corrections

Enabled time based corrections.

Timebased ETB limit Launch Release Start

Timebased ETB limit start.

Timebased boost multiplier Launch Release Start

Timebased boost multiplier start.

Timebased ignition adder Launch Release Start

Timebased ignition adder start.

Timebased Closed Loop boost multiplier Launch Release Start

Timebased Closed Loop boost multiplier start.

Timebased lambda adder Launch Release Start

Timebased lambda adder start.

Timebased RPM limit Launch Release Start

Timebased RPM limit start.

Timebased RPM hard limit hysteresis while time-based corrections are active

Hard limit hysteresis while time-based corrections are active

Timebased RPM rotational window while time-based corrections are active

Rotational window while time-based corrections are active

Timebased driving speed limit Launch Release Start

Timebased driving speed limit start.

Timebased driven speed limit Launch Release Start

Timebased driven speed limit start.

Speed limit rotational window (km/h)

Speed limit rotational window. Skip ramps up starting this many km/h below the speed limit

Speed Limit enable ignition skip

Enable ignition skip for timebased speed limit

Speed limit max ETB close (%)

Timebased speed limit max ETB close. At limit speed, throttle is reduced by this many percent

Timebased ETB limit pin

Timebased ETB limit pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased ETB limit pin mode

  • $pin_input_mode_e_enum

Timebased boost multiplier pin

Timebased boost multiplier pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased boost multiplier pin mode

  • $pin_input_mode_e_enum

Timebased ignition adder pin

Timebased ignition adder pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased ignition adder pin mode

  • $pin_input_mode_e_enum

Timebased Closed Loop boost multiplier pin

Timebased Closed Loop boost multiplier pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased Closed Loop boost multiplier pin mode

  • $pin_input_mode_e_enum

Timebased lambda adder pin

Timebased lambda adder pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased lambda adder pin mode

  • $pin_input_mode_e_enum

Timebased RPM limit pin

Timebased RPM limit pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased RPM limit pin mode

  • $pin_input_mode_e_enum

Timebased driving speed limit pin

Timebased driving speed limit pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased driving speed limit pin mode

  • $pin_input_mode_e_enum

Timebased driven speed limit pin

Timebased driven speed limit pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Timebased driven speed limit pin mode

  • $pin_input_mode_e_enum

Timebased ETB limit

2D curve — X: Time (0 to 100), Y: ETB Limit (0 to 100).

Timebased boost multiplier

2D curve — X: Time (0 to 100), Y: Boost Multiplier (0 to 2.5).

Timebased ignition adder

2D curve — X: Time (0 to 100), Y: Degrees Added (-25 to 25).

Timebased Closed Loop boost multiplier

2D curve — X: Time (0 to 100), Y: Boost Multiplier (0 to 2.5).

Timebased Lambda Target Adder

2D curve — X: Time (0 to 100), Y: Lambda Target Adder (0.6 to 1.5).

Timebased RPM limit

2D curve — X: Time (0 to 100), Y: RPM Limit (0 to 30000).

Timebased driving speed limit

2D curve — X: Time (0 to 100), Y: Driving Speed Limit (0 to 120).

Timebased driven speed limit

2D curve — X: Time (0 to 100), Y: Driven Speed Limit (0 to 120).

Boost Control

Turbo/supercharger boost control. Drives a wastegate or boost-control solenoid in open loop (base duty table) and/or closed loop (PID toward a target table), with overboost cut protection. Open- and closed-loop values can be trimmed by gear, CLT and IAT, and a table-switch input allows a second set of tables (e.g. low/high boost).

Boost control options

Master boost settings: enable and control mode (open and/or closed loop), the wastegate/solenoid output(s) and PWM frequency, overboost-cut protection (including the feather and table-switch variants), and the RPM/TPS/MAP thresholds below which boost control is disabled.

Boost Control Enable

Boost Control Enabled

Boost control enable switch

Boost control switch ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Boost control enable switch mode

  • $pin_input_mode_e_enum

Control Mode

  • Open Loop
  • Open + Closed Loop

Boost Output

Wastegate control Solenoid, set to 'NONE' if you are using DC wastegate ?highlight=class~outputs

  • $output_pin_e_list

Boost Output Mode

  • $pin_output_mode_e_enum

Lower WG Output (Advanced)

Lower wastegate solenoid output. Select a pin to enable lower wastegate control. This is used to independently control the lower wastegate port of the wastegate while ?highlight=class~outputs

  • $output_pin_e_list

Lower WG Output Mode

  • $pin_output_mode_e_enum

Frequency

Safe duty cycle

Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met.

Closed-loop margin

Closed-loop is disabled when manifold pressure is below (target - this margin). Open-loop table is used and PID is reset.

Closed-loop margin hysteresis

Additional buffer to prevent re-entering closed-loop immediately after dropping below the margin. Helps avoid oscillation near the threshold.

Enable constant duty cycle if MAP below margin

Duty cycle if MAP below margin

Duty cycle to use if MAP is below closed-loop margin

Boost cut pressure (hard cut)

Specifies the boost pressure allowed before triggering a cut. Setting this to 0 will DISABLE overboost cut.

Boost cut pressure hysteresis (hard cut)

Defines a pressure range below the cut limit at which boost can resume, providing smoother control over boost cut actions. For example: if hard cut is 240kpa, and boost cut hysteresis is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached

Boost cut - cut spark instead of fuel

Cut spark instead of fuel for overboost - this is probably less gentle on the engine

Boost cut - cut fuel AND spark

Cut fuel AND spark for overboost

Boost cut - use feather overboost limit

Use feather overboost limit. Ignition is dropped randomly from cylinders starting from feather all the way to hard overboost cut

Boost cut - feather value in kPa

Specifies the boost pressure at which we start dropping spark

Lower WG Output PW Limiter like boost

Apply same by gear PW limiter to lower wastegate valve

No boost control below RPM

Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases.

No boost control below TPS

Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases.

No boost control below MAP

Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases.

Use SPOOLED curve

Boost Control uses SPOOLED curve, 100% boost under KAP by RPM

Use SPOOLED curve for lower WG Output

Ouptut 100% to lower wastegate solenoid below SPOOLED value

Boost cut pressure (hard cut) - table switch

Specifies the boost pressure for table switch2 (open or closed boost) allowed before triggering a cut. Setting this to 0 will fall back to primary boost cut.

Boost cut pressure hysteresis (hard cut) - table switch

Defines a pressure range below the cut limit at which boost can resume, providing smoother control over boost cut actions. For example: if hard cut is 240kpa, and boost cut hysteresis is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached

Boost cut pressure feather (hard cut) - table switch

Specifies the boost pressure at which we start dropping spark

Solenoid Test Duty Cycle

Duty cycle for boost solenoid output test

Boost control Open loop base duty cycle

Open-loop wastegate duty table — the feed-forward solenoid duty versus the selected axes. This is the base from which the gear/CLT/IAT trims and any closed-loop correction are applied.

Y Axis

Boost control duty cycle (open loop)

3D table: Boost control duty cycle (open loop).

Boost control target

Closed-loop boost target (kPa) versus the selected axes. The PID drives the wastegate to hold this target.

Y Axis

Boost control target / Closed Loop (kPa)

3D table: Boost control target / Closed Loop (kPa).

Boost control PID

Closed-loop boost PID gains and output limits. Enable 'Use PID tables' to switch from these fixed gains to the RPM-based P/I/D tables.

P Gain

Proportional value. See https://content.epicefi.com/wiki/index.php/Guides:PID_Control

I Gain

Integral value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

D Gain

Derivative value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

Use PID tables

Min adjustment

PID controller output minimum duty value.

Max adjustment

PID controller output maximum duty value.

SPOOLED curve

Spool-assist duty versus RPM: extra open-loop wastegate duty held until boost comes up, to help the turbo spool. Enabled by 'Use SPOOLED curve'.

Lower wastegate duty (open loop)

Open-loop duty table for the lower (second) wastegate output, used on dual-port or twin-wastegate setups driven from the 'Lower WG Output'.

Boost control Open loop PW ADDER by gear

Per-gear trim (gear x) added to the open-loop wastegate duty — use it to run less or more duty in specific gears. Requires gear detection.

Boost Open Loop gear-based Adder

2D curve — X: Gear (-1 to 100), Y: duty cycle adder (-100 to 100).

Boost control Open loop PW MULTIPLIER by gear

Per-gear multiplier (gear x) applied to the open-loop wastegate duty — scales duty up or down by gear. Requires gear detection.

Boost Open Loop gear-based Multiplier

2D curve — X: Gear (-1 to 100), Y: duty cycle multiplier (0 to 3).

Boost control Open loop PW LIMITER by gear

Per-gear cap (gear x) on the open-loop wastegate duty — limits maximum duty in each gear (e.g. less boost in low gears for traction). Requires gear detection.

Boost Open Loop gear-based Limiter

2D curve — X: Gear (-1 to 100), Y: duty cycle limit (0 to 100).

Boost control closed-loop kPa adder by gear

Per-gear trim (gear x) added to the closed-loop boost target in kPa — run a different target pressure per gear. Requires gear detection.

Boost Closed Loop gear-based Adder

2D curve — X: Gear (-1 to 100), Y: kPa adder (-200 to 200).

Boost control closed-loop kPa multiplier by gear

Per-gear multiplier (gear x) applied to the closed-loop boost target — scales target pressure by gear. Requires gear detection.

Boost Closed Loop gear-based Multiplier

2D curve — X: Gear (-1 to 100), Y: kPa multiplier (0 to 3).

Boost control closed-loop kPa limiter by gear

Per-gear cap (gear x) on the closed-loop boost target in kPa — limits maximum target pressure in each gear. Requires gear detection.

Boost Closed Loop gear-based Limiter

2D curve — X: Gear (-1 to 100), Y: kPa limit (0 to 600).

CLT boost duty multiplier

Multiplier on the open-loop wastegate duty versus coolant temperature — typically reduces boost on a cold engine.

CLT boost target adder

Adjustment to the closed-loop boost target versus coolant temperature.

IAT boost duty multiplier

Multiplier on the open-loop wastegate duty versus intake air temperature — pull boost back as intake temps climb to protect against knock.

IAT boost target adder

Adjustment to the closed-loop boost target versus intake air temperature.

Boost PID tables

Optional RPM-based gain tables for the closed-loop boost PID. When 'Use PID tables' is enabled in Boost control PID, these P/I/D curves replace the single fixed gains, letting boost response be tuned across the rev range.

P Table

Proportional gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).

I Table

Integral gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).

D Table

Derivative gain versus RPM for the closed-loop boost PID (used when 'Use PID tables' is enabled).

Boost Table Switch

A second set of boost tables (open and closed loop) that can be blended in against the main tables, selected by a switch pin or a parameter/Y-axis override with a bias curve. Use it for a low/high boost switch, valet/wet maps, or any second boost profile.

Open Loop Boost Table Switch 1 Settings

How the alternate open-loop boost table is blended in: the switch pin (or parameter / Y-axis override), the blend mode, and the bias curve that sets how much of the alternate table is mixed with the main one.

Boost Open Loop Table Switch 1 Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Boost Open Loop Table Switch 1 Pin Mode

table switch pin mode

  • $pin_input_mode_e_enum

Boost Open Loop Table Switch 1 Parameter

Boost Open Loop Table Switch 1 Blend Mode

Blend mode adds or multiplies the switch table with base, default is switch.

Boost Open Loop Table Switch 1 Y axis override

Boost Open Loop Table Switch 1 Bias

2D curve — X: param (0 to 100), Y: bias (0 to 100).

Open Loop Boost Table Switch 1

The alternate open-loop wastegate duty table that is blended in per the settings above.

Closed Loop Boost Table Switch 1 Settings

How the alternate closed-loop boost target table is blended in: the switch pin (or parameter / Y-axis override), the blend mode, and the bias curve.

Boost Closed Loop Table Switch 1 Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Boost Closed Loop Table Switch 1 Pin mode

table switch pin mode

  • $pin_input_mode_e_enum

Boost Closed Loop Table Switch 1 Parameter

Boost Closed Loop Table Switch 1 Blend Mode

Blend mode adds or multiplies the switch table with base, default is switch.

Boost Closed Loop Table Switch 1 Y axis override

Boost Closed Loop Table Switch 1 Bias

2D curve — X: param (0 to 100), Y: bias (0 to 100).

Closed Loop Boost Table Switch 1

The alternate closed-loop boost target table that is blended in per the settings above.

Generic PWM

Up to four general-purpose PWM channels (GP PWM x, x = 1–4). Each looks up a 3D table on selectable X/Y axes and drives a pin with the result: as PWM at the chosen frequency, or as an on/off signal with hysteresis ('on above duty' / 'off below duty') when frequency is set to 0. An optional switch pin selects or blends the table, 'off value' applies while that switch is off, and 'duty if error' is the safe fallback used if an input sensor faults.

All four channels are identical; only their index differs.

General Purpose PWM 1

Output

Select a pin to use for PWM or on-off output. ?highlight=class~outputs

  • $output_pin_e_list

Switch Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Switch Pin Mode

table switch pin mode

  • $pin_input_mode_e_enum

Off Value

Value to use when switch is off

Frequency

Select a frequency to run PWM at. Set this to 0hz to enable on-off mode.

On above duty

Hysteresis: in on-off mode, turn the output on when the table value is above this duty.

Off below duty

Hysteresis: in on-off mode, turn the output off when the table value is below this duty.

Duty if error

If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. This should be a safe value for whatever hardware is connected to prevent damage.

X Axis

Selects the X axis to use for the table.

X lua hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y lua hash

Hash of the X axis.

GP#1

3D table: GP#1.

General Purpose PWM 2

Output

Select a pin to use for PWM or on-off output. ?highlight=class~outputs

  • $output_pin_e_list

Switch Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Switch Pin Mode

table switch pin mode

  • $pin_input_mode_e_enum

Off Value

Value to use when switch is off

Frequency

Select a frequency to run PWM at. Set this to 0hz to enable on-off mode.

On above duty

Hysteresis: in on-off mode, turn the output on when the table value is above this duty.

Off below duty

Hysteresis: in on-off mode, turn the output off when the table value is below this duty.

Duty if error

If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. This should be a safe value for whatever hardware is connected to prevent damage.

X Axis

Selects the X axis to use for the table.

X lua hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y lua hash

Hash of the X axis.

GP#2

3D table: GP#2.

General Purpose PWM 3

Output

Select a pin to use for PWM or on-off output. ?highlight=class~outputs

  • $output_pin_e_list

Switch Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Switch Pin Mode

table switch pin mode

  • $pin_input_mode_e_enum

Off Value

Value to use when switch is off

Frequency

Select a frequency to run PWM at. Set this to 0hz to enable on-off mode.

On above duty

Hysteresis: in on-off mode, turn the output on when the table value is above this duty.

Off below duty

Hysteresis: in on-off mode, turn the output off when the table value is below this duty.

Duty if error

If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. This should be a safe value for whatever hardware is connected to prevent damage.

X Axis

Selects the X axis to use for the table.

X lua hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y lua hash

Hash of the X axis.

GP#3

3D table: GP#3.

General Purpose PWM 4

Output

Select a pin to use for PWM or on-off output. ?highlight=class~outputs

  • $output_pin_e_list

Switch Pin

Full table switch or blend pin ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Switch Pin Mode

table switch pin mode

  • $pin_input_mode_e_enum

Off Value

Value to use when switch is off

Frequency

Select a frequency to run PWM at. Set this to 0hz to enable on-off mode.

On above duty

Hysteresis: in on-off mode, turn the output on when the table value is above this duty.

Off below duty

Hysteresis: in on-off mode, turn the output off when the table value is below this duty.

Duty if error

If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. This should be a safe value for whatever hardware is connected to prevent damage.

X Axis

Selects the X axis to use for the table.

X lua hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y lua hash

Hash of the X axis.

GP#4

3D table: GP#4.

User tables

Up to eight user-defined 3D lookup tables (user table x, x = 1–8). Each table picks its own X and Y axes from any available channel, looks up a value, and either drives an output or feeds its result to another function (another table's axis, a CAN message, a math channel).

Per-table fields, identical for every table:

  • Enabled / Enable Pin - turn the table on, optionally gated by a switch input.
  • X Axis / Y Axis - the channels used to index the table (the Hash fields are internal axis identifiers, not user-set).
  • Action - what the looked-up value controls; leave 'None' to use the table only for monitoring or as an input to something else.
  • PWM Output Pin / PWM Frequency / PWM Duty if error - used when Action is PWM Output; the error duty is the safe fallback when the axes are invalid.

All eight tables are identical; only their index differs.

User table 1

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 1

3D table: User table 1.

User table 2

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 2

3D table: User table 2.

User table 3

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 3

3D table: User table 3.

User table 4

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 4

3D table: User table 4.

User table 5

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 5

3D table: User table 5.

User table 6

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 6

3D table: User table 6.

User table 7

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 7

3D table: User table 7.

User table 8

Enabled

Enable this user table

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the table.

X Axis Hash

Hash of the X axis.

Y Axis

Selects the Y axis to use for the table.

Y Axis Hash

Hash of the Y axis.

Action

Select what this table controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axes are invalid.

User table 8

3D table: User table 8.

User curves

Up to eight user-defined 2D curves (user curve x, x = 1–8). Each maps one selectable X-axis channel to an output value and either drives a PWM/on-off output or feeds its result to another function. The fields mirror the user tables but with a single X axis instead of X and Y.

All eight curves are identical; only their index differs.

User curve 1

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 1

2D curve — X: {bitStringValue(outputChannelLabels, userCurves1_xAxis)}, Y: Output.

User curve 2

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 2

2D curve — X: {bitStringValue(outputChannelLabels, userCurves2_xAxis)}, Y: Output.

User curve 3

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 3

2D curve — X: {bitStringValue(outputChannelLabels, userCurves3_xAxis)}, Y: Output.

User curve 4

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 4

2D curve — X: {bitStringValue(outputChannelLabels, userCurves4_xAxis)}, Y: Output.

User curve 5

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 5

2D curve — X: {bitStringValue(outputChannelLabels, userCurves5_xAxis)}, Y: Output.

User curve 6

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 6

2D curve — X: {bitStringValue(outputChannelLabels, userCurves6_xAxis)}, Y: Output.

User curve 7

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 7

2D curve — X: {bitStringValue(outputChannelLabels, userCurves7_xAxis)}, Y: Output.

User curve 8

Enabled

Enable this user curve

Enable Pin

?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Pin Mode

  • $pin_input_mode_e_enum

X Axis

Selects the X axis to use for the curve.

X Axis Hash

Hash of the X axis.

Action

Select what this curve controls. Leave it as 'None' when it's only used for monitoring or feeding another function (for example, another user table axis or a CAN output).

PWM Output Pin

Pin for PWM output when action is PWM Output. ?highlight=class~outputs

  • $output_pin_e_list

PWM Frequency

PWM frequency (0 = disabled).

PWM Duty if error

Duty cycle to use if axis is invalid.

User curve 8

2D curve — X: {bitStringValue(outputChannelLabels, userCurves8_xAxis)}, Y: Output.

User counters

Up to four user counters (user counter x, x = 1–4). Each is an integer value that increments, decrements, and resets from button inputs, optionally wrapping between a minimum and maximum. Use one as a manually-stepped selector — a map switch, boost level, launch RPM step, etc. — whose value feeds other functions.

Per-counter fields, identical for every counter: Minimum/Maximum value and Wrap around bound the count, and the Increment / Decrement / Reset switch inputs (with their pin modes) step it.

All four counters are identical; only their index differs.

User counter 1

Settings

Minimum value

Minimum counter value.

Maximum value

Maximum counter value.

Wrap around

Wrap around when reaching min/max.

Switches

Decrement

Decrement button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Reset

Reset button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Increment

Increment button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Pin mode for decrement button.

  • $pin_input_mode_e_enum

Pin mode for reset button.

  • $pin_input_mode_e_enum

Pin mode for increment button.

  • $pin_input_mode_e_enum

User counter 2

Settings

Minimum value

Minimum counter value.

Maximum value

Maximum counter value.

Wrap around

Wrap around when reaching min/max.

Switches

Decrement

Decrement button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Reset

Reset button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Increment

Increment button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Pin mode for decrement button.

  • $pin_input_mode_e_enum

Pin mode for reset button.

  • $pin_input_mode_e_enum

Pin mode for increment button.

  • $pin_input_mode_e_enum

User counter 3

Settings

Minimum value

Minimum counter value.

Maximum value

Maximum counter value.

Wrap around

Wrap around when reaching min/max.

Switches

Decrement

Decrement button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Reset

Reset button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Increment

Increment button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Pin mode for decrement button.

  • $pin_input_mode_e_enum

Pin mode for reset button.

  • $pin_input_mode_e_enum

Pin mode for increment button.

  • $pin_input_mode_e_enum

User counter 4

Settings

Minimum value

Minimum counter value.

Maximum value

Maximum counter value.

Wrap around

Wrap around when reaching min/max.

Switches

Decrement

Decrement button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Reset

Reset button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Increment

Increment button pin for user counter 1. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Pin mode for decrement button.

  • $pin_input_mode_e_enum

Pin mode for reset button.

  • $pin_input_mode_e_enum

Pin mode for increment button.

  • $pin_input_mode_e_enum

Math channels

Up to eight math channels (math channel x, x = 1–8). Each applies a selectable Function to up to five inputs, where each input is either a constant Value or a Variable (any channel). Optional exponential Averaging smooths a noisy result (0 = none, 90–95 for noisy signals). The output becomes a channel you can log or feed into tables, logic outputs and CAN messages. The per-input Hash fields are internal identifiers, not user-set.

All eight channels are identical; only their index differs.

Math channel 1

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 2

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 3

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 4

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 5

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 6

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 7

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Math channel 8

Function

Math function

Averaging

Exponential averaging. A higher value will slow down the response. 0 = no averaging, 90-95 = recommended for noisy signals.

1

  • Value
  • Variable

2

  • Value
  • Variable

3

  • Value
  • Variable

4

  • Value
  • Variable

5

  • Value
  • Variable

Variable to use

Variable to use

Variable to use

Variable to use

Variable to use

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Input Variable Hash

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Constant value to use

Bit builders

Up to eight bit builders (bit builder x, x = 1–8). Each assembles a single integer from up to eight bits, where every bit is either Fixed or driven by a Variable — any non-zero variable value sets that bit to 1. Use it to pack several on/off signals (typically logic outputs) into one value for CAN transmission or table lookup.

All eight builders are identical; only their index differs.

Bit builder 1

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 2

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 3

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 4

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 5

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 6

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 7

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Bit builder 8

Enabled

Bit 1

  • Fixed
  • Variable

Bit 2

  • Fixed
  • Variable

Bit 3

  • Fixed
  • Variable

Bit 4

  • Fixed
  • Variable

Bit 5

  • Fixed
  • Variable

Bit 6

  • Fixed
  • Variable

Bit 7

  • Fixed
  • Variable

Bit 8

  • Fixed
  • Variable

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Choose any variable. Keep in mind: Any non-zero value sets the bit to 1. Best used with Logic outputs or other on-off signals.

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

Variable Hash

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

  • 0
  • 1

Analog Multi-Switch

Up to four analog multi-switches (analog multi-switch x, x = 1–4). Each reads one analog input and resolves its voltage to a discrete Position via the position curve — the standard way to read a multi-position rotary switch (for example a 5-position map selector) over a single wire using a resistor ladder.

All four switches are identical; only their index differs.

Analog multi-switch 1

Analog input

?highlight=class~analog_inputs

  • $adc_channel_e_list

Analog Multi-Switch Position

2D curve — X: Voltage (0 to 8), Y: Position (0 to 5).

Analog multi-switch 2

Analog input

?highlight=class~analog_inputs

  • $adc_channel_e_list

Analog Multi-Switch Position

2D curve — X: Voltage (0 to 8), Y: Position (0 to 5).

Analog multi-switch 3

Analog input

?highlight=class~analog_inputs

  • $adc_channel_e_list

Analog Multi-Switch Position

2D curve — X: Voltage (0 to 8), Y: Position (0 to 5).

Analog multi-switch 4

Analog input

?highlight=class~analog_inputs

  • $adc_channel_e_list

Analog Multi-Switch Position

2D curve — X: Voltage (0 to 8), Y: Position (0 to 5).

Logic outputs

Up to ten logic outputs (logic output x, x = 1–10) — the ECU's general-purpose programmable on/off logic. Each output evaluates up to five conditions (comparisons on any channel), combines them with the selected boolean Conditions logic, and when the result is true drives an output pin and/or takes an engine action (do nothing, cut fuel, cut spark, cut both, kill the engine, or limit RPM). Turn on/off delay debounce the result and Inverted flips it (active when conditions are NOT met). Set the pin to NONE to use the result virtually (e.g. as a bit builder input).

All ten outputs are identical; only their index differs.

Logic output 1

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 2

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 3

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 4

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 5

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 6

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 7

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 8

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 9

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Logic output 10

Enabled

Enabled

Inverted

Invert output (active when conditions NOT met)

Output action

Action to take when conditions are met

  • Do nothing
  • Turn off the engine
  • Cut fuel
  • Cut spark
  • Cut fuel and spark
  • Limit RPM to 2000

Turn on delay

Delay before turning output on

Turn off delay

Delay before turning output off

Conditions logic

How to combine conditions

  • 1
  • 1 or 2
  • 1 and 2
  • 1 = set, 2 = reset
  • 1 or 2 or 3
  • 1 and 2 or 3
  • (1 or 2) and 3
  • 1 and 2 and 3
  • 1 or 2 or 3 or 4
  • 1 and 2 or 3 or 4
  • 1 and 2 and 3 and 4
  • (1 or 2) and 3 and 4
  • (1 or 2 or 3) and 4
  • 1 or 2 or 3 or 4 or 5
  • 1 and 2 and 3 and 4 and 5
  • (1 or 2 or 3 or 4) and 5

Output pin

Select a pin to control, or NONE for virtual use only ?highlight=class~outputs

  • $output_pin_e_list

1

First variable to compare

2

First variable to compare

3

First variable to compare

4

First variable to compare

5

First variable to compare

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

First Variable Hash

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

  • Equal value (==)
  • Not Equal value (!=)
  • Greater Than value (>)
  • Less Than value (<)
  • Greater or Equal value (>=)
  • Less or Equal value (<=)
  • Equal variable (==)
  • Not Equal variable (!=)
  • Greater Than variable (>)
  • Less Than variable (<)
  • Greater or Equal variable (>=)
  • Less or Equal variable (<=)

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Value to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Variable to compare against

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Second Variable Hash

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Offset from threshold to turn output off (prevents rapid on/off cycling)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Flash the physical output pin when this condition is true

  • Off
  • Slow (1 Hz)
  • Fast (5 Hz)
  • Very fast (10 Hz)

Aux analog inputs

Eight spare analog inputs (aux analog x, x = 1–8). Each assigns an ADC channel whose voltage is exposed as a channel for logging, Lua, CAN broadcast, or use as an axis in user tables/curves. Calibrate raw voltage into engineering units in Lua or a user curve.

Aux analog 1

auxAnalogInputs 1 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 2

auxAnalogInputs 2 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 3

auxAnalogInputs 3 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 4

auxAnalogInputs 4 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 5

auxAnalogInputs 5 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 6

auxAnalogInputs 6 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 7

auxAnalogInputs 7 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux analog 8

auxAnalogInputs 8 ?highlight=class~analog_inputs

  • $adc_channel_e_list

Aux digital inputs

Eight spare digital (switch) inputs (aux digital x, x = 1–8). Each assigns a switch pin whose on/off state is exposed as a channel for Lua, CAN, or as a condition in logic outputs and user tables.

Aux digital 1

luaDigitalInputPins 1 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 2

luaDigitalInputPins 2 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 3

luaDigitalInputPins 3 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 4

luaDigitalInputPins 4 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 5

luaDigitalInputPins 5 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 6

luaDigitalInputPins 6 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 7

luaDigitalInputPins 7 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Aux digital 8

luaDigitalInputPins 8 ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Mode

luaDigitalInputPinModes 1

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 2

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 3

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 4

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 5

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 6

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 7

  • $pin_input_mode_e_enum

Mode

luaDigitalInputPinModes 8

  • $pin_input_mode_e_enum

Cruise Control

Electronic-throttle cruise control. Holds a target speed (or RPM) by adjusting ETB angle with a proportional controller, with extensive safety conditions and driver cancel inputs (brake, clutch, off button). Requires drive-by-wire throttle.

Settings

Core cruise behaviour: enable/arm logic, what the setpoint tracks (vehicle speed or RPM), ETB adjustment smoothing, and which driver inputs cancel cruise.

Cruise Control Enabled

Cruise Control system enabled

Use Vehicle Speed

Cruise Control mode uses Vehicle Speed

'Enable' Toggles ON/OFF

Cruise Control Enable Toggles the state, ON -> OFF

Cruise Always Enabled

Cruise is always enabled, needing just SET button to engage cruise control

Inhibit DFCO

Prevent DFCO from engaging while cruise control is active

Smooth ETB Adjustment

Average cruise control adjustments to smooth the application using expaverage

Smooth ETB average factor (0.1 probably best to start)

ETB Transition exp Average Factor (0-1, 0.1 probably best to start)

Allow pedal up to Engage Pedal Level in Cruise

After latching pedal (manual cruise -> engage system -> release throttle pedal), disengage cruise at pedal level at the time of engage instead of static level

Use Clutch Down Pedal to cancel cruise

Use clutch pedal to cancel cruise

Use Clutch Up to cancel cruise

Use clutch up to cancel cruise

Use Brake Pedal to cancel cruise

Use Brake pedal to cancel cruise

Safety Conditions

Limits that prevent cruise from engaging or that disengage it: max pedal to engage/stay engaged, hard throttle/RPM/speed bounds, and RPM/speed bands beyond which cruise drops out. Set these conservatively — they are the guard rails on a system that opens the throttle on its own.

MAX ETB will be ever commanded to open to match setpoint

Soft maximum etb will be ever commanded to open

Max Accelerator Pedal allowed (50% recommended)

Maximum throttle allowed to engage cruise control

Max accelerator pedal once CC active and pedal released (5% recommended)

Maximum throttle allowed to stay engaged in cruise control after set

Time to release pedal to keep safety true (2 seconds recommended)

Seconds pedal is allowed to stay above cc_maxThrottlePedalAllowedToStayEngaged to keep safety true, 0 to disable

HARD Max Throttle Opening (75% recommended)

Cruise control unsafe TPS level

Max Engine RPM (4000 recommended)

Cruise control maximmum safeguard

Min Engine RPM (1000 recommended)

Cruise control maximmum safeguard

Max Vehicle Speed (120 recommended)

Cruise control maximmum speed

Min Vehicle Speed (10 recommended)

Cruise control minimum speed

Acceleration/Deceleration request timeout (INC/DEC/RESUME)

Seconds that can pass after inc/dec request for the rpm band to come into alignment before cancelling cruise

Engine RPM Over Target (350 recommended)

If rpm is higher than this from setpoint, disengage cruise control

Engine RPM Under Target (350 recommended)

If rpm is lower than this from setpoint, disengage cruise control

Vehicle Speed Over Target (5 recommended)

if speed is higher than this from setpoint, disenagege cruise control

Vehicle Speed Under Target (5 recommended)

if speed is higher than this from setpoint, disenagege cruise control

Adjustment Conditions

Tuning for how cruise holds the setpoint: proportional gains and ETB adjustment limits, RPM/speed deadbands to stop hunting, the INC/DEC step sizes, and the rate at which the setpoint eases toward the held value.

Proportional gain for RPM error - 0.0000 to 10 (0.1 recommended)

proportional gain for rpm error

Proportional gain for SPEED error - 0.0000 to 10 (1 recommended)

proportional gain speed error

Max ETB adjustment from setpoint (open) - 0 to 100 (30 recommended)

maximum etb open adjustment cruise control is allowed to make

Max ETB adjustment from setpoint (close) - 0 to 100 (30 recommended)

maximum etb close adjustment cruise control is allowed to make

RPM deadband high (40 recommended)

High RPM adjustment deadband

RPM deadband low (40 recommended)

Low RPM adjustment deadband

Speed deadband high (0.9 recommended)

High Speed adjustment deadband

Speed deadband low (0.9 recommended)

Low Speed adjustment deadband

KMH step (INC/DEC) (1 recommended)

KMH to inc/dec speed when requested

RPM step (INC/DEC) (100 recommended)

RPM to inc/dec speed when requested

Setpoint adjust rate 0.000001 to 0.000255, 0 to disable (0.000020 recommended)

rate at which error ticks into setpoint, 0.000001 and up

Cruise Control State

Cruise Control Buttons (GPIO)

Pin assignments for the cruise control buttons (enable/arm, set/engage, resume, increase, decrease, off/cancel), each with its input mode and an optional inversion. Wire whichever buttons your control stalk provides; cruise can also be driven over CAN.

Enable Button Pin

Cruise control enable/arm button ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Enable Button Mode

  • $pin_input_mode_e_enum

Enable Pin Inverted

Set/Engage Button Pin

Cruise control set/engage button ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Set Button Mode

  • $pin_input_mode_e_enum

Set Pin Inverted

Resume Button Pin

Cruise control resume button ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Resume Button Mode

  • $pin_input_mode_e_enum

Resume Pin Inverted

Increase Button Pin

Cruise control increase button ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Inc Button Mode

  • $pin_input_mode_e_enum

Inc Pin Inverted

Decrease Button Pin

Cruise control decrease button ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Dec Button Mode

  • $pin_input_mode_e_enum

Dec Pin Inverted

Off/Cancel Button Pin

Cruise control off/cancel button (optional) ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Off Button Mode

  • $pin_input_mode_e_enum

Off Pin Inverted

Long Storage

Values that persist across power cycles (saved to non-volatile storage), such as trip fuel used and per-tank fuel level. Use these for a fuel-remaining readout and trip metering that survive key-off.

Long Storage

Trip fuel correction and the configured size of each fuel tank, used to compute fuel used and fuel remaining.

Trip Fuel Correction multiplier for fuel used

Trip fuel Correction multiplier for fuel used

Fuel tank size for fuel tank 1

Fuel tank size for fuel tank 1

Fuel tank size for fuel tank 2

Fuel tank size for fuel tank 2

Fuel tank size for fuel tank 3

Fuel tank size for fuel tank 3

Fuel Tank 1

Live fuel level / fuel-used gauges for fuel tank x (x = 1–3), based on the tank size set above and fuel consumed. All three tanks are identical; only their index differs.

Fuel Tank 2

Fuel tank x gauges — see Fuel Tank 1.

Fuel Tank 3

Fuel tank x gauges — see Fuel Tank 1.

Long Storage

Live readout of the persisted long-storage values.