rusefi-1/firmware/controllers/algo/firing_order.h

57 lines
1.1 KiB
C
Raw Normal View History

2016-07-20 16:04:27 -07:00
/*
* @file firing_order.h
*
* @date Jul 20, 2016
2017-01-03 03:05:22 -08:00
* @author Andrey Belomutskiy, (c) 2012-2017
2016-07-20 16:04:27 -07:00
*/
#ifndef CONTROLLERS_ALGO_FIRING_ORDER_H_
#define CONTROLLERS_ALGO_FIRING_ORDER_H_
// for now I want most enums to be 32 bit integers. At some point maybe we will make the one-byte
// this is about offsets and sizes in TunerStudio
#define ENUM_32_BITS 2000000000
typedef enum {
FO_1 = 0,
// 2 cylinder
FO_1_2 = 8,
// 3 cylinder
FO_1_2_3 = 10,
// 4 cylinder
2016-12-18 07:02:38 -08:00
FO_1_3_4_2 = 1, // typical inline 4
2016-07-20 16:04:27 -07:00
FO_1_2_4_3 = 2,
2016-12-18 07:02:38 -08:00
FO_1_3_2_4 = 3, // for example horizontally opposed engine
2017-02-07 22:03:36 -08:00
2016-07-20 16:04:27 -07:00
// 5 cylinder
FO_1_2_4_5_3 = 6,
// 6 cylinder
FO_1_5_3_6_2_4 = 4,
FO_1_4_2_5_3_6 = 7,
FO_1_2_3_4_5_6 = 9,
2017-01-12 21:03:30 -08:00
FO_1_6_3_2_5_4 = 13, // EG33
2016-07-20 16:04:27 -07:00
2017-02-07 22:03:36 -08:00
// 8 cylinder
FO_1_8_4_3_6_5_7_2 = 5,
FO_1_8_7_2_6_5_4_3 = 11,
FO_1_5_4_2_6_3_7_8 = 12,
// 10 cylinder
FO_1_10_9_4_3_6_5_8_7_2 = 14, // dodge and viper ram v10
// 12 cylinder
FO_1_7_5_11_3_9_6_12_2_8_4_10 = 15, // bmw M70 etc
2017-06-08 17:35:42 -07:00
FO_1_7_4_10_2_8_6_12_3_9_5_11 = 16, // lamborghini, typical rusEfi use-case
2017-02-07 22:03:36 -08:00
// max used = 15
2016-07-20 16:04:27 -07:00
Force_4b_firing_order = ENUM_32_BITS,
} firing_order_e;
#endif /* CONTROLLERS_ALGO_FIRING_ORDER_H_ */