From d48afea92cf870d0e78ddb1745c14cfd212319d2 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 21 Dec 2022 09:46:25 -0800 Subject: [PATCH] Hardware CI specifies exact device serial number (#4912) * scripts specify exact hardware CI device * proteus serial number * dropped this: | * read envionment variable for correct port * it's lowercase for whatever reason * d'oh --- .github/workflows/hardware-ci.yaml | 10 ++++++++-- .github/workflows/openocd_ci_f4_discovery.cfg | 15 +++++++++++++++ .github/workflows/openocd_ci_proteus.cfg | 15 +++++++++++++++ .../rusefi/autotest/ControllerConnectorState.java | 14 +++++++++----- 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/openocd_ci_f4_discovery.cfg create mode 100644 .github/workflows/openocd_ci_proteus.cfg diff --git a/.github/workflows/hardware-ci.yaml b/.github/workflows/hardware-ci.yaml index fdb4c21f4f..a50cf87978 100644 --- a/.github/workflows/hardware-ci.yaml +++ b/.github/workflows/hardware-ci.yaml @@ -18,6 +18,8 @@ jobs: # folder: f407-discovery # config-name: all # ini-file: rusefi_f4-disco.ini +# openocd-script: ../.github/workflows/openocd_ci_f4_discovery.cfg +# serial-device: /dev/serial/by-id/TODO - build-target: proteus_f4 script: hardware_ci_proteus @@ -25,6 +27,8 @@ jobs: folder: proteus config-name: proteus_f4 ini-file: rusefi_proteus_f4.ini + openocd-script: ../.github/workflows/openocd_ci_proteus.cfg + serial-device: /dev/serial/by-id/usb-rusEFI_LLC_rusEFI_Engine_Management_ECU_41003D000451383037343335-if01 runs-on: ${{matrix.runs-on}} @@ -66,7 +70,9 @@ jobs: run: make clean - name: Set EXTRA env - run: echo "EXTRA_2_PARAMS=-DHARDWARE_CI" >> $GITHUB_ENV + run: | + echo "EXTRA_2_PARAMS=-DHARDWARE_CI" >> $GITHUB_ENV + echo "HARDWARE_CI_SERIAL_DEVICE=${{matrix.serial-device}}" >> $GITHUB_ENV - name: Build Firmware run: bash misc/jenkins/compile_other_versions/compile.sh ${{matrix.folder}} ${{matrix.build-target}} ${{matrix.ini-file}} @@ -76,7 +82,7 @@ jobs: - name: OpenOCD wipe & flash STM32 working-directory: ./firmware - run: openocd -f "interface/stlink.cfg" -f "target/stm32f4x.cfg" -c init -c targets -c "reset halt" -c "flash erase_sector 0 0 11" -c "flash write_image "deliver/rusefi.bin" 0x08000000" -c "reset run" -c "shutdown" + run: openocd -f "${{matrix.openocd-script}}" -c init -c targets -c "reset halt" -c "flash erase_sector 0 0 11" -c "flash write_image "deliver/rusefi.bin" 0x08000000" -c "reset run" -c "shutdown" - name: Generate Java (Antlr) working-directory: ./java_tools diff --git a/.github/workflows/openocd_ci_f4_discovery.cfg b/.github/workflows/openocd_ci_f4_discovery.cfg new file mode 100644 index 0000000000..1fe66a4c70 --- /dev/null +++ b/.github/workflows/openocd_ci_f4_discovery.cfg @@ -0,0 +1,15 @@ +# Openocd script for STM32F4 Discovery Hardware CI +source [find interface/stlink.cfg] +hla_serial wrong_serial + +transport select hla_swd + +# increase working area to 128KB +set WORKAREASIZE 0x20000 + +# chip name +set CHIPNAME F4_DISCOVERY + +source [find target/stm32f4x.cfg] + +reset_config srst_only diff --git a/.github/workflows/openocd_ci_proteus.cfg b/.github/workflows/openocd_ci_proteus.cfg new file mode 100644 index 0000000000..f1e95883fe --- /dev/null +++ b/.github/workflows/openocd_ci_proteus.cfg @@ -0,0 +1,15 @@ +# Openocd script for Proteus hardware CI +source [find interface/stlink.cfg] +hla_serial 004D00323137511133333639 + +transport select hla_swd + +# increase working area to 128KB +set WORKAREASIZE 0x20000 + +# chip name +set CHIPNAME PROTEUS + +source [find target/stm32f4x.cfg] + +reset_config srst_only diff --git a/java_console/autotest/src/main/java/com/rusefi/autotest/ControllerConnectorState.java b/java_console/autotest/src/main/java/com/rusefi/autotest/ControllerConnectorState.java index eb8401cf55..dbfab679d9 100644 --- a/java_console/autotest/src/main/java/com/rusefi/autotest/ControllerConnectorState.java +++ b/java_console/autotest/src/main/java/com/rusefi/autotest/ControllerConnectorState.java @@ -35,12 +35,16 @@ public class ControllerConnectorState { */ TestingUtils.isRealHardware = true; FileLog.MAIN.start(); - String port = System.getProperty("ecu.port"); + + String port = System.getenv("HARDWARE_CI_SERIAL_DEVICE"); if (port == null) { - port = PortDetector.autoDetectSerial(null).getSerialPort(); - if (port == null) - throw new IllegalStateException("ECU serial not detected"); - System.out.println("Auto-connected to " + port); + port = System.getProperty("ecu.port"); + if (port == null) { + port = PortDetector.autoDetectSerial(null).getSerialPort(); + if (port == null) + throw new IllegalStateException("ECU serial not detected"); + System.out.println("Auto-connected to " + port); + } } IoUtil.realHardwareConnect(linkManager, port);