diff --git a/.github/workflows/build-firmware.yaml b/.github/workflows/build-firmware.yaml index ba621a865d..2719d8ae37 100644 --- a/.github/workflows/build-firmware.yaml +++ b/.github/workflows/build-firmware.yaml @@ -12,7 +12,7 @@ jobs: matrix: # What boards should we build for? In the 'include' section below, # set up what each of these boards needs to build. - build-target: [hellen72, cypress, frankenso_na6, kinetis, mre_f4, mre_f4_recovery, mre_f4_hardware_QC_special_build, mre_f7, prometheus_405, prometheus_469, proteus_f4, proteus_f4_hardware_QC_special_build, proteus_f7, stm32f767_nucleo, stm32h743_nucleo] + build-target: [hellen72, cypress, frankenso_na6, kinetis, mre_f4, mre_f4_recovery, mre_f4_hardware_QC_special_build, mre_f7, prometheus_405, prometheus_469, proteus_f4, proteus_f4_hardware_QC_special_build, proteus_f7, stm32f767_nucleo, stm32h743_nucleo, subaru_eg33_f7] include: # Board configurations @@ -81,6 +81,10 @@ jobs: ini-file: no skip-config: yes + - build-target: subaru_eg33_f7 + folder: subaru_eg33 + ini-file: rusefi_subaru_eg33_f7.ini + steps: - uses: actions/checkout@v1 with: @@ -101,6 +105,9 @@ jobs: cd config/boards/hellen/cypress/config bash gen_config.sh [ $? -eq 0 ] || { echo "ERROR generating board hellen_cypress hellen_cypress"; exit 1; } + elif [ "${{ matrix.build-target }}" = "subaru_eg33_f7" ]; then + bash config/boards/subaru_eg33/config/gen_config.sh + [ $? -eq 0 ] || { echo "ERROR generating board subaru_eg33 subaru_eg33_f7"; exit 1; } else bash gen_config_board.sh ${{matrix.folder}} ${{matrix.build-target}} fi diff --git a/firmware/config/boards/subaru_eg33/board.mk b/firmware/config/boards/subaru_eg33/board.mk index 1c940c2832..58124facc6 100644 --- a/firmware/config/boards/subaru_eg33/board.mk +++ b/firmware/config/boards/subaru_eg33/board.mk @@ -23,6 +23,11 @@ DDEFS += -DHW_SUBARU_EG33=1 # Fix DDEFS += -DDEFAULT_ENGINE_TYPE=SUBARUEG33_DEFAULTS -DSTM32F765xx $(LED_CRITICAL_ERROR_BRAIN_PIN) +#Some options override +DDEFS += -DHAL_TRIGGER_USE_PAL=TRUE +DDEFS += -DHAL_USE_UART=FALSE +DDEFS += -DUART_USE_WAIT=FALSE + # Shared variables ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) diff --git a/firmware/config/boards/subaru_eg33/compile_subaru_eg33_f7.sh b/firmware/config/boards/subaru_eg33/compile_subaru_eg33_f7.sh new file mode 100644 index 0000000000..bfa04144e3 --- /dev/null +++ b/firmware/config/boards/subaru_eg33/compile_subaru_eg33_f7.sh @@ -0,0 +1,8 @@ +#!/bin/bash +export PROJECT_BOARD=subaru_eg33 +export PROJECT_CPU=ARCH_STM32F7 +export EXTRA_PARAMS=-DSHORT_BOARD_NAME=subaru_eg33_f7 + +#-DDUMMY -DEFI_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE" + +bash ../common_make.sh diff --git a/firmware/config/boards/subaru_eg33/config/gen_config.sh b/firmware/config/boards/subaru_eg33/config/gen_config.sh index 75d22ab7a6..8e63d5c637 100755 --- a/firmware/config/boards/subaru_eg33/config/gen_config.sh +++ b/firmware/config/boards/subaru_eg33/config/gen_config.sh @@ -7,43 +7,31 @@ SHORT_BOARDNAME=${BOARDNAME}_f7 BOARD_DIR=config/boards/${BOARDNAME} BUILD_DIR=build_${BOARDNAME} +bash gen_signature.sh ${SHORT_BOARDNAME} + mkdir -p ${BUILD_DIR} -echo This batch files reads rusefi_config.txt and produses firmware persistent configuration headers -echo the storage section of rusefi_${BOARDNAME}.ini is updated as well - java \ - -DSystemOut.name=gen_config_subaru_eg33_board \ - -cp ../java_tools/ConfigDefinition.jar \ - com.rusefi.board_generator.BoardReader \ - -yaml config/boards/${BOARDNAME}/mapping.yaml \ - -firmware_path . \ - -output_file tunerstudio/generated/${BOARDNAME}_prefix.txt \ - -enumInputFile controllers/algo/rusefi_enums.h \ - -enumInputFile ${BOARD_DIR}/rusefi_hw_enums.h \ - > gen_config_${BOARDNAME}_1.log - -[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; } - -java \ - -DSystemOut.name=gen_config_subaru_eg33 \ - -jar ../java_tools/ConfigDefinition.jar \ - -definition integration/rusefi_config.txt \ - -tool ${BOARD_DIR}/config/gen_config.sh \ - -ts_destination tunerstudio \ - -cache ${SHORT_BOARDNAME} \ - -cache_zip_file tunerstudio/generated/cache.zip \ - -firing_order controllers/algo/firing_order.h \ - -with_c_defines false \ - -initialize_to_zero false \ - -ts_output_name generated/rusefi_${SHORT_BOARDNAME}.ini \ - -c_defines ${BOARD_DIR}/config/controllers/algo/rusefi_generated.h \ - -c_destination ${BOARD_DIR}/config/controllers/algo/engine_configuration_generated_structures.h \ - -signature tunerstudio/generated/signature_${SHORT_BOARDNAME}.txt \ - -signature_destination controllers/generated/signature_${SHORT_BOARDNAME}.h \ - -enumInputFile controllers/algo/rusefi_enums.h \ - -prepend tunerstudio/generated/${BOARDNAME}_prefix.txt \ - -prepend config/boards/${BOARDNAME}/prepend.txt \ - > gen_config_${BOARDNAME}_2.log + -DSystemOut.name=gen_config_subaru_eg33 \ + -Drusefi.generator.lazyfile.enabled=true \ + -jar ../java_tools/ConfigDefinition.jar \ + -definition integration/rusefi_config.txt \ + -cache ${SHORT_BOARDNAME} \ + -cache_zip_file tunerstudio/generated/cache.zip \ + -ts_destination tunerstudio \ + -tool ${BOARD_DIR}/config/gen_config.sh \ + -firing_order controllers/algo/firing_order.h \ + -with_c_defines false \ + -initialize_to_zero false \ + -ts_output_name generated/rusefi_${SHORT_BOARDNAME}.ini \ + -c_defines ${BOARD_DIR}/config/controllers/algo/rusefi_generated.h \ + -c_destination ${BOARD_DIR}/config/controllers/algo/engine_configuration_generated_structures.h \ + -signature tunerstudio/generated/signature_${SHORT_BOARDNAME}.txt \ + -signature_destination controllers/generated/signature_${SHORT_BOARDNAME}.h \ + -enumInputFile controllers/algo/rusefi_enums.h \ + -enumInputFile controllers/algo/rusefi_hw_enums.h \ + -board {BOARDNAME} \ + -prepend tunerstudio/generated/${BOARDNAME}_prefix.txt \ + -prepend config/boards/${BOARDNAME}/prepend.txt [ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; } diff --git a/firmware/config/boards/subaru_eg33/halconf.h b/firmware/config/boards/subaru_eg33/halconf.h index 2ee1963336..27d3a31cbd 100644 --- a/firmware/config/boards/subaru_eg33/halconf.h +++ b/firmware/config/boards/subaru_eg33/halconf.h @@ -7,35 +7,12 @@ * @author Andrey Gusakov, 2021 */ -#include "mcuconf.h" -#include "../../stm32f7ems/halconf.h" - #ifndef _HALCONF_SUBARUEG33_H_ #define _HALCONF_SUBARUEG33_H_ -#undef HAL_USE_PAL -#define HAL_USE_PAL TRUE -#undef PAL_USE_CALLBACKS -#define PAL_USE_CALLBACKS TRUE -#undef HAL_TRIGGER_USE_PAL -#define HAL_TRIGGER_USE_PAL TRUE +/* this file is exist just to include mcuconf.h from THIS directory */ +#include "mcuconf.h" -#undef HAL_USE_I2C -#define HAL_USE_I2C FALSE - -#undef HAL_USE_SERIAL -#define HAL_USE_SERIAL TRUE - -//#if TS_UART_DMA_MODE -#undef HAL_USE_UART -#define HAL_USE_UART FALSE -#undef UART_USE_WAIT -#define UART_USE_WAIT FALSE -//#else -//#define HAL_USE_UART FALSE -//#endif - -#undef HAL_USE_USB_MSD -#define HAL_USE_USB_MSD FALSE +#include "../../../hw_layer/ports/stm32/stm32f7/cfg/halconf.h" #endif /* _HALCONF_SUBARUEG33_H_ */ diff --git a/firmware/config/boards/subaru_eg33/mcuconf.h b/firmware/config/boards/subaru_eg33/mcuconf.h index 5d7c7a021e..58707ec751 100644 --- a/firmware/config/boards/subaru_eg33/mcuconf.h +++ b/firmware/config/boards/subaru_eg33/mcuconf.h @@ -6,19 +6,15 @@ * @date Feb 06, 2021 * @author Andrey Gusakov, 2021 */ - -#include "../../stm32f7ems/mcuconf.h" - #ifndef _MCUCONF_SUBARUEG33_H_ #define _MCUCONF_SUBARUEG33_H_ +#include "../../../hw_layer/ports/stm32/stm32f7/cfg/mcuconf.h" + /* clocks adjust for 25 MHz ocs */ #undef STM32_PLLM_VALUE #define STM32_PLLM_VALUE 25 -//#undef CORTEX_ENABLE_WFI_IDLE -#define CORTEX_ENABLE_WFI_IDLE FALSE - //#undef STM32_LSE_ENABLED //#define STM32_LSE_ENABLED FALSE diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index a64ab32f43..a75ce688be 100755 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -27,4 +27,7 @@ bash gen_config.sh [ $? -eq 0 ] || { echo "ERROR generating board hellen_cypress hellen_cypress"; exit 1; } cd ../../../../.. +bash config/boards/subaru_eg33/config/gen_config.sh +[ $? -eq 0 ] || { echo "ERROR generating board subaru_eg33 subaru_eg33_f7"; exit 1; } + exit 0 diff --git a/firmware/gen_enum_to_string.sh b/firmware/gen_enum_to_string.sh index ab82aa202a..ee0cfa695f 100755 --- a/firmware/gen_enum_to_string.sh +++ b/firmware/gen_enum_to_string.sh @@ -18,3 +18,5 @@ cd ../../../.. cd config/boards/hellen/cypress/config bash hellen_cypress_gen_enum_to_string.sh cd ../../../../.. + +bash config/boards/subaru_eg33/config/gen_enum_to_string.sh