rusEFI
The most advanced open source ECU
rusefi_enums.h
Go to the documentation of this file.
1 /**
2  * @file rusefi_enums.h
3  * @brief Fundamental rusEFI enumerable types live here
4  *
5  * This and few over headers are part of integration API between C/C++ and code generator for memory meta and java code.
6  * TODO: move enums which should not be visible outside of the firmware out of 'integration API' headers like this one
7  *
8  * @note this file should probably not include any other files
9  *
10  * @date Jan 14, 2014
11  * @author Andrey Belomutskiy, (c) 2012-2020
12  */
13 
14 #pragma once
15 
16 #include <rusefi/true_false.h>
17 #include "efifeatures.h"
18 #include "obd_error_codes.h"
19 #include "engine_types.h"
20 // we do not want to start the search for header from current folder so we use brackets here
21 // https://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename
22 #include <rusefi_hw_enums.h>
23 #include "rusefi_hw_pin_mode.h"
24 
25 #define PERCENT_MULT 100.0f
26 #define PERCENT_DIV 0.01f
27 
28 /* diagnostic for brain pins
29  * can be combination of few bits
30  * defined as bit mask
31  * PIN_UNKNOWN is reported for pins with no diagnostic support, like on-chip gpio
32  */
33 typedef enum __attribute__ ((__packed__))
34 {
35  PIN_OK = 0,
36  PIN_OPEN = 0x01,
37  PIN_SHORT_TO_GND = 0x02,
38  PIN_SHORT_TO_BAT = 0x04,
39  PIN_OVERLOAD = 0x08,
40  PIN_DRIVER_OVERTEMP = 0x10,
41  PIN_DRIVER_OFF = 0x20,
42  PIN_UNKNOWN = 0x80
44 
45 // see also PWM_PHASE_MAX_WAVE_PER_PWM
46 // todo: better names?
47 enum class TriggerWheel : uint8_t {
48  T_PRIMARY = 0,
49  T_SECONDARY = 1,
50 };
51 
52 typedef enum __attribute__ ((__packed__)) {
53  /**
54  * This mode is useful for troubleshooting and research - events are logged but no effects on phase synchronization
55  */
56  VVT_INACTIVE = 0,
57 
58  /**
59  * Single tooth on the camshaft anywhere in the 720 degree cycle
60  */
61  VVT_SINGLE_TOOTH = 1,
62  /**
63  * Toyota 2JZ has three cam tooth. We pick one of these three tooth to synchronize based on the expected angle position of the event
64  */
65  VVT_TOYOTA_3_TOOTH = 2,
66  /**
67  * Mazda NB2 has three cam tooth. We synchronize based on gap ratio.
68  * @see TT_VVT_MIATA_NB
69  */
70  VVT_MIATA_NB = 3,
71 
72  VVT_MITSUBISHI_4G69 = 4,
73 
74  /**
75  * @see TT_VVT_BOSCH_QUICK_START
76  */
77  VVT_BOSCH_QUICK_START = 5,
78 
79  /**
80  * 1.8l Toyota 1ZZ-FE https://rusefi.com/forum/viewtopic.php?f=3&t=1735
81  * 4 minus one
82  */
83  VVT_TOYOTA_4_1 = 6,
84 
85  VVT_FORD_ST170 = 7,
86 
87  VVT_BARRA_3_PLUS_1 = 8,
88 
89  VVT_NISSAN_VQ = 9,
90 
91  /**
92  * 4 equally spaced no way to sync
93  */
94  VVT_HONDA_K_INTAKE = 10,
95 
96  VVT_NISSAN_MR = 11,
97 
98  VVT_MITSUBISHI_3A92 = 12,
99 
100  VVT_MAP_V_TWIN = 13,
101 
102  VVT_MITSUBISHI_6G75 = 14,
103 
104  VVT_MAZDA_SKYACTIV = 15,
105 
106  /**
107  * 4 plus one
108  */
109  VVT_HONDA_K_EXHAUST = 16,
110 
111  VVT_MITSUBISHI_4G9x = 17,
112  VVT_MITSUBISHI_4G63 = 18,
113 
114  VVT_FORD_COYOTE = 19,
115 
116  VVT_MITSUBISHI_6G72 = 20,
117 
118  VVT_HONDA_CBR_600 = 21,
119 
121 
122 /**
123  * This enum is used to select your desired Engine Load calculation algorithm
124  */
125 typedef enum __attribute__ ((__packed__)) {
126  /**
127  * Speed Density algorithm - Engine Load is a function of MAP, VE and target AFR
128  * http://articles.sae.org/8539/
129  */
130  LM_SPEED_DENSITY = 0,
131 
132  /**
133  * MAF with a known kg/hour function
134  */
135  LM_REAL_MAF = 1,
136 
137  LM_ALPHA_N = 2,
138 
139  LM_LUA = 3,
140 
141  // This mode is for unit testing only, so that tests don't have to rely on a particular real airmass mode
142  LM_MOCK = 100,
143 
145 
146 typedef enum __attribute__ ((__packed__)) {
147  DM_NONE = 0,
148  DM_HD44780 = 1,
149  DM_HD44780_OVER_PCF8574 = 2,
150 
151 
153 
154 typedef enum __attribute__ ((__packed__)) {
155  TL_AUTO = 0,
156  TL_SEMI_AUTO = 1,
157  TL_MANUAL = 2,
158  TL_HALL = 3,
159 
161 
162 typedef enum __attribute__ ((__packed__)) {
163  DWELL_2MS = 0,
164  DWELL_4MS = 1,
165  DWELL_8MS = 2,
166  DWELL_16MS = 3,
167  DWELL_32MS = 4,
168  DWELL_64MS = 5,
169 
171 
172 typedef enum __attribute__ ((__packed__)) {
173  /**
174  * In auto mode we currently have some pid-like-but-not really PID logic which is trying
175  * to get idle RPM to desired value by dynamically adjusting idle valve position.
176  * TODO: convert to PID
177  */
178  IM_AUTO = 0,
179  /**
180  * Manual idle control is extremely simple: user just specifies desired idle valve position
181  * which could be adjusted according to current CLT
182  */
183  IM_MANUAL = 1,
184 
186 
187 enum class SentEtbType : uint8_t {
188  NONE = 0,
189  GM_TYPE_1 = 1,
190  FORD_TYPE_1 = 2,
191  CUSTOM = 3,
192 };
193 
194 enum class CanGpioType : uint8_t {
195  NONE = 0,
196  DRT = 1,
197  MS = 2,
198 };
199 
200 enum class MsIoBoxId : uint8_t {
201  OFF = 0,
202  ID200 = 1,
203  ID220 = 2,
204  ID240 = 3
205 };
206 
207 enum class MsIoBoxVss : uint8_t {
208  OFF = 0,
209  VR12 = 1,
210  HALL34 = 2,
211  ALL1234 = 3
212 };
213 
214 enum class UiMode : uint8_t {
215  FULL = 0,
216  INSTALLATION = 1,
217  TUNING = 2,
218 };
219 
220 typedef enum __attribute__ ((__packed__)) {
221  /**
222  * GND for logical OFF, VCC for logical ON
223  */
224  OM_DEFAULT = 0,
225  /**
226  * GND for logical ON, VCC for logical OFF
227  */
228  OM_INVERTED = 1,
229  /**
230  * logical OFF is floating, logical ON is GND
231  */
232  OM_OPENDRAIN = 2,
233  OM_OPENDRAIN_INVERTED = 3
235 
236 typedef enum __attribute__ ((__packed__)) {
237  PI_DEFAULT = 0,
238  PI_PULLUP = 1,
239  PI_PULLDOWN = 2
241 
242 /**
243  * @see getCycleDuration
244  * @see getEngineCycle
245  */
246 // todo: better enum name
247 typedef enum {
248  OM_NONE = 0,
249  /**
250  * 720 degree engine cycle but trigger is defined using a 360 cycle which is when repeated.
251  * For historical reasons we have a pretty weird approach where one crank trigger revolution is
252  * defined as if it's stretched to 720 degrees. See CRANK_MODE_MULTIPLIER
253  */
255  /**
256  * 720 degree engine and trigger cycle
257  */
259  /**
260  * 360 degree cycle
261  */
263 
264  /**
265  * 720 degree engine cycle but trigger is defined using a 180 cycle which is when repeated three more times
266  * In other words, same pattern is repeated on the crank wheel twice.
267  */
269 
270  /**
271  * Same pattern repeated three times on crank wheel. Crazy, I know!
272  */
274 
275  // Same pattern TWELVE TIMES on the crank wheel!
276  // This usually means Honda, which often has a 12 tooth crank wheel or 24 tooth cam wheel
277  // without a missing tooth, plus a single tooth cam channel to resolve the engine phase.
279 
280  /**
281  * Same pattern repeated six times on crank wheel like 1995 Lamborghini Diablo
282  */
285 
286 /**
287  * @brief Ignition Mode
288  */
289 typedef enum __attribute__ ((__packed__)) {
290  /**
291  * in this mode only SPARKOUT_1_OUTPUT is used
292  */
293  IM_ONE_COIL = 0,
294  /**
295  * in this mode we use as many coils as we have cylinders
296  */
297  IM_INDIVIDUAL_COILS = 1,
298  IM_WASTED_SPARK = 2,
299 
300  /**
301  * some v12 engines line BMW M70 and M73 run two distributors, one for each bank of cylinders
302  */
303  IM_TWO_COILS = 3,
304 
306 
307 /**
308  * @see getNumberOfInjections
309  */
310 typedef enum __attribute__ ((__packed__)) {
311  /**
312  * each cylinder has it's own injector but they all works in parallel
313  */
314  IM_SIMULTANEOUS = 0,
315  /**
316  * each cylinder has it's own injector, each injector is wired separately
317  */
318  IM_SEQUENTIAL = 1,
319  /**
320  * each cylinder has it's own injector but these injectors work in pairs. Injectors could be wired in pairs or separately.
321  * Each pair is fired once per engine cycle
322  * todo: we might want to implement one additional mode where each pair of injectors is floating twice per engine cycle.
323  * todo: this could reduce phase offset from injection to stroke but would not work great for large injectors
324  */
325  IM_BATCH = 2,
326  /**
327  * only one injector located in throttle body
328  */
329  IM_SINGLE_POINT = 3,
330 
332 
333 typedef enum __attribute__ ((__packed__)) {
334  UART_NONE = 0,
335  UART_DEVICE_1 = 1,
336  UART_DEVICE_2 = 2,
337  UART_DEVICE_3 = 3,
338  UART_DEVICE_4 = 4,
340 
341 typedef enum __attribute__ ((__packed__)) {
342  _5MHz,
343  _2_5MHz,
344  _1_25MHz,
345  _150KHz
347 
348 
349 /**
350  * See spi3mosiPin
351  * See spi2MisoMode
352  */
353 typedef enum __attribute__ ((__packed__)) {
354  SPI_NONE = 0,
355  SPI_DEVICE_1 = 1,
356  SPI_DEVICE_2 = 2,
357  SPI_DEVICE_3 = 3,
358  SPI_DEVICE_4 = 4,
359  SPI_DEVICE_5 = 5,
360  SPI_DEVICE_6 = 6,
362 
363 #define SPI_TOTAL_COUNT 6
364 
365 typedef enum __attribute__ ((__packed__)) {
366  BMW_e46 = 0,
367  W202 = 1,
368  BMW_e90 = 2,
369  NISSAN_350 = 3,
370  HYUNDAI_PB = 4,
371  HONDA_CIVIC9 = 5,
373 
374 /**
375  * inertia measurement unit, yawn accelerometer
376  * By the way both kinds of BOSCH use Housing : TE 1-967640-1, pins 144969-1 seal 967056-1 plug 967067-2
377  */
378 typedef enum __attribute__ ((__packed__)) {
379  IMU_NONE = 0,
380  IMU_VAG = 1,
381  /**
382  * f037000002
383  * https://github.com/rusefi/rusefi_documentation/blob/master/OEM-Docs/Bosch/Data%20Sheet_68903691_Acceleration_Sensor_MM5.10.pdf
384  */
385  IMU_MM5_10 = 2,
386  IMU_TYPE_3 = 3,
387  IMU_TYPE_4 = 4,
388  /**
389  * Mercedes pn: A 006 542 26 18
390  * Almost the same as BOSCH above, but XY only and different CAN IDs
391  */
392  IMU_TYPE_MB_A0065422618 = 5,
394 
395 typedef enum __attribute__ ((__packed__)) {
396  ES_BPSX_D1 = 0,
397  /**
398  * same as innovate LC2
399  * 0v->7.35afr, 5v->22.39
400  */
401  ES_Innovate_MTX_L = 1,
402  /**
403  * Same as AEM
404  * 0v->10.0afr
405  * 5v->20.0afr
406  */
407  ES_14Point7_Free = 2,
408 
409  ES_PLX = 4,
410 
411  ES_Custom = 5,
412 
413  ES_AEM = 6,
414 
416 
417 typedef enum __attribute__ ((__packed__)) {
418  MT_CUSTOM = 0,
419  MT_DENSO183 = 1,
420  /**
421  * 20 to 250 kPa (2.9 to 36.3 psi) 0.2 to 4.9 V OUTPUT
422  */
423  MT_MPX4250 = 2,
424  MT_HONDA3BAR = 3,
425  MT_DODGE_NEON_2003 = 4,
426  /**
427  * 22012AA090
428  */
429  MT_SUBY_DENSO = 5,
430  /**
431  * 16040749
432  */
433  MT_GM_3_BAR = 6,
434 
435  /**
436  * 20 to 105 kPa (2.9 to 15.2 psi) 0.3 to 4.9 V Output
437  */
438  MT_MPX4100 = 7,
439 
440  /**
441  * http://rusefi.com/forum/viewtopic.php?f=3&t=906&p=18976#p18976
442  * Toyota 89420-02010
443  */
444  MT_TOYOTA_89420_02010 = 8,
445 
446  /**
447  * 20 to 250 kPa (2.9 to 36.3 psi) 0.25 to 4.875 OUTPUT
448  * More precise calibration data for new NXP sensor revisions MPX4250A and MPXA4250A.
449  * For an old Freescale MPX4250D use "MT_MPX4250".
450  * See https://www.nxp.com/docs/en/data-sheet/MPX4250A.pdf
451  */
452  MT_MPX4250A = 9,
453 
454 
455  /**
456  * Bosch 2.5 Bar TMap Map Sensor with IAT
457  * 20 kPa at 0.40V, 250 kPa at 4.65V
458  * 4 pin:
459  * Pin 1 : Sensor Ground
460  * Pin 2 : Temp Signal
461  * Pin 3 : 5v
462  * Pin 4 : Map Signal
463  * Volkswagen Passat B6
464  */
465 
466  MT_BOSCH_2_5 = 10,
467 
468  MT_MAZDA_1_BAR = 11,
469 
470  MT_GM_2_BAR = 12,
471 
472  MT_GM_1_BAR = 13,
473 
474  /**
475  * 4 bar
476  */
477  MT_MPXH6400 = 14,
478  /**
479  * 3 bar
480  */
481  MT_MPXH6300 = 15,
482 
484 
485 typedef enum __attribute__ ((__packed__)) {
486  SC_OFF = 0,
487  /**
488  * You would use this value if you want to see a detailed graph of your trigger events
489  */
490  SC_TRIGGER = 1,
491  // unused 2
492  SC_RPM_ACCEL = 3,
493  SC_DETAILED_RPM = 4,
494  SC_AUX_FAST1 = 5,
495 
497 
498 typedef enum {
499  REVERSE = -1,
500  NEUTRAL = 0,
501  GEAR_1 = 1,
502  GEAR_2 = 2,
503  GEAR_3 = 3,
504  GEAR_4 = 4,
505 
506 } gear_e;
507 
508 typedef enum __attribute__ ((__packed__)) {
509  CUSTOM = 0,
510  Bosch0280218037 = 1,
511  Bosch0280218004 = 2,
512  DensoTODO = 3,
513 
515 
516 typedef enum __attribute__ ((__packed__)) {
517  /**
518  * This is the default mode in which ECU controls timing dynamically
519  */
520  TM_DYNAMIC = 0,
521  /**
522  * Fixed timing is useful while you are playing with a timing gun - you need to have fixed
523  * timing if you want to install your distributor at some specific angle
524  */
525  TM_FIXED = 1,
526 
528 
529 /**
530  * Net Body Computer types
531  */
532 typedef enum __attribute__ ((__packed__)) {
533  CAN_BUS_NBC_NONE = 0,
534  CAN_BUS_NBC_FIAT = 1,
535  CAN_BUS_NBC_VAG = 2,
536  CAN_BUS_MAZDA_RX8 = 3,
537  CAN_BUS_BMW_E46 = 4,
538  CAN_BUS_W202_C180 = 5,
539  CAN_BUS_BMW_E90 = 6,
540  CAN_BUS_Haltech = 7,
541  CAN_BUS_MQB = 8,
542  CAN_BUS_NISSAN_VQ = 9,
543  CAN_BUS_GENESIS_COUPE = 10,
544  CAN_BUS_HONDA_K = 11,
545  CAN_AIM_DASH = 12,
546  CAN_BUS_MS_SIMPLE_BROADCAST = 13,
547 
549 
550 typedef enum __attribute__ ((__packed__)) {
551  TCHARGE_MODE_RPM_TPS = 0,
552  TCHARGE_MODE_AIR_INTERP = 1,
553  TCHARGE_MODE_AIR_INTERP_TABLE = 2,
554 
556 
557 typedef enum __attribute__ ((__packed__)) {
558  INIT = 0,
559  TPS_THRESHOLD = 1,
560  RPM_DEAD_ZONE = 2,
561  PID_VALUE = 4,
562  PID_UPPER = 16,
563  BLIP = 64,
564 
566 
567 // todo: should this be just a boolean?
568 typedef enum __attribute__ ((__packed__)) {
569  OPEN_LOOP = 0,
570  CLOSED_LOOP = 1,
571 
573 
574 typedef enum __attribute__ ((__packed__)) {
575  SWITCH_INPUT_LAUNCH = 0,
576  CLUTCH_INPUT_LAUNCH = 1,
577  ALWAYS_ACTIVE_LAUNCH = 2,
578  STOP_INPUT_LAUNCH = 3,
580 
581 typedef enum __attribute__ ((__packed__)) {
582  SWITCH_INPUT_ANTILAG = 0,
583  ALWAYS_ON_ANTILAG = 1,
585 
586 typedef enum __attribute__ ((__packed__)) {
587  GPPWM_Zero = 0,
588  GPPWM_Tps = 1,
589  GPPWM_Map = 2,
590  GPPWM_Clt = 3,
591  GPPWM_Iat = 4,
592  GPPWM_FuelLoad = 5,
593  GPPWM_IgnLoad = 6,
594  GPPWM_AuxTemp1 = 7,
595  GPPWM_AuxTemp2 = 8,
596  GPPWM_AccelPedal = 9,
597  GPPWM_Vbatt = 10,
598  GPPWM_VVT_1I = 11,
599  GPPWM_VVT_1E = 12,
600  GPPWM_VVT_2I = 13,
601  GPPWM_VVT_2E = 14,
602  GPPWM_EthanolPercent = 15,
603  GPPWM_AuxLinear1 = 16,
604  GPPWM_AuxLinear2 = 17,
605  GPPWM_GppwmOutput1 = 18,
606  GPPWM_GppwmOutput2 = 19,
607  GPPWM_GppwmOutput3 = 20,
608  GPPWM_GppwmOutput4 = 21,
609  GPPWM_LuaGauge1 = 22,
610  GPPWM_LuaGauge2 = 23,
611  GPPWM_Rpm = 24,
612  GPPWM_DetectedGear = 25,
613  GPPWM_BaroPressure = 26,
615 
616 typedef enum __attribute__ ((__packed__)) {
617  B50KBPS = 0, // 50kbps
618  B83KBPS = 1, // 83.33kbps
619  B100KBPS = 2, // 100kbps
620  B125KBPS = 3, // 125kbps
621  B250KBPS = 4, // 250kbps
622  B500KBPS = 5, // 500kbps
623  B1MBPS = 6, // 1Mbps
625 
626 typedef enum __attribute__ ((__packed__)) {
627  GPPWM_GreaterThan = 0,
628  GPPWM_LessThan = 1,
630 
631 typedef enum __attribute__ ((__packed__)) {
632  VE_None = 0,
633  VE_MAP = 1,
634  VE_TPS = 2,
636 
637 typedef enum __attribute__ ((__packed__)) {
638  AFR_None = 0,
639  AFR_MAP = 1,
640  AFR_Tps = 2,
641  AFR_AccPedal = 3,
642  AFR_CylFilling = 4,
644 
645 typedef enum __attribute__ ((__packed__)) {
646  DC_None = 0,
647  DC_Throttle1 = 1,
648  DC_Throttle2 = 2,
649  // this is about SINGLE DC-motor idle valve like 90s volkswagen/earlier M111 engines
650  // NOT to be used in dual H-bridge stepper control
651  DC_IdleValve = 3,
652  DC_Wastegate = 4,
654 
655 typedef enum __attribute__ ((__packed__)) {
656  STEPPER_FULL = 0,
657  STEPPER_HALF = 2,
658  STEPPER_FOURTH = 4,
659  STEPPER_EIGHTH = 8,
661 
662 typedef enum __attribute__ ((__packed__)) {
663  IPT_Low = 0,
664  IPT_High = 1,
666 
667 typedef enum __attribute__ ((__packed__)) {
668  ICM_None = 0,
669  ICM_FixedRailPressure = 1,
670  ICM_SensedRailPressure = 2,
672 
673 typedef enum __attribute__ ((__packed__)) {
674  FPM_Absolute = 0,
675  FPM_Gauge = 1,
676  FPM_Differential = 2,
678 
679 typedef enum __attribute__ ((__packed__)) {
680  INJ_None = 0,
681  INJ_PolynomialAdder = 1,
682  INJ_FordModel = 2,
684 
685 typedef enum __attribute__ ((__packed__)) {
686  HPFP_CAM_NONE = 0,
687  HPFP_CAM_IN1 = 1,
688  HPFP_CAM_EX1 = 2,
689  HPFP_CAM_IN2 = 3,
690  HPFP_CAM_EX2 = 4,
692 
693 #if __cplusplus
694 #include <cstdint>
695 
696 enum class TsCalMode : uint8_t {
697  None = 0,
698  Tps1Max = 1,
699  Tps1Min = 2,
700  EtbKp = 3,
701  EtbKi = 4,
702  EtbKd = 5,
703  Tps1SecondaryMax = 6,
704  Tps1SecondaryMin = 7,
705  Tps2Max = 8,
706  Tps2Min = 9,
707  Tps2SecondaryMax = 10,
708  Tps2SecondaryMin = 11,
709  PedalMin = 12,
710  PedalMax = 13,
711 };
712 
713 enum class GearControllerMode : uint8_t {
714  None = 0,
715  ButtonShift = 1,
716  Automatic = 2,
717  Generic = 3,
718 };
719 
720 enum class TransmissionControllerMode : uint8_t {
721  None = 0,
723  Generic4 = 2,
724  Gm4l6x = 3,
725 };
726 
727 enum class InjectionTimingMode : uint8_t {
728  End = 0,
729  Start = 1,
730  Center = 2,
731 };
732 
733 enum class SelectedGear : uint8_t {
734  Invalid = 0,
735  ManualPlus = 1,
736  ManualMinus = 2,
737  Park = 3,
738  Reverse = 4,
739  Neutral = 5,
740  Drive = 6,
741  Manual = 7,
742  Manual3 = 8,
743  Manual2 = 9,
744  Manual1 = 10,
745  Low = 11,
746 };
747 
748 #define SC_Exhaust_First 1
749 
750 #endif // __cplusplus
@ Invalid
Standard and custom OBD-II error codes.
TsCalMode
Definition: rusefi_enums.h:696
@ Tps1SecondaryMax
@ Tps2SecondaryMax
@ Tps2SecondaryMin
@ Tps1SecondaryMin
idle_state_e
Definition: rusefi_enums.h:565
ve_override_e
Definition: rusefi_enums.h:635
MsIoBoxVss
Definition: rusefi_enums.h:207
launchActivationMode_e
Definition: rusefi_enums.h:579
InjectorNonlinearMode
Definition: rusefi_enums.h:683
boostType_e
Definition: rusefi_enums.h:572
MsIoBoxId
Definition: rusefi_enums.h:200
idle_mode_e
Definition: rusefi_enums.h:185
tle8888_mode_e
Definition: rusefi_enums.h:160
gear_e
Definition: rusefi_enums.h:498
@ GEAR_2
Definition: rusefi_enums.h:502
@ REVERSE
Definition: rusefi_enums.h:499
@ GEAR_1
Definition: rusefi_enums.h:501
@ GEAR_4
Definition: rusefi_enums.h:504
@ NEUTRAL
Definition: rusefi_enums.h:500
@ GEAR_3
Definition: rusefi_enums.h:503
mc33810maxDwellTimer_e
Definition: rusefi_enums.h:170
ignition_mode_e
Definition: rusefi_enums.h:305
vvt_mode_e
Definition: rusefi_enums.h:120
stepper_num_micro_steps_e
Definition: rusefi_enums.h:660
gppwm_channel_e
Definition: rusefi_enums.h:614
air_pressure_sensor_type_e
Definition: rusefi_enums.h:483
engine_load_mode_e
Definition: rusefi_enums.h:144
dc_function_e
Definition: rusefi_enums.h:653
ego_sensor_e
Definition: rusefi_enums.h:415
load_override_e
Definition: rusefi_enums.h:643
injector_pressure_type_e
Definition: rusefi_enums.h:665
injector_compensation_mode_e
Definition: rusefi_enums.h:671
SentEtbType
Definition: rusefi_enums.h:187
operation_mode_e
Definition: rusefi_enums.h:247
@ FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR
Definition: rusefi_enums.h:268
@ FOUR_STROKE_TWELVE_TIMES_CRANK_SENSOR
Definition: rusefi_enums.h:278
@ FOUR_STROKE_THREE_TIMES_CRANK_SENSOR
Definition: rusefi_enums.h:273
@ FOUR_STROKE_CRANK_SENSOR
Definition: rusefi_enums.h:254
@ OM_NONE
Definition: rusefi_enums.h:248
@ FOUR_STROKE_CAM_SENSOR
Definition: rusefi_enums.h:258
@ TWO_STROKE
Definition: rusefi_enums.h:262
@ FOUR_STROKE_SIX_TIMES_CRANK_SENSOR
Definition: rusefi_enums.h:283
uart_device_e
Definition: rusefi_enums.h:339
InjectionTimingMode
Definition: rusefi_enums.h:727
can_vss_nbc_e
Definition: rusefi_enums.h:372
CanGpioType
Definition: rusefi_enums.h:194
spi_device_e
Definition: rusefi_enums.h:361
pin_input_mode_e
Definition: rusefi_enums.h:240
fuel_pressure_sensor_mode_e
Definition: rusefi_enums.h:677
hpfp_cam_e
Definition: rusefi_enums.h:691
can_baudrate_e
Definition: rusefi_enums.h:624
gppwm_compare_mode_e
Definition: rusefi_enums.h:629
antiLagActivationMode_e
Definition: rusefi_enums.h:584
injection_mode_e
Definition: rusefi_enums.h:331
display_mode_e
Definition: rusefi_enums.h:152
timing_mode_e
Definition: rusefi_enums.h:527
sensor_chart_e
Definition: rusefi_enums.h:496
spi_speed_e
Definition: rusefi_enums.h:346
SelectedGear
Definition: rusefi_enums.h:733
can_nbc_e
Definition: rusefi_enums.h:548
brain_pin_diag_e
Definition: rusefi_enums.h:43
UiMode
Definition: rusefi_enums.h:214
@ INSTALLATION
TriggerWheel
Definition: rusefi_enums.h:47
imu_type_e
Definition: rusefi_enums.h:393
TransmissionControllerMode
Definition: rusefi_enums.h:720
maf_sensor_type_e
Definition: rusefi_enums.h:514
enum __attribute__((__packed__))
Ignition Mode.
Definition: rusefi_enums.h:33
pin_output_mode_e
Definition: rusefi_enums.h:234
tChargeMode_e
Definition: rusefi_enums.h:555
GearControllerMode
Definition: rusefi_enums.h:713