Skip to content

Commit 3f8017a

Browse files
committed
fix & add mazduino lite, compact and mini6ch board
1 parent 0215d7e commit 3f8017a

49 files changed

Lines changed: 82115 additions & 1829 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM ubuntu:mantic
44
RUN sed -i 's|http://ports.ubuntu.com/ubuntu-ports|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list && \
55
apt-get update
66
RUN apt-get -y install make automake autoconf gcc-12-arm-linux-gnueabi gcc-12-arm-linux-gnueabi-base gcc-arm-none-eabi binutils-arm-none-eabi git nano openjdk-21-jdk-headless mtools dosfstools xxd
7-
RUN apt-get -y install openssh-server cmake rsync gdb-multiarch build-essential
7+
RUN apt-get -y install openssh-server cmake rsync gdb-multiarch build-essential zip p7zip-full
88
# used for remote non-devcontainer use ex: (https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/) [also on vscode: https://code.visualstudio.com/remote/advancedcontainers/develop-remote-host]
99
RUN useradd -m rusefi && yes password | passwd rusefi
1010

board.mk

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

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

@@ -8,13 +8,14 @@ include $(BOARD_DIR)/meta-info.env
88

99
# this would save some flash while being unable to update WBO controller firmware
1010
DDEFS += -DEFI_WIDEBAND_FIRMWARE_UPDATE=FALSE
11-
DDEFS += -DRAM_UNUSED_SIZE=100
12-
13-
DDEFS += -DSTM32_ADC_USE_ADC2=TRUE
14-
# todo: make knock pin software-selectable?
15-
DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE -DSTM32_ADC_USE_ADC2=TRUE
16-
DDEFS += -DKNOCK_SPECTROGRAM=TRUE
1711

1812
# assign critical LED to a non-existent pin if you do not have it on your board
1913
# good old PD14 is still the default value
2014
# DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::I15
15+
16+
# EGT chip
17+
#un-comment to enable
18+
#DDEFS += -DEFI_MAX_31855=TRUE
19+
20+
#see main repo for details on this any many other optional subsystems. We have too many, one has to choose what fits into his choice of stm32
21+
#DDEFS += -DEFI_ONBOARD_MEMS=TRUE

board_configuration.cpp

Lines changed: 1 addition & 37 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::B7;
5+
return Gpio::Unassigned;
66
}
77

88
Gpio getRunningLedPin() {
@@ -17,42 +17,6 @@ Gpio getWarningLedPin() {
1717

1818
// board-specific configuration setup
1919
static void customBoardDefaultConfiguration() {
20-
// engineConfiguration->injectionPins[0] = Gpio::F13;
21-
// engineConfiguration->ignitionPins[0] = Gpio::E15;
22-
23-
engineConfiguration->triggerInputPins[0] = Gpio::D3;
24-
// engineConfiguration->triggerInputPins[1] = Gpio::Unassigned;
25-
26-
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0;
27-
engineConfiguration->afr.hwChannel = EFI_ADC_1;
28-
// Battery sense on PA2
29-
engineConfiguration->vbattAdcChannel = EFI_ADC_2;
30-
engineConfiguration->tps1_1AdcChannel = EFI_ADC_3;
31-
engineConfiguration->clt.adcChannel = EFI_ADC_4;
32-
engineConfiguration->iat.adcChannel = EFI_ADC_5;
33-
34-
35-
// 5.6k high side/10k low side = 1.56 ratio divider
36-
engineConfiguration->analogInputDividerCoefficient = 1.47f;
37-
38-
// 6.34k high side/ 1k low side
39-
// engineConfiguration->vbattDividerCoeff = (6.34 + 1) / 1;
40-
41-
engineConfiguration->adcVcc = 3.3f;
42-
43-
engineConfiguration->clt.config.bias_resistor = 2490;
44-
engineConfiguration->iat.config.bias_resistor = 2490;
45-
46-
engineConfiguration->isSdCardEnabled = true;
47-
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
48-
49-
engineConfiguration->spi3mosiPin = Gpio::C12;
50-
engineConfiguration->spi3misoPin = Gpio::C11;
51-
engineConfiguration->spi3sckPin = Gpio::C10;
52-
engineConfiguration->is_enabled_spi_3 = true;
53-
engineConfiguration->sdCardCsPin = Gpio::D2;
54-
engineConfiguration->canTxPin = Gpio::D1;
55-
engineConfiguration->canRxPin = Gpio::D0;
5620

5721

5822
}

boards/board1/board_configuration.cpp

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

boards/board2/board_configuration.cpp

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

boards/mazduino-compact/board.mk

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
ifneq ($(PROJECT_CPU),simulator)
2+
BOARDCPPSRC += \
3+
$(BOARD_DIR)/board_configuration.cpp \
4+
5+
endif
6+
7+
DDEFS += -DEFI_WIDEBAND_FIRMWARE_UPDATE=FALSE
8+
DDEFS += -DRAM_UNUSED_SIZE=100
9+
DDEFS += -DSTM32_ADC_USE_ADC3=TRUE
10+
DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE -DSTM32_ADC_USE_ADC3=TRUE
11+
DDEFS += -DKNOCK_SPECTROGRAM=TRUE
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/**
2+
* @file board_configuration.cpp
3+
* Mazduino Compact 4CH v2.5
4+
* https://wiki.mazduino.com/mazduino-compact-4ch-v2.5/
5+
*/
6+
7+
#include "pch.h"
8+
#include "board_overrides.h"
9+
10+
Gpio getCommsLedPin() { return Gpio::B7; }
11+
Gpio getRunningLedPin() { return Gpio::Unassigned; }
12+
Gpio getWarningLedPin() { return Gpio::Unassigned; }
13+
14+
static void customBoardDefaultConfiguration() {
15+
// Trigger inputs
16+
engineConfiguration->triggerInputPins[0] = Gpio::D3; // CKP
17+
engineConfiguration->triggerInputPins[1] = Gpio::D4; // CMP
18+
19+
// Analog sensors - ADC1
20+
// PA3 (EFI_ADC_3) is reserved for knock via ADC3 - do not assign here
21+
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0
22+
engineConfiguration->afr.hwChannel = EFI_ADC_1; // PA1
23+
engineConfiguration->vbattAdcChannel = EFI_ADC_2; // PA2
24+
engineConfiguration->tps1_1AdcChannel = EFI_ADC_6; // PA6
25+
engineConfiguration->clt.adcChannel = EFI_ADC_4; // PA4
26+
engineConfiguration->iat.adcChannel = EFI_ADC_5; // PA5
27+
28+
engineConfiguration->analogInputDividerCoefficient = 1.47f;
29+
engineConfiguration->adcVcc = 3.3f;
30+
engineConfiguration->clt.config.bias_resistor = 2490;
31+
engineConfiguration->iat.config.bias_resistor = 2490;
32+
33+
// Injectors - 4 channel
34+
engineConfiguration->injectionPins[0] = Gpio::D8;
35+
engineConfiguration->injectionPins[1] = Gpio::B15;
36+
engineConfiguration->injectionPins[2] = Gpio::B14;
37+
engineConfiguration->injectionPins[3] = Gpio::B13;
38+
39+
// Ignition - 4 channel
40+
engineConfiguration->ignitionPins[0] = Gpio::E15;
41+
engineConfiguration->ignitionPins[1] = Gpio::E14;
42+
engineConfiguration->ignitionPins[2] = Gpio::D13;
43+
engineConfiguration->ignitionPins[3] = Gpio::E5;
44+
45+
// Aux outputs
46+
engineConfiguration->fuelPumpPin = Gpio::C8;
47+
engineConfiguration->mainRelayPin = Gpio::E8;
48+
engineConfiguration->idle.solenoidPin = Gpio::D9;
49+
engineConfiguration->secondSolenoidPin = Gpio::D10;
50+
engineConfiguration->fanPin = Gpio::A15;
51+
engineConfiguration->tachOutputPin = Gpio::C9;
52+
engineConfiguration->acSwitch = Gpio::B0;
53+
engineConfiguration->acRelayPin = Gpio::C7;
54+
engineConfiguration->vehicleSpeedSensorInputPin = Gpio::D7;
55+
engineConfiguration->clutchDownPin = Gpio::E13;
56+
engineConfiguration->clutchDownPinMode = PI_INVERTED_PULLUP;
57+
// HS1=PD15, HS2=PD14 available as GP outputs
58+
59+
// CAN
60+
engineConfiguration->canTxPin = Gpio::D1;
61+
engineConfiguration->canRxPin = Gpio::D0;
62+
63+
// SD card - SPI3
64+
engineConfiguration->is_enabled_spi_3 = true;
65+
engineConfiguration->spi3mosiPin = Gpio::C12;
66+
engineConfiguration->spi3misoPin = Gpio::C11;
67+
engineConfiguration->spi3sckPin = Gpio::C10;
68+
engineConfiguration->isSdCardEnabled = true;
69+
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
70+
engineConfiguration->sdCardCsPin = Gpio::D2;
71+
}
72+
73+
void setup_custom_board_overrides() {
74+
custom_board_DefaultConfiguration = customBoardDefaultConfiguration;
75+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @file knock_config.h
3+
*/
4+
5+
#pragma once
6+
7+
// Knock is on ADC3
8+
#define KNOCK_ADC ADCD3
9+
10+
// knock 1 - pin PA3
11+
#define KNOCK_ADC_CH1 ADC_CHANNEL_IN3
12+
#define KNOCK_PIN_CH1 Gpio::A3
13+
14+
// Sample rate & time - depends on the exact MCU
15+
#define KNOCK_SAMPLE_TIME ADC_SAMPLE_84
16+
#define KNOCK_SAMPLE_RATE (STM32_PCLK2 / (4 * (84 + 12)))
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# lower-case is required if using TS automatic .ini download
2-
SHORT_BOARD_NAME=board2
3-
PROJECT_CPU=ARCH_STM32F7
2+
SHORT_BOARD_NAME=mazduino-compact
3+
PROJECT_CPU=ARCH_STM32F4
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#define ts_show_etb false
2+
#define ts_show_etb_pins false
3+
#define ts_show_traction_control false
4+
#define ts_show_tcu true
5+
#define ts_show_software_knock true
6+
#define ts_show_injectionPinMode true
7+
#define ts_show_output_diag true
8+
#define ts_show_gdi true
9+
#define ts_show_k_line true
10+
#define ts_show_hip9011 true
11+
#define show_tcu_gauges true
12+
#define MAX_TPS_PPS_DISCREPANCY 10

0 commit comments

Comments
 (0)