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