rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
hellen_meta.h
Go to the documentation of this file.
1/*
2 * hellen_meta.h
3 *
4 * @date Oct 2, 2021
5 * @author Andrey Belomutskiy, (c) 2012-2021
6 */
7
8#pragma once
9#include "hellen_mm64_meta.h"
10#include "hellen_mm100_meta.h"
11#include "hellen_mm176_meta.h"
12
13// stm32 UART8
14#define H144_UART8_RX E0
15#define H144_UART8_TX E1
16
17// stm32 UART2
18#define H144_UART2_RX D6
19#define H144_UART2_TX D5
20
21#define H144_LED1_RED Gpio::G0
22#define H144_LED2_GREEN Gpio::G1
23#define H144_LED3_BLUE Gpio::E7
24#define H144_LED4_YELLOW Gpio::E8
25
26#define H144_USB1ID Gpio::A10
27
28#define H176_MCU_MEGA_LED1_RED Gpio::G0
29
30#define H144_LS_1 G7
31#define H144_LS_2 G8
32#define H144_LS_3 D11
33#define H144_LS_4 D10
34#define H144_LS_5 D9
35#define H144_LS_6 F12
36#define H144_LS_7 F13
37#define H144_LS_8 F14
38
39#define H144_IGN_1 C13
40#define H144_IGN_2 E5
41#define H144_IGN_3 E4
42#define H144_IGN_4 E3
43#define H144_IGN_5 E2
44#define H144_IGN_6 B8
45#define H144_IGN_7 B9
46#define H144_IGN_8 E6
47
48#define H176_IGN_1 Gpio::I8
49#define H176_IGN_2 Gpio::E5
50#define H176_IGN_3 Gpio::E4
51#define H176_IGN_4 Gpio::E3
52#define H176_IGN_5 Gpio::E2
53
54#define H144_OUT_PWM1 D13
55#define H144_OUT_PWM2 C6
56#define H144_OUT_PWM3 C7
57#define H144_OUT_PWM4 C8
58#define H144_OUT_PWM5 C9
59#define H144_OUT_PWM6 D14
60#define H144_OUT_PWM7 D15
61#define H144_OUT_PWM8 D12
62
63
64// also IO1/IO5 on non-mega rev 0.6
65#define H144_GP_IO1 D4
66// also IO2/IO5 on non-mega rev 0.6
67#define H144_GP_IO2 D7
68#define H144_GP_IO3 G10
69#define H144_GP_IO4 G9
70#define H144_GP_IO5 G15
71#define H144_GP_IO6 D8
72#define H144_GP_IO7 F15
73// OUT_PWM_EN on kicad symbol
74#define H144_GP8 Gpio::E10
75#define H144_GP9 Gpio::F2
76
77#define H144_OUT_IO1 D3
78// TIM1_CH2
79#define H144_OUT_IO2 A9
80#define H144_OUT_IO3 G14
81#define H144_OUT_IO4 G5
82#define H144_OUT_IO5 D2
83#define H144_OUT_IO6 G11
84#define H144_OUT_IO7 G3
85#define H144_OUT_IO8 G4
86#define H144_OUT_IO9 G13
87#define H144_OUT_IO10 G12
88#define H144_OUT_IO11 G2
89// TIM1_CH1
90#define H144_OUT_IO12 A8
91#define H144_OUT_IO13 G6
92
93// A24
94#define H144_IN_CRANK B1
95#define H144_IN_CRANK_ANALOG EFI_ADC_9
96// A19
97#define H144_IN_CAM A6
98#define H144_IN_CAM_ANALOG EFI_ADC_6
99// DIN5
100#define H144_IN_VSS F11
101
102// IN_CLT AIN11 PC2
103#define H144_IN_CLT EFI_ADC_12
104#define H144_IN_AT2 EFI_ADC_28
105// IN_IAT AIN14 PC3
106#define H144_IN_IAT EFI_ADC_13
107#define H144_IN_IAT_DIGITAL C3
108#define H144_IN_AT1 EFI_ADC_29
109
110// IN_PPS AIN18 PA3
111#define H144_IN_PPS EFI_ADC_3
112// IN_TPS AIN17 PA4
113#define H144_IN_TPS EFI_ADC_4
114// VIGN PA5
115#define H144_IN_VBATT EFI_ADC_5
116
117// muxed
118// 3+16
119#define H144_IN_PPS2 EFI_ADC_19
120// 4+16
121#define H144_IN_TPS2 EFI_ADC_20
122
123// IN_MAP1 AIN9 PC0
124#define H144_IN_MAP1 EFI_ADC_10
125#define H144_IN_MAP1_DIGITAL C0
126// AIN10 PC1
127#define H144_IN_MAP2 EFI_ADC_11
128#define H144_IN_MAP2_DIGITAL C1
129// AIN15 A15 PA2. Also ADC3#2 for knock
130#define H144_IN_MAP3 EFI_ADC_2
131#define H144_IN_MAP3_DIGITAL A2
132
133// AIN7
134#define H144_IN_RES1 F9
135
136// AIN16
137#define H144_IN_RES2 F10
138#define H144_ADC_IN_RES2 ADC_CHANNEL_IN8
139
140// AIN8
141#define H144_IN_RES3 F8
142#define H144_ADC_IN_RES3 ADC_CHANNEL_IN6
143
144
145#define H144_IN_AUX1_ANALOG EFI_ADC_8
146#define H144_IN_AUX1_DIGITAL B0
147#define H144_IN_AUX2_ANALOG EFI_ADC_14
148// fun fact: same input goes to TWO stm32 pins so that we can use it both as analog and ICU capture
149//#define H144_IN_AUX2_DIGITAL C4
150// TIM1_CH1
151#define H144_IN_AUX2_DIGITAL E9
152
153// AIN20 PA7
154#define H144_IN_AUX3_ANALOG EFI_ADC_7
155#define H144_IN_AUX3_DIGITAL A7
156// mega-mcu aux3/4 is flipped comparing to H144_ORIGINAL_MCU_IN_D_AUX4
157// AIN22 PC5
158#define H144_IN_AUX4_ANALOG EFI_ADC_15
159#define H144_IN_AUX4_DIGITAL C5
160
161// A1 AIN1 no code to use ADC3 as analog, ADC3_IN9 for knock
162#define H144_IN_SENS1 F3
163// A2 AIN2 no code to use ADC3 as analog, ADC3_IN14 for knock
164#define H144_IN_SENS2 F4
165// A3 AIN3 no code to use ADC3 as analog, ADC3_IN15 for knock
166#define H144_IN_SENS3 F5
167// A4 AIN4 no code to use ADC3 as analog, ADC3_IN4 for knock
168#define H144_IN_SENS4 F6
169
170// IN_O2S AIN13 A13 PA0
171#define H144_IN_O2S EFI_ADC_0
172#define H144_IN_O2S_DIGITAL A0
173// IN_O2S2 AIN12 PA1, also ADC3#1
174#define H144_IN_O2S2 EFI_ADC_1
175#define H144_IN_O2S2_DIGITAL A1
176
177// same pin was used by IN_DIG8 before mega-mcu
178#define H144_IN_D_1 E12
179// same pin was used by IN_DIG9 before mega-mcu
180#define H144_IN_D_2 E13
181// same pin was used by IN_DIG10 before mega-mcu
182#define H144_IN_D_3 E14
183// same pin was used by IN_DIG11 before mega-mcu
184#define H144_IN_D_4 E15
185
186// A22
187#define H144_ORIGINAL_MCU_IN_D_AUX3 C5
188#define H144_ORIGINAL_MCU_IN_D_AUX3_ANALOG EFI_ADC_15
189// it's a MESS see also H144_IN_AUX4_DIGITAL
190// A20 AIN20
191#define H144_ORIGINAL_MCU_IN_D_AUX4 A7
192
193// CAN
194#define H144_CAN_RX Gpio::D0
195#define H144_CAN_TX Gpio::D1
196
197// same pins 144 and 176
198#define H176_CAN_RX H144_CAN_RX
199#define H176_CAN_TX H144_CAN_TX
200
201#define H176_IN_A16 Gpio::F10
202
203#define H_SPI1_MOSI B5
204#define H_SPI1_MISO B4
205#define H_SPI1_SCK B3
206#define H_SPI1_CS1 B6
207#define H_SPI1_CS2 B7
208
209// looks like same pins 144 and 176
210#define H_SPI2_MOSI Gpio::B15
211#define H_SPI2_MISO Gpio::B14
212#define H_SPI2_SCK Gpio::B13
213#define H_SPI2_CS Gpio::B12
214
215#define H_SPI3_MOSI Gpio::C12
216#define H_SPI3_MISO Gpio::C11
217#define H_SPI3_SCK Gpio::C10
218#define H_SPI3_CS Gpio::A15
219
220#include "hellen_logic.h"