Hellen81 initial (#3080)

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
This commit is contained in:
Andreika 2021-07-30 17:04:22 +03:00 committed by GitHub
parent 4aaee01a26
commit b27254f0f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1399 additions and 0 deletions

View File

@ -0,0 +1,2 @@
@echo off
bash.exe compile_hellen81.sh

View File

@ -0,0 +1,355 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* This file has been automatically generated using ChibiStudio board
* generator plugin. Do not edit manually.
*/
#ifndef BOARD_H
#define BOARD_H
/*
* Setup for STMicroelectronics STM32F4-Discovery board.
*/
/*
* Board identifier.
*/
#define BOARD_NAME "Hellen81"
#define EFI_USB_AF 10U
#define EFI_USB_SERIAL_DM GPIOA_11
#define EFI_USB_SERIAL_DP GPIOA_12
// Ignore USB VBUS pin (we're never a host, only a device)
#define BOARD_OTG_NOVBUSSENS TRUE
/*
* Default to input mode, with internal PULLDOWN resistor enabled.
* Pulldowns are more safe because most of MCU outputs on Hellen are high-active.
*/
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN
// See https://github.com/rusefi/rusefi/issues/397
#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH
/*
* Board oscillators-related settings.
* NOTE: LSE not fitted.
*/
#if !defined(STM32_LSECLK)
#define STM32_LSECLK 32768U
#endif
#define STM32_LSEDRV (3U << 3U)
#if !defined(STM32_HSECLK)
#define STM32_HSECLK 8000000U
#endif
/*
* Board voltages.
* Required for performance limits calculation.
*/
#define STM32_VDD 300U
/*
* IO pins assignments.
*/
#define GPIOA_SWDIO 13
#define GPIOA_SWCLK 14
#define GPIOB_SWO 3
/*
* I/O ports initial setup, this configuration is established soon after reset
* in the initialization code.
* Please refer to the STM32 Reference Manual for details.
*/
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
#define PIN_ODR_LOW(n) (0U << (n))
#define PIN_ODR_HIGH(n) (1U << (n))
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
#define VAL_GPIO_MODER_ALL_DEFAULT (EFI_PIN_MODE_DEFAULT(0) | \
EFI_PIN_MODE_DEFAULT(1) | \
EFI_PIN_MODE_DEFAULT(2) | \
EFI_PIN_MODE_DEFAULT(3) | \
EFI_PIN_MODE_DEFAULT(4) | \
EFI_PIN_MODE_DEFAULT(5) | \
EFI_PIN_MODE_DEFAULT(6) | \
EFI_PIN_MODE_DEFAULT(7) | \
EFI_PIN_MODE_DEFAULT(8) | \
EFI_PIN_MODE_DEFAULT(9) | \
EFI_PIN_MODE_DEFAULT(10) | \
EFI_PIN_MODE_DEFAULT(11) | \
EFI_PIN_MODE_DEFAULT(12) | \
EFI_PIN_MODE_DEFAULT(13) | \
EFI_PIN_MODE_DEFAULT(14) | \
EFI_PIN_MODE_DEFAULT(15))
#define VAL_GPIO_OTYPER_ALL_DEFAULT (PIN_OTYPE_PUSHPULL(0) | \
PIN_OTYPE_PUSHPULL(1) | \
PIN_OTYPE_PUSHPULL(2) | \
PIN_OTYPE_PUSHPULL(3) | \
PIN_OTYPE_PUSHPULL(4) | \
PIN_OTYPE_PUSHPULL(5) | \
PIN_OTYPE_PUSHPULL(6) | \
PIN_OTYPE_PUSHPULL(7) | \
PIN_OTYPE_PUSHPULL(8) | \
PIN_OTYPE_PUSHPULL(9) | \
PIN_OTYPE_PUSHPULL(10) | \
PIN_OTYPE_PUSHPULL(11) | \
PIN_OTYPE_PUSHPULL(12) | \
PIN_OTYPE_PUSHPULL(13) | \
PIN_OTYPE_PUSHPULL(14) | \
PIN_OTYPE_PUSHPULL(15))
#define VAL_GPIO_OSPEEDR_ALL_DEFAULT (DEFAULT_GPIO_SPEED(0) | \
DEFAULT_GPIO_SPEED(1) | \
DEFAULT_GPIO_SPEED(2) | \
DEFAULT_GPIO_SPEED(3) | \
DEFAULT_GPIO_SPEED(4) | \
DEFAULT_GPIO_SPEED(5) | \
DEFAULT_GPIO_SPEED(6) | \
DEFAULT_GPIO_SPEED(7) | \
DEFAULT_GPIO_SPEED(8) | \
DEFAULT_GPIO_SPEED(9) | \
DEFAULT_GPIO_SPEED(10) | \
DEFAULT_GPIO_SPEED(11) | \
DEFAULT_GPIO_SPEED(12) | \
DEFAULT_GPIO_SPEED(13) | \
DEFAULT_GPIO_SPEED(14) | \
DEFAULT_GPIO_SPEED(15))
#define VAL_GPIO_ODR_ALL_DEFAULT 0
#define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \
EFI_DR_DEFAULT(1) | \
EFI_DR_DEFAULT(2) | \
EFI_DR_DEFAULT(3) | \
EFI_DR_DEFAULT(4) | \
EFI_DR_DEFAULT(5) | \
EFI_DR_DEFAULT(6) | \
EFI_DR_DEFAULT(7) | \
EFI_DR_DEFAULT(8) | \
EFI_DR_DEFAULT(9) | \
EFI_DR_DEFAULT(10) | \
EFI_DR_DEFAULT(11) | \
EFI_DR_DEFAULT(12) | \
EFI_DR_DEFAULT(13) | \
EFI_DR_DEFAULT(14) | \
EFI_DR_DEFAULT(15))
#define VAL_GPIO_AF_ALL_DEFAULT (PIN_AFIO_AF(0, 0U) | \
PIN_AFIO_AF(1, 0U) | \
PIN_AFIO_AF(2, 0U) | \
PIN_AFIO_AF(3, 0U) | \
PIN_AFIO_AF(4, 0U) | \
PIN_AFIO_AF(5, 0U) | \
PIN_AFIO_AF(6, 0U) | \
PIN_AFIO_AF(7, 0U))
/*
* GPIOA setup:
*
* PA11 - OTG_FS_DM (alternate 10).
* PA12 - OTG_FS_DP (alternate 10).
* PA13 - SWDIO (alternate 0).
* PA14 - SWCLK (alternate 0).
*/
#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(0) | \
EFI_PIN_MODE_DEFAULT(1) | \
EFI_PIN_MODE_DEFAULT(2) | \
EFI_PIN_MODE_DEFAULT(3) | \
EFI_PIN_MODE_DEFAULT(4) | \
EFI_PIN_MODE_DEFAULT(5) | \
EFI_PIN_MODE_DEFAULT(6) | \
EFI_PIN_MODE_DEFAULT(7) | \
EFI_PIN_MODE_DEFAULT(8) | \
EFI_PIN_MODE_DEFAULT(9) | \
EFI_PIN_MODE_DEFAULT(10) | \
PIN_MODE_ALTERNATE(11) | \
PIN_MODE_ALTERNATE(12) | \
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
EFI_PIN_MODE_DEFAULT(15))
#define VAL_GPIOA_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOA_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOA_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOA_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \
PIN_AFIO_AF(1, 0U) | \
PIN_AFIO_AF(2, 0U) | \
PIN_AFIO_AF(3, 0U) | \
PIN_AFIO_AF(4, 6U) | \
PIN_AFIO_AF(5, 5U) | \
PIN_AFIO_AF(6, 5U) | \
PIN_AFIO_AF(7, 5U))
#define VAL_GPIOA_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOB setup:
*
* Default except SWO configured on PB3
*
*/
#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(0) | \
EFI_PIN_MODE_DEFAULT(1) | \
EFI_PIN_MODE_DEFAULT(2) | \
PIN_MODE_ALTERNATE(GPIOB_SWO) | \
EFI_PIN_MODE_DEFAULT(4) | \
EFI_PIN_MODE_DEFAULT(5) | \
EFI_PIN_MODE_DEFAULT(6) | \
EFI_PIN_MODE_DEFAULT(7) | \
EFI_PIN_MODE_DEFAULT(8) | \
EFI_PIN_MODE_DEFAULT(9) | \
EFI_PIN_MODE_DEFAULT(10) | \
EFI_PIN_MODE_DEFAULT(11) | \
EFI_PIN_MODE_DEFAULT(12) | \
EFI_PIN_MODE_DEFAULT(13) | \
EFI_PIN_MODE_DEFAULT(14) | \
EFI_PIN_MODE_DEFAULT(15))
#define VAL_GPIOB_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOB_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOB_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOB_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(0, 0U) | \
PIN_AFIO_AF(1, 0U) | \
PIN_AFIO_AF(2, 0U) | \
PIN_AFIO_AF(GPIOB_SWO, 0U) | \
PIN_AFIO_AF(4, 0U) | \
PIN_AFIO_AF(5, 0U) | \
PIN_AFIO_AF(6, 0U) | \
PIN_AFIO_AF(7, 0U))
#define VAL_GPIOB_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOC setup:
*/
#define VAL_GPIOC_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOC_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOC_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOC_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOC_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOC_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOC_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOD setup:
*/
#define VAL_GPIOD_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOD_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOD_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOD_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOD_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOD_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOD_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOE setup:
*/
#define VAL_GPIOE_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOE_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOE_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOE_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOE_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOE_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOE_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOF setup:
*/
#define VAL_GPIOF_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOF_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOF_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOF_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOF_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOF_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOF_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOG setup:
*/
#define VAL_GPIOG_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOG_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOG_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOG_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOG_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOG_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOG_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOH setup:
*/
#define VAL_GPIOH_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOH_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOH_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOH_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOH_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOH_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOH_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOI setup:
*/
#define VAL_GPIOI_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOI_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOI_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOI_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOI_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOI_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOI_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOJ setup:
*/
#define VAL_GPIOJ_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOJ_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOJ_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOJ_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOJ_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOJ_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOJ_AFRH VAL_GPIO_AF_ALL_DEFAULT
/*
* GPIOK setup:
*/
#define VAL_GPIOK_MODER VAL_GPIO_MODER_ALL_DEFAULT
#define VAL_GPIOK_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
#define VAL_GPIOK_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
#define VAL_GPIOK_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
#define VAL_GPIOK_ODR VAL_GPIO_ODR_ALL_DEFAULT
#define VAL_GPIOK_AFRL VAL_GPIO_AF_ALL_DEFAULT
#define VAL_GPIOK_AFRH VAL_GPIO_AF_ALL_DEFAULT
#endif /* BOARD_H */

View File

@ -0,0 +1,52 @@
# Combine the related files for a specific platform and MCU.
# Target ECU board design
BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen81/board_configuration.cpp
BOARDINC = $(BOARDS_DIR)/hellen/hellen81
# Set this if you want a default engine type other than normal Hellen81
ifeq ($(DEFAULT_ENGINE_TYPE),)
DEFAULT_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS
endif
ifeq ($(LED_CRITICAL_ERROR_BRAIN_PIN),)
LED_CRITICAL_ERROR_BRAIN_PIN = -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOH_8
endif
ifeq ($(LED_COMMUNICATION_BRAIN_PIN),)
LED_COMMUNICATION_BRAIN_PIN = -DEFI_COMMUNICATION_PIN=GPIOH_10
endif
DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE
DDEFS += -DLED_ERROR_BRAIN_PIN_MODE=INVERTED_OUTPUT
DDEFS += -DLED_RUNING_BRAIN_PIN_MODE=INVERTED_OUTPUT
DDEFS += -DLED_WARNING_BRAIN_PIN_MODE=INVERTED_OUTPUT
DDEFS += -DLED_COMMUNICATION_BRAIN_PIN_MODE=INVERTED_OUTPUT
# Disable serial ports on this board as UART3 causes a DMA conflict with the SD card
DDEFS += -DTS_NO_PRIMARY -DTS_NO_SECONDARY
# Add them all together
DDEFS += -DEFI_USE_OSC=TRUE -DFIRMWARE_ID=\"hellen81\" $(DEFAULT_ENGINE_TYPE) $(LED_CRITICAL_ERROR_BRAIN_PIN) $(LED_COMMUNICATION_BRAIN_PIN)
#DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE -DSTM32_ADC_USE_ADC3=TRUE
#DDEFS += -DEFI_ICU_INPUTS=FALSE -DHAL_TRIGGER_USE_PAL=TRUE -DHAL_VSS_USE_PAL=TRUE
DDEFS += -DEFI_ICU_INPUTS=FALSE -DHAL_TRIGGER_USE_ADC=TRUE -DHAL_VSS_USE_PAL=TRUE
# todo: is it broken?
DDEFS += -DEFI_LOGIC_ANALYZER=FALSE
TRIGGER_USE_ADC = yes
# we need fast ADC for software trigger detector
#DDEFS += -DEFI_OVERRIDE_FAST_ADC_FOR_STM32H7=TRUE -DADC_FAST_DEVICE=ADCD1 -DADC_SLOW_DEVICE=ADCD3 -DSTM32_ADC_USE_ADC3=TRUE
#DDEFS += -DADC_SLOW_DEVICE=ADCD3 -DSTM32_ADC_USE_ADC3=TRUE
DDEFS += -DEFI_OVERRIDE_FAST_ADC_FOR_STM32H7=TRUE -DADC_FAST_DEVICE=ADCD1 -DEFI_USE_ONLY_FAST_ADC=TRUE -DEFI_FASTER_UNIFORM_ADC=TRUE -DADC_MAX_CHANNELS_COUNT=16 -DADC_BUF_DEPTH_FAST=1 -DADC_BUF_NUM_AVG=1
#DDEFS += -DADC_SLOW_DEVICE=ADCD1
# We are running on Hellen-One hardware!
DDEFS += -DHW_HELLEN=1
# Shared variables
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -0,0 +1,192 @@
/**
* @file boards/hellen/hellen81/board_configuration.cpp
*
*
* @brief Configuration defaults for the Hellen81 board
*
* See https://rusefi.com/s/hellen81
*
* @author andreika <prometheus.pcb@gmail.com>
* @author Andrey Belomutskiy, (c) 2012-2021
*/
#include "global.h"
#include "engine.h"
#include "engine_math.h"
#include "allsensors.h"
#include "fsio_impl.h"
#include "engine_configuration.h"
static void setInjectorPins() {
engineConfiguration->injectionPins[0] = GPIOG_7;
engineConfiguration->injectionPins[1] = GPIOG_8;
engineConfiguration->injectionPins[2] = GPIOD_11;
engineConfiguration->injectionPins[3] = GPIOD_10;
//engineConfiguration->injectionPins[4] = GPIOD_9;
//engineConfiguration->injectionPins[5] = GPIOF_12;
//engineConfiguration->injectionPins[6] = GPIOF_13;
//engineConfiguration->injectionPins[7] = GPIOF_14;
// Disable remainder
for (int i = 4; i < MAX_CYLINDER_COUNT;i++) {
engineConfiguration->injectionPins[i] = GPIO_UNASSIGNED;
}
engineConfiguration->injectionPinMode = OM_DEFAULT;
}
static void setIgnitionPins() {
engineConfiguration->ignitionPins[0] = GPIOI_8;
engineConfiguration->ignitionPins[1] = GPIOE_5;
engineConfiguration->ignitionPins[2] = GPIOE_4;
engineConfiguration->ignitionPins[3] = GPIOE_3;
// disable remainder
for (int i = 4; i < MAX_CYLINDER_COUNT; i++) {
engineConfiguration->ignitionPins[i] = GPIO_UNASSIGNED;
}
engineConfiguration->ignitionPinMode = OM_DEFAULT;
}
static void setLedPins() {
#ifdef EFI_COMMUNICATION_PIN
engineConfiguration->communicationLedPin = EFI_COMMUNICATION_PIN;
#else
engineConfiguration->communicationLedPin = GPIOH_10;
#endif /* EFI_COMMUNICATION_PIN */
//!!!!!!!!!!!
engineConfiguration->runningLedPin = GPIO_UNASSIGNED;
//engineConfiguration->runningLedPin = GPIOH_9; // green
engineConfiguration->warningLedPin = GPIOH_11; // yellow
}
static void setupVbatt() {
// 4.7k high side/4.7k low side = 2.0 ratio divider
engineConfiguration->analogInputDividerCoefficient = 2.0f;
// set vbatt_divider 5.835
// 33k / 6.8k
engineConfiguration->vbattDividerCoeff = (33 + 6.8) / 6.8; // 5.835
// pin input +12 from Main Relay
engineConfiguration->vbattAdcChannel = EFI_ADC_5;
engineConfiguration->adcVcc = 3.29f;
}
static void setupDefaultSensorInputs() {
// trigger inputs
engineConfiguration->triggerInputPins[0] = GPIOB_1;
engineConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
engineConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
// Direct hall-only cam input
engineConfiguration->camInputs[0] = GPIOA_6;
engineConfiguration->tps1_1AdcChannel = EFI_ADC_4;
engineConfiguration->tps2_1AdcChannel = EFI_ADC_NONE;
engineConfiguration->mafAdcChannel = EFI_ADC_NONE;
engineConfiguration->map.sensor.hwChannel = EFI_ADC_10;
engineConfiguration->afr.hwChannel = EFI_ADC_0; // ADC1_16
engineConfiguration->clt.adcChannel = EFI_ADC_12; // ADC3_0
engineConfiguration->iat.adcChannel = EFI_ADC_13; // ADC3_1
engineConfiguration->auxTempSensor1.adcChannel = EFI_ADC_NONE;
engineConfiguration->auxTempSensor2.adcChannel = EFI_ADC_NONE;
}
void setBoardConfigOverrides(void) {
setLedPins();
setupVbatt();
setSdCardConfigurationOverrides();
engineConfiguration->clt.config.bias_resistor = 4700;
engineConfiguration->iat.config.bias_resistor = 4700;
engineConfiguration->canTxPin = GPIOD_1;
engineConfiguration->canRxPin = GPIOD_0;
}
void setPinConfigurationOverrides(void) {
}
void setSerialConfigurationOverrides(void) {
engineConfiguration->useSerialPort = false;
engineConfiguration->binarySerialTxPin = GPIO_UNASSIGNED;
engineConfiguration->binarySerialRxPin = GPIO_UNASSIGNED;
// engineConfiguration->consoleSerialTxPin = GPIO_UNASSIGNED;
// engineConfiguration->consoleSerialRxPin = GPIO_UNASSIGNED;
}
/**
* @brief Board-specific configuration defaults.
*
* See also setDefaultEngineConfiguration
*
* @todo Add your board-specific code, if any.
*/
void setBoardDefaultConfiguration(void) {
setInjectorPins();
setIgnitionPins();
engineConfiguration->isSdCardEnabled = true;
engineConfiguration->canTxPin = GPIOD_1;
engineConfiguration->canRxPin = GPIOD_0;
engineConfiguration->fuelPumpPin = GPIOG_2; // OUT_IO9
engineConfiguration->fanPin = GPIOD_12; // OUT_PWM8
engineConfiguration->mainRelayPin = GPIOI_2; // OUT_LOW3
engineConfiguration->tachOutputPin = GPIOD_14; // OUT_PWM6
engineConfiguration->useStepperIdle = true;
engineConfiguration->useHbridges = true;
engineConfiguration->stepperDcIo[0].directionPin1 = GPIOC_6; // COIL_A1 = OUT_PWM2
engineConfiguration->stepperDcIo[0].directionPin2 = GPIOC_7; // COIL_A2 = OUT_PWM3
engineConfiguration->stepperDcIo[1].directionPin1 = GPIOC_8; // COIL_B1 = OUT_PWM4
engineConfiguration->stepperDcIo[1].directionPin2 = GPIOC_9; // COIL_B2 = OUT_PWM5
// "required" hardware is done - set some reasonable defaults
setupDefaultSensorInputs();
// Some sensible defaults for other options
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
engineConfiguration->specs.cylindersCount = 4;
engineConfiguration->specs.firingOrder = FO_1_3_4_2;
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; // IM_WASTED_SPARK
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
engineConfiguration->injectionMode = IM_SEQUENTIAL; // IM_SIMULTANEOUS; //IM_BATCH;
}
/**
* @brief Board-specific SD card configuration code overrides. Needed by bootloader code.
* @todo Add your board-specific code, if any.
*/
void setSdCardConfigurationOverrides(void) {
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3;
engineConfiguration->spi3mosiPin = GPIOC_12;
engineConfiguration->spi3misoPin = GPIOC_11;
engineConfiguration->spi3sckPin = GPIOC_10;
engineConfiguration->sdCardCsPin = GPIOA_15;
// engineConfiguration->spi2mosiPin = GPIOB_15;
// engineConfiguration->spi2misoPin = GPIOB_14;
// engineConfiguration->spi2sckPin = GPIOB_13;
// engineConfiguration->sdCardCsPin = GPIOB_12;
CONFIG(is_enabled_spi_3) = true;
}

View File

@ -0,0 +1,8 @@
#!/bin/bash
export PROJECT_BOARD=hellen/hellen81
export PROJECT_CPU=ARCH_STM32H7
export EXTRA_PARAMS="-DSHORT_BOARD_NAME=hellen81"
cd ..
bash ../common_make.sh

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 KiB

View File

@ -0,0 +1,759 @@
#
#
pins:
- pin: 1
function: Ignition 2 Output
id: GPIOE_5
class: outputs
ts_name: 1 - IGN_2
type: ign
color: red
- pin: 2
function: Ignition 3 (2+3) Output
id: GPIOE_4
class: outputs
ts_name: 2 - IGN_3
type: ign
color: red
- pin: 3
function: Ignition GND
type: gnd
color: black
- pin: 4
function: Ignition 4 Output
id: GPIOE_3
class: outputs
ts_name: 4 - IGN_4
type: ign
color: red
- pin: 5
function: Ignition 1 (1+4) Output
id: GPIOI_8
class: outputs
ts_name: 5 - IGN_1
type: ign
color: red
- pin: 6
function: Injector 2 Output
id: GPIOG_8
class: outputs
ts_name: 6 - INJ_2
type: inj
color: blue
- pin: 7
function: Injector 3 Output
id: GPIOD_11
class: outputs
ts_name: 7 - INJ_3
type: inj
color: blue
- pin: 8
function: Engine Speed (Tachometer) Signal Output (push-pull)
id: GPIOD_14
class: outputs
ts_name: 8 - OUT_TACH
color: green
- pin: 9
function: Fuel Level / CLT Analog Input
id: GPIOF_5
class: analog_inputs
ts_name: 9 - IN_SENS3
color: white
- pin: 10
function: Fuel consumption Output (push-pull) / CLT?
id: GPIOD_15
class: outputs
ts_name: 10 - OUT_FUEL
color: green
- pin: 11
function: Reserved High-side Output (high)
id: GPIOH_13
class: outputs
ts_name: 11 - OUT_HIGH
type: gp_high
color: green
- pin: 12
function: Battery Permanent Supply
color: black
type: 12v
- pin: 13
function: Ignition Switch KL15 / Battery Voltage Analog Input
id: EFI_ADC_5
class: analog_inputs
ts_name: 13 - IN_VIGN
color: white
- pin: 14
function: Main Relay Output
id: GPIOH_13
class: outputs
ts_name: 14 - OUT_MAIN
type: ls
color: orange
- pin: 15
function: Crankshaft Sensor (+) Input
id: [GPIOB_1, EFI_ADC_9]
class: [event_inputs, analog_inputs]
ts_name: 15 - IN_CRANK (A24)
color: white
- pin: 16
function: Throttle Position Sensor (TPS) Analog Input
id: EFI_ADC_4
class: analog_inputs
ts_name: 16 - IN_TPS
color: white
- pin: 17
function: TMOT, TPS sensor analog GND
type: gnd
color: black
- pin: 18
function: Lambda O2-Sensor (O2S) Analog Input
id: EFI_ADC_0
class: analog_inputs
ts_name: 18 - IN_O2S
color: white
- pin: 19
function: Knock Sensor (+) Analog Input
color: white
- pin: 20
function: Knock Sensor (-)
color: black
- pin: 21
function: Ignition 8 Output
id: GPIOE_6
class: outputs
ts_name: 21 - IGN_8
type: ign
color: red
- pin: 22
function: Ignition 7 Output
id: GPIOB_9
class: outputs
ts_name: 22 - IGN_7
type: ign
color: red
- pin: 23
function: Ignition 6 Output
id: GPIOB_8
class: outputs
ts_name: 23 - IGN_6
type: ign
color: red
- pin: 24
function: Ignition 5 Output
id: GPIOE_2
class: outputs
ts_name: 24 - IGN_5
type: ign
color: red
- pin: 25
function: Injector 6 Output
id: GPIOF_12
class: outputs
ts_name: 25 - INJ_6
type: inj
color: blue
- pin: 26
function: Solenoid B2 Output (push-pull) / Reserved
color: green
- pin: 27
function: Injector 1 Output
id: GPIOG_7
class: outputs
ts_name: 27 - INJ_1
type: inj
color: blue
- pin: 28
function: Oxygen Sensor 2 Heating Output (low)
id: GPIOA_9
class: outputs
ts_name: 28 - OUT_O2H2
type: ls
color: orange
- pin: 29
function: Solenoid B1 output / Reserved
color: green
- pin: 30
function: Injector 5 Output
id: GPIOD_9
class: outputs
ts_name: 30 - INJ_5
type: inj
color: blue
- pin: 31
function: CheckEngine Lamp Output (low)
id: GPIOG_4
class: outputs
ts_name: 31 - OUT_CE
type: ls
color: orange
- pin: 32
function: 5V Analog Supply (TPS)
color: black
type: 5v
- pin: 33
function: 5V Analog Supply (MAF/MAP Sensor)
color: black
type: 5v
- pin: 34
function: Crank Sensor (-)
color: black
- pin: 35
function: MAP/MAF Sensor Analog Gnd
color: black
type: gnd
- pin: 36
function: Lambda O2-sensor Gnd
color: black
type: gnd
- pin: 37
function: Manifold pressure (MAF/MAP1) Analog Input
id: EFI_ADC_10
class: analog_inputs
ts_name: 37 - IN_MAP1
color: white
- pin: 38
function: MAP2 Analog Input
id: EFI_ADC_11
class: analog_inputs
ts_name: 38 - IN_MAP2
color: white
- pin: 39
function: Engine Coolant Temp. (CLT) Analog Input
id: EFI_ADC_12
class: analog_inputs
ts_name: 39 - IN_CLT
color: white
- pin: 40
function: Intake Air Temperature (IAT) Analog Input
id: EFI_ADC_13
class: analog_inputs
ts_name: 40 - IN_IAT
color: white
- pin: 41
function: MAP3 Analog Input
id: EFI_ADC_2
class: analog_inputs
ts_name: 41 - IN_MAP3
color: white
- pin: 42
function: Reserved input (RES3) / Fuel level / IAT / RRS
- pin: 43
function: Reserved Analog Input (SENS2)
- pin: 44
function: Battery Switched Supply
type: 12v
- pin: 45
function: Battery Switched Supply
type: 12v
- pin: 46
function: Canister Purge Valve Output (low)
id: GPIOG_3
class: outputs
ts_name: 46 - OUT_CANIST
type: ls
color: orange
- pin: 47
function: Injector 4 Output
id: GPIOD_10
class: outputs
ts_name: 47 - INJ_4
type: inj
color: blue
- pin: 48
function: O2 LSF Heating Output (low)
id: GPIOH_14
class: outputs
ts_name: 48 - OUT_O2H
type: ls
color: orange
- pin: 49
function: Canister heater Output (low)
id: GPIOI_1
class: outputs
ts_name: 49 - OUT_HEATER
type: ls
color: orange
- pin: 50
function: Starter Relay Output (low) / HOTLamp / Idle2(Mikas)
id: GPIOI_0
class: outputs
ts_name: 50 - OUT_STARTER
type: ls
color: orange
- pin: 51
function: Power Ground
type: gnd
color: black
- pin: 52
function: K-Line (Immobiliser) / Solenoid Output A1
- pin: 53
function: Reserved Ground / Fuel Level Ground
type: gnd
color: black
- pin: 54
function: Solenoid Output A2 / Reserved
- pin: 55
function: Lambda O2-Sensor 2 Analog Input (O2S_2)
id: EFI_ADC_1
class: analog_inputs
ts_name: 55 - IN_O2S2
color: white
- pin: 56
function: Reserved input 1 (RES1)
- pin: 57
function: Reserved input 2 (RES2)
- pin: 58
function: Reserved Input (SENS1) / AC (Bosch)
- pin: 59
function: Vehicle Speed Sensor (VSS) digital input
id: GPIOF_11
class: event_inputs
ts_name: 59 - IN_VSS
color: white
- pin: 60
function: Reserved Push-Pull Output (push-pull)
id: GPIOD_13
class: outputs
ts_name: 60 - OUT_IO
color: green
- pin: 61
function: Power Ground
type: gnd
color: black
- pin: 62
function: CAN-H (ME7.8.8-compatible)
- pin: 63
function: Battery Switched Supply
type: 12v
- pin: 64
function: Solenoid B2 output (push-pull) / Stepper A (or D)
id: GPIOC_9
class: outputs
ts_name: 64 - OUT_COIL_B2
color: green
- pin: 65
function: Solenoid B1 output (push-pull) / Stepper D (or C)
id: GPIOC_8
class: outputs
ts_name: 65 - OUT_COIL_B1
color: green
- pin: 66
function: Solenoid A2 output (push-pull) / Stepper C (or B)
id: GPIOC_7
class: outputs
ts_name: 66 - OUT_COIL_A2
color: green
- pin: 67
function: Solenoid A1 output (push-pull) / Stepper B (or A)
id: GPIOC_6
class: outputs
ts_name: 67 - OUT_COIL_A1
color: green
- pin: 68
function: Electric Cooling Fan (ECF) Relay Output (low)
id: GPIOD_12
class: outputs
ts_name: 68 - OUT_ECF
type: ls
color: orange
- pin: 69
function: A/C Relay Output (low)
id: GPIOH_15
class: outputs
ts_name: 69 - OUT_AC
type: ls
color: orange
- pin: 70
function: Fuel Pump Relay Output (low)
id: GPIOG_2
class: outputs
ts_name: 70 - OUT_PUMP
type: ls
color: orange
- pin: 71
function: K-Line
- pin: 72
function: Injector 7 Output
id: GPIOF_13
class: outputs
ts_name: 72 - INJ_7
type: inj
color: blue
- pin: 73
function: Injector 8 Output
id: GPIOF_14
class: outputs
ts_name: 73 - INJ_8
type: inj
color: blue
- pin: 74
function: Inertia switch (crash detect) Input
id: [GPIOB_0, EFI_ADC_8]
class: [event_inputs, analog_inputs]
ts_name: 74 - IN_AUX1
color: white
- pin: 75
function: A/C Switch Input
id: [GPIOC_4, EFI_ADC_14]
class: [event_inputs, analog_inputs]
ts_name: 75 - IN_AUX2
color: white
- pin: 76
function: Power Steering Input
id: [GPIOC_5, EFI_ADC_15]
class: [event_inputs, analog_inputs]
ts_name: 76 - IN_AUX3
color: white
- pin: 77
function: Clutch switch Input
id: [GPIOA_7, EFI_ADC_7]
class: [event_inputs, analog_inputs]
ts_name: 77 - IN_AUX4
color: white
- pin: 78
function: Pedal Position Sensor (PPS) Analog Input / GND?
id: EFI_ADC_3
class: analog_inputs
ts_name: 78 - IN_PPS
color: white
- pin: 79
function: Cam/Phase Sensor Input
id: [GPIOA_6, EFI_ADC_6]
class: [event_inputs, analog_inputs]
ts_name: 79 - IN_CAM
color: white
- pin: 80
function: Power Ground
type: gnd
color: black
- pin: 81
function: CAN-L (ME7.8.8-compatible)
info:
image:
file: main.jpg
pins:
- pin: 1
x: 809
y: 808
- pin: 2
x: 1028
y: 808
- pin: 3
x: 917
y: 611
- pin: 4
x: 797
y: 414
- pin: 5
x: 1025
y: 414
- pin: 6
x: 3234
y: 408
- pin: 7
x: 3129
y: 408
- pin: 8
x: 3024
y: 408
- pin: 9
x: 2920
y: 408
- pin: 10
x: 2815
y: 408
- pin: 11
x: 2710
y: 408
- pin: 12
x: 2605
y: 408
- pin: 13
x: 2500
y: 408
- pin: 14
x: 2395
y: 408
- pin: 15
x: 2291
y: 408
- pin: 16
x: 2186
y: 408
- pin: 17
x: 2081
y: 408
- pin: 18
x: 1976
y: 408
- pin: 19
x: 1871
y: 408
- pin: 20
x: 1766
y: 408
- pin: 21
x: 1662
y: 408
- pin: 22
x: 1557
y: 408
- pin: 23
x: 1452
y: 408
- pin: 24
x: 1347
y: 408
- pin: 25
x: 3234
y: 519
- pin: 26
x: 3129
y: 519
- pin: 27
x: 3024
y: 519
- pin: 28
x: 2920
y: 519
- pin: 29
x: 2815
y: 519
- pin: 30
x: 2710
y: 519
- pin: 31
x: 2605
y: 519
- pin: 32
x: 2500
y: 519
- pin: 33
x: 2395
y: 519
- pin: 34
x: 2291
y: 519
- pin: 35
x: 2186
y: 519
- pin: 36
x: 2081
y: 519
- pin: 37
x: 1976
y: 519
- pin: 38
x: 1871
y: 519
- pin: 39
x: 1766
y: 519
- pin: 40
x: 1662
y: 519
- pin: 41
x: 1557
y: 519
- pin: 42
x: 1452
y: 519
- pin: 43
x: 1347
y: 519
- pin: 44
x: 3234
y: 708
- pin: 45
x: 3129
y: 708
- pin: 46
x: 3024
y: 708
- pin: 47
x: 2920
y: 708
- pin: 48
x: 2815
y: 708
- pin: 49
x: 2710
y: 708
- pin: 50
x: 2605
y: 708
- pin: 51
x: 2500
y: 708
- pin: 52
x: 2395
y: 708
- pin: 53
x: 2291
y: 708
- pin: 54
x: 2186
y: 708
- pin: 55
x: 2081
y: 708
- pin: 56
x: 1976
y: 708
- pin: 57
x: 1871
y: 708
- pin: 58
x: 1766
y: 708
- pin: 59
x: 1662
y: 708
- pin: 60
x: 1557
y: 708
- pin: 61
x: 1452
y: 708
- pin: 62
x: 1347
y: 708
- pin: 63
x: 3234
y: 820
- pin: 64
x: 3129
y: 820
- pin: 65
x: 3024
y: 820
- pin: 66
x: 2920
y: 820
- pin: 67
x: 2815
y: 820
- pin: 68
x: 2710
y: 820
- pin: 69
x: 2605
y: 820
- pin: 70
x: 2500
y: 820
- pin: 71
x: 2395
y: 820
- pin: 72
x: 2291
y: 820
- pin: 73
x: 2186
y: 820
- pin: 74
x: 2081
y: 820
- pin: 75
x: 1976
y: 820
- pin: 76
x: 1871
y: 820
- pin: 77
x: 1766
y: 820
- pin: 78
x: 1662
y: 820
- pin: 79
x: 1557
y: 820
- pin: 80
x: 1452
y: 820
- pin: 81
x: 1347
y: 820

View File

@ -0,0 +1,24 @@
#define ts_show_hip9011 false
#define ts_show_cj125 false
//Jokeri says it's better with full pinout just in case
//#define ts_show_full_pinout false
#define ts_show_lcd false
#define ts_show_joystick false
#define ts_show_egt false
#define ts_show_gps false
#define ts_show_etb_pins false
#define ts_show_analog_divider false
#define ts_show_spi true
#define ts_show_sd_card true
#define ts_show_can_pins false
#define ts_show_tunerstudio_port false
#define ts_show_can2 false
#define ts_show_software_knock false
#define ts_show_hardware_simulator false
#define show_test_presets false
#define show_Frankenso_presets false
#define show_microRusEFI_presets false
#define show_Proteus_presets false

View File

@ -0,0 +1,7 @@
https://github.com/rusefi/rusefi/wiki/Hellen81
https://github.com/andreika-git/hellen81/
https://rusefi.com/forum/viewtopic.php?f=4&t=1946