rusEFI
An attempt to build an Engine Control Unit
rusefi_hw_enums.h
Go to the documentation of this file.
1 /*
2  * @file config/boards/kinetis/rusefi_hw_enums.h
3  *
4  * @date Jun 2, 2019
5  * @author Andrey Belomutskiy, (c) 2012-2020
6  * @author andreika <prometheus.pcb@gmail.com>
7  */
8 
9 #pragma once
10 
11 // todo: migrate/unify with pin_output_mode_e? rename? something is messy here
12 // this enum is currently only used for SPI pins
13 typedef enum __attribute__ ((__packed__)) {
14 // todo: here we have a rare example of stm32-specific enum, todo: make this not stm32 specific?
15  PO_DEFAULT = 0,
16  PO_OPENDRAIN = 4, // PAL_STM32_OTYPE_OPENDRAIN
17  PO_PULLUP = 32, // PAL_STM32_PUDR_PULLUP
18  PO_PULLDOWN = 64 // PAL_STM32_PUPDR_PULLDOWN
20 
21 /**
22  * Hardware pin. This enum is platform-specific.
23  */
24 enum class Gpio : uint16_t {
25  Unassigned = 0,
26  Invalid = 1,
27 
28  A0 = 2,
29  A1 = 3,
30  A2 = 4,
31  A3 = 5,
32  A4 = 6,
33  A5 = 7,
34  A6 = 8,
35  A7 = 9,
36  A8 = 10,
37  A9 = 11,
38  A10 = 12,
39  A11 = 13,
40  A12 = 14,
41  A13 = 15,
42  A14 = 16,
43  A15 = 17,
44 
45  B0 = 18,
46  B1 = 19,
47  B2 = 20,
48  B3 = 21,
49  B4 = 22,
50  B5 = 23,
51  B6 = 24,
52  B7 = 25,
53  B8 = 26,
54  B9 = 27,
55  B10 = 28,
56  B11 = 29,
57  B12 = 30,
58  B13 = 31,
59  B14 = 32,
60  B15 = 33,
61 
62  C0 = 34,
63  C1 = 35,
64  C2 = 36,
65  C3 = 37,
66  C4 = 38,
67  C5 = 39,
68  C6 = 40,
69  C7 = 41,
70  C8 = 42,
71  C9 = 43,
72  C10 = 44,
73  C11 = 45,
74  C12 = 46,
75  C13 = 47,
76  C14 = 48,
77  C15 = 49,
78 
79  D0 = 50,
80  D1 = 51,
81  D2 = 52,
82  D3 = 53,
83  D4 = 54,
84  D5 = 55,
85  D6 = 56,
86  D7 = 57,
87  D8 = 58,
88  D9 = 59,
89  D10 = 60,
90  D11 = 61,
91  D12 = 62,
92  D13 = 63,
93  D14 = 64,
94  D15 = 65,
95 
96  E0 = 66,
97  E1 = 67,
98  E2 = 68,
99  E3 = 69,
100  E4 = 70,
101  E5 = 71,
102  E6 = 72,
103  E7 = 73,
104  E8 = 74,
105  E9 = 75,
106  E10 = 76,
107  E11 = 77,
108  E12 = 78,
109  E13 = 79,
110  E14 = 80,
111  E15 = 81,
112 
113  F0 = 82,
114  F1 = 83,
115  F2 = 84,
116  F3 = 85,
117  F4 = 86,
118  F5 = 87,
119  F6 = 88,
120  F7 = 89,
121  F8 = 90,
122  F9 = 91,
123  F10 = 92,
124  F11 = 93,
125  F12 = 94,
126  F13 = 95,
127  F14 = 96,
128  F15 = 97,
129 
130  G0 = 98,
131  G1 = 99,
132  G2 = 100,
133  G3 = 101,
134  G4 = 102,
135  G5 = 103,
136  G6 = 104,
137  G7 = 105,
138  G8 = 106,
139  G9 = 107,
140  G10 = 108,
141  G11 = 109,
142  G12 = 110,
143  G13 = 111,
144  G14 = 112,
145  G15 = 113,
146 
147  H0 = 114,
148  H1 = 115,
149  H2 = 116,
150  H3 = 117,
151  H4 = 118,
152  H5 = 119,
153  H6 = 120,
154  H7 = 121,
155  H8 = 122,
156  H9 = 123,
157  H10 = 124,
158  H11 = 125,
159  H12 = 126,
160  H13 = 127,
161  H14 = 128,
162  H15 = 129,
163 
164  I0 = 130,
165  I1 = 131,
166  I2 = 132,
167  I3 = 133,
168  I4 = 134,
169  I5 = 135,
170  I6 = 136,
171  I7 = 137,
172  I8 = 138,
173  I9 = 139,
174  I10 = 140,
175  I11 = 141,
176  I12 = 142,
177  I13 = 143,
178  I14 = 144,
179  I15 = 145,
180 
181  J0 = 146,
182  J1 = 147,
183  J2 = 148,
184  J3 = 149,
185  J4 = 150,
186  J5 = 151,
187  J6 = 152,
188  J7 = 153,
189  J8 = 154,
190  J9 = 155,
191  J10 = 156,
192  J11 = 157,
193  J12 = 158,
194  J13 = 159,
195  J14 = 160,
196  J15 = 161,
197 
198  K0 = 162,
199  K1 = 163,
200  K2 = 164,
201  K3 = 165,
202  K4 = 166,
203  K5 = 167,
204  K6 = 168,
205  K7 = 169,
206  K8 = 170,
207  K9 = 171,
208  K10 = 172,
209  K11 = 173,
210  K12 = 174,
211  K13 = 175,
212  K14 = 176,
213  K15 = 177,
214 
215  DRV8860_PIN_1 = 178,
216  DRV8860_PIN_2 = 179,
217  DRV8860_PIN_3 = 180,
218  DRV8860_PIN_4 = 181,
219  DRV8860_PIN_5 = 182,
220  DRV8860_PIN_6 = 183,
221  DRV8860_PIN_7 = 184,
222  DRV8860_PIN_8 = 185,
223  DRV8860_PIN_9 = 186,
224  DRV8860_PIN_10 = 187,
225  DRV8860_PIN_11 = 188,
226  DRV8860_PIN_12 = 189,
227  DRV8860_PIN_13 = 190,
228  DRV8860_PIN_14 = 191,
229  DRV8860_PIN_15 = 192,
230  DRV8860_PIN_16 = 193,
231 
232  CAN_PIN_0 = 250,
233  CAN_PIN_1 = 251,
234  CAN_PIN_2 = 252,
235  CAN_PIN_3 = 253,
236  CAN_PIN_4 = 254,
237  CAN_PIN_5 = 255,
238  CAN_PIN_6 = 256,
239  CAN_PIN_7 = 257,
240 };
241 
242 /* Plase keep updating this defines */
243 #define BRAIN_PIN_ONCHIP_LAST Gpio::K15
244 #define BRAIN_PIN_ONCHIP_PINS (BRAIN_PIN_ONCHIP_LAST - Gpio::A0 + 1)
245 #define BRAIN_PIN_LAST Gpio::DRV8860_PIN_16
246 #define BRAIN_PIN_TOTAL_PINS (BRAIN_PIN_LAST - Gpio::A0 + 1)
247 
248 typedef enum __attribute__ ((__packed__)) {
249  EFI_ADC_NONE = 0,
250 
251  EFI_ADC_0 = 1,
252  EFI_ADC_1 = 2,
253  EFI_ADC_2 = 3,
254  EFI_ADC_3 = 4,
255  EFI_ADC_4 = 5,
256  EFI_ADC_5 = 6,
257  EFI_ADC_6 = 7,
258  EFI_ADC_7 = 8,
259  EFI_ADC_8 = 9,
260  EFI_ADC_9 = 10,
261  EFI_ADC_10 = 11,
262  EFI_ADC_11 = 12,
263  EFI_ADC_12 = 13,
264  EFI_ADC_13 = 14,
265  EFI_ADC_14 = 15,
266  EFI_ADC_15 = 16,
267  EFI_ADC_16 = 17,
268  EFI_ADC_17 = 18,
269  EFI_ADC_18 = 19,
270  EFI_ADC_19 = 20,
271  EFI_ADC_20 = 21,
272  EFI_ADC_21 = 22,
273  EFI_ADC_22 = 23,
274  EFI_ADC_23 = 24,
275  EFI_ADC_24 = 25,
276  EFI_ADC_25 = 26,
277  EFI_ADC_26 = 27,
278  EFI_ADC_27 = 28,
279  EFI_ADC_28 = 29,
280  EFI_ADC_29 = 30,
281  EFI_ADC_30 = 31,
282  EFI_ADC_31 = 32,
283  EFI_ADC_LAST_CHANNEL = 33, // Please keep this in sync with the last valid channel index!
284 
285  EFI_ADC_ERROR = 50,
Gpio::B15
@ B15
Gpio::DRV8860_PIN_10
@ DRV8860_PIN_10
Gpio::G2
@ G2
Gpio::C15
@ C15
Gpio::I5
@ I5
Gpio::J11
@ J11
Gpio::K2
@ K2
Gpio::J2
@ J2
Gpio::H10
@ H10
Gpio::DRV8860_PIN_8
@ DRV8860_PIN_8
Gpio::C2
@ C2
Gpio::F10
@ F10
Gpio::H9
@ H9
Gpio::D14
@ D14
Gpio::D13
@ D13
Gpio::G1
@ G1
Gpio::E3
@ E3
Gpio::DRV8860_PIN_5
@ DRV8860_PIN_5
Gpio::I14
@ I14
Gpio::CAN_PIN_7
@ CAN_PIN_7
Gpio::K5
@ K5
Gpio::F5
@ F5
Gpio
Gpio
Definition: rusefi_hw_enums.h:24
Gpio::K3
@ K3
Gpio::C7
@ C7
Gpio::G9
@ G9
Gpio::J8
@ J8
Gpio::B11
@ B11
Gpio::J3
@ J3
Gpio::D1
@ D1
Gpio::K0
@ K0
Gpio::G0
@ G0
Gpio::I2
@ I2
Gpio::CAN_PIN_4
@ CAN_PIN_4
Gpio::I0
@ I0
Gpio::DRV8860_PIN_11
@ DRV8860_PIN_11
Gpio::G7
@ G7
Gpio::B12
@ B12
Gpio::CAN_PIN_3
@ CAN_PIN_3
Gpio::G5
@ G5
Gpio::I3
@ I3
Gpio::E13
@ E13
Gpio::DRV8860_PIN_2
@ DRV8860_PIN_2
Gpio::CAN_PIN_6
@ CAN_PIN_6
Gpio::D15
@ D15
Gpio::DRV8860_PIN_4
@ DRV8860_PIN_4
Gpio::J7
@ J7
Gpio::J6
@ J6
Gpio::H4
@ H4
Gpio::C11
@ C11
Gpio::B9
@ B9
Gpio::B7
@ B7
Gpio::E15
@ E15
Gpio::K8
@ K8
Gpio::H7
@ H7
Gpio::E5
@ E5
Gpio::D10
@ D10
Gpio::D12
@ D12
__attribute__
enum __attribute__((__packed__))
Ignition Mode.
Definition: rusefi_hw_enums.h:13
Gpio::D6
@ D6
Gpio::J12
@ J12
Gpio::DRV8860_PIN_14
@ DRV8860_PIN_14
Gpio::DRV8860_PIN_3
@ DRV8860_PIN_3
Gpio::C6
@ C6
Gpio::D2
@ D2
Gpio::G12
@ G12
Gpio::E0
@ E0
Gpio::J4
@ J4
Gpio::J1
@ J1
Gpio::Unassigned
@ Unassigned
Gpio::K11
@ K11
Gpio::E11
@ E11
Gpio::E6
@ E6
Gpio::E4
@ E4
Gpio::F3
@ F3
Gpio::G4
@ G4
Gpio::A12
@ A12
Gpio::A11
@ A11
Gpio::G3
@ G3
Gpio::B2
@ B2
Gpio::H11
@ H11
Gpio::J10
@ J10
Gpio::H13
@ H13
Gpio::F9
@ F9
Gpio::D4
@ D4
Gpio::G6
@ G6
Gpio::DRV8860_PIN_9
@ DRV8860_PIN_9
Gpio::C14
@ C14
Gpio::J14
@ J14
Gpio::H0
@ H0
Gpio::Invalid
@ Invalid
Gpio::F12
@ F12
Gpio::K10
@ K10
Gpio::J15
@ J15
Gpio::K9
@ K9
Gpio::D9
@ D9
Gpio::F1
@ F1
Gpio::A4
@ A4
Gpio::A1
@ A1
Gpio::G10
@ G10
Gpio::I7
@ I7
Gpio::A9
@ A9
Gpio::C0
@ C0
Gpio::DRV8860_PIN_6
@ DRV8860_PIN_6
Gpio::CAN_PIN_0
@ CAN_PIN_0
Gpio::C13
@ C13
Gpio::H1
@ H1
Gpio::K14
@ K14
Gpio::CAN_PIN_2
@ CAN_PIN_2
Gpio::I12
@ I12
Gpio::C9
@ C9
Gpio::H2
@ H2
Gpio::G14
@ G14
Gpio::A6
@ A6
Gpio::G8
@ G8
Gpio::DRV8860_PIN_15
@ DRV8860_PIN_15
Gpio::I4
@ I4
Gpio::F6
@ F6
Gpio::A15
@ A15
Gpio::C5
@ C5
Gpio::D5
@ D5
Gpio::CAN_PIN_1
@ CAN_PIN_1
Gpio::C8
@ C8
Gpio::I9
@ I9
Gpio::F14
@ F14
adc_channel_e
adc_channel_e
Definition: rusefi_hw_enums.h:286
Gpio::A10
@ A10
Gpio::F0
@ F0
Gpio::D8
@ D8
Gpio::C10
@ C10
Gpio::C1
@ C1
Gpio::G15
@ G15
Gpio::B3
@ B3
Gpio::DRV8860_PIN_1
@ DRV8860_PIN_1
Gpio::K12
@ K12
Gpio::K15
@ K15
Gpio::B14
@ B14
Gpio::E14
@ E14
Gpio::C4
@ C4
Gpio::K13
@ K13
Gpio::I15
@ I15
Gpio::D11
@ D11
Gpio::K6
@ K6
Gpio::F4
@ F4
Gpio::DRV8860_PIN_16
@ DRV8860_PIN_16
Gpio::D3
@ D3
Gpio::K1
@ K1
Gpio::I8
@ I8
Gpio::A13
@ A13
uint16_t
Gpio::B4
@ B4
Gpio::D0
@ D0
Gpio::B0
@ B0
Gpio::B6
@ B6
Gpio::C3
@ C3
Gpio::A7
@ A7
Gpio::F11
@ F11
Gpio::E10
@ E10
Gpio::G11
@ G11
Gpio::K4
@ K4
Gpio::J9
@ J9
Gpio::J13
@ J13
Gpio::CAN_PIN_5
@ CAN_PIN_5
Gpio::DRV8860_PIN_12
@ DRV8860_PIN_12
Gpio::E9
@ E9
Gpio::DRV8860_PIN_13
@ DRV8860_PIN_13
Gpio::J0
@ J0
Gpio::F7
@ F7
Gpio::B1
@ B1
Gpio::G13
@ G13
Gpio::E8
@ E8
Gpio::B13
@ B13
pin_mode_e
pin_mode_e
Definition: rusefi_hw_enums.h:19
Gpio::DRV8860_PIN_7
@ DRV8860_PIN_7
Gpio::H14
@ H14
Gpio::I1
@ I1
Gpio::A2
@ A2
Gpio::H12
@ H12
Gpio::B10
@ B10
Gpio::C12
@ C12
Gpio::H5
@ H5
Gpio::F2
@ F2
Gpio::A0
@ A0
Gpio::D7
@ D7
Gpio::F13
@ F13
Gpio::I11
@ I11
Gpio::H3
@ H3
Gpio::A8
@ A8
Gpio::I10
@ I10
Gpio::E2
@ E2
Gpio::I13
@ I13
Gpio::K7
@ K7
Gpio::E12
@ E12
Gpio::I6
@ I6
Gpio::A5
@ A5
Gpio::F15
@ F15
Gpio::J5
@ J5
Gpio::B8
@ B8
Gpio::H8
@ H8
Gpio::E7
@ E7
Gpio::F8
@ F8
Gpio::H6
@ H6
Gpio::A3
@ A3
Gpio::A14
@ A14
Gpio::B5
@ B5
Gpio::E1
@ E1
Gpio::H15
@ H15