helping Proteus F4 build

This commit is contained in:
rusefillc 2025-02-24 22:04:53 -05:00 committed by rusefillc
parent 9a27b369ff
commit 2b12cbf307
3 changed files with 14 additions and 7 deletions

View File

@ -14,7 +14,6 @@ DDEFS += $(VAR_DEF_ENGINE_TYPE)
DDEFS += -DEFI_HD_ACR=TRUE
DDEFS += -DEFI_MAX_31855=TRUE
DDEFS += -DSTM32_SPI_USE_SPI5=TRUE
DDEFS += -DEFI_TCU=TRUE
DDEFS += -DBOOT_COM_RS232_RX_MAX_DATA=120
DDEFS += -DOPEN_BLT_TEST_COMMAND=1
@ -68,7 +67,7 @@ ifeq ($(PROJECT_CPU),ARCH_STM32F7)
endif
else ifeq ($(PROJECT_CPU),ARCH_STM32F4)
DDEFS += -DSTATIC_BOARD_ID=STATIC_BOARD_ID_PROTEUS_F4
DDEFS += -DRAM_UNUSED_SIZE=3000
DDEFS += -DRAM_UNUSED_SIZE=100
DDEFS += -DKNOCK_SPECTROGRAM=TRUE
else ifeq ($(PROJECT_CPU),ARCH_STM32H7)
DDEFS += -DSTATIC_BOARD_ID=STATIC_BOARD_ID_PROTEUS_H7

View File

@ -14,7 +14,8 @@
#define ts_show_sd_pins false
#define ts_show_vbatt false
#define ts_show_clt_iat_pullup false
#define ts_show_tcu true
! we are short on RAM or flash on F4 :( TODO split F4 config from F7 config
#define ts_show_tcu false
#define ts_show_gdi true
@ -24,7 +25,8 @@
! just for a test does not mean EFI_ONBOARD_MEMS
#define ts_show_onboard_accelerometer true
#define CLT_TIMING_CURVE_SIZE 3
#define IAT_IGN_CORR_COUNT 4
! f4 does not like this #define LUA_SCRIPT_SIZE 32000
#define LUA_SCRIPT_SIZE 13500

View File

@ -16,11 +16,12 @@ static void setDefaultMultisparkParameters() {
}
static void setDefaultIatTimingCorrection() {
copyArray(config->ignitionIatCorrTempBins, { -40, 0, 10, 20, 30, 40, 50, 60});
setLinearCurve(config->ignitionIatCorrLoadBins, /*from=*/ 0, /*to*/ 140, 1);
#if IAT_IGN_CORR_COUNT == 8
copyArray(config->ignitionIatCorrTempBins, { -40, 0, 10, 20, 30, 40, 50, 60});
// top 5 rows are the same
for (size_t i = 3; i < 8; i++) {
for (size_t i = 3; i < IAT_IGN_CORR_COUNT; i++) {
// 40 50 60 deg C
copyArray(config->ignitionIatCorrTable[i], {0.0, 0.0, 0.0, 0.0, 0.0, -1.0, -2.0, -3.0});
}
@ -28,15 +29,20 @@ static void setDefaultIatTimingCorrection() {
// 6th row tapers out
// 40 50 60 deg C
copyArray(config->ignitionIatCorrTable[2], {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, -2.0});
#endif
}
static void setDefaultCltTimingCorrection() {
copyArray(config->ignitionCltCorrTempBins, { -20, 0, 20, 40, 60});
setLinearCurve(config->ignitionCltCorrLoadBins, /*from=*/ 0, /*to*/ 140, 1);
#if CLT_TIMING_CURVE_SIZE == 5
copyArray(config->ignitionCltCorrTempBins, { -20, 0, 20, 40, 60});
for (size_t i = 0; i < CLT_TIMING_CURVE_SIZE; i++) {
// huh? use setArrayValues? and we probably get all zeros by default anyway?
copyArray(config->ignitionCltCorrTable[i], {0.0, 0.0, 0.0, 0.0, 0.0});
}
#endif
}
static void setDefaultTrailingSparkTable() {