Skip to content

Commit 4ee9705

Browse files
committed
add board mazduino
1 parent a7ae10d commit 4ee9705

18 files changed

Lines changed: 4648 additions & 3989 deletions

board.mk

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
1-
include $(BOARD_DIR)/firmware/firmware.mk
2-
1+
BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp \
2+
$(BOARD_DIR)/firmware/pinouts.cpp \
33

44
BOARDINC += $(BOARD_DIR)/generated/controllers/generated
55

66
# defines SHORT_BOARD_NAME
77
include $(BOARD_DIR)/meta-info.env
88

9+
DDEFS += -DSTM32F407xx
10+
911
# this would save some flash while being unable to update WBO controller firmware
1012
DDEFS += -DEFI_WIDEBAND_FIRMWARE_UPDATE=FALSE
13+
DDEFS += -DRAM_UNUSED_SIZE=100
1114

1215
# assign critical LED to a non-existent pin if you do not have it on your board
1316
# good old PD14 is still the default value
1417
# DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::I15
18+
19+
# we do not have much Lua RAM, let's drop some fancy functions
20+
DDEFS += -DWITH_LUA_CONSUMPTION=FALSE
21+
DDEFS += -DWITH_LUA_PID=FALSE
22+
DDEFS += -DWITH_LUA_STOP_ENGINE=FALSE

board_commands.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
; todo: fix parsing?
2+
3+
;cmd_set_board_04 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BOARD_ACTION_16_hex@@\x00"
4+
;cmd_set_board_ua4c = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BOARD_ACTION_16_hex@@\x01"
5+
6+
cmd_set_board_04 = "Z\\x00\\x1d\\x00\\x00"
7+
cmd_set_board_ua4c = "Z\\x00\\x1d\\x00\\x01"
8+
cmd_set_board_mazduino_compact = "Z\\x00\\x1d\\x00\\x02"
9+
cmd_set_board_mazduino_mini = "Z\\x00\\x1d\\x00\\x03"

board_config.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
! this file is used to define custom board-specific calibrations
2-
! see also extra.txt for board-specific data points

board_configuration.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "board_overrides.h"
33

44
Gpio getCommsLedPin() {
5-
return Gpio::Unassigned;
5+
return Gpio::B7;
66
}
77

88
Gpio getRunningLedPin() {
@@ -18,30 +18,31 @@ static void customBoardDefaultConfiguration() {
1818
// engineConfiguration->injectionPins[0] = Gpio::F13;
1919
// engineConfiguration->ignitionPins[0] = Gpio::E15;
2020

21-
// engineConfiguration->triggerInputPins[0] = Gpio::B1;
21+
engineConfiguration->triggerInputPins[0] = Gpio::D3;
2222
// engineConfiguration->triggerInputPins[1] = Gpio::Unassigned;
2323

24-
// engineConfiguration->map.sensor.hwChannel = EFI_ADC_3;
25-
26-
// engineConfiguration->clt.adcChannel = EFI_ADC_1;
27-
28-
// engineConfiguration->iat.adcChannel = EFI_ADC_2;
24+
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0;
25+
engineConfiguration->afr.hwChannel = EFI_ADC_1;
26+
// Battery sense on PA2
27+
engineConfiguration->vbattAdcChannel = EFI_ADC_2;
28+
engineConfiguration->tps1_1AdcChannel = EFI_ADC_3;
29+
engineConfiguration->clt.adcChannel = EFI_ADC_4;
30+
engineConfiguration->iat.adcChannel = EFI_ADC_5;
2931

3032

3133
// 5.6k high side/10k low side = 1.56 ratio divider
32-
// engineConfiguration->analogInputDividerCoefficient = 1.56f;
34+
engineConfiguration->analogInputDividerCoefficient = 1.47f;
3335

3436
// 6.34k high side/ 1k low side
3537
// engineConfiguration->vbattDividerCoeff = (6.34 + 1) / 1;
3638

37-
// engineConfiguration->adcVcc = 3.3f;
39+
engineConfiguration->adcVcc = 3.3f;
40+
41+
engineConfiguration->clt.config.bias_resistor = 2490;
42+
engineConfiguration->iat.config.bias_resistor = 2490;
3843

39-
// engineConfiguration->clt.config.bias_resistor = 2490;
40-
// engineConfiguration->iat.config.bias_resistor = 2490;
4144

4245

43-
// Battery sense on PA0
44-
// engineConfiguration->vbattAdcChannel = EFI_ADC_0;
4546
}
4647

4748
void setup_custom_board_overrides() {

board_popular_vehicles.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
commandButton = "0.4 board", cmd_set_board_04
2+
commandButton = "ua4c board", cmd_set_board_ua4c
3+
commandButton = "mazduino compact board", cmd_set_board_mazduino_compact
4+
commandButton = "mazduino mini board", cmd_set_board_mazduino_mini
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// this section was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh integration/config_page_1.txt
2+
// by class com.rusefi.output.CHeaderConsumer
3+
// begin
4+
#pragma once
5+
#include "rusefi_types.h"
6+
// start of page1_s
7+
struct page1_s {
8+
/**
9+
* offset 0
10+
*/
11+
uint16_t highSpeedOffsets[TS_SCATTER_OFFSETS_COUNT] = {};
12+
};
13+
static_assert(sizeof(page1_s) == 256);
14+
15+
// end
16+
// this section was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh integration/config_page_1.txt
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// this section was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh integration/config_page_2.txt
2+
// by class com.rusefi.output.CHeaderConsumer
3+
// begin
4+
#pragma once
5+
#include "rusefi_types.h"
6+
// start of page2_s
7+
struct page2_s {
8+
/**
9+
* units: %
10+
* offset 0
11+
*/
12+
float ltft_table_bank1[VE_LOAD_COUNT][VE_RPM_COUNT] = {};
13+
/**
14+
* units: %
15+
* offset 1024
16+
*/
17+
float ltft_table_bank2[VE_LOAD_COUNT][VE_RPM_COUNT] = {};
18+
};
19+
static_assert(sizeof(page2_s) == 2048);
20+
21+
// end
22+
// this section was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh integration/config_page_2.txt

firmware/firmware.mk

Lines changed: 0 additions & 3 deletions
This file was deleted.

firmware/hardware/board_hw_test.cpp

Lines changed: 0 additions & 19 deletions
This file was deleted.

firmware/pinouts.cpp

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#include "pch.h"
2+
#include "bench_test.h"
3+
#include "flash_main.h"
4+
#include "tunerstudio.h"
5+
6+
static void setBoard_04_pinout() {
7+
engineConfiguration->injectionPins[0] = Gpio::B15;
8+
engineConfiguration->injectionPins[1] = Gpio::B14;
9+
engineConfiguration->injectionPins[2] = Gpio::B12;
10+
engineConfiguration->injectionPins[3] = Gpio::B13;
11+
12+
engineConfiguration->ignitionPins[0] = Gpio::E2;
13+
engineConfiguration->ignitionPins[1] = Gpio::E3;
14+
engineConfiguration->ignitionPins[2] = Gpio::C13;
15+
engineConfiguration->ignitionPins[3] = Gpio::E7;
16+
17+
engineConfiguration->map.sensor.hwChannel = EFI_ADC_3;
18+
engineConfiguration->afr.hwChannel = EFI_ADC_8;
19+
engineConfiguration->vbattAdcChannel = EFI_ADC_4;
20+
engineConfiguration->tps1_1AdcChannel = EFI_ADC_2;
21+
engineConfiguration->clt.adcChannel = EFI_ADC_1;
22+
engineConfiguration->iat.adcChannel = EFI_ADC_0;
23+
}
24+
25+
static void setBoard_ua4c_pinout() {
26+
engineConfiguration->injectionPins[0] = Gpio::B15;
27+
engineConfiguration->injectionPins[1] = Gpio::D8;
28+
engineConfiguration->injectionPins[2] = Gpio::D9;
29+
engineConfiguration->injectionPins[3] = Gpio::D10;
30+
31+
engineConfiguration->ignitionPins[0] = Gpio::E15;
32+
engineConfiguration->ignitionPins[1] = Gpio::E4;
33+
engineConfiguration->ignitionPins[2] = Gpio::D13;
34+
engineConfiguration->ignitionPins[3] = Gpio::E5;
35+
36+
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0;
37+
engineConfiguration->afr.hwChannel = EFI_ADC_1;
38+
engineConfiguration->vbattAdcChannel = EFI_ADC_2;
39+
engineConfiguration->tps1_1AdcChannel = EFI_ADC_3;
40+
engineConfiguration->clt.adcChannel = EFI_ADC_4;
41+
engineConfiguration->iat.adcChannel = EFI_ADC_5;
42+
43+
}
44+
45+
static void setBoard_compact_pinout() {
46+
engineConfiguration->injectionPins[0] = Gpio::B15;
47+
engineConfiguration->injectionPins[1] = Gpio::D8;
48+
engineConfiguration->injectionPins[2] = Gpio::D9;
49+
engineConfiguration->injectionPins[3] = Gpio::D10;
50+
engineConfiguration->injectionPins[4] = Gpio::Unassigned;
51+
engineConfiguration->injectionPins[5] = Gpio::Unassigned;
52+
53+
engineConfiguration->ignitionPins[0] = Gpio::E15;
54+
engineConfiguration->ignitionPins[1] = Gpio::E4;
55+
engineConfiguration->ignitionPins[2] = Gpio::D13;
56+
engineConfiguration->ignitionPins[3] = Gpio::E5;
57+
engineConfiguration->ignitionPins[4] = Gpio::Unassigned;
58+
engineConfiguration->ignitionPins[5] = Gpio::Unassigned;
59+
60+
engineConfiguration->acRelayPin = Gpio::C7;
61+
engineConfiguration->fuelPumpPin = Gpio::C8;
62+
engineConfiguration->idle.solenoidPin = Gpio::D9;
63+
engineConfiguration->fanPin = Gpio::A15;
64+
engineConfiguration->mainRelayPin = Gpio::E8;
65+
engineConfiguration->tachOutputPin = Gpio::C9;
66+
engineConfiguration->vehicleSpeedSensorInputPin = Gpio::D7;
67+
68+
engineConfiguration->clutchDownPin = Gpio::E13;
69+
engineConfiguration->clutchDownPinMode = PI_INVERTED_PULLUP;
70+
71+
}
72+
73+
static void setBoard_mini_pinout() {
74+
engineConfiguration->injectionPins[0] = Gpio::D8;
75+
engineConfiguration->injectionPins[1] = Gpio::B15;
76+
engineConfiguration->injectionPins[2] = Gpio::B14;
77+
engineConfiguration->injectionPins[3] = Gpio::B13;
78+
engineConfiguration->injectionPins[4] = Gpio::D9;
79+
engineConfiguration->injectionPins[5] = Gpio::E8;
80+
81+
engineConfiguration->ignitionPins[0] = Gpio::E15;
82+
engineConfiguration->ignitionPins[1] = Gpio::E14;
83+
engineConfiguration->ignitionPins[2] = Gpio::D13;
84+
engineConfiguration->ignitionPins[3] = Gpio::E5;
85+
engineConfiguration->ignitionPins[4] = Gpio::E2;
86+
engineConfiguration->ignitionPins[5] = Gpio::E3;
87+
88+
engineConfiguration->acRelayPin = Gpio::C7;
89+
engineConfiguration->fuelPumpPin = Gpio::C8;
90+
engineConfiguration->idle.solenoidPin = Gpio::D10;
91+
engineConfiguration->fanPin = Gpio::A15;
92+
engineConfiguration->mainRelayPin = Gpio::C5;
93+
engineConfiguration->tachOutputPin = Gpio::C9;
94+
engineConfiguration->vehicleSpeedSensorInputPin = Gpio::D7;
95+
96+
engineConfiguration->clutchDownPin = Gpio::E12;
97+
engineConfiguration->clutchDownPinMode = PI_INVERTED_PULLUP;
98+
}
99+
100+
/*PUBLIC_API_WEAK*/ void boardTsAction(uint16_t index) {
101+
if (index == 0) {
102+
setBoard_04_pinout();
103+
} else if (index == 1) {
104+
setBoard_ua4c_pinout();
105+
} else if (index == 2) {
106+
setBoard_compact_pinout();
107+
} else if (index == 3) {
108+
setBoard_mini_pinout();
109+
} else {
110+
efiPrintf("Unknown board index %d", index);
111+
return;
112+
}
113+
114+
115+
116+
writeToFlashNow();
117+
onApplyPreset();
118+
}

0 commit comments

Comments
 (0)