diff --git a/firmware/clean.bat b/firmware/clean.bat index 5d28781f6d..6572c38824 100644 --- a/firmware/clean.bat +++ b/firmware/clean.bat @@ -1,8 +1,2 @@ @echo off -sh.exe clean.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe clean.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe clean.sh ) - ) -) +sh.exe clean.sh diff --git a/firmware/clean.sh b/firmware/clean.sh index 09d7d3e0ee..f4e3750765 100644 --- a/firmware/clean.sh +++ b/firmware/clean.sh @@ -1,3 +1,3 @@ -echo "Entering firmware/clean.bat" +echo "Entering firmware/clean.sh" rm -rf .dep rm -rf build diff --git a/firmware/clean_compile_two_versions.bat b/firmware/clean_compile_two_versions.bat index 411ea59a43..4c0c3d179d 100644 --- a/firmware/clean_compile_two_versions.bat +++ b/firmware/clean_compile_two_versions.bat @@ -1,8 +1,2 @@ @echo off -sh.exe clean_compile_two_versions.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe clean_compile_two_versions.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe clean_compile_two_versions.sh ) - ) -) +sh.exe clean_compile_two_versions.sh diff --git a/firmware/clean_compile_two_versions.sh b/firmware/clean_compile_two_versions.sh index 46e21bf148..613c937bdc 100644 --- a/firmware/clean_compile_two_versions.sh +++ b/firmware/clean_compile_two_versions.sh @@ -19,7 +19,7 @@ mv build/rusefi.hex deliver/rusefi_no_asserts.hex echo "Release compilation results 1/2" echo "TIMESTAMP $(date "+%D %T.%2N")" ls -l build -[ -e deliver/rusefi_no_asserts.hex ] || (echo "FAILED to compile NO ASSERTS version"; exit 1) +[ -e deliver/rusefi_no_asserts.hex ] || { echo "FAILED to compile NO ASSERTS version"; exit 1; } sh clean.sh echo "TIMESTAMP $(date "+%D %T.%2N")" @@ -35,6 +35,6 @@ cp build/rusefi.bin deliver/rusefi.bin echo Debug compilation results 2/2 echo "TIMESTAMP $(date "+%D %T.%2N")" ls -l build -[ -e deliver/rusefi.hex ] || (echo "FAILED to compile DEFAULT with DEBUG"; exit 1) +[ -e deliver/rusefi.hex ] || { echo "FAILED to compile DEFAULT with DEBUG"; exit 1; } echo "clean_compile_two_versions: Looks good!" diff --git a/firmware/config/boards/clean_env_variables.bat b/firmware/config/boards/clean_env_variables.bat index 02b9251ddf..96898434e5 100644 --- a/firmware/config/boards/clean_env_variables.bat +++ b/firmware/config/boards/clean_env_variables.bat @@ -1,13 +1,2 @@ @echo off -echo clean_env_variables.bat: Cleaning up so that no one inherits any of these values -set DEBUG_LEVEL_OPT= -set EXTRA_PARAMS= -set PROJECT_BOARD= -set PROJECT_CPU= -set USE_BOOTLOADER= -set DEFAULT_ENGINE_TYPE= -set LED_CRITICAL_ERROR_BRAIN_PIN= -set BUILDDIR= -set DEBUG_LEVEL_OPT= -set USE_FATFS= -set USE_SMART_BUILD= +sh.exe clean_env_variables.sh diff --git a/firmware/config/boards/clean_env_variables.sh b/firmware/config/boards/clean_env_variables.sh new file mode 100644 index 0000000000..52c5c526ec --- /dev/null +++ b/firmware/config/boards/clean_env_variables.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +echo "clean_env_variables.sh: Cleaning up so that no one inherits any of these values" +export DEBUG_LEVEL_OPT="" +export EXTRA_PARAMS="" +export PROJECT_BOARD="" +export PROJECT_CPU="" +export USE_BOOTLOADER="" +export DEFAULT_ENGINE_TYPE="" +export LED_CRITICAL_ERROR_BRAIN_PIN="" +export BUILDDIR="" +export DEBUG_LEVEL_OPT="" +export USE_FATFS="" +export USE_SMART_BUILD="" diff --git a/firmware/config/boards/common_make.bat b/firmware/config/boards/common_make.bat index 3af123cbb1..f42dd2c193 100644 --- a/firmware/config/boards/common_make.bat +++ b/firmware/config/boards/common_make.bat @@ -1,20 +1,2 @@ -set script_name=common_make.bat -echo Entering %script_name% - -mkdir .dep -rem todo: start using env variable for number of threads or for '-r' -make -j4 -r -if not exist build/rusefi.hex echo FAILED to compile by %script_name% with %PROJECT_BOARD% %DEBUG_LEVEL_OPT% and %EXTRA_PARAMS% -if not exist build/rusefi.hex exit -1 - -mkdir deliver - -rm -f deliver/rusefi.dfu -echo %script_name%: invoking hex2dfu.exe -..\misc\encedo_hex2dfu\hex2dfu.exe -i build/rusefi.hex -o deliver/rusefi.dfu -cp build/rusefi.bin deliver/ - -echo %script_name%: deliver folder -ls -l deliver - -call config/boards/clean_env_variables.bat \ No newline at end of file +@echo off +sh.exe common_make.sh diff --git a/firmware/config/boards/common_make.sh b/firmware/config/boards/common_make.sh new file mode 100644 index 0000000000..88d8b7c3e5 --- /dev/null +++ b/firmware/config/boards/common_make.sh @@ -0,0 +1,25 @@ +SCRIPT_NAME="common_make.sh" +echo "Entering $SCRIPT_NAME" + +mkdir .dep +# todo: start using env variable for number of threads or for '-r' +make -j4 -r +[ -e build/rusefi.hex ] || { echo "FAILED to compile by $SCRIPT_NAME with $PROJECT_BOARD $DEBUG_LEVEL_OPT and $EXTRA_PARAMS"; exit 1; } + +mkdir -p deliver + +rm -f deliver/rusefi.dfu +echo "$SCRIPT_NAME: invoking hex2dfu" +if uname | grep "NT"; then + chmod u+x ../misc/encedo_hex2dfu/hex2dfu.exe + ../misc/encedo_hex2dfu/hex2dfu.exe -i build/rusefi.hex -o deliver/rusefi.dfu +else + chmod u+x ../misc/encedo_hex2dfu/hex2dfu.bin + ../misc/encedo_hex2dfu/hex2dfu.bin -i build/rusefi.hex -o deliver/rusefi.dfu +fi +cp build/rusefi.bin deliver/ + +echo "$SCRIPT_NAME: deliver folder" +ls -l deliver + +sh config/boards/clean_env_variables.sh diff --git a/firmware/config/boards/frankenso/!compile-frankenso-pal.bat b/firmware/config/boards/frankenso/!compile-frankenso-pal.bat deleted file mode 100644 index d8d08c6178..0000000000 --- a/firmware/config/boards/frankenso/!compile-frankenso-pal.bat +++ /dev/null @@ -1,13 +0,0 @@ - -cd ../../.. - -set EXTRA_PARAMS=-DDUMMY ^ - -DHAL_TRIGGER_USE_PAL=TRUE ^ - -DEFI_VEHICLE_SPEED=FALSE ^ - -DHAL_USE_ICU=FALSE ^ - -DEFI_LOGIC_ANALYZER=FALSE ^ - -DDEFAULT_ENGINE_TYPE=MIATA_NA6_VAF ^ - -DFIRMWARE_ID=\"frankensoNA6\" - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/frankenso/!compile-frankenso_na6.bat b/firmware/config/boards/frankenso/!compile-frankenso_na6.bat deleted file mode 100644 index 61820cca1e..0000000000 --- a/firmware/config/boards/frankenso/!compile-frankenso_na6.bat +++ /dev/null @@ -1,9 +0,0 @@ - -cd ../../.. - -set EXTRA_PARAMS=-DDUMMY ^ - -DDEFAULT_ENGINE_TYPE=MIATA_NA6_VAF ^ - -DFIRMWARE_ID=\"frankensoNA6\" - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/frankenso/!compile_frankenso_na6.bat b/firmware/config/boards/frankenso/!compile_frankenso_na6.bat new file mode 100644 index 0000000000..9ef7a87b34 --- /dev/null +++ b/firmware/config/boards/frankenso/!compile_frankenso_na6.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_frankenso_na6.sh diff --git a/firmware/config/boards/frankenso/!compile_frankenso_pal.bat b/firmware/config/boards/frankenso/!compile_frankenso_pal.bat new file mode 100644 index 0000000000..a8911570d3 --- /dev/null +++ b/firmware/config/boards/frankenso/!compile_frankenso_pal.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_frankenso_pal.sh diff --git a/firmware/config/boards/frankenso/compile_frankenso_na6.sh b/firmware/config/boards/frankenso/compile_frankenso_na6.sh new file mode 100644 index 0000000000..e939d5f84b --- /dev/null +++ b/firmware/config/boards/frankenso/compile_frankenso_na6.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +cd ../../.. + +export EXTRA_PARAMS="-DDUMMY \ + -DDEFAULT_ENGINE_TYPE=MIATA_NA6_VAF \ + -DFIRMWARE_ID=\\\"frankensoNA6\\\"" + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/frankenso/compile_frankenso_pal.sh b/firmware/config/boards/frankenso/compile_frankenso_pal.sh new file mode 100644 index 0000000000..483f32908a --- /dev/null +++ b/firmware/config/boards/frankenso/compile_frankenso_pal.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +cd ../../.. + +export EXTRA_PARAMS="-DDUMMY \ + -DHAL_TRIGGER_USE_PAL=TRUE \ + -DEFI_VEHICLE_SPEED=FALSE \ + -DHAL_USE_ICU=FALSE \ + -DEFI_LOGIC_ANALYZER=FALSE \ + -DDEFAULT_ENGINE_TYPE=MIATA_NA6_VAF \ + -DFIRMWARE_ID=\\\"frankensoNA6\\\"" + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/kinetis/!compile-kinetis.bat b/firmware/config/boards/kinetis/!compile-kinetis.bat deleted file mode 100644 index 9667c783be..0000000000 --- a/firmware/config/boards/kinetis/!compile-kinetis.bat +++ /dev/null @@ -1,23 +0,0 @@ -echo "Compiling for Kinetis MKE16F512" -rem TODO: somehow this -DDUMMY is helping us to not mess up the parameters, why?! -rem https://github.com/rusefi/rusefi/issues/684 -set EXTRA_PARAMS=-DDUMMY -DCPU_MKE16F512VLH16 -DCPU_MKE16F512VLH16_cm4 -D__USE_CMSIS^ - -DEFI_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE^ - -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -rem set BUILDDIR=build_kinetis -set BUILDDIR=build -set PROJECT_BOARD=kinetis -set USE_SMART_BUILD=yes -set PROJECT_CPU=kinetis -set DEBUG_LEVEL_OPT="-O2" -set USE_FATFS=no -set USE_BOOTLOADER=no -rem -DCH_DBG_ENABLE_CHECKS=FALSE - -cd ../../.. - -rem rm -f ${BUILDDIR}/rusefi_kinetis.* - -rem make -r -j4 - -call config/boards/common_make.bat diff --git a/firmware/config/boards/kinetis/!compile_kinetis.bat b/firmware/config/boards/kinetis/!compile_kinetis.bat new file mode 100644 index 0000000000..0ae8cfafcd --- /dev/null +++ b/firmware/config/boards/kinetis/!compile_kinetis.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_kinetis.sh diff --git a/firmware/config/boards/kinetis/compile_kinetis.sh b/firmware/config/boards/kinetis/compile_kinetis.sh new file mode 100644 index 0000000000..2a57684cac --- /dev/null +++ b/firmware/config/boards/kinetis/compile_kinetis.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +echo "Compiling for Kinetis MKE16F512" +# TODO: somehow this -DDUMMY is helping us to not mess up the parameters, why?! +# https://github.com/rusefi/rusefi/issues/684 +export "EXTRA_PARAMS=-DDUMMY -DCPU_MKE16F512VLH16 -DCPU_MKE16F512VLH16_cm4 -D__USE_CMSIS \ + -DEFI_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE \ + -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS" +# set BUILDDIR=build_kinetis +export BUILDDIR=build +export PROJECT_BOARD=kinetis +export USE_SMART_BUILD=yes +export PROJECT_CPU=kinetis +export DEBUG_LEVEL_OPT="-O2" +export USE_FATFS=no +export USE_BOOTLOADER=no +# -DCH_DBG_ENABLE_CHECKS=FALSE + +cd ../../.. + +# rm -f ${BUILDDIR}/rusefi_kinetis.* + +# make -r -j4 + +sh config/boards/common_make.sh diff --git a/firmware/config/boards/microrusefi/!compile-mre-f4-hardware-QC-special-build.bat b/firmware/config/boards/microrusefi/!compile-mre-f4-hardware-QC-special-build.bat deleted file mode 100644 index d5af87638e..0000000000 --- a/firmware/config/boards/microrusefi/!compile-mre-f4-hardware-QC-special-build.bat +++ /dev/null @@ -1,11 +0,0 @@ - -cd ../../.. - -set PROJECT_BOARD=microrusefi -set PROJECT_CPU=ARCH_STM32F4 -set DEFAULT_ENGINE_TYPE=-DDEFAULT_ENGINE_TYPE=MRE_BOARD_NEW_TEST -set EXTRA_PARAMS=-DHW_CHECK_MODE=TRUE - -call config/boards/common_make.bat - - diff --git a/firmware/config/boards/microrusefi/!compile-mre-f4-slave.bat b/firmware/config/boards/microrusefi/!compile-mre-f4-slave.bat deleted file mode 100644 index a28e4e76be..0000000000 --- a/firmware/config/boards/microrusefi/!compile-mre-f4-slave.bat +++ /dev/null @@ -1,11 +0,0 @@ - -cd ../../.. - -set PROJECT_BOARD=microrusefi -set PROJECT_CPU=ARCH_STM32F4 -set DEFAULT_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=BMW_M73_MRE_SLAVE -set EXTRA_PARAMS=-DDUMMY -DEFI_CANBUS_SLAVE=TRUE - -call config/boards/common_make.bat - - diff --git a/firmware/config/boards/microrusefi/!compile-mre-f4.bat b/firmware/config/boards/microrusefi/!compile-mre-f4.bat deleted file mode 100644 index 27d3a78e02..0000000000 --- a/firmware/config/boards/microrusefi/!compile-mre-f4.bat +++ /dev/null @@ -1,9 +0,0 @@ - -cd ../../.. - -set PROJECT_BOARD=microrusefi -set PROJECT_CPU=ARCH_STM32F4 - -call config/boards/common_make.bat - - diff --git a/firmware/config/boards/microrusefi/!compile-mre-f7-test.bat b/firmware/config/boards/microrusefi/!compile-mre-f7-test.bat deleted file mode 100644 index bb742d4f97..0000000000 --- a/firmware/config/boards/microrusefi/!compile-mre-f7-test.bat +++ /dev/null @@ -1,11 +0,0 @@ - -cd ../../.. - -set LDSCRIPT = config/boards/NUCLEO_F767/STM32F76xxI.ld - -set PROJECT_BOARD=microrusefi -set PROJECT_CPU=ARCH_STM32F7 -set DEFAULT_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=MRE_BOARD_TEST - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/microrusefi/!compile-mre-f7.bat b/firmware/config/boards/microrusefi/!compile-mre-f7.bat deleted file mode 100644 index 36752bb27d..0000000000 --- a/firmware/config/boards/microrusefi/!compile-mre-f7.bat +++ /dev/null @@ -1,10 +0,0 @@ - -cd ../../.. - -set LDSCRIPT = config/boards/NUCLEO_F767/STM32F76xxI.ld - -set PROJECT_BOARD=microrusefi -set PROJECT_CPU=ARCH_STM32F7 - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/microrusefi/!compile_mre_f4.bat b/firmware/config/boards/microrusefi/!compile_mre_f4.bat new file mode 100644 index 0000000000..b411fa0899 --- /dev/null +++ b/firmware/config/boards/microrusefi/!compile_mre_f4.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_mre_f4.sh diff --git a/firmware/config/boards/microrusefi/!compile_mre_f4_hardware_QC_special_build.bat b/firmware/config/boards/microrusefi/!compile_mre_f4_hardware_QC_special_build.bat new file mode 100644 index 0000000000..fd684021e7 --- /dev/null +++ b/firmware/config/boards/microrusefi/!compile_mre_f4_hardware_QC_special_build.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_mre_f4_hardware_QC_special_build.sh diff --git a/firmware/config/boards/microrusefi/!compile_mre_f4_slave.bat b/firmware/config/boards/microrusefi/!compile_mre_f4_slave.bat new file mode 100644 index 0000000000..65c03f84e5 --- /dev/null +++ b/firmware/config/boards/microrusefi/!compile_mre_f4_slave.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_mre_f4_slave.sh diff --git a/firmware/config/boards/microrusefi/!compile_mre_f7.bat b/firmware/config/boards/microrusefi/!compile_mre_f7.bat new file mode 100644 index 0000000000..a097f12c6c --- /dev/null +++ b/firmware/config/boards/microrusefi/!compile_mre_f7.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_mre_f7.sh diff --git a/firmware/config/boards/microrusefi/!compile_mre_f7_test.bat b/firmware/config/boards/microrusefi/!compile_mre_f7_test.bat new file mode 100644 index 0000000000..bed3bf9fc0 --- /dev/null +++ b/firmware/config/boards/microrusefi/!compile_mre_f7_test.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_mre_f7_test.sh diff --git a/firmware/config/boards/microrusefi/compile_mre_f4.sh b/firmware/config/boards/microrusefi/compile_mre_f4.sh new file mode 100644 index 0000000000..26bfa45709 --- /dev/null +++ b/firmware/config/boards/microrusefi/compile_mre_f4.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +cd ../../.. + +export PROJECT_BOARD=microrusefi +export PROJECT_CPU=ARCH_STM32F4 + +sh config/boards/common_make.sh diff --git a/firmware/config/boards/microrusefi/compile_mre_f4_hardware_QC_special_build.sh b/firmware/config/boards/microrusefi/compile_mre_f4_hardware_QC_special_build.sh new file mode 100644 index 0000000000..253077ebc0 --- /dev/null +++ b/firmware/config/boards/microrusefi/compile_mre_f4_hardware_QC_special_build.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +cd ../../.. + +export PROJECT_BOARD=microrusefi +export PROJECT_CPU=ARCH_STM32F4 +export DEFAULT_ENGINE_TYPE=-DDEFAULT_ENGINE_TYPE=MRE_BOARD_NEW_TEST +export EXTRA_PARAMS=-DHW_CHECK_MODE=TRUE + +sh config/boards/common_make.sh + + diff --git a/firmware/config/boards/microrusefi/compile_mre_f4_slave.sh b/firmware/config/boards/microrusefi/compile_mre_f4_slave.sh new file mode 100644 index 0000000000..faa03de39a --- /dev/null +++ b/firmware/config/boards/microrusefi/compile_mre_f4_slave.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +cd ../../.. + +export PROJECT_BOARD=microrusefi +export PROJECT_CPU=ARCH_STM32F4 +export DEFAULT_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=BMW_M73_MRE_SLAVE +export EXTRA_PARAMS=-DDUMMY -DEFI_CANBUS_SLAVE=TRUE + +sh config/boards/common_make.sh + + diff --git a/firmware/config/boards/microrusefi/compile_mre_f7.sh b/firmware/config/boards/microrusefi/compile_mre_f7.sh new file mode 100644 index 0000000000..d90b0ebdcb --- /dev/null +++ b/firmware/config/boards/microrusefi/compile_mre_f7.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +cd ../../.. + +export LDSCRIPT="config/boards/NUCLEO_F767/STM32F76xxI.ld" + +export PROJECT_BOARD=microrusefi +export PROJECT_CPU=ARCH_STM32F7 + +sh config/boards/common_make.sh diff --git a/firmware/config/boards/microrusefi/compile_mre_f7_test.sh b/firmware/config/boards/microrusefi/compile_mre_f7_test.sh new file mode 100644 index 0000000000..7825d4568a --- /dev/null +++ b/firmware/config/boards/microrusefi/compile_mre_f7_test.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +cd ../../.. + +export LDSCRIPT="config/boards/NUCLEO_F767/STM32F76xxI.ld" + +export PROJECT_BOARD=microrusefi +export PROJECT_CPU=ARCH_STM32F7 +export DEFAULT_ENGINE_TYPE="-DDEFAULT_ENGINE_TYPE=MRE_BOARD_TEST" + +sh config/boards/common_make.sh diff --git a/firmware/config/boards/nucleo_f746/!compile-stm32f746_nucleo.bat b/firmware/config/boards/nucleo_f746/!compile-stm32f746_nucleo.bat deleted file mode 100644 index 76ad86a366..0000000000 --- a/firmware/config/boards/nucleo_f746/!compile-stm32f746_nucleo.bat +++ /dev/null @@ -1,22 +0,0 @@ -rem -rem STM32F767 version of the firmware for Nucleo-F746ZG board -rem - -set script_name=!compile-nucleo_f746.bat -echo Entering %script_name% - -cd ../../.. -set PROJECT_BOARD=nucleo_F746 -set PROJECT_CPU=ARCH_STM32F7 -set EXTRA_PARAMS=-DDUMMY -DSTM32F746xx ^ - -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED ^ - -DEFI_COMMUNICATION_PIN=GPIOB_7 ^ - -DFIRMWARE_ID=\"nucleo746\" ^ - -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 ^ - -DEFI_TOOTH_LOGGER=FALSE ^ - -DRAM_UNUSED_SIZE=10 ^ - -DSTATUS_LOGGING_BUFFER_SIZE=1400 ^ - -DCCM_UNUSED_SIZE=10 -set DEBUG_LEVEL_OPT="-O2" -call config/boards/common_make.bat - diff --git a/firmware/config/boards/nucleo_f746/!compile_stm32f746_nucleo.bat b/firmware/config/boards/nucleo_f746/!compile_stm32f746_nucleo.bat new file mode 100644 index 0000000000..f2739af419 --- /dev/null +++ b/firmware/config/boards/nucleo_f746/!compile_stm32f746_nucleo.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_stm32f746_nucleo.sh diff --git a/firmware/config/boards/nucleo_f746/compile_stm32f746_nucleo.sh b/firmware/config/boards/nucleo_f746/compile_stm32f746_nucleo.sh new file mode 100644 index 0000000000..5b8705215e --- /dev/null +++ b/firmware/config/boards/nucleo_f746/compile_stm32f746_nucleo.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# STM32F767 version of the firmware for Nucleo-F746ZG board + +export script_name="compile_nucleo_f746.sh" +echo "Entering $SCRIPT_NAME" + +cd ../../.. +export PROJECT_BOARD=nucleo_F746 +export PROJECT_CPU=ARCH_STM32F7 +export EXTRA_PARAMS="-DDUMMY -DSTM32F746xx \ + -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED \ + -DEFI_COMMUNICATION_PIN=GPIOB_7 \ + -DFIRMWARE_ID=\\\"nucleo746\\\" \ + -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 \ + -DEFI_TOOTH_LOGGER=FALSE \ + -DRAM_UNUSED_SIZE=10 \ + -DSTATUS_LOGGING_BUFFER_SIZE=1400 \ + -DCCM_UNUSED_SIZE=10" +export DEBUG_LEVEL_OPT="-O2" +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/nucleo_f767/!compile-stm32f767_nucleo.bat b/firmware/config/boards/nucleo_f767/!compile-stm32f767_nucleo.bat deleted file mode 100644 index 9ee14770e7..0000000000 --- a/firmware/config/boards/nucleo_f767/!compile-stm32f767_nucleo.bat +++ /dev/null @@ -1,22 +0,0 @@ -rem -rem STM32F767 version of the firmware for Nucleo-F767ZI board -rem - -set script_name=!compile-nucleo_f767.bat -echo Entering %script_name% - -cd ../../.. -set PROJECT_BOARD=nucleo_f767 -set PROJECT_CPU=ARCH_STM32F7 -set EXTRA_PARAMS=-DDUMMY -DSTM32F767xx ^ - -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED ^ - -DFIRMWARE_ID=\"nucleo767\" ^ - -DEFI_COMMUNICATION_PIN=GPIOB_7 ^ - -DSTATUS_LOGGING_BUFFER_SIZE=1400 ^ - -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 ^ - -DEFI_ENABLE_ASSERTS=FALSE ^ - -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE -set DEBUG_LEVEL_OPT="-O2" - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/nucleo_f767/!compile-stm32f767_osc.bat b/firmware/config/boards/nucleo_f767/!compile-stm32f767_osc.bat deleted file mode 100644 index 06e60a81b8..0000000000 --- a/firmware/config/boards/nucleo_f767/!compile-stm32f767_osc.bat +++ /dev/null @@ -1,21 +0,0 @@ -rem -rem STM32F767 version of the firmware for F767ZI chip NOT on Nucleo board, with a real oscilattor -rem - -cd ../../.. -set PROJECT_BOARD=nucleo_f767 -set PROJECT_CPU=ARCH_STM32F7 -set EXTRA_PARAMS=-DDUMMY -DSTM32F767xx ^ - -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED ^ - -DFIRMWARE_ID=\"board767\" ^ - -DEFI_COMMUNICATION_PIN=GPIOB_7 ^ - -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 ^ - -DEFI_ENABLE_ASSERTS=FALSE ^ - -DEFI_USE_OSC=TRUE ^ - -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE - -rem Do not forget to comment out following line if looking to debug! -set DEBUG_LEVEL_OPT="-O2" - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/nucleo_f767/!compile_stm32f767_nucleo.bat b/firmware/config/boards/nucleo_f767/!compile_stm32f767_nucleo.bat new file mode 100644 index 0000000000..60fdbea7f6 --- /dev/null +++ b/firmware/config/boards/nucleo_f767/!compile_stm32f767_nucleo.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_stm32f767_nucleo.sh diff --git a/firmware/config/boards/nucleo_f767/!compile_stm32f767_osc.bat b/firmware/config/boards/nucleo_f767/!compile_stm32f767_osc.bat new file mode 100644 index 0000000000..0ade9af2d4 --- /dev/null +++ b/firmware/config/boards/nucleo_f767/!compile_stm32f767_osc.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_stm32f767_osc.sh diff --git a/firmware/config/boards/nucleo_f767/compile_stm32f767_nucleo.sh b/firmware/config/boards/nucleo_f767/compile_stm32f767_nucleo.sh new file mode 100644 index 0000000000..3cf7ad4df4 --- /dev/null +++ b/firmware/config/boards/nucleo_f767/compile_stm32f767_nucleo.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# STM32F767 version of the firmware for Nucleo-F767ZI board + +SCRIPT_NAME="compile_nucleo_f767.sh" +echo "Entering $SCRIPT_NAME" + +cd ../../.. +export PROJECT_BOARD=nucleo_f767 +export PROJECT_CPU=ARCH_STM32F7 +export EXTRA_PARAMS="-DDUMMY -DSTM32F767xx \ + -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED \ + -DFIRMWARE_ID=\\\"nucleo767\\\" \ + -DEFI_COMMUNICATION_PIN=GPIOB_7 \ + -DSTATUS_LOGGING_BUFFER_SIZE=1400 \ + -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 \ + -DEFI_ENABLE_ASSERTS=FALSE \ + -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE" +export DEBUG_LEVEL_OPT="-O2" + +sh config/boards/common_make.sh diff --git a/firmware/config/boards/nucleo_f767/compile_stm32f767_osc.sh b/firmware/config/boards/nucleo_f767/compile_stm32f767_osc.sh new file mode 100644 index 0000000000..3b7bd28ae6 --- /dev/null +++ b/firmware/config/boards/nucleo_f767/compile_stm32f767_osc.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# STM32F767 version of the firmware for F767ZI chip NOT on Nucleo board, with a real oscilattor + +cd ../../.. +export PROJECT_BOARD=nucleo_f767 +export PROJECT_CPU=ARCH_STM32F7 +export EXTRA_PARAMS="-DDUMMY -DSTM32F767xx \ + -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED \ + -DFIRMWARE_ID=\\\"board767\\\" \ + -DEFI_COMMUNICATION_PIN=GPIOB_7 \ + -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOB_14 \ + -DEFI_ENABLE_ASSERTS=FALSE \ + -DEFI_USE_OSC=TRUE \ + -DCH_DBG_ENABLE_CHECKS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE" + +# Do not forget to comment out following line if looking to debug! +export DEBUG_LEVEL_OPT="-O2" + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/prometheus/!compile-prometheus_405.bat b/firmware/config/boards/prometheus/!compile-prometheus_405.bat deleted file mode 100644 index 1502021057..0000000000 --- a/firmware/config/boards/prometheus/!compile-prometheus_405.bat +++ /dev/null @@ -1,9 +0,0 @@ -rem -rem STM32F405 version of the firmware for https://rusefi.com/forum/viewtopic.php?f=4&t=1215 -rem - -cd ../../.. -set PROJECT_BOARD=prometheus/f405 - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/prometheus/!compile-prometheus_469.bat b/firmware/config/boards/prometheus/!compile-prometheus_469.bat deleted file mode 100644 index 040f7f8daf..0000000000 --- a/firmware/config/boards/prometheus/!compile-prometheus_469.bat +++ /dev/null @@ -1,10 +0,0 @@ -rem -rem STM32F469 version of the firmware for https://rusefi.com/forum/viewtopic.php?f=4&t=1215 -rem - -cd ../../.. -set PROJECT_BOARD=prometheus/f469 -set USE_BOOTLOADER=yes - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/prometheus/!compile_prometheus_405.bat b/firmware/config/boards/prometheus/!compile_prometheus_405.bat new file mode 100644 index 0000000000..108b722432 --- /dev/null +++ b/firmware/config/boards/prometheus/!compile_prometheus_405.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_prometheus_405.sh diff --git a/firmware/config/boards/prometheus/!compile_prometheus_469.bat b/firmware/config/boards/prometheus/!compile_prometheus_469.bat new file mode 100644 index 0000000000..1f108e188c --- /dev/null +++ b/firmware/config/boards/prometheus/!compile_prometheus_469.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_prometheus_469.sh diff --git a/firmware/config/boards/prometheus/compile_prometheus_405.sh b/firmware/config/boards/prometheus/compile_prometheus_405.sh new file mode 100644 index 0000000000..0c3e4e0a99 --- /dev/null +++ b/firmware/config/boards/prometheus/compile_prometheus_405.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# STM32F405 version of the firmware for https://rusefi.com/forum/viewtopic.php?f=4&t=1215 + +cd ../../.. +export PROJECT_BOARD=prometheus/f405 + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/prometheus/compile_prometheus_469.sh b/firmware/config/boards/prometheus/compile_prometheus_469.sh new file mode 100644 index 0000000000..5cd244425d --- /dev/null +++ b/firmware/config/boards/prometheus/compile_prometheus_469.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# STM32F469 version of the firmware for https://rusefi.com/forum/viewtopic.php?f=4&t=1215 + +cd ../../.. +export PROJECT_BOARD=prometheus/f469 +export USE_BOOTLOADER=yes + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/proteus/!compile-proteus-f4.bat b/firmware/config/boards/proteus/!compile-proteus-f4.bat deleted file mode 100644 index 913930b300..0000000000 --- a/firmware/config/boards/proteus/!compile-proteus-f4.bat +++ /dev/null @@ -1,8 +0,0 @@ - -cd ../../.. - -set PROJECT_BOARD=proteus -set PROJECT_CPU=ARCH_STM32F4 - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/proteus/!compile-proteus-f7.bat b/firmware/config/boards/proteus/!compile-proteus-f7.bat deleted file mode 100644 index 96edf479b7..0000000000 --- a/firmware/config/boards/proteus/!compile-proteus-f7.bat +++ /dev/null @@ -1,10 +0,0 @@ - -cd ../../.. - -set LDSCRIPT = config/boards/NUCLEO_F767/STM32F76xxI.ld - -set PROJECT_BOARD=proteus -set PROJECT_CPU=ARCH_STM32F7 - -call config/boards/common_make.bat - diff --git a/firmware/config/boards/proteus/!compile_proteus_f4.bat b/firmware/config/boards/proteus/!compile_proteus_f4.bat new file mode 100644 index 0000000000..3504424b33 --- /dev/null +++ b/firmware/config/boards/proteus/!compile_proteus_f4.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_proteus_f4.sh diff --git a/firmware/config/boards/proteus/!compile_proteus_f7.bat b/firmware/config/boards/proteus/!compile_proteus_f7.bat new file mode 100644 index 0000000000..02e08ba586 --- /dev/null +++ b/firmware/config/boards/proteus/!compile_proteus_f7.bat @@ -0,0 +1,2 @@ +@echo off +sh.exe compile_proteus_f7.sh diff --git a/firmware/config/boards/proteus/compile_proteus_f4.sh b/firmware/config/boards/proteus/compile_proteus_f4.sh new file mode 100644 index 0000000000..ab743863d0 --- /dev/null +++ b/firmware/config/boards/proteus/compile_proteus_f4.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +cd ../../.. + +export PROJECT_BOARD=proteus +export PROJECT_CPU=ARCH_STM32F4 + +sh config/boards/common_make.sh + diff --git a/firmware/config/boards/proteus/compile_proteus_f7.sh b/firmware/config/boards/proteus/compile_proteus_f7.sh new file mode 100644 index 0000000000..5a825e0212 --- /dev/null +++ b/firmware/config/boards/proteus/compile_proteus_f7.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +cd ../../.. + +export LDSCRIPT=config/boards/NUCLEO_F767/STM32F76xxI.ld + +export PROJECT_BOARD=proteus +export PROJECT_CPU=ARCH_STM32F7 + +sh config/boards/common_make.sh diff --git a/firmware/gen_config.bat b/firmware/gen_config.bat index b172acdc9e..64a7df1d9d 100644 --- a/firmware/gen_config.bat +++ b/firmware/gen_config.bat @@ -1,15 +1,8 @@ @echo off -sh.exe gen_config.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe gen_config.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe gen_config.sh ) - ) -) - +sh.exe gen_config.sh rem This would automatically copy latest file to 'dev' TS project set ts_path="%HOMEDRIVE%%HOMEPATH%\Documents\TunerStudioProjects" echo %ts_path% cp tunerstudio/rusefi.ini %ts_path%\dev\projectCfg\mainController.ini -cp tunerstudio/rusefi_microrusefi.ini %ts_path%\dev_mre\projectCfg\mainController.ini \ No newline at end of file +cp tunerstudio/rusefi_microrusefi.ini %ts_path%\dev_mre\projectCfg\mainController.ini diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index 6b26a35c86..ac8a988b5a 100644 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -34,7 +34,7 @@ java -DSystemOut.name=gen_config \ -signature tunerstudio/signature_all.txt \ -romraider_destination ../java_console/rusefi.xml -[ $? -eq 0 ] || (echo "ERROR generating default"; exit 1) +[ $? -eq 0 ] || { echo "ERROR generating default"; exit 1; } if [ -z "${TS_PATH}" ]; then echo "TS_PATH not defined" @@ -48,7 +48,7 @@ for BOARD in "microrusefi mre" "frankenso fra" "prometheus pth" "proteus pro"; d BOARD_NAME="${BOARD% *}" BOARD_SHORT_NAME="${BOARD#* }" sh gen_config_board.sh $BOARD_NAME $BOARD_SHORT_NAME - [ $? -eq 0 ] || (echo "ERROR generating board $BOARD_NAME $BOARD_SHORT_NAME"; exit 1) + [ $? -eq 0 ] || { echo "ERROR generating board $BOARD_NAME $BOARD_SHORT_NAME"; exit 1; } done cd config/boards/kinetis/config diff --git a/firmware/gen_config_board.bat b/firmware/gen_config_board.bat index 91bb59f72c..c4aad17c6b 100644 --- a/firmware/gen_config_board.bat +++ b/firmware/gen_config_board.bat @@ -1,8 +1,2 @@ @echo off -sh.exe gen_config_board.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe gen_config_board.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe gen_config_board.sh ) - ) -) +sh.exe gen_config_board.sh diff --git a/firmware/gen_config_board.sh b/firmware/gen_config_board.sh index 03d4ff5b99..d7c0b82852 100644 --- a/firmware/gen_config_board.sh +++ b/firmware/gen_config_board.sh @@ -27,7 +27,7 @@ java -DSystemOut.name=gen_config_board \ -enumInputFile controllers/algo/rusefi_enums.h \ -enumInputFile controllers/algo/rusefi_hw_enums.h -[ $? -eq 0 ] || (echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1) +[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; } java -DSystemOut.name=gen_config_board \ -jar ../java_tools/ConfigDefinition.jar \ @@ -41,7 +41,7 @@ java -DSystemOut.name=gen_config_board \ -prepend tunerstudio/${BOARDNAME}_prefix.txt \ -prepend config/boards/${BOARDNAME}/prepend.txt -[ $? -eq 0 ] || (echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1) +[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; } if [ -z "${TS_PATH}" ]; then echo "TS_PATH not defined" diff --git a/firmware/gen_live_documentation.bat b/firmware/gen_live_documentation.bat index 4cef6acb78..339b2d7d94 100644 --- a/firmware/gen_live_documentation.bat +++ b/firmware/gen_live_documentation.bat @@ -1,8 +1,2 @@ @echo off -sh.exe gen_live_documentation.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe gen_live_documentation.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe gen_live_documentation.sh ) - ) -) +sh.exe gen_live_documentation.sh diff --git a/firmware/update_version.bat b/firmware/update_version.bat index ee150599c1..2ba8669d9f 100644 --- a/firmware/update_version.bat +++ b/firmware/update_version.bat @@ -1,8 +1,2 @@ @echo off -sh.exe update_version.sh || ( - if exist C:\cygwin64 ( - C:\cygwin64\bin\sh.exe update_version.sh - ) else ( - if exist C:\cygwin ( C:\cygwin\bin\sh.exe update_version.sh ) - ) -) +sh.exe update_version.sh diff --git a/misc/encedo_hex2dfu/hex2dfu.bin b/misc/encedo_hex2dfu/hex2dfu.bin new file mode 100755 index 0000000000..048427ce5d Binary files /dev/null and b/misc/encedo_hex2dfu/hex2dfu.bin differ diff --git a/misc/jenkins/build_java_console.bat b/misc/jenkins/build_java_console.bat index 2f17ed3706..c62b94200f 100644 --- a/misc/jenkins/build_java_console.bat +++ b/misc/jenkins/build_java_console.bat @@ -1,16 +1,2 @@ -echo java version -java -version - -echo Building java console -pwd -cd java_console -call ant clean clean_out_folder jar -cd .. - -echo Building TS plugin -cd java_tools/ts_plugin_launcher -call ant clean jar -cd ../.. - -if not exist java_console_binary/rusefi_console.jar echo CONSOLE COMPILATION FAILED -echo java console looks good +@echo off +sh.exe misc\jenkins\build_java_console.sh diff --git a/misc/jenkins/build_java_console.sh b/misc/jenkins/build_java_console.sh new file mode 100644 index 0000000000..ec9071ba00 --- /dev/null +++ b/misc/jenkins/build_java_console.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +echo "java version" +java -version + +echo "Building java console" +pwd +cd java_console +ant clean clean_out_folder jar +cd .. + +echo "Building TS plugin" +cd java_tools/ts_plugin_launcher +ant clean jar +cd ../.. + +[ -e java_console_binary/rusefi_console.jar ] || { echo "CONSOLE COMPILATION FAILED"; exit 1; } +echo "java console looks good" diff --git a/misc/jenkins/build_simulator.bat b/misc/jenkins/build_simulator.bat index 0c5a120945..f84277566b 100644 --- a/misc/jenkins/build_simulator.bat +++ b/misc/jenkins/build_simulator.bat @@ -1,12 +1,2 @@ -echo "TIMESTAMP %date% %time% Building rusefi simulator" -pwd -cd simulator -gcc -v -make -v -mkdir out -rm -rf build -rm -rf .dep -call compile.bat -cd .. -if not exist simulator/build/rusefi_simulator.exe echo SIMULATOR COMPILATION FAILED -if not exist simulator/build/rusefi_simulator.exe exit -1 +@echo off +sh.exe misc\jenkins\build_simulator.sh diff --git a/misc/jenkins/build_simulator.sh b/misc/jenkins/build_simulator.sh new file mode 100644 index 0000000000..e06a37fab7 --- /dev/null +++ b/misc/jenkins/build_simulator.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +echo "TIMESTAMP $(date "+%D %T.%2N") Building rusefi simulator" +pwd +cd simulator +gcc -v +make -v +mkdir -p out +rm -rf build +rm -rf .dep +sh compile.sh +cd .. +[ -e simulator/build/rusefi_simulator.exe ] || { echo "SIMULATOR COMPILATION FAILED"; exit 1; } diff --git a/misc/jenkins/build_working_folder.bat b/misc/jenkins/build_working_folder.bat index 5d34c732bc..57267e2370 100644 --- a/misc/jenkins/build_working_folder.bat +++ b/misc/jenkins/build_working_folder.bat @@ -1,124 +1,2 @@ -set full_bundle_file=%bundle_full_name%.zip -set update_bundle_file=%bundle_full_name%_autoupdate.zip - -echo Packaging temp\%full_bundle_file% file - -rm -rf temp -mkdir temp - -set script_name=build_working_folder.bat -echo Entering %script_name% - -pwd -rem This working folder name starts with 'temp/' -echo %script_name%: Working folder: %folder% -mkdir %folder% -echo %bundle_full_name% > %folder%\bundle_name.ini - -set console_folder=%folder%\console -set drivers_folder=%folder%\drivers -mkdir %console_folder% -mkdir %drivers_folder% -ls -l %folder% - -wget https://rusefi.com/build_server/st_files/silent_st_drivers.exe -P %drivers_folder% -if not exist %drivers_folder%/silent_st_drivers.exe ( - echo %script_name%: ERROR DOWNLOADING silent_st_drivers.exe - EXIT /B 1 -) - -if %ini_file_override%x==nox ( - set ini_file_override=rusefi.ini - echo %script_name%: N/a ini_file_override specified -) -if %ini_file_override%.==. ( - set ini_file_override=rusefi.ini - echo %script_name%: No ini_file_override specified -) -echo %script_name%: Will use %ini_file_override% - -if %rusefi_console_settings%.==. ( - echo %script_name%: No rusefi_console_settings -) else ( - echo Using rusefi_console_settings [%rusefi_console_settings%] - cp %rusefi_console_settings% %console_folder% -) - -cp java_console/rusefi_autoupdate.jar %console_folder% -cp java_console_binary/rusefi_console.jar %console_folder% -cp java_tools/ts_plugin_launcher/build/jar/rusefi_plugin_launcher.jar %console_folder% -cp simulator/build/rusefi_simulator.exe %console_folder% -cp misc/console_launcher/rusefi_*.exe %console_folder% -cp java_console/rusefi.xml %console_folder% - -cp misc/console_launcher/readme.html %folder% - -cp firmware/tunerstudio/%ini_file_override% %folder% -rem Unsetting since would not be used anywhere else -set ini_file_override= -set rusefi_console_settings= - -rem users probably do not really care for this file -rem cp firmware/svnversion.h %folder% - -cp -r misc/install/openocd %console_folder% -cp -r misc/install/DfuSe %console_folder% -rem 407 has additional version of firmware -cp firmware/deliver/rusefi_no_asserts.bin %folder% -cp firmware/deliver/rusefi_no_asserts.dfu %folder% -rem 746 builds one version at the moment -rem probably not needed cp firmware/build/rusefi.hex %folder% -cp firmware/deliver/rusefi.bin %folder% -rem probably not needed cp firmware/build/rusefi.elf %folder% -cp firmware/deliver/rusefi.dfu %folder% - -if [%bundle_name%] neq [] ( - mv %folder%/rusefi.dfu %folder%/rusefi_%bundle_name%.dfu -) - - -if not exist firmware/deliver/rusefi.bin echo %script_name%: rusefi.bin not found -if not exist firmware/deliver/rusefi.bin exit -1 - -cd temp - - -echo "Building bundle" -pwd -zip -r %full_bundle_file% * -IF NOT ERRORLEVEL 0 echo %script_name%: ERROR INVOKING zip -IF NOT ERRORLEVEL 0 EXIT /B 1 - -echo %script_name%: Bundle %full_bundle_file% ready -ls -l %full_bundle_file% - -if not exist %full_bundle_file% echo %script_name%: ERROR not found %full_bundle_file% -if not exist %full_bundle_file% EXIT /B 1 - -echo "%script_name%: Uploading full bundle" -ncftpput -u %RUSEFI_BUILD_FTP_USER% -p %RUSEFI_BUILD_FTP_PASS% %RUSEFI_FTP_SERVER% . %full_bundle_file% - -cd .. - -mkdir artifacts -mv temp/%full_bundle_file% artifacts - -echo Removing more static content -rm -rf %console_folder%/openocd -rm -rf %console_folder%/DfuSe -rm -rf %console_folder%/rusefi_simulator.exe - -rm -rf %drivers_folder% - -rem for autoupdate we do not want the unique folder name with timestamp -cd %folder% -zip -r ../%update_bundle_file% * -cd .. -ls -l %update_bundle_file% -ncftpput -u %RUSEFI_BUILD_FTP_USER% -p %RUSEFI_BUILD_FTP_PASS% %RUSEFI_FTP_SERVER% autoupdate %update_bundle_file% -cd .. - -echo "%script_name%: We are back in root directory" - -pwd -echo Exiting %script_name% \ No newline at end of file +@echo off +sh.exe build_working_folder.sh diff --git a/misc/jenkins/build_working_folder.sh b/misc/jenkins/build_working_folder.sh new file mode 100644 index 0000000000..83a43c2eac --- /dev/null +++ b/misc/jenkins/build_working_folder.sh @@ -0,0 +1,121 @@ +#!/bin/sh + +FULL_BUNDLE_FILE="$BUNDLE_FULL_NAME.zip" +UPDATE_BUNDLE_FILE="$BUNDLE_FULL_NAME_autoupdate.zip" + +echo "Packaging temp/$FULL_BUNDLE_FILE file" + +rm -rf temp +mkdir temp + +SCRIPT_NAME=build_working_folder.sh +echo "Entering $SCRIPT_NAME" + +pwd +# This working folder name starts with 'temp/' +echo "$SCRIPT_NAME: Working folder: $FOLDER" +mkdir $FOLDER +echo $BUNDLE_FULL_NAME > $FOLDER/bundle_name.ini + +CONSOLE_FOLDER="$FOLDER/console" +DRIVERS_FOLDER="$FOLDER/drivers" +mkdir $CONSOLE_FOLDER +mkdir $DRIVERS_FOLDER +ls -l $FOLDER + +wget https://rusefi.com/build_server/st_files/silent_st_drivers.exe -P $DRIVERS_FOLDER +[ -e $DRIVERS_FOLDER/silent_st_drivers.exe ] || { echo "$SCRIPT_NAME: ERROR DOWNLOADING silent_st_drivers.exe"; exit 1; } + +if [ "$INI_FILE_OVERRIDE" = "no" ]; then + INI_FILE_OVERRIDE="rusefi.ini" + echo "$SCRIPT_NAME: N/a ini_file_override specified" +fi + +if [ -z $INI_FILE_OVERRIDE ]; then + INI_FILE_OVERRIDE="rusefi.ini" + echo "$SCRIPT_NAME: No ini_file_override specified" +fi +echo "$SCRIPT_NAME: Will use $INI_FILE_OVERRIDE" + +if [ -z $RUSEFI_CONSOLE_SETTINGS ]; then + echo "$SCRIPT_NAME: No rusefi_console_settings" +else + echo "Using rusefi_console_settings [$RUSEFI_CONSOLE_SETTINGS]" + cp $RUSEFI_CONSOLE_SETTINGS $CONSOLE_FOLDER +fi + +cp java_console/rusefi_autoupdate.jar $CONSOLE_FOLDER +cp java_console_binary/rusefi_console.jar $CONSOLE_FOLDER +cp java_tools/ts_plugin_launcher/build/jar/rusefi_plugin_launcher.jar $CONSOLE_FOLDER +cp simulator/build/rusefi_simulator.exe $CONSOLE_FOLDER +cp misc/console_launcher/rusefi_*.exe $CONSOLE_FOLDER +cp java_console/rusefi.xml $CONSOLE_FOLDER + +cp misc/console_launcher/readme.html $FOLDER + +cp firmware/tunerstudio/$INI_FILE_OVERRIDE $FOLDER +# Unsetting since would not be used anywhere else +INI_FILE_OVERRIDE="" +RUSEFI_CONSOLE_SETTINGS="" + +# users probably do not really care for this file +# cp firmware/svnversion.h %folder% + +cp -r misc/install/openocd $CONSOLE_FOLDER +cp -r misc/install/DfuSe $CONSOLE_FOLDER +# 407 has additional version of firmware +cp firmware/deliver/rusefi_no_asserts.bin $FOLDER +cp firmware/deliver/rusefi_no_asserts.dfu $FOLDER +# 746 builds one version at the moment +# probably not needed cp firmware/build/rusefi.hex %folder% +cp firmware/deliver/rusefi.bin $FOLDER +# probably not needed cp firmware/build/rusefi.elf %folder% +cp firmware/deliver/rusefi.dfu $FOLDER + +if [ -n $BUNDLE_NAME ]; then + mv $FOLDER/rusefi.dfu $FOLDER/rusefi_$BUNDLE_NAME.dfu +fi + + +[ -e firmware/deliver/rusefi.bin ] || { echo "$SCRIPT_NAME: rusefi.bin not found"; exit 1; } + +cd temp + + +echo "Building bundle" +pwd +zip -r $FULL_BUNDLE_FILE * +[ $? == 0 ] || (echo "$SCRIPT_NAME: ERROR INVOKING zip"; exit 1) + +echo "$SCRIPT_FILE: Bundle $FULL_BUNDLE_FILE ready" +ls -l $FULL_BUNDLE_FILE + +[ -e $FULL_BUNDLE_FILE ] || { echo "$SCRIPT_NAME: ERROR not found $FULL_BUNDLE_FILE"; exit 1; } + +echo "$SCRIPT_NAME: Uploading full bundle" +ncftpput -u $RUSEFI_BUILD_FTP_USER -p $RUSEFI_BUILD_FTP_PASS $RUSEFI_FTP_SERVER . $FULL_BUNDLE_FILE + +cd .. + +mkdir -p artifacts +mv temp/$FULL_BUNDLE_FILE artifacts + +echo "Removing more static content" +rm -rf $CONSOLE_FOLDER/openocd +rm -rf $CONSOLE_FOLDER/DfuSe +rm -rf $CONSOLE_FOLDER/rusefi_simulator.exe + +rm -rf $CONSOLE_FOLDER + +# for autoupdate we do not want the unique folder name with timestamp +cd $FOLDER +zip -r ../$UPDATE_BUNDLE_FILE * +cd .. +ls -l $UPDATE_BUNDLE_FILE +ncftpput -u "$RUSEFI_BUILD_FTP_USER" -p "$RUSEFI_BUILD_FTP_PASS" "$RUSEFI_FTP_SERVER" autoupdate "$UPDATE_BUNDLE_FILE" +cd .. + +echo "$SCRIPT_NAME: We are back in root directory" + +pwd +echo "Exiting $SCRIPT_NAME" diff --git a/misc/jenkins/compile_other_versions/compile_and_upload.bat b/misc/jenkins/compile_other_versions/compile_and_upload.bat index d594187a7f..0d2a67d114 100644 --- a/misc/jenkins/compile_other_versions/compile_and_upload.bat +++ b/misc/jenkins/compile_other_versions/compile_and_upload.bat @@ -1,45 +1,2 @@ -rem for example 'protesus' -set COMPILE_FOLDER=%1 - -rem for example 'mre-f4' -set bundle_name=%2 - -set ini_file_override=%3 -set rusefi_console_settings=%4 - -set script_name=combile_and_upload.bat -echo Entering %script_name% with 1=%COMPILE_FOLDER% 2=%bundle_name% 3=%ini_file_override% 4=%rusefi_console_settings% - -if %COMPILE_FOLDER%.==. ( - echo COMPILE_FOLDER parameter expected - exit -1 -) - -if %bundle_name%.==. ( - echo bundle_name parameter expected - exit -1 -) - -set COMPILE_SCRIPT=!compile-%bundle_name%.bat - -cd firmware -call clean.bat -cd .. - -cd firmware\config\boards -pwd -cd %COMPILE_FOLDER% -pwd -echo Invoking %COMPILE_SCRIPT% - -call %COMPILE_SCRIPT% -if not exist build/rusefi.hex echo Just to confirm - FAILED to compile with %COMPILE_SCRIPT% -if not exist build/rusefi.hex exit -1 - -cd .. -rem We are back at root rusEfi folder -pwd - -call misc\jenkins\compile_other_versions\prepare_bundle.bat - -echo "exiting %script_name%" +@echo off +sh.exe misc\jenkins\compile_other_versions\compile_and_upload.sh %1 %2 %3 %4 diff --git a/misc/jenkins/compile_other_versions/compile_and_upload.sh b/misc/jenkins/compile_other_versions/compile_and_upload.sh new file mode 100644 index 0000000000..39761392c3 --- /dev/null +++ b/misc/jenkins/compile_other_versions/compile_and_upload.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +# for example 'proteus' +COMPILE_FOLDER="$1" + +# for example 'mre-f4' +export BUNDLE_NAME="$2" + +export INI_FILE_OVERRIDE="$3" +export RUSEFI_CONSOLE_SETTINGS="$4" + +SCRIPT_NAME=compile_and_upload.sh +echo "Entering $SCRIPT_NAME with 1=$1 2=$2 3=$3 4=$4" + +[ -n $COMPILE_FOLDER ] || { echo "COMPILE_FOLDER parameter expected"; exit 1; } + +[ -n $BUNDLE_NAME ] || { echo "BUNDLE_NAME parameter expected"; exit 1; } + +COMPILE_SCRIPT="compile_$BUNDLE_NAME.sh" + +cd firmware +sh clean.sh +cd .. + +cd firmware/config/boards +pwd +cd $COMPILE_FOLDER +pwd +echo "Invoking $COMPILE_SCRIPT" + +sh $COMPILE_SCRIPT + +[ -e ../../../build/rusefi.hex ] || { echo "Just to confirm - FAILED to compile with $COMPILE_SCRIPT"; exit 1; } + +cd ../../../.. +# We are back at root rusEfi folder +pwd + +sh misc/jenkins/compile_other_versions/prepare_bundle.sh + +echo "exiting $SCRIPT_NAME" diff --git a/misc/jenkins/compile_other_versions/prepare_bundle.bat b/misc/jenkins/compile_other_versions/prepare_bundle.bat index a66ed1f5c9..88928638bf 100644 --- a/misc/jenkins/compile_other_versions/prepare_bundle.bat +++ b/misc/jenkins/compile_other_versions/prepare_bundle.bat @@ -1,23 +1,2 @@ -set script_name=build_version.bat -echo Entering %script_name% with %bundle_name% -echo "RUSEFI_BUILD_FTP_USER=%RUSEFI_BUILD_FTP_USER%" - -if %RUSEFI_BUILD_FTP_USER%.==. ( - echo RUSEFI_BUILD_FTP_USER not set - not packaging - exit 0 -) - -rem This depends on Cygwin date copied under 'datecyg' name to avoid conflict with Windows date -rem By the way, '%%' is the way to escape % in batch files -rem this is copy-pasted at build_current_bundle.bat -for /f %%i in ('datecyg +%%Y%%m%%d_%%H%%M%%S') do set TIMESTAMP=%%i - -set folder=snapshot_%TIMESTAMP%_%bundle_name%_rusefi -set folder=temp\%folder% - -set bundle_full_name=rusefi_bundle_%bundle_name% - -call misc\jenkins\build_working_folder.bat - -pwd -echo "exiting %script_name%" +@echo off +sh.exe prepare_bundle.sh diff --git a/misc/jenkins/compile_other_versions/prepare_bundle.sh b/misc/jenkins/compile_other_versions/prepare_bundle.sh new file mode 100644 index 0000000000..f8066bd646 --- /dev/null +++ b/misc/jenkins/compile_other_versions/prepare_bundle.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +SCRIPT_NAME="prepare_bundle.sh" +echo "Entering $SCRIPT_NAME with $BUNDLE_NAME" +echo "RUSEFI_BUILD_FTP_USER=$RUSEFI_BUILD_FTP_USER" + +if [ -z $RUSEFI_BUILD_FTP_USER ]; then + echo "RUSEFI_BUILD_FTP_USER not set - not packaging" + exit 0 +fi + +TIMESTAMP=$(date "+%Y%m%d_%H%M%S") + +export FOLDER="temp/snapshot_$TIMESTAMP_$BUNDLE_NAME_rusefi" + +export BUNDLE_FULL_NAME="rusefi_bundle_$BUNDLE_NAME" + +sh misc/jenkins/build_working_folder.sh + +pwd +echo "exiting $SCRIPT_NAME" diff --git a/misc/jenkins/compile_other_versions/run.bat b/misc/jenkins/compile_other_versions/run.bat index 16a2a4cffb..d6113b4bc4 100644 --- a/misc/jenkins/compile_other_versions/run.bat +++ b/misc/jenkins/compile_other_versions/run.bat @@ -10,80 +10,80 @@ if not exist java_console_binary/rusefi_console.jar exit -1 call misc\jenkins\build_simulator.bat if not exist simulator/build/rusefi_simulator.exe exit -1 -call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre-f4 rusefi_microrusefi.ini -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre_f4 rusefi_microrusefi.ini +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd -rem call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre-f4-slave rusefi_microrusefi.ini -rem IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -rem IF NOT ERRORLEVEL 0 EXIT /B 1 +rem call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre_f4_slave rusefi_microrusefi.ini +rem IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +rem IF %ERRORLEVEL% NEQ 0 EXIT /B 1 rem pwd -call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre-f4-hardware-QC-special-build rusefi_microrusefi.ini -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre_f4_hardware_QC_special_build rusefi_microrusefi.ini +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd call misc\jenkins\compile_other_versions\compile_and_upload.bat kinetis kinetis -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 call misc\jenkins\compile_other_versions\compile_and_upload.bat frankenso frankenso_na6 -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd set f7_console_setting=firmware\config\boards\nucleo_f767\rusefi_console_properties.xml rem folter_name configuration_name [optional .ini file name] -call misc\jenkins\compile_other_versions\compile_and_upload.bat proteus proteus-f4 rusefi_proteus.ini -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +call misc\jenkins\compile_other_versions\compile_and_upload.bat proteus proteus_f4 rusefi_proteus.ini +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd -call misc\jenkins\compile_other_versions\compile_and_upload.bat proteus proteus-f7 rusefi_proteus.ini -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +call misc\jenkins\compile_other_versions\compile_and_upload.bat proteus proteus_f7 rusefi_proteus.ini +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd -call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre-f7 rusefi_microrusefi.ini %f7_console_setting% -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre_f7 rusefi_microrusefi.ini %f7_console_setting% +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd -rem call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre-f7-test rusefi_microrusefi.ini %f7_console_setting% -rem IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -rem IF NOT ERRORLEVEL 0 EXIT /B 1 +rem call misc\jenkins\compile_other_versions\compile_and_upload.bat microrusefi mre_f7_test rusefi_microrusefi.ini %f7_console_setting% +rem IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +rem IF %ERRORLEVEL% NEQ 0 EXIT /B 1 rem pwd call misc\jenkins\compile_other_versions\compile_and_upload.bat nucleo_f746 stm32f746_nucleo no %f7_console_setting% -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd call misc\jenkins\compile_other_versions\compile_and_upload.bat nucleo_f767 stm32f767_nucleo no %f7_console_setting% -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd rem call misc\jenkins\compile_other_versions\compile_and_upload.bat nucleo_f767 stm32f767_osc no %f7_console_setting% -rem IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -rem IF NOT ERRORLEVEL 0 EXIT /B 1 +rem IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +rem IF %ERRORLEVEL% NEQ 0 EXIT /B 1 rem pwd call misc\jenkins\compile_other_versions\compile_and_upload.bat prometheus prometheus_405 -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd call misc\jenkins\compile_other_versions\compile_and_upload.bat prometheus prometheus_469 -IF NOT ERRORLEVEL 0 echo ERROR invoking compile_and_upload.bat -IF NOT ERRORLEVEL 0 EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 echo ERROR invoking compile_and_upload.bat +IF %ERRORLEVEL% NEQ 0 EXIT /B 1 pwd diff --git a/misc/jenkins/setup/readme.md b/misc/jenkins/setup/readme.md index bb5dfa8de6..45f895000a 100644 --- a/misc/jenkins/setup/readme.md +++ b/misc/jenkins/setup/readme.md @@ -7,8 +7,6 @@ https://cygwin.com/install.html needs to be added to System PATH manually cygwin: make, gcc, zip, wget -cp c:\cygwin\bin\find.exe c:\cygwin\bin\findcyg.exe - cygwin: ccache Add System Environment Variable @@ -64,4 +62,4 @@ Jobs: 5) git2svn_sync -RUSEFI_SVN_PASSWORD needs to be added to System PATH manually \ No newline at end of file +RUSEFI_SVN_PASSWORD needs to be added to System PATH manually diff --git a/unit_tests/run_clean_gcov.sh b/unit_tests/run_clean_gcov.sh index b3f7f6a9c3..96b176cf49 100644 --- a/unit_tests/run_clean_gcov.sh +++ b/unit_tests/run_clean_gcov.sh @@ -3,4 +3,4 @@ make clean make -j4 build/rusefi_test -bash ci_gcov.sh $RUSEFI_DOXYGEN_FTP_USER $RUSEFI_DOXYGEN_FTP_PASS $RUSEFI_FTP_SERVER +bash ci_gcov.sh "$RUSEFI_DOXYGEN_FTP_USER" "$RUSEFI_DOXYGEN_FTP_PASS" "$RUSEFI_FTP_SERVER"