Speeduino
Loading...
Searching...
No Matches
config_pages.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <stdint.h>
13#include "board_definition.h" // Needed for struct packing.
14#include "load_source.h"
15
16using byte = uint8_t;
17
18constexpr uint8_t EGO_TYPE_OFF = 0U;
19constexpr uint8_t EGO_TYPE_NARROW = 1U;
20constexpr uint8_t EGO_TYPE_WIDE = 2U;
21
22constexpr uint8_t INJ_TYPE_PORT = 0U;
23constexpr uint8_t INJ_TYPE_TBODY = 1U;
24
25constexpr uint8_t INJ_PAIRED = 0U;
26constexpr uint8_t INJ_SEMISEQUENTIAL = 1U;
27constexpr uint8_t INJ_BANKED = 2U;
28constexpr uint8_t INJ_SEQUENTIAL = 3U;
29
30constexpr uint8_t INJ_PAIR_13_24 = 0U;
31constexpr uint8_t INJ_PAIR_14_23 = 1U;
32
33constexpr uint8_t IGN_MODE_WASTED = 0U;
34constexpr uint8_t IGN_MODE_SINGLE = 1U;
35constexpr uint8_t IGN_MODE_WASTEDCOP = 2U;
36constexpr uint8_t IGN_MODE_SEQUENTIAL = 3U;
37constexpr uint8_t IGN_MODE_ROTARY = 4U;
38
39constexpr uint8_t SEC_TRIGGER_SINGLE = 0U;
40constexpr uint8_t SEC_TRIGGER_4_1 = 1U;
41constexpr uint8_t SEC_TRIGGER_POLL = 2U;
42constexpr uint8_t SEC_TRIGGER_5_3_2 = 3U;
43constexpr uint8_t SEC_TRIGGER_TOYOTA_3 = 4U;
44
45constexpr uint8_t ROTARY_IGN_FC = 0U;
46constexpr uint8_t ROTARY_IGN_FD = 1U;
47constexpr uint8_t ROTARY_IGN_RX8 = 2U;
48
49constexpr uint8_t BOOST_MODE_SIMPLE = 0U;
50constexpr uint8_t BOOST_MODE_FULL = 1U;
51
52constexpr uint8_t EN_BOOST_CONTROL_BARO = 0U;
53constexpr uint8_t EN_BOOST_CONTROL_FIXED = 1U;
54
55constexpr uint8_t WMI_MODE_SIMPLE = 0U;
56constexpr uint8_t WMI_MODE_PROPORTIONAL = 1U;
57constexpr uint8_t WMI_MODE_OPENLOOP = 2U;
58constexpr uint8_t WMI_MODE_CLOSEDLOOP = 3U;
59
60constexpr uint8_t HARD_CUT_FULL = 0U;
61constexpr uint8_t HARD_CUT_ROLLING = 1U;
62
63constexpr uint8_t EVEN_FIRE = 0U;
64constexpr uint8_t ODD_FIRE = 1U;
65
66constexpr uint8_t EGO_ALGORITHM_SIMPLE = 0U;
67constexpr uint8_t EGO_ALGORITHM_INVALID1 = 1U;
68constexpr uint8_t EGO_ALGORITHM_PID = 2U;
69constexpr uint8_t EGO_ALGORITHM_NONE = 3U;
70
71constexpr uint8_t STAGING_MODE_TABLE = 0U;
72constexpr uint8_t STAGING_MODE_AUTO = 1U;
73
74constexpr uint8_t NITROUS_OFF = 0U;
75constexpr uint8_t NITROUS_STAGE1 = 1U;
76constexpr uint8_t NITROUS_STAGE2 = 2U;
77constexpr uint8_t NITROUS_BOTH = 3U;
78
79constexpr uint8_t PROTECT_CUT_OFF = 0U;
80constexpr uint8_t PROTECT_CUT_IGN = 1U;
81constexpr uint8_t PROTECT_CUT_FUEL = 2U;
82constexpr uint8_t PROTECT_CUT_BOTH = 3U;
83constexpr uint8_t PROTECT_IO_ERROR = 7U;
84
85constexpr uint8_t AE_MODE_TPS = 0U;
86constexpr uint8_t AE_MODE_MAP = 1U;
87
88constexpr uint8_t AE_MODE_MULTIPLIER = 0U;
89constexpr uint8_t AE_MODE_ADDER = 1U;
90
91constexpr uint8_t KNOCK_MODE_OFF = 0U;
92constexpr uint8_t KNOCK_MODE_DIGITAL = 1U;
93constexpr uint8_t KNOCK_MODE_ANALOG = 2U;
94
95constexpr uint8_t KNOCK_TRIGGER_HIGH = 0U;
96constexpr uint8_t KNOCK_TRIGGER_LOW = 1U;
97
98constexpr uint8_t FUEL2_MODE_OFF = 0U;
99constexpr uint8_t FUEL2_MODE_MULTIPLY = 1U;
100constexpr uint8_t FUEL2_MODE_ADD = 2U;
101constexpr uint8_t FUEL2_MODE_CONDITIONAL_SWITCH = 3U;
102constexpr uint8_t FUEL2_MODE_INPUT_SWITCH = 4U;
103
104constexpr uint8_t SPARK2_MODE_OFF = 0U;
105constexpr uint8_t SPARK2_MODE_MULTIPLY = 1U;
106constexpr uint8_t SPARK2_MODE_ADD = 2U;
107constexpr uint8_t SPARK2_MODE_CONDITIONAL_SWITCH = 3U;
108constexpr uint8_t SPARK2_MODE_INPUT_SWITCH = 4U;
109
110constexpr uint8_t FUEL2_CONDITION_RPM = 0U;
111constexpr uint8_t FUEL2_CONDITION_MAP = 1U;
112constexpr uint8_t FUEL2_CONDITION_TPS = 2U;
113constexpr uint8_t FUEL2_CONDITION_ETH = 3U;
114
115constexpr uint8_t SPARK2_CONDITION_RPM = 0U;
116constexpr uint8_t SPARK2_CONDITION_MAP = 1U;
117constexpr uint8_t SPARK2_CONDITION_TPS = 2U;
118constexpr uint8_t SPARK2_CONDITION_ETH = 3U;
119
120constexpr uint8_t OPEN_LOOP_BOOST = 0U;
121constexpr uint8_t CLOSED_LOOP_BOOST = 1U;
122
123constexpr uint8_t SOFT_LIMIT_FIXED = 0U;
124constexpr uint8_t SOFT_LIMIT_RELATIVE = 1U;
125
126constexpr uint8_t VVT_MODE_ONOFF = 0U;
127constexpr uint8_t VVT_MODE_OPEN_LOOP = 1U;
128constexpr uint8_t VVT_MODE_CLOSED_LOOP = 2U;
129
130constexpr uint8_t VVT_LOAD_MAP = 0U;
131constexpr uint8_t VVT_LOAD_TPS = 1U;
132
133constexpr uint8_t MULTIPLY_MAP_MODE_OFF = 0U;
134constexpr uint8_t MULTIPLY_MAP_MODE_BARO = 1U;
135constexpr uint8_t MULTIPLY_MAP_MODE_100 = 2U;
136
137constexpr uint8_t FOUR_STROKE = 0U;
138constexpr uint8_t TWO_STROKE = 1U;
139
140constexpr uint8_t GOING_LOW = 0U;
141constexpr uint8_t GOING_HIGH = 1U;
142
143constexpr uint8_t IAC_ALGORITHM_NONE = 0U;
144constexpr uint8_t IAC_ALGORITHM_ONOFF = 1U;
145constexpr uint8_t IAC_ALGORITHM_PWM_OL = 2U;
146constexpr uint8_t IAC_ALGORITHM_PWM_CL = 3U;
147constexpr uint8_t IAC_ALGORITHM_STEP_OL = 4U;
148constexpr uint8_t IAC_ALGORITHM_STEP_CL = 5U;
149constexpr uint8_t IAC_ALGORITHM_PWM_OLCL = 6U; //Openloop plus closedloop IAC control
150constexpr uint8_t IAC_ALGORITHM_STEP_OLCL = 7U; //Openloop plus closedloop IAC control
151
152constexpr uint8_t BOOST_BY_GEAR_OFF = 0U;
153constexpr uint8_t BOOST_BY_GEAR_PERCENT = 1U;
154constexpr uint8_t BOOST_BY_GEAR_CONSTANT = 2U;
155
156constexpr uint8_t FANMODE_OFF = 0U;
157constexpr uint8_t FANMODE_ONOFF = 1U;
158constexpr uint8_t FANMODE_PWM = 2U;
159
166
167// A marker struct for the config pages.
169{
170};
171
179struct config2 : public config_page_t {
180
182 byte aeColdPct; //AE cold clt modifier %
183 byte aeColdTaperMin; //AE cold modifier, taper start temp (full modifier, was ASE in early versions)
184 byte aeMode : 2;
185 byte unused2_3_3 : 1; //Previously used for battery correction type (open vs whole PW)
188 byte aeApplyMode : 1;
189 byte multiplyMAP : 2;
190 byte wueValues[10];
193 byte tachoPin : 6;
194 byte tachoDiv : 2;
195 byte tachoDuration; //The duration of the tacho pulse in mS
198 byte aeTime;
202 //Display config bits
203 byte displayB1 : 4; //23
204 byte displayB2 : 4;
205
206 byte reqFuel; //24
208 byte injTiming : 1;
210 byte includeAFR : 1; //< Enable AFR compensation ? (See also @ref config2.incorporateAFR)
211 byte hardCutType : 1;
212 // cppcheck-suppress misra-c2012-6.1
214 byte indInjAng : 1;
215 byte injOpen;
216 uint16_t injAng[4];
217
218 //config1 in ini
219 // cppcheck-suppress misra-c2012-6.1
221 byte strokes : 1;
222 byte injType : 1;
223 byte nCylinders : 4;
224
225 //config2 in ini
226 // cppcheck-suppress misra-c2012-6.1
228 byte fixAngEnable : 1;
229 byte nInjectors : 4;
230
231
232 //config3 in ini
233 byte engineType : 1;
234 byte flexEnabled : 1;
235 byte legacyMAP : 1;
236 byte baroCorr : 1; // Unused ?
237 byte injLayout : 2;
239 byte perToothIgn : 1;
240 byte dfcoEnabled : 1;
241
244 byte flexFreqLow; //Lowest valid frequency reading from the flex sensor
245 byte flexFreqHigh; //Highest valid frequency reading from the flex sensor
246
248 byte tpsMin;
249 byte tpsMax;
250 int8_t mapMin; //Must be signed
251 uint16_t mapMax;
252 byte fpPrime;
253 byte stoich;
254 uint16_t oddfire[3];
255
256 byte idleUpPin : 6;
259
263
267
268 int8_t baroMin; //Must be signed
269 uint16_t baroMax;
270
271 int8_t EMAPMin; //Must be signed
272 uint16_t EMAPMax;
273
274 byte fanWhenOff : 1;
276 byte useDwellMap : 1;
277 byte fanEnable : 2;
278 byte rtc_mode : 2; // Unused ?
279 byte incorporateAFR : 1;
280 byte asePct[4];
281 byte aseCount[4];
282 byte aseBins[4];
283 byte primePulse[4];//Priming pulsewidth values (mS, copied to @ref PrimingPulseTable)
284 byte primeBins[4]; //Priming temperatures (source,x-axis)
285
286 byte CTPSPin : 6;
287 byte CTPSPolarity : 1;
288 byte CTPSEnabled : 1;
289
292 byte idleAdvDelay : 5;
293
296
297 byte injAngRPM[4];
298
302
303 //VSS Stuff
304 byte vssMode : 2;
305 byte vssPin : 6;
306
307 uint16_t vssPulsesPerKm;
309 uint16_t vssRatios[6];
310
314
317
320
321 int8_t rtc_trim;
324
327 byte canWBO : 2 ;
328 byte vssAuxCh : 4;
329
331
332} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
333
334constexpr uint8_t IDLEADVANCE_MODE_OFF = 0U;
335constexpr uint8_t IDLEADVANCE_MODE_ADDED = 1U;
336constexpr uint8_t IDLEADVANCE_MODE_SWITCHED = 2U;
337
338constexpr uint8_t IDLEADVANCE_ALGO_TPS = 0U;
339constexpr uint8_t IDLEADVANCE_ALGO_CTPS = 1U;
340
341constexpr uint8_t VSS_MODE_OFF = 0U;
342constexpr uint8_t VSS_MODE_INTERNAL_PIN = 1U;
343constexpr uint8_t VSS_MODE_EXTERNAL_KM = 2U;
344constexpr uint8_t VSS_MODE_EXTERNAL_MI = 3U;
345
350
351constexpr uint8_t CRANK_SPEED = 0U;
352constexpr uint8_t CAM_SPEED = 1U;
353
357struct config4 : public config_page_t {
358
359 int16_t triggerAngle;
360 int8_t FixAng;
361 int8_t CrankAng;
363
364 byte TrigEdge : 1;
365 byte TrigSpeed : 1;
366 byte IgInv : 1;
367 byte TrigPattern : 5;
368
369 byte TrigEdgeSec : 1;
370 byte fuelPumpPin : 6;
371 byte useResync : 1;
372
373 byte sparkDur;
374 byte trigPatternSec : 7;
375 byte PollLevelPolarity : 1; //for poll level cam trigger. Sets if the cam trigger is supposed to be high or low for revolution one.
376 uint8_t bootloaderCaps; //Capabilities of the bootloader over stock. e.g., 0=Stock, 1=Reset protection, etc.
377
381
382 byte StgCycles; //The number of initial cycles before the ignition should fire when first cranking
383
384 byte boostType : 1;
385 byte useDwellLim : 1; //Whether the dwell limiter is off or on
386 byte sparkMode : 3;
388 byte triggerFilter : 2; //The mode of trigger filter being used (0=Off, 1=Light (Not currently used), 2=Normal, 3=Aggressive)
389 byte ignCranklock : 1; //Whether or not the ignition timing during cranking is locked to a CAS (crank) pulse. Only currently valid for Basic distributor and 4G63.
390
391 uint8_t dwellCrank;
392 uint8_t dwellRun;
395 byte crankRPM;
401 byte taeBins[4];
402 byte taeValues[4];
403 byte wueBins[10];
406 byte iatRetBins[6];
407 byte iatRetValues[6];
408 byte dfcoRPM;
409 byte dfcoHyster; //Hysteris RPM for DFCO
410 byte dfcoTPSThresh; //TPS must be below this figure for DFCO to engage (Unit: ...)
411
412 byte ignBypassEnabled : 1; //Whether or not the ignition bypass is enabled
413 byte ignBypassPin : 6; //Pin the ignition bypass is activated on
414 byte ignBypassHiLo : 1; //Whether this should be active high or low.
415
421 uint8_t ADCFILTER_MAP; //This is only used on Instantaneous MAP readings and is intentionally very weak to allow for faster response
423
424 byte cltAdvBins[6];
425 byte cltAdvValues[6];
427 byte maeBins[4];
428 byte maeRates[4];
434
435 byte idleAdvBins[6];
437
439
441 byte vvt2PWMdir : 1;
445 byte unusedBits4 : 1;
450
451} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
452
456struct config6 : public config_page_t {
457
458 byte egoAlgorithm : 2;
459 byte egoType : 2;
460 byte boostEnabled : 1;
461 byte vvtEnabled : 1;
463
464 byte egoKP;
465 byte egoKI;
466 byte egoKD;
467 byte egoTemp;
468 byte egoCount;
469 byte vvtMode : 2;
470 byte vvtLoadSource : 2;
471 byte vvtPWMdir : 1;
472 byte vvtCLUseHold : 1; //Whether or not to use a hold duty cycle (Most cases are Yes)
475 byte egoLimit;
476 byte ego_min;
477 byte ego_max;
479 byte egoRPM;
481 byte vvt1Pin : 6;
482 byte useExtBaro : 1;
483 byte boostMode : 1;
484 byte boostPin : 6;
485 byte tachoMode : 1;
486 byte useEMAP : 1;
487 byte voltageCorrectionBins[6]; //X axis bins for voltage correction tables
488 byte injVoltageCorrectionValues[6]; //Correction table for injector PW vs battery voltage
489 byte airDenBins[9];
490 byte airDenRates[9];
492 byte vvtFreq;
494 // Launch stuff, see beginning of speeduino.ino main loop
495 byte launchPin : 6;
496 byte launchEnabled : 1;
497 byte launchHiLo : 1; //
498
500 int8_t lnchRetard; //Allow for negative advance value (ATDC)
502 int8_t lnchFuelAdd; //Note signed.
503
504 //PID values for idle needed to go here as out of room in the idle page
505 byte idleKP;
506 byte idleKI;
507 byte idleKD;
508
513
514 byte lnchPullRes : 1;
515 byte iacPWMrun : 1;
517 byte flatSEnable : 1;
518 byte baroPin : 4;
522
523 byte iacCLValues[10]; //Closed loop target RPM value
524 byte iacOLStepVal[10]; //Open loop step values for stepper motors
525 byte iacOLPWMVal[10]; //Open loop duty values for PMWM valves
526 byte iacBins[10]; //Temperature Bins for the above 3 curves
527 byte iacCrankSteps[4]; //Steps to use when cranking (Stepper motor)
528 byte iacCrankDuty[4]; //Duty cycle to use on PWM valves when cranking
529 byte iacCrankBins[4]; //Temperature Bins for the above 2 curves
530
531 byte iacAlgorithm : 3; //Valid values are: "None", "On/Off", "PWM", "PWM Closed Loop", "Stepper", "Stepper Closed Loop"
532 byte iacStepTime : 3; //How long to pulse the stepper for to ensure the step completes (ms)
533 byte iacChannels : 1; //How many outputs to use in PWM mode (0 = 1 channel, 1 = 2 channels)
534 byte iacPWMdir : 1; //Direction of the PWM valve. 0 = Normal = Higher RPM with more duty. 1 = Reverse = Lower RPM with more duty
535
536 byte iacFastTemp; //Fast idle temp when using a simple on/off valve
537
538 byte iacStepHome; //When using a stepper motor, the number of steps to be taken on startup to home the motor
539 byte iacStepHyster; //Hysteresis temperature (*10). Eg 2.2C = 22
540
541 byte fanInv : 1; // Fan output inversion bit
542 byte fanUnused : 1;
543 byte fanPin : 6;
544 byte fanSP; // Cooling fan start temperature
545 byte fanHyster; // Fan hysteresis
546 byte fanFreq; // Fan PWM frequency
547 byte fanPWMBins[4]; //Temperature Bins for the PWM fan control
548
549} __attribute__((packed,aligned(__alignof__(uint8_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
550
551static inline bool isPwmIac(const config6 &page6) {
552 return page6.iacAlgorithm == IAC_ALGORITHM_PWM_OL
553 || page6.iacAlgorithm == IAC_ALGORITHM_PWM_CL
554 || page6.iacAlgorithm == IAC_ALGORITHM_PWM_OLCL;
555}
556
557static inline bool isStepperIac(const config6 &page6) {
558 return page6.iacAlgorithm == IAC_ALGORITHM_STEP_OL
559 || page6.iacAlgorithm == IAC_ALGORITHM_STEP_CL
560 || page6.iacAlgorithm == IAC_ALGORITHM_STEP_OLCL;
561}
562
563constexpr uint8_t HARD_REV_FIXED = 1U;
564constexpr uint8_t HARD_REV_COOLANT = 2U;
565
566constexpr uint8_t AFR_PROTECT_OFF = 0U;
567constexpr uint8_t AFR_PROTECT_FIXED = 1U;
568constexpr uint8_t AFR_PROTECT_TABLE = 2U;
569
573struct config9 : public config_page_t {
574 byte enable_secondarySerial:1; //enable secondary serial
575 byte intcan_available:1; //enable internal can module
577 byte secondarySerialProtocol:4; //protocol for secondary serial. 0=Generic (Fixed list), 1=Generic (ini based list), 2=CAN, 3=msDroid, 4=Real Dash
578 byte unused9_0:1;
579
580 byte caninput_sel[16]; //bit status on/Can/analog_local/digtal_local if input is enabled
581 uint16_t caninput_source_can_address[16]; //u16 [15] array holding can address of input
582 uint8_t caninput_source_start_byte[16]; //u08 [15] array holds the start byte number(value of 0-7)
583 uint16_t caninput_source_num_bytes; //u16 bit status of the number of bytes length 1 or 2
584
586 //byte unused:2
587 //...
594
597 byte egoMAPMax; //needs to be multiplied by 2 to get the proper value
598 byte egoMAPMin; //needs to be multiplied by 2 to get the proper value
599 byte speeduino_tsCanId:4; //speeduino TS canid (0-14)
600 uint16_t true_address; //speeduino 11bit can address
601 uint16_t realtime_base_address; //speeduino 11 bit realtime base address
602 uint16_t obd_address; //speeduino OBD diagnostic address
603 uint8_t Auxinpina[16]; //analog pin number when internal aux in use
604 uint8_t Auxinpinb[16]; // digital pin number when internal aux in use
605
606 byte iacStepperInv : 1; //stepper direction of travel to allow reversing. 0=normal, 1=inverted.
607 byte iacCoolTime : 3; // how long to wait for the stepper to cool between steps
608
610 byte blankField : 1;
611 byte iacStepperPower : 1; //Whether or not to power the stepper motor when not in use
612
613 byte iacMaxSteps; // Step limit beyond which the stepper won't be driven. Should always be less than homing steps. Stored div 3 as per home steps.
614 byte idleAdvStartDelay; //delay for idle advance engage
615
616 byte boostByGear[6];
617 byte PWMFanDuty[4];
618 byte hardRevMode : 2;
621
627 byte unused10_183 : 6;
628
630
631 byte afrProtectEnabled : 2; /* < AFR protection enabled status. 0 = disabled, 1 = fixed mode, 2 = table mode */
632 byte afrProtectMinMAP; /* < Minimum MAP. Stored value is divided by 2. Increments of 2 kPa, maximum 511 (?) kPa */
633 byte afrProtectMinRPM; /* < Minimum RPM. Stored value is divided by 100. Increments of 100 RPM, maximum 25500 RPM */
634 byte afrProtectMinTPS; /* < Minimum TPS. */
635 byte afrProtectDeviation; /* < Maximum deviation from AFR target table. Stored value is multiplied by 10 */
636 byte afrProtectCutTime; /* < Time in ms before cut. Stored value is divided by 100. Maximum of 2550 ms */
637 byte afrProtectReactivationTPS; /* Disable engine protection cut once below this TPS percentage */
638
639} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
640
645struct config10 : public config_page_t {
646 byte crankingEnrichBins[4]; //Bytes 0-3
647 byte crankingEnrichValues[4]; //Bytes 4-7
648
649 //Byte 8
650 byte rotaryType : 2;
652 byte stagingMode : 1;
653 byte EMAPPin : 4;
654
655 byte rotarySplitValues[8]; //Bytes 9-16
656 byte rotarySplitBins[8]; //Bytes 17-24
657
658 byte boostIntv; //Byte 25
659 uint16_t boostSens; //Bytes 26-27
660 uint16_t stagedInjSizePri; //Bytes 28-29
661 uint16_t stagedInjSizeSec; //Bytes 30-31
662
663 uint8_t flexBoostBins[6]; //Bytes 32-37
664 int16_t flexBoostAdj[6]; //kPa to be added to the boost target @ current ethanol (negative values allowed). Bytes 38-49
665 uint8_t flexFuelBins[6]; //Bytes 50-55
666 uint8_t flexFuelAdj[6]; //Fuel % @ current ethanol (typically 100% @ 0%, 163% @ 100%). Bytes 56-61
667 uint8_t flexAdvBins[6]; //Bytes 62-67
668 uint8_t flexAdvAdj[6]; //Additional advance (in degrees) @ current ethanol (typically 0 @ 0%, 10-20 @ 100%). NOTE: THIS SHOULD BE A SIGNED VALUE BUT 2d TABLE LOOKUP NOT WORKING WITH IT CURRENTLY!
669 //And another three corn rows die.
670 //Bytes 68-73
671
672 //Byte 75
673 byte lnchCtrlTPS; //Byte 74
674 byte n2o_enable : 2;
676 byte n2o_minCLT; //Byte 76
677 byte n2o_maxMAP; //Byte 77
678 byte n2o_minTPS; //Byte 78
679 byte n2o_maxAFR; //Byte 79
680
681 //Byte 80
685 byte n2o_stage1_minRPM; //Byte 81
686 byte n2o_stage1_maxRPM; //Byte 82
687 byte n2o_stage1_adderMin; //Byte 83
688 byte n2o_stage1_adderMax; //Byte 84
689 byte n2o_stage1_retard; //Byte 85
690
691 //Byte 86
694 byte n2o_stage2_minRPM; //Byte 87
695 byte n2o_stage2_maxRPM; //Byte 88
696 byte n2o_stage2_adderMin; //Byte 89
697 byte n2o_stage2_adderMax; //Byte 90
698 byte n2o_stage2_retard; //Byte 91
699
700 //Byte 92
701 byte knock_mode : 2;
702 byte knock_pin : 6;
703
704 //Byte 93
706 byte knock_pullup : 1;
708 byte knock_unused : 2;
709 byte knock_count : 3;
710
711 byte knock_threshold; //Byte 94
712 byte knock_maxMAP; //Byte 95
713 byte knock_maxRPM; //Byte 96
714 byte knock_window_rpms[6]; //Bytes 97-102
715 byte knock_window_angle[6]; //Bytes 103-108
716 byte knock_window_dur[6]; //Bytes 109-114
717
718 byte knock_maxRetard; //Byte 115
719 byte knock_firstStep; //Byte 116
720 byte knock_stepSize; //Byte 117
721 byte knock_stepTime; //Byte 118
722
723 byte knock_duration; //Time after knock retard starts that it should start recovering. Byte 119
724 byte knock_recoveryStepTime; //Byte 120
725 byte knock_recoveryStep; //Byte 121
726
727 //Byte 122
728 // cppcheck-suppress misra-c2012-6.1
730 byte fuel2Mode : 3;
732
733 //Bytes 123-124
735
736 //Byte 125
740
741 byte vvtCLholdDuty; //Byte 126
742 byte vvtCLKP; //Byte 127
743 byte vvtCLKI; //Byte 128
744 byte vvtCLKD; //Byte 129
745 int16_t vvtCL0DutyAng; //Bytes 130-131
746 int8_t vvtCLMinAng; //Byte 132
747 uint8_t vvtCLMaxAng; //Byte 133
748
749 byte crankingEnrichTaper; //Byte 134
750
755
757 byte unused11_165 : 3;
758
763
766
767 byte wmiEnabled : 1; // Byte 149
768 byte wmiMode : 6;
769
771
772 byte wmiTPS; // Byte 150
773 byte wmiRPM; // Byte 151
774 byte wmiMAP; // Byte 152
775 byte wmiMAP2; // Byte 153
776 byte wmiIAT; // Byte 154
777 int8_t wmiOffset; // Byte 155
778
779 byte wmiIndicatorEnabled : 1; // 156
782
783 byte wmiEmptyEnabled : 1; // 157
784 byte wmiEmptyPin : 6;
786
787 byte wmiEnabledPin; // 158
788
789 byte wmiAdvBins[6]; //Bytes 159-164
790 byte wmiAdvAdj[6]; //Additional advance (in degrees)
791 //Bytes 165-170
794 byte vvt2Pin : 6;
795 byte vvt2Enabled : 1;
796 byte TrigEdgeThrd : 1;
797
799 byte fuelTempValues[6]; //180
800
801 //Byte 186
802 // cppcheck-suppress misra-c2012-6.1
804 byte spark2Mode : 3;
806
807 //Bytes 187-188
809
810 //Byte 189
814
815 //Byte 190
817
818 //Byte 191
820
821} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
822
827 uint8_t firstCompType : 3;
828 uint8_t secondCompType : 3;
829 uint8_t bitwise : 2;
830};
831
832constexpr uint8_t SD_LOGGER_RATE_1HZ = 0;
833constexpr uint8_t SD_LOGGER_RATE_4HZ = 1;
834constexpr uint8_t SD_LOGGER_RATE_10HZ = 2;
835constexpr uint8_t SD_LOGGER_RATE_30HZ = 3;
836
841struct config13 : public config_page_t {
844 uint8_t outputPin[8];
845 uint8_t outputDelay[8];
846 uint8_t firstDataIn[8];
847 uint8_t secondDataIn[8];
848 uint8_t outputTimeLimit[8];
849 int8_t ignTrim[8];
850 int16_t firstTarget[8];
851 int16_t secondTarget[8];
852 //89bytes
854
855 uint16_t candID[8];
856
858
859 byte onboard_log_csv_separator :2; //";", ",", "tab", "space"
860 byte onboard_log_file_style :2; // "Disabled", "CSV", "Binary", "INVALID"
861 byte onboard_log_file_rate :2; // "1Hz", "4Hz", "10Hz", "30Hz"
862 byte onboard_log_filenaming :2; // "Overwrite", "Date-time", "Sequential", "INVALID"
863 byte onboard_log_storage :2; // "sd-card", "INVALID", "INVALID", "INVALID" ;In the future maybe an onboard spi flash can be used, or switch between SDIO vs SPI sd card interfaces.
864 byte onboard_log_trigger_boot :1; // "Disabled", "On boot"
865 byte onboard_log_trigger_RPM :1; // "Disabled", "Enabled"
866 byte onboard_log_trigger_prot :1; // "Disabled", "Enabled"
867 byte onboard_log_trigger_Vbat :1; // "Disabled", "Enabled"
868 byte onboard_log_trigger_Epin :2; // "Disabled", "polling", "toggle" , "INVALID"
869 uint16_t onboard_log_tr1_duration; // Duration of logging that starts on boot
870 byte onboard_log_tr2_thr_on; // "RPM", 100.0, 0.0, 0, 10000, 0
871 byte onboard_log_tr2_thr_off; // "RPM", 100.0, 0.0, 0, 10000, 0
872 byte onboard_log_tr3_thr_RPM :1; // "Disabled", "Enabled"
873 byte onboard_log_tr3_thr_MAP :1; // "Disabled", "Enabled"
874 byte onboard_log_tr3_thr_Oil :1; // "Disabled", "Enabled"
875 byte onboard_log_tr3_thr_AFR :1; // "Disabled", "Enabled"
876 byte onboard_log_tr4_thr_on; // "V", 0.1, 0.0, 0.0, 15.90, 2 ; * ( 1 byte)
877 byte onboard_log_tr4_thr_off; // "V", 0.1, 0.0, 0.0, 15.90, 2 ; * ( 1 byte)
878 byte onboard_log_tr5_Epin_pin :6; // "pin", 0, 0, 0, 1, 255, 0 ;
880
883
884} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
885
890struct config15 : public config_page_t {
892 byte unused15_1 : 7; //7bits unused
894 byte boostControlEnableThreshold; //if fixed value enable set threshold here.
895
896 //Byte 83 - Air conditioning binary points
897 byte airConEnable : 1;
899 byte airConReqPol : 1;
902 byte airConFanPol : 1;
904
905 //Bytes 84-97 - Air conditioning analog points
908 byte airConReqPin : 6;
919 byte airConFanPin : 6;
923
924 int8_t rollingProtRPMDelta[4]; // Signed RPM value representing how much below the RPM limit. Divided by 10
926
927 //Bytes 106-255
929
930} __attribute__((packed,aligned(__alignof__(uint16_t)))); //The 32 bit systems require all structs to be fully packed, aligned to their largest member type
Inclusion of board specific header files and board related definitions.
constexpr uint8_t VSS_MODE_EXTERNAL_MI
Definition config_pages.h:344
constexpr uint8_t IGN_MODE_SEQUENTIAL
Definition config_pages.h:36
constexpr uint8_t INJ_PAIR_14_23
Definition config_pages.h:31
constexpr uint8_t FANMODE_OFF
Definition config_pages.h:156
constexpr uint8_t IDLEADVANCE_MODE_SWITCHED
Definition config_pages.h:336
constexpr uint8_t SPARK2_MODE_OFF
Definition config_pages.h:104
constexpr uint8_t INJ_TYPE_TBODY
Definition config_pages.h:23
constexpr uint8_t FUEL2_MODE_MULTIPLY
Definition config_pages.h:99
constexpr uint8_t WMI_MODE_SIMPLE
Definition config_pages.h:55
constexpr uint8_t SPARK2_MODE_ADD
Definition config_pages.h:106
constexpr uint8_t HARD_REV_COOLANT
Definition config_pages.h:564
constexpr uint8_t FUEL2_CONDITION_ETH
Definition config_pages.h:113
constexpr uint8_t PROTECT_CUT_BOTH
Definition config_pages.h:82
constexpr uint8_t INJ_SEQUENTIAL
Definition config_pages.h:28
constexpr uint8_t NITROUS_STAGE1
Definition config_pages.h:75
constexpr uint8_t VSS_MODE_INTERNAL_PIN
Definition config_pages.h:342
constexpr uint8_t SPARK2_MODE_MULTIPLY
Definition config_pages.h:105
constexpr uint8_t FOUR_STROKE
Definition config_pages.h:137
constexpr uint8_t CLOSED_LOOP_BOOST
Definition config_pages.h:121
constexpr uint8_t EN_BOOST_CONTROL_FIXED
Definition config_pages.h:53
constexpr uint8_t FUEL2_MODE_ADD
Definition config_pages.h:100
constexpr uint8_t MULTIPLY_MAP_MODE_100
Definition config_pages.h:135
constexpr uint8_t FUEL2_MODE_OFF
Definition config_pages.h:98
constexpr uint8_t VVT_LOAD_TPS
Definition config_pages.h:131
constexpr uint8_t IAC_ALGORITHM_PWM_CL
Definition config_pages.h:146
constexpr uint8_t CRANK_SPEED
Definition config_pages.h:351
constexpr uint8_t ROTARY_IGN_FD
Definition config_pages.h:46
constexpr uint8_t PROTECT_CUT_FUEL
Definition config_pages.h:81
constexpr uint8_t INJ_PAIR_13_24
Definition config_pages.h:30
constexpr uint8_t AFR_PROTECT_FIXED
Definition config_pages.h:567
constexpr uint8_t AE_MODE_ADDER
Definition config_pages.h:89
constexpr uint8_t SPARK2_MODE_INPUT_SWITCH
Definition config_pages.h:108
constexpr uint8_t VVT_MODE_OPEN_LOOP
Definition config_pages.h:127
constexpr uint8_t KNOCK_MODE_DIGITAL
Definition config_pages.h:92
uint8_t byte
Definition config_pages.h:16
constexpr uint8_t HARD_CUT_ROLLING
Definition config_pages.h:61
constexpr uint8_t IGN_MODE_ROTARY
Definition config_pages.h:37
constexpr uint8_t ROTARY_IGN_RX8
Definition config_pages.h:47
constexpr uint8_t IGN_MODE_WASTED
Definition config_pages.h:33
constexpr uint8_t IDLEADVANCE_MODE_OFF
Definition config_pages.h:334
constexpr uint8_t OPEN_LOOP_BOOST
Definition config_pages.h:120
constexpr uint8_t FUEL2_CONDITION_RPM
Definition config_pages.h:110
constexpr uint8_t FUEL2_CONDITION_MAP
Definition config_pages.h:111
constexpr uint8_t FUEL2_CONDITION_TPS
Definition config_pages.h:112
constexpr uint8_t HARD_CUT_FULL
Definition config_pages.h:60
constexpr uint8_t SD_LOGGER_RATE_30HZ
Definition config_pages.h:835
constexpr uint8_t MULTIPLY_MAP_MODE_BARO
Definition config_pages.h:134
constexpr uint8_t AFR_PROTECT_TABLE
Definition config_pages.h:568
constexpr uint8_t AFR_PROTECT_OFF
Definition config_pages.h:566
constexpr uint8_t SEC_TRIGGER_POLL
Definition config_pages.h:41
constexpr uint8_t WMI_MODE_CLOSEDLOOP
Definition config_pages.h:58
constexpr uint8_t EGO_TYPE_WIDE
Definition config_pages.h:20
constexpr uint8_t PROTECT_IO_ERROR
Definition config_pages.h:83
constexpr uint8_t SOFT_LIMIT_RELATIVE
Definition config_pages.h:124
static bool isExternalVssMode(const config2 &page2)
Definition config_pages.h:346
MAPSamplingMethod
Definition config_pages.h:160
@ MAPSamplingCycleMinimum
Definition config_pages.h:163
@ MAPSamplingInstantaneous
Definition config_pages.h:161
@ MAPSamplingCycleAverage
Definition config_pages.h:162
@ MAPSamplingIgnitionEventAverage
Definition config_pages.h:164
constexpr uint8_t SPARK2_CONDITION_MAP
Definition config_pages.h:116
constexpr uint8_t SEC_TRIGGER_SINGLE
Definition config_pages.h:39
constexpr uint8_t WMI_MODE_OPENLOOP
Definition config_pages.h:57
constexpr uint8_t FANMODE_ONOFF
Definition config_pages.h:157
constexpr uint8_t IAC_ALGORITHM_STEP_CL
Definition config_pages.h:148
constexpr uint8_t TWO_STROKE
Definition config_pages.h:138
constexpr uint8_t NITROUS_BOTH
Definition config_pages.h:77
constexpr uint8_t SEC_TRIGGER_TOYOTA_3
Definition config_pages.h:43
constexpr uint8_t AE_MODE_MAP
Definition config_pages.h:86
constexpr uint8_t AE_MODE_MULTIPLIER
Definition config_pages.h:88
constexpr uint8_t CAM_SPEED
Definition config_pages.h:352
constexpr uint8_t IAC_ALGORITHM_STEP_OLCL
Definition config_pages.h:150
constexpr uint8_t WMI_MODE_PROPORTIONAL
Definition config_pages.h:56
constexpr uint8_t EGO_ALGORITHM_INVALID1
Definition config_pages.h:67
constexpr uint8_t FANMODE_PWM
Definition config_pages.h:158
constexpr uint8_t NITROUS_OFF
Definition config_pages.h:74
constexpr uint8_t EGO_ALGORITHM_NONE
Definition config_pages.h:69
constexpr uint8_t VVT_LOAD_MAP
Definition config_pages.h:130
constexpr uint8_t KNOCK_MODE_OFF
Definition config_pages.h:91
constexpr uint8_t EGO_TYPE_OFF
Definition config_pages.h:18
constexpr uint8_t NITROUS_STAGE2
Definition config_pages.h:76
constexpr uint8_t AE_MODE_TPS
Definition config_pages.h:85
constexpr uint8_t IDLEADVANCE_ALGO_TPS
Definition config_pages.h:338
constexpr uint8_t IAC_ALGORITHM_PWM_OLCL
Definition config_pages.h:149
constexpr uint8_t VSS_MODE_OFF
Definition config_pages.h:341
constexpr uint8_t STAGING_MODE_TABLE
Definition config_pages.h:71
constexpr uint8_t INJ_SEMISEQUENTIAL
Definition config_pages.h:26
constexpr uint8_t EGO_ALGORITHM_SIMPLE
Definition config_pages.h:66
constexpr uint8_t INJ_BANKED
Definition config_pages.h:27
constexpr uint8_t FUEL2_MODE_CONDITIONAL_SWITCH
Definition config_pages.h:101
constexpr uint8_t IAC_ALGORITHM_ONOFF
Definition config_pages.h:144
constexpr uint8_t EN_BOOST_CONTROL_BARO
Definition config_pages.h:52
constexpr uint8_t IAC_ALGORITHM_STEP_OL
Definition config_pages.h:147
static bool isStepperIac(const config6 &page6)
Definition config_pages.h:557
constexpr uint8_t INJ_TYPE_PORT
Definition config_pages.h:22
constexpr uint8_t SD_LOGGER_RATE_1HZ
Definition config_pages.h:832
static bool isPwmIac(const config6 &page6)
Definition config_pages.h:551
constexpr uint8_t EGO_TYPE_NARROW
Definition config_pages.h:19
constexpr uint8_t GOING_LOW
Definition config_pages.h:140
constexpr uint8_t BOOST_MODE_SIMPLE
Definition config_pages.h:49
constexpr uint8_t KNOCK_TRIGGER_HIGH
Definition config_pages.h:95
constexpr uint8_t KNOCK_MODE_ANALOG
Definition config_pages.h:93
constexpr uint8_t IDLEADVANCE_MODE_ADDED
Definition config_pages.h:335
constexpr uint8_t GOING_HIGH
Definition config_pages.h:141
constexpr uint8_t IDLEADVANCE_ALGO_CTPS
Definition config_pages.h:339
constexpr uint8_t VVT_MODE_ONOFF
Definition config_pages.h:126
constexpr uint8_t MULTIPLY_MAP_MODE_OFF
Definition config_pages.h:133
constexpr uint8_t ODD_FIRE
Definition config_pages.h:64
constexpr uint8_t VVT_MODE_CLOSED_LOOP
Definition config_pages.h:128
constexpr uint8_t SD_LOGGER_RATE_10HZ
Definition config_pages.h:834
constexpr uint8_t IGN_MODE_SINGLE
Definition config_pages.h:34
constexpr uint8_t EVEN_FIRE
Definition config_pages.h:63
constexpr uint8_t SEC_TRIGGER_4_1
Definition config_pages.h:40
constexpr uint8_t VSS_MODE_EXTERNAL_KM
Definition config_pages.h:343
constexpr uint8_t BOOST_BY_GEAR_PERCENT
Definition config_pages.h:153
constexpr uint8_t BOOST_MODE_FULL
Definition config_pages.h:50
constexpr uint8_t INJ_PAIRED
Definition config_pages.h:25
constexpr uint8_t PROTECT_CUT_IGN
Definition config_pages.h:80
constexpr uint8_t HARD_REV_FIXED
Definition config_pages.h:563
constexpr uint8_t STAGING_MODE_AUTO
Definition config_pages.h:72
constexpr uint8_t IAC_ALGORITHM_PWM_OL
Definition config_pages.h:145
constexpr uint8_t SPARK2_MODE_CONDITIONAL_SWITCH
Definition config_pages.h:107
constexpr uint8_t SD_LOGGER_RATE_4HZ
Definition config_pages.h:833
constexpr uint8_t IGN_MODE_WASTEDCOP
Definition config_pages.h:35
constexpr uint8_t PROTECT_CUT_OFF
Definition config_pages.h:79
constexpr uint8_t SOFT_LIMIT_FIXED
Definition config_pages.h:123
constexpr uint8_t BOOST_BY_GEAR_OFF
Definition config_pages.h:152
constexpr uint8_t EGO_ALGORITHM_PID
Definition config_pages.h:68
constexpr uint8_t FUEL2_MODE_INPUT_SWITCH
Definition config_pages.h:102
constexpr uint8_t SPARK2_CONDITION_ETH
Definition config_pages.h:118
constexpr uint8_t ROTARY_IGN_FC
Definition config_pages.h:45
constexpr uint8_t SPARK2_CONDITION_TPS
Definition config_pages.h:117
constexpr uint8_t KNOCK_TRIGGER_LOW
Definition config_pages.h:96
constexpr uint8_t SEC_TRIGGER_5_3_2
Definition config_pages.h:42
constexpr uint8_t SPARK2_CONDITION_RPM
Definition config_pages.h:115
constexpr uint8_t IAC_ALGORITHM_NONE
Definition config_pages.h:143
constexpr uint8_t BOOST_BY_GEAR_CONSTANT
Definition config_pages.h:154
const config2 & page2
Definition engineProtection.cpp:455
const config4 const config6 & page6
Definition engineProtection.cpp:172
LoadSource
The load source for various tables.
Definition load_source.h:9
Config for programmable I/O comparison operation (between 2 vars). Operations are implemented in prog...
Definition config_pages.h:826
uint8_t firstCompType
First cmp. op (COMPARATOR_* ops, see below)
Definition config_pages.h:827
uint8_t bitwise
COMBINE_AND, COMBINE_OR, COMBINE_XOR.
Definition config_pages.h:829
uint8_t secondCompType
Second cmp. op (0=COMPARATOR_EQUAL, 1=COMPARATOR_NOT_EQUAL,2=COMPARATOR_GREATER,3=COMPARATOR_GREATER_...
Definition config_pages.h:828
Definition config_pages.h:645
LoadSource fuel2Algorithm
Definition config_pages.h:729
int8_t vvtCLMinAng
Definition config_pages.h:746
byte vvtCLKP
Definition config_pages.h:742
byte rotaryType
Definition config_pages.h:650
byte n2o_maxAFR
Definition config_pages.h:679
byte fuelTempValues[6]
Definition config_pages.h:799
int16_t flexBoostAdj[6]
Definition config_pages.h:664
int8_t wmiOffset
Definition config_pages.h:777
byte EMAPPin
Definition config_pages.h:653
byte knock_window_angle[6]
Definition config_pages.h:715
byte knock_maxRetard
Definition config_pages.h:718
byte wmiAdvEnabled
Definition config_pages.h:770
byte crankingEnrichValues[4]
Definition config_pages.h:647
byte fuel2InputPolarity
Definition config_pages.h:738
byte vvt2Pin
Definition config_pages.h:794
byte fuel2InputPin
Definition config_pages.h:737
byte rotarySplitValues[8]
Definition config_pages.h:655
byte oilPressureProtRPM[4]
Definition config_pages.h:764
byte spark2SwitchVariable
Definition config_pages.h:805
uint16_t stagedInjSizeSec
Definition config_pages.h:661
byte oilPressurePin
Definition config_pages.h:754
byte spark2Mode
Definition config_pages.h:804
byte crankingEnrichTaper
Definition config_pages.h:749
byte wmiIAT
Definition config_pages.h:776
int8_t fuelPressureMin
Definition config_pages.h:759
byte wmiEmptyPolarity
Definition config_pages.h:785
uint16_t fuel2SwitchValue
Definition config_pages.h:734
byte oilPressureProtEnbl
Definition config_pages.h:753
byte unused11_165
Definition config_pages.h:757
byte knock_window_rpms[6]
Definition config_pages.h:714
byte wmiEnabledPin
Definition config_pages.h:787
byte n2o_stage1_retard
Definition config_pages.h:689
byte fuelPressureEnable
Enable fuel pressure sensing from an analog pin (pinNumbers_t::pinFuelPressure)
Definition config_pages.h:751
uint16_t stagedInjSizePri
Definition config_pages.h:660
LoadSource spark2Algorithm
Definition config_pages.h:803
byte n2o_stage1_adderMin
Definition config_pages.h:687
uint16_t spark2SwitchValue
Definition config_pages.h:808
uint8_t flexAdvAdj[6]
Definition config_pages.h:668
uint8_t vvtCLMaxAng
Definition config_pages.h:747
byte n2o_stage2_unused
Definition config_pages.h:693
byte knock_recoveryStepTime
Definition config_pages.h:724
byte oilPressureProtTime
Definition config_pages.h:816
uint8_t flexAdvBins[6]
Definition config_pages.h:667
byte vvtCLholdDuty
Definition config_pages.h:741
byte knock_window_dur[6]
Definition config_pages.h:716
int8_t oilPressureMin
Definition config_pages.h:761
byte knock_trigger
Definition config_pages.h:705
byte fuelPressureMax
Definition config_pages.h:760
byte knock_firstStep
Definition config_pages.h:719
byte fuelTempBins[6]
Definition config_pages.h:798
byte n2o_stage2_maxRPM
Definition config_pages.h:695
byte wmiTPS
Definition config_pages.h:772
byte wmiAdvBins[6]
Definition config_pages.h:789
byte knock_unused
Definition config_pages.h:708
int16_t vvtCL0DutyAng
Definition config_pages.h:745
uint8_t flexFuelAdj[6]
Definition config_pages.h:666
byte boostIntv
Definition config_pages.h:658
byte n2o_stage2_pin
Definition config_pages.h:692
byte wmiIndicatorEnabled
Definition config_pages.h:779
byte crankingEnrichBins[4]
Definition config_pages.h:646
byte n2o_stage1_unused
Definition config_pages.h:684
byte lnchCtrlTPS
Definition config_pages.h:673
byte knock_stepSize
Definition config_pages.h:720
byte oilPressureMax
Definition config_pages.h:762
byte spark2InputPin
Definition config_pages.h:811
byte fuel2SwitchVariable
Definition config_pages.h:731
byte wmiRPM
Definition config_pages.h:773
byte n2o_stage2_adderMin
Definition config_pages.h:696
byte vvtCLKI
Definition config_pages.h:743
byte knock_threshold
Definition config_pages.h:711
byte n2o_stage1_adderMax
Definition config_pages.h:688
byte knock_pin
Definition config_pages.h:702
byte knock_pullup
Definition config_pages.h:706
byte n2o_stage1_minRPM
Definition config_pages.h:685
byte n2o_minTPS
Definition config_pages.h:678
byte vvt2Enabled
Definition config_pages.h:795
uint16_t boostSens
Definition config_pages.h:659
byte rotarySplitBins[8]
Definition config_pages.h:656
byte knock_duration
Definition config_pages.h:723
byte wmiMAP2
Definition config_pages.h:775
byte n2o_stage1_pin
Definition config_pages.h:682
byte vvtCLminDuty
Definition config_pages.h:792
byte n2o_stage2_adderMax
Definition config_pages.h:697
byte n2o_pin_polarity
Definition config_pages.h:683
byte oilPressureEnable
Enable oil pressure sensing from an analog pin (pinNumbers_t::pinOilPressure)
Definition config_pages.h:752
byte lnchCtrlVss
Definition config_pages.h:819
byte wmiAdvAdj[6]
Definition config_pages.h:790
byte n2o_maxMAP
Definition config_pages.h:677
byte knock_count
Definition config_pages.h:709
byte n2o_minCLT
Definition config_pages.h:676
byte n2o_enable
Definition config_pages.h:674
byte knock_recoveryStep
Definition config_pages.h:725
byte n2o_stage1_maxRPM
Definition config_pages.h:686
byte n2o_arming_pin
Definition config_pages.h:675
uint8_t flexFuelBins[6]
Definition config_pages.h:665
byte wmiEnabled
Definition config_pages.h:767
byte wmiMode
Definition config_pages.h:768
byte n2o_stage2_retard
Definition config_pages.h:698
byte n2o_stage2_minRPM
Definition config_pages.h:694
byte knock_stepTime
Definition config_pages.h:721
byte knock_maxMAP
Definition config_pages.h:712
byte oilPressureProtMins[4]
Definition config_pages.h:765
byte fuel2Mode
Definition config_pages.h:730
byte wmiEmptyEnabled
Definition config_pages.h:783
byte stagingMode
Definition config_pages.h:652
byte TrigEdgeThrd
Definition config_pages.h:796
byte fuel2InputPullup
Definition config_pages.h:739
uint8_t flexBoostBins[6]
Definition config_pages.h:663
byte knock_limiterDisable
Definition config_pages.h:707
byte wmiIndicatorPolarity
Definition config_pages.h:781
byte wmiMAP
Definition config_pages.h:774
byte wmiEmptyPin
Definition config_pages.h:784
byte stagingEnabled
Definition config_pages.h:651
byte knock_mode
Definition config_pages.h:701
byte knock_maxRPM
Definition config_pages.h:713
byte spark2InputPullup
Definition config_pages.h:813
byte wmiIndicatorPin
Definition config_pages.h:780
byte vvtCLKD
Definition config_pages.h:744
byte spark2InputPolarity
Definition config_pages.h:812
byte fuelPressurePin
Definition config_pages.h:756
byte vvtCLmaxDuty
Definition config_pages.h:793
Definition config_pages.h:841
byte onboard_log_tr3_thr_RPM
Definition config_pages.h:872
byte onboard_log_tr4_thr_off
Definition config_pages.h:877
int16_t secondTarget[8]
second target value to compare with bitwise op
Definition config_pages.h:851
byte onboard_log_tr3_thr_AFR
Definition config_pages.h:875
byte onboard_log_file_style
Definition config_pages.h:860
byte hwTestInjDuration
Definition config_pages.h:882
int16_t firstTarget[8]
first target value to compare with numeric comp
Definition config_pages.h:850
byte onboard_log_tr3_thr_Oil
Definition config_pages.h:874
byte onboard_log_trigger_RPM
Definition config_pages.h:865
byte onboard_log_file_rate
Definition config_pages.h:861
byte onboard_log_storage
Definition config_pages.h:863
byte onboard_log_filenaming
Definition config_pages.h:862
struct cmpOperation operation[8]
I/O variable comparison operations (See cmpOperation)
Definition config_pages.h:853
byte hwTestIgnDuration
Definition config_pages.h:881
uint8_t kindOfLimiting
Select which kind of output limiting are active (0 - minimum | 1 - maximum)
Definition config_pages.h:843
byte onboard_log_tr3_thr_MAP
Definition config_pages.h:873
byte onboard_log_tr4_thr_on
Definition config_pages.h:876
byte onboard_log_tr2_thr_off
Definition config_pages.h:871
byte onboard_log_tr2_thr_on
Definition config_pages.h:870
byte onboard_log_trigger_boot
Definition config_pages.h:864
int8_t ignTrim[8]
Per-cylinder ignition trim in degrees. 0 = no trim.
Definition config_pages.h:849
byte onboard_log_tr5_Epin_pin
Definition config_pages.h:878
uint8_t outputInverted
Invert (on/off) value before writing to output pin (for all programmable I/O:s).
Definition config_pages.h:842
byte unused12_106_116[10]
Definition config_pages.h:857
byte onboard_log_csv_separator
Definition config_pages.h:859
uint8_t outputDelay[8]
Output write delay for each programmable I/O (Unit: 0.1S)
Definition config_pages.h:845
byte onboard_log_trigger_Epin
Definition config_pages.h:868
uint8_t firstDataIn[8]
Set of first I/O vars to compare.
Definition config_pages.h:846
byte unused13_125_2
Definition config_pages.h:879
uint16_t candID[8]
Actual CAN ID need 16bits, this is a placeholder.
Definition config_pages.h:855
byte onboard_log_trigger_Vbat
Definition config_pages.h:867
uint8_t outputPin[8]
Disable(0) or enable (set to valid pin number) Programmable Pin (output/target pin to set)
Definition config_pages.h:844
uint8_t secondDataIn[8]
Set of second I/O vars to compare.
Definition config_pages.h:847
byte onboard_log_trigger_prot
Definition config_pages.h:866
uint8_t outputTimeLimit[8]
Output delay for each programmable I/O, kindOfLimiting bit dependent(Unit: 0.1S)
Definition config_pages.h:848
uint16_t onboard_log_tr1_duration
Definition config_pages.h:869
Definition config_pages.h:890
byte airConMaxRPMdiv100
Definition config_pages.h:912
byte airConUnused1
Definition config_pages.h:903
byte airConPwmFanMinDuty
Definition config_pages.h:922
byte airConFanPin
Definition config_pages.h:919
byte airConEnable
Definition config_pages.h:897
byte boostControlEnable
Definition config_pages.h:891
byte airConClTempCut
Definition config_pages.h:913
byte airConIdleSteps
Definition config_pages.h:914
byte airConTurnsFanOn
Definition config_pages.h:900
byte unused15_1
Definition config_pages.h:892
byte airConFanPol
Definition config_pages.h:902
byte airConIdleUpRPMAdder
Definition config_pages.h:921
byte airConTPSCutTime
Definition config_pages.h:915
byte airConReqPol
Definition config_pages.h:899
byte airConFanEnabled
Definition config_pages.h:901
byte airConTPSCut
Definition config_pages.h:910
int8_t rollingProtRPMDelta[4]
Definition config_pages.h:924
byte airConAfterStartDelay
Definition config_pages.h:917
byte airConReqPin
Definition config_pages.h:908
byte airConUnused3
Definition config_pages.h:909
byte airConMinRPMdiv10
Definition config_pages.h:911
byte rollingProtCutPercent[4]
Definition config_pages.h:925
byte airConCompOnDelay
Definition config_pages.h:916
byte airConRPMCutTime
Definition config_pages.h:918
byte Unused15_106_255[150]
Definition config_pages.h:928
byte boostDCWhenDisabled
Definition config_pages.h:893
byte boostControlEnableThreshold
Definition config_pages.h:894
byte airConUnused4
Definition config_pages.h:920
byte airConCompPin
Definition config_pages.h:906
byte airConUnused2
Definition config_pages.h:907
byte airConCompPol
Definition config_pages.h:898
Definition config_pages.h:179
byte aeColdTaperMax
AE cold modifier, taper end temp (no modifier applied, was primePulse in early versions)
Definition config_pages.h:242
byte aseCount[4]
Afterstart enrichment cycles. This is the number of ignition cycles that the afterstart enrichment % ...
Definition config_pages.h:281
byte displayB1
Definition config_pages.h:203
byte divider
Definition config_pages.h:207
byte injTiming
Injector timing (aka. injector staging) 0=simultaneous, 1=alternating.
Definition config_pages.h:208
byte idleUpOutputPin
Definition config_pages.h:313
uint16_t oddfire[3]
The ATDC angle of channel 2, 3 & 4 for oddfire.
Definition config_pages.h:254
byte tpsMax
Definition config_pages.h:249
byte iacRPMlimitHysteresis
Definition config_pages.h:319
byte fanEnable
Fan mode. 0=Off, 1=On/Off, 2=PWM.
Definition config_pages.h:277
byte wueValues[10]
Warm up enrichment array.
Definition config_pages.h:190
byte dfcoMinCLT
Definition config_pages.h:301
byte crkngAddCLTAdv
Definition config_pages.h:209
byte iacCLminValue
Definition config_pages.h:264
MAPSamplingMethod mapSample
MAP sampling method (0=Instantaneous, 1=Cycle Average, 2=Cycle Minimum, 4=Ign. event average,...
Definition config_pages.h:220
byte tachoPin
Custom pin setting for tacho output (if != 0, override copied to pinNumbers.pinTachOut,...
Definition config_pages.h:193
byte idleUpPin
Definition config_pages.h:256
byte useDwellMap
Setting to change between fixed dwell value and dwell map (0=Fixed value from config4::dwellRun,...
Definition config_pages.h:276
byte fanWhenCranking
Set whether the fan output will stay on when the engine is cranking (0=force off, 1=allow on)
Definition config_pages.h:275
byte strokes
Engine cycle type: four-stroke (0) / two-stroke (1)
Definition config_pages.h:221
byte maeMinChange
Definition config_pages.h:200
uint16_t vssPulsesPerKm
VSS (Vehicle speed sensor) pulses per Km.
Definition config_pages.h:307
byte dfcoEnabled
Whether or not DFCO (deceleration fuel cut-off) is turned on.
Definition config_pages.h:240
byte multiplyMAP
MAP value processing: 0 = off, 1 = div by currentStatus.baro, 2 = div by 100 (to gain usable value)
Definition config_pages.h:189
byte taeMinChange
Definition config_pages.h:199
byte rtc_mode
Definition config_pages.h:278
LoadSource ignAlgorithm
Definition config_pages.h:213
byte aeTaperMin
Definition config_pages.h:261
uint16_t EMAPMax
Definition config_pages.h:272
byte mapSwitchPoint
Definition config_pages.h:323
byte injAngRPM[4]
Definition config_pages.h:297
byte idleUpOutputInv
Definition config_pages.h:312
byte crankingPct
Cranking enrichment (See config10, updates.cpp)
Definition config_pages.h:191
byte flexFreqLow
Definition config_pages.h:244
byte tpsMin
Definition config_pages.h:248
byte idleAdvVss
Definition config_pages.h:322
byte vssPin
VSS (Vehicle speed sensor) pin number.
Definition config_pages.h:305
byte iacTPSlimit
Definition config_pages.h:318
byte idleUpOutputEnabled
Definition config_pages.h:311
byte CTPSEnabled
Definition config_pages.h:288
byte reqFuel
Definition config_pages.h:206
uint16_t mapMax
Definition config_pages.h:251
byte fanWhenOff
Allow running fan with engine off: 0 = Only run fan when engine is running, 1 = Allow even with engin...
Definition config_pages.h:274
byte aeApplyMode
Acceleration enrichment calc mode: 0 = Multiply | 1 = Add (AE_MODE_ADDER)
Definition config_pages.h:188
byte idleAdvRPM
Definition config_pages.h:294
byte legacyMAP
Legacy MAP reading behaviour.
Definition config_pages.h:235
byte flexFreqHigh
Definition config_pages.h:245
byte injLayout
Definition config_pages.h:237
byte aseTaperTime
Definition config_pages.h:181
byte baroCorr
Definition config_pages.h:236
byte asePct[4]
Afterstart enrichment values (%)
Definition config_pages.h:280
byte idleUpAdder
Definition config_pages.h:260
byte fpPrime
Time (In seconds) that the fuel pump should be primed for on power up.
Definition config_pages.h:252
byte dutyLim
Definition config_pages.h:243
byte SoftLimitMode
Definition config_pages.h:186
byte CTPSPin
Definition config_pages.h:286
byte boostMaxDuty
Definition config_pages.h:247
byte maeThresh
Definition config_pages.h:196
uint16_t injAng[4]
Definition config_pages.h:216
byte aeTime
Definition config_pages.h:198
byte aeColdPct
Definition config_pages.h:182
byte idleUpPolarity
Definition config_pages.h:257
byte canWBO
Definition config_pages.h:327
byte aeColdTaperMin
Definition config_pages.h:183
byte unused2_3_3
Definition config_pages.h:185
byte pinMapping
The board / ping mapping number / id to be used (See: setPinMapping in init.ino)
Definition config_pages.h:192
byte vssMode
VSS (Vehicle speed sensor) mode (0=none, 1=CANbus, 2,3=Interrupt driven)
Definition config_pages.h:304
byte idleAdvAlgorithm
Definition config_pages.h:291
byte nCylinders
Number of cylinders.
Definition config_pages.h:223
byte useTachoSweep
Definition config_pages.h:187
int8_t baroMin
Definition config_pages.h:268
byte vssSmoothing
Definition config_pages.h:308
byte tachoSweepMaxRPM
Definition config_pages.h:315
int8_t EMAPMin
Definition config_pages.h:271
byte taeThresh
Definition config_pages.h:197
byte nInjectors
Number of injectors.
Definition config_pages.h:229
byte stoich
Stoichiometric ratio (x10, so e.g. 14.7 => 147)
Definition config_pages.h:253
byte boostMinDuty
Definition config_pages.h:266
byte iacCLmaxValue
Definition config_pages.h:265
byte injType
Injector type 0=Port (INJ_TYPE_PORT), 1=Throttle Body / TBI (INJ_TYPE_TBODY)
Definition config_pages.h:222
byte engineType
Engine crank/ign phasing type: 0=even fire, 1=odd fire.
Definition config_pages.h:233
byte idleAdvTPS
Definition config_pages.h:295
byte fixAngEnable
Whether fixed/locked timing is enabled (0=disable, 1=enable, See config4::FixAng)
Definition config_pages.h:228
byte aseBins[4]
Afterstart enrichment temperatures (x-axis) for (target) enrichment values.
Definition config_pages.h:282
byte flexEnabled
Enable Flex fuel sensing (pin / interrupt)
Definition config_pages.h:234
byte CTPSPolarity
Definition config_pages.h:287
byte tachoDiv
Whether to change the tacho speed ("half speed tacho" ?)
Definition config_pages.h:194
byte idleAdvEnabled
Definition config_pages.h:290
byte incorporateAFR
Enable AFR target (stoich/afrtgt) compensation in PW calculation.
Definition config_pages.h:279
LoadSource fuelAlgorithm
Fuel algorithm - 0=Manifold pressure/MAP (LOAD_SOURCE_MAP, default, proven), 1=Throttle/TPS (LOAD_SOU...
Definition config_pages.h:227
byte indInjAng
Definition config_pages.h:214
int8_t mapMin
Definition config_pages.h:250
int8_t rtc_trim
Definition config_pages.h:321
uint16_t vssRatios[6]
Definition config_pages.h:309
byte idleUpEnabled
Definition config_pages.h:258
byte unused1_126_1
Definition config_pages.h:325
byte injOpen
Injector opening time (ms * 10)
Definition config_pages.h:215
byte primePulse[4]
Definition config_pages.h:283
byte aeTaperMax
Definition config_pages.h:262
byte tachoDuration
Definition config_pages.h:195
byte primingDelay
Definition config_pages.h:316
byte idleTaperTime
Definition config_pages.h:299
byte aeMode
Definition config_pages.h:184
byte primeBins[4]
Definition config_pages.h:284
byte unused1_126_2
Definition config_pages.h:326
byte vssAuxCh
Definition config_pages.h:328
byte perToothIgn
Experimental / New ignition mode ... (?) (See decoders.ino)
Definition config_pages.h:239
byte idleAdvDelay
Definition config_pages.h:292
uint16_t baroMax
Definition config_pages.h:269
byte displayB2
Definition config_pages.h:204
byte hardCutType
Definition config_pages.h:211
byte dfcoDelay
Definition config_pages.h:300
byte includeAFR
Definition config_pages.h:210
byte decelAmount
Definition config_pages.h:330
Definition config_pages.h:357
uint8_t ADCFILTER_O2
Definition config_pages.h:419
int8_t CrankAng
Fixed start-up/cranking ignition angle (See: corrections.ino)
Definition config_pages.h:361
byte idleAdvBins[6]
Definition config_pages.h:435
uint8_t ADCFILTER_MAP
Definition config_pages.h:421
byte dwellErrCorrect
Definition config_pages.h:443
byte ignBypassHiLo
Definition config_pages.h:414
byte dfcoRPM
RPM at which DFCO turns off/on at.
Definition config_pages.h:408
byte resetControlPin
Definition config_pages.h:380
byte fuelPumpPin
Fuel pump pin (copied as override to pinNumbers.pinFuelPump, defaults to board default,...
Definition config_pages.h:370
byte vvtMinClt
Definition config_pages.h:448
byte engineProtectMaxRPM
Definition config_pages.h:438
byte taeBins[4]
TPS based acceleration enrichment bins (Unit: %/s)
Definition config_pages.h:401
byte StgCycles
Definition config_pages.h:382
uint8_t bootloaderCaps
Definition config_pages.h:376
byte dfcoTPSThresh
Definition config_pages.h:410
uint8_t ADCFILTER_BAT
Definition config_pages.h:420
byte triggerTeeth
The full count of teeth on the trigger wheel if there were no gaps.
Definition config_pages.h:393
byte TrigEdge
Primary (RPM1) Trigger Edge - 0 - RISING, 1 = FALLING (Copied from this config to primaryTriggerEdge)
Definition config_pages.h:364
byte IgInv
Ignition signal invert (?) (GOING_LOW=0 (default by init.ino) / GOING_HIGH=1 )
Definition config_pages.h:366
byte wueBins[10]
Warmup Enrichment bins (Values are in config2::wueValues OLD:configTable1)
Definition config_pages.h:403
uint8_t ADCFILTER_TPS
Definition config_pages.h:416
byte SoftLimMax
Time the soft limit can run (units 0.1S)
Definition config_pages.h:399
uint8_t ADCFILTER_BARO
Definition config_pages.h:422
byte crankRPM
RPM below which the engine is considered to be cranking.
Definition config_pages.h:395
byte floodClear
TPS (raw adc count? % ?) value that triggers flood clear mode (No fuel whilst cranking,...
Definition config_pages.h:396
byte vvtDelay
Definition config_pages.h:449
byte maeRates[4]
Definition config_pages.h:428
byte idleAdvValues[6]
Definition config_pages.h:436
byte cltAdvBins[6]
Definition config_pages.h:424
byte sparkDur
Spark duration in ms * 10.
Definition config_pages.h:373
byte vvt2PWMdir
Definition config_pages.h:441
byte dfcoHyster
Definition config_pages.h:409
byte taeValues[4]
TPS based acceleration enrichment rates (Unit: % to add), values matched to thresholds of taeBins.
Definition config_pages.h:402
byte iatRetBins[6]
Inlet Air Temp timing retard curve bins (Unit: ...)
Definition config_pages.h:406
uint8_t dwellCrank
Dwell time whilst cranking.
Definition config_pages.h:391
byte cltAdvValues[6]
Definition config_pages.h:425
byte SoftRevLim
Soft rev limit (RPM/100)
Definition config_pages.h:397
byte baroFuelValues[8]
Definition config_pages.h:433
byte baroFuelBins[8]
Definition config_pages.h:432
byte HardRevLim
Hard rev limit (RPM/100)
Definition config_pages.h:400
byte SoftLimRetard
Amount soft limit (ignition) retard (degrees)
Definition config_pages.h:398
byte useDwellLim
Definition config_pages.h:385
int16_t triggerAngle
Angle (ATDC) when tooth No:1 on the primary wheel sends signal (-360 to +360 deg.)
Definition config_pages.h:359
byte TrigAngMul
Multiplier for non evenly divisible tooth counts.
Definition config_pages.h:362
uint8_t ADCFILTER_CLT
Definition config_pages.h:417
byte ignBypassEnabled
Definition config_pages.h:412
byte boostType
Boost Control type: 0=Open loop (OPEN_LOOP_BOOST), 1=closed loop (CLOSED_LOOP_BOOST)
Definition config_pages.h:384
uint8_t ADCFILTER_IAT
Definition config_pages.h:418
byte maeBins[4]
Definition config_pages.h:427
byte FILTER_FLEX
Definition config_pages.h:447
byte sparkMode
Definition config_pages.h:386
int8_t batVoltCorrect
Definition config_pages.h:430
byte TrigSpeed
Primary (RPM1) Trigger speed - 0 = crank speed (CRANK_SPEED), 1 = cam speed (CAM_SPEED),...
Definition config_pages.h:365
byte unusedBits4
Definition config_pages.h:445
byte dwellLimit
Definition config_pages.h:404
uint8_t dwellRun
Dwell time whilst running.
Definition config_pages.h:392
byte iatRetValues[6]
Inlet Air Temp timing retard curve values (Unit: ...)
Definition config_pages.h:407
byte triggerMissingTeeth
The size of the tooth gap (ie number of missing teeth)
Definition config_pages.h:394
int16_t vvt2CL0DutyAng
Definition config_pages.h:440
byte trigPatternSec
Mode for Missing tooth secondary trigger - 0=single tooth cam wheel (SEC_TRIGGER_SINGLE),...
Definition config_pages.h:374
byte triggerFilter
Definition config_pages.h:388
byte useResync
Definition config_pages.h:371
byte TrigPattern
Decoder configured (DECODER_MISSING_TOOTH, DECODER_BASIC_DISTRIBUTOR, DECODER_GM7X,...
Definition config_pages.h:367
byte PollLevelPolarity
Definition config_pages.h:375
byte TrigEdgeSec
Secondary (RPM2) Trigger Edge (See RPM1)
Definition config_pages.h:369
byte ignCranklock
Definition config_pages.h:389
byte ignBypassPin
Definition config_pages.h:413
byte dwellCorrectionValues[6]
Correction table for dwell vs battery voltage.
Definition config_pages.h:405
byte inj4cylPairing
Definition config_pages.h:442
byte CANBroadcastProtocol
Definition config_pages.h:444
int8_t FixAng
Fixed Ignition angle value (enabled by config2::fixAngEnable, copied to ignFixValue,...
Definition config_pages.h:360
byte resetControlConfig
Definition config_pages.h:378
byte ANGLEFILTER_VVT
Definition config_pages.h:446
Definition config_pages.h:456
byte egoTemp
The temperature above which closed loop is enabled.
Definition config_pages.h:467
byte flatSArm
Definition config_pages.h:521
byte vvtFreq
Frequency of the boost PWM valve.
Definition config_pages.h:492
byte iacCLValues[10]
Definition config_pages.h:523
byte egoTPSMax
RPM must be above this for closed loop to function.
Definition config_pages.h:480
byte tachoMode
Definition config_pages.h:485
byte boostEnabled
Boost control enabled 0 =off, 1 = on.
Definition config_pages.h:460
byte idleFreq
Frequency of the vvt PWM valve.
Definition config_pages.h:493
byte boostFreq
Definition config_pages.h:491
byte boostMode
Definition config_pages.h:483
byte iacBins[10]
Definition config_pages.h:526
byte flatSEnable
Flat shift enable.
Definition config_pages.h:517
byte fanFreq
Definition config_pages.h:546
byte fanSP
Definition config_pages.h:544
byte vvtLoadSource
Load source for VVT (TPS or MAP)
Definition config_pages.h:470
byte lnchSoftLim
Definition config_pages.h:499
byte egoType
EGO Sensor Type 0=Disabled/None, 1=Narrowband, 2=Wideband.
Definition config_pages.h:459
byte lnchHardLim
Definition config_pages.h:501
byte egoLimit
Definition config_pages.h:475
byte boostKI
Definition config_pages.h:511
byte iacCrankSteps[4]
Definition config_pages.h:527
byte vvt1Pin
TPS must be below this for closed loop to function.
Definition config_pages.h:481
byte lnchPullRes
Definition config_pages.h:514
byte egoRPM
Time in seconds after engine starts that closed loop becomes available.
Definition config_pages.h:479
byte airDenRates[9]
Definition config_pages.h:490
byte iacFastTemp
Definition config_pages.h:536
byte idleKD
Definition config_pages.h:507
byte iacAlgorithm
Definition config_pages.h:531
byte voltageCorrectionBins[6]
Definition config_pages.h:487
byte egoKP
Definition config_pages.h:464
byte egoKI
Definition config_pages.h:465
byte idleKI
Definition config_pages.h:506
byte fanPin
Definition config_pages.h:543
byte useEMAP
Whether to use fixed tacho pulse duration or match to dwell duration.
Definition config_pages.h:486
byte fanInv
Definition config_pages.h:541
byte egoAlgorithm
EGO Algorithm - Simple, PID, No correction.
Definition config_pages.h:458
byte engineProtectType
Definition config_pages.h:462
byte iacStepHyster
Definition config_pages.h:539
byte boostKD
Definition config_pages.h:512
byte fanHyster
Definition config_pages.h:545
byte iacOLStepVal[10]
Definition config_pages.h:524
byte iacCrankBins[4]
Definition config_pages.h:529
byte fanUnused
Definition config_pages.h:542
byte vvtCLAlterFuelTiming
Definition config_pages.h:473
int8_t lnchFuelAdd
Definition config_pages.h:502
byte baroPin
Definition config_pages.h:518
byte ego_max
AFR must be above this for closed loop to function.
Definition config_pages.h:477
byte iacPWMrun
Run the PWM idle valve before engine is cranked over (0 = off, 1 = on)
Definition config_pages.h:515
byte vvtPWMdir
VVT direction (normal or reverse)
Definition config_pages.h:471
byte launchPin
Launch (control ?) pin.
Definition config_pages.h:495
byte egoCount
The number of ignition cycles per (ego AFR ?) step.
Definition config_pages.h:468
byte launchHiLo
Definition config_pages.h:497
byte iacPWMdir
Definition config_pages.h:534
byte iacOLPWMVal[10]
Definition config_pages.h:525
byte useExtBaro
Definition config_pages.h:482
byte iacChannels
Definition config_pages.h:533
byte fuelTrimEnabled
Definition config_pages.h:516
byte iacStepTime
Definition config_pages.h:532
byte iacCrankDuty[4]
Definition config_pages.h:528
byte vvtMode
Valid VVT modes are 'on/off', 'open loop' and 'closed loop'.
Definition config_pages.h:469
byte ego_min
Maximum amount the closed loop EGO control will vary the fuelling.
Definition config_pages.h:476
byte flatSSoftWin
Definition config_pages.h:519
byte vvtEnabled
Definition config_pages.h:461
byte boostCutEnabled
Definition config_pages.h:474
int8_t lnchRetard
Definition config_pages.h:500
byte boostKP
Definition config_pages.h:510
byte launchEnabled
Launch ...???... (control?) enabled.
Definition config_pages.h:496
int8_t flatSRetard
Definition config_pages.h:520
byte vvtCLUseHold
Definition config_pages.h:472
byte egoKD
Definition config_pages.h:466
byte fanPWMBins[4]
Definition config_pages.h:547
byte injVoltageCorrectionValues[6]
Definition config_pages.h:488
byte idleKP
Definition config_pages.h:505
byte airDenBins[9]
Definition config_pages.h:489
byte boostLimit
Boost limit (Kpa). Stored value is actual (kPa) value divided by 2, allowing kPa values up to 511.
Definition config_pages.h:509
byte ego_sdelay
AFR must be below this for closed loop to function.
Definition config_pages.h:478
byte iacStepHome
Definition config_pages.h:538
byte boostPin
Boost control mode: 0=Simple (BOOST_MODE_SIMPLE) or 1=full (BOOST_MODE_FULL)
Definition config_pages.h:484
Definition config_pages.h:573
byte afrProtectMinMAP
Definition config_pages.h:632
byte afrProtectDeviation
Definition config_pages.h:635
byte unused10_179
Definition config_pages.h:622
uint16_t caninput_source_can_address[16]
Definition config_pages.h:581
byte enable_secondarySerial
Definition config_pages.h:574
byte dfcoTaperFuel
Definition config_pages.h:624
uint16_t canoutput_param_group[8]
Definition config_pages.h:591
byte boostByGear[6]
Definition config_pages.h:616
byte coolantProtTemp[6]
Definition config_pages.h:620
byte afrProtectReactivationTPS
Definition config_pages.h:637
byte iacCoolTime
Definition config_pages.h:607
byte unused10_183
Definition config_pages.h:627
byte speeduino_tsCanId
Definition config_pages.h:599
byte coolantProtRPM[6]
Definition config_pages.h:619
byte afrProtectEnabled
Definition config_pages.h:631
byte hardRevMode
Definition config_pages.h:618
byte dfcoTaperTime
Definition config_pages.h:623
byte afrProtectMinTPS
Definition config_pages.h:634
byte unused10_68
Definition config_pages.h:588
byte afrProtectCutTime
Definition config_pages.h:636
uint8_t canoutput_param_start_byte[8]
Definition config_pages.h:592
byte idleAdvStartDelay
Definition config_pages.h:614
byte unused10_111
Definition config_pages.h:596
byte enable_intcan
Definition config_pages.h:576
byte blankField
Definition config_pages.h:610
uint16_t caninput_source_num_bytes
Definition config_pages.h:583
uint8_t caninput_source_start_byte[16]
Definition config_pages.h:582
byte secondarySerialProtocol
Definition config_pages.h:577
byte iacStepperPower
Definition config_pages.h:611
byte iacStepperInv
Definition config_pages.h:606
uint8_t Auxinpina[16]
Definition config_pages.h:603
byte canoutput_param_num_bytes[8]
Definition config_pages.h:593
uint16_t obd_address
Definition config_pages.h:602
byte PWMFanDuty[4]
Definition config_pages.h:617
byte unused10_184
Definition config_pages.h:629
byte canoutput_sel[8]
Definition config_pages.h:590
byte unused9_0
Definition config_pages.h:578
byte unused10_110
Definition config_pages.h:595
byte caninput_sel[16]
Definition config_pages.h:580
uint8_t Auxinpinb[16]
Definition config_pages.h:604
byte intcan_available
Definition config_pages.h:575
byte dfcoTaperEnable
Definition config_pages.h:626
byte boostByGearEnabled
Definition config_pages.h:609
uint16_t realtime_base_address
Definition config_pages.h:601
byte egoMAPMax
Definition config_pages.h:597
byte caninputEndianess
Definition config_pages.h:585
byte afrProtectMinRPM
Definition config_pages.h:633
uint16_t true_address
Definition config_pages.h:600
byte iacMaxSteps
Definition config_pages.h:613
byte enable_candata_out
Definition config_pages.h:589
byte dfcoTaperAdvance
Definition config_pages.h:625
byte egoMAPMin
Definition config_pages.h:598
Definition config_pages.h:169