mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-03 01:39:30 +02:00
Merge pull request #715 from lenvm/feature/add-hardware-to-github-actions
Add hardware to GitHub Actions workflows
This commit is contained in:
commit
52a5fd9f86
8 changed files with 115 additions and 8 deletions
6
.github/workflows/compile-all-batteries.yml
vendored
6
.github/workflows/compile-all-batteries.yml
vendored
|
@ -79,6 +79,10 @@ jobs:
|
||||||
# These are the emulated inverter communication protocols for which the code will be compiled.
|
# These are the emulated inverter communication protocols for which the code will be compiled.
|
||||||
inverter:
|
inverter:
|
||||||
- BYD_CAN
|
- BYD_CAN
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
|
||||||
# This is the platform GitHub will use to run our workflow.
|
# This is the platform GitHub will use to run our workflow.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
@ -107,4 +111,4 @@ jobs:
|
||||||
# in the build matrix, and using build flags to define the
|
# in the build matrix, and using build flags to define the
|
||||||
# battery and inverter set in the build matrix.
|
# battery and inverter set in the build matrix.
|
||||||
- name: Compile Sketch
|
- name: Compile Sketch
|
||||||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software
|
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
||||||
|
|
|
@ -83,6 +83,9 @@ jobs:
|
||||||
- SOFAR_CAN
|
- SOFAR_CAN
|
||||||
- SOLAX_CAN
|
- SOLAX_CAN
|
||||||
- SERIAL_LINK_TRANSMITTER
|
- SERIAL_LINK_TRANSMITTER
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
|
||||||
# This is the platform GitHub will use to run our workflow.
|
# This is the platform GitHub will use to run our workflow.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -112,4 +115,4 @@ jobs:
|
||||||
# in the build matrix, and using build flags to define the
|
# in the build matrix, and using build flags to define the
|
||||||
# battery and inverter set in the build matrix.
|
# battery and inverter set in the build matrix.
|
||||||
- name: Compile Sketch
|
- name: Compile Sketch
|
||||||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software
|
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
||||||
|
|
|
@ -85,6 +85,9 @@ jobs:
|
||||||
- SOFAR_CAN
|
- SOFAR_CAN
|
||||||
- SOLAX_CAN
|
- SOLAX_CAN
|
||||||
- SERIAL_LINK_TRANSMITTER
|
- SERIAL_LINK_TRANSMITTER
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
|
||||||
# This is the platform GitHub will use to run our workflow.
|
# This is the platform GitHub will use to run our workflow.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -114,4 +117,4 @@ jobs:
|
||||||
# in the build matrix, and using build flags to define the
|
# in the build matrix, and using build flags to define the
|
||||||
# battery and inverter set in the build matrix.
|
# battery and inverter set in the build matrix.
|
||||||
- name: Compile Sketch
|
- name: Compile Sketch
|
||||||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software
|
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
||||||
|
|
92
.github/workflows/compile-all-hardware.yml
vendored
Normal file
92
.github/workflows/compile-all-hardware.yml
vendored
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
# This is the name of the workflow, visible on GitHub UI.
|
||||||
|
name: Compile All Hardware
|
||||||
|
|
||||||
|
# Here we tell GitHub when to run the workflow.
|
||||||
|
on:
|
||||||
|
# The workflow is run when a commit is pushed or for a
|
||||||
|
# Pull Request.
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
# This is the list of jobs that will be run concurrently.
|
||||||
|
jobs:
|
||||||
|
# This pre-job is run to skip workflows in case a workflow is already run, i.e. because the workflow is triggered by both push and pull_request
|
||||||
|
skip-duplicate-actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Map a step output to a job output
|
||||||
|
outputs:
|
||||||
|
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||||
|
steps:
|
||||||
|
- id: skip_check
|
||||||
|
uses: fkirc/skip-duplicate-actions@v5
|
||||||
|
with:
|
||||||
|
# All of these options are optional, so you can remove them if you are happy with the defaults
|
||||||
|
concurrent_skipping: 'never'
|
||||||
|
skip_after_successful_duplicate: 'true'
|
||||||
|
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
|
||||||
|
|
||||||
|
# Since we use a build matrix, the actual number of jobs
|
||||||
|
# started depends on how many configurations the matrix
|
||||||
|
# will produce.
|
||||||
|
|
||||||
|
# This is the name of the job.
|
||||||
|
build-hardware:
|
||||||
|
needs: skip-duplicate-actions
|
||||||
|
if: needs.skip-duplicate-actions.outputs.should_skip != 'true'
|
||||||
|
|
||||||
|
# Here we tell GitHub that the jobs must be determined
|
||||||
|
# dynamically depending on a matrix configuration.
|
||||||
|
strategy:
|
||||||
|
# The matrix will produce one job for each combination of parameters.
|
||||||
|
matrix:
|
||||||
|
# This is the development board hardware for which the code will be compiled.
|
||||||
|
# FBQN stands for "fully qualified board name", and is used by Arduino to define the hardware to compile for.
|
||||||
|
fqbn:
|
||||||
|
- esp32:esp32:esp32
|
||||||
|
# further ESP32 chips
|
||||||
|
#- esp32:esp32:esp32c3
|
||||||
|
#- esp32:esp32:esp32c2
|
||||||
|
#- esp32:esp32:esp32c6
|
||||||
|
#- esp32:esp32:esp32h2
|
||||||
|
#- esp32:esp32:esp32s3
|
||||||
|
# These are the batteries for which the code will be compiled.
|
||||||
|
battery:
|
||||||
|
- NISSAN_LEAF_BATTERY
|
||||||
|
# These are the emulated inverter communication protocols for which the code will be compiled.
|
||||||
|
inverter:
|
||||||
|
- BYD_CAN
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
- HW_STARK
|
||||||
|
- HW_3LB
|
||||||
|
|
||||||
|
# This is the platform GitHub will use to run our workflow.
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# This is the list of steps this job will run.
|
||||||
|
steps:
|
||||||
|
# First we clone the repo using the `checkout` action.
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# Copy USER_SECRETS.TEMPLATE.h to USER_SECRETS.h
|
||||||
|
- name: Copy USER_SECRETS.TEMPLATE.h to USER_SECRETS.h
|
||||||
|
run: cp ./Software/USER_SECRETS.TEMPLATE.h ./Software/USER_SECRETS.h
|
||||||
|
|
||||||
|
# We use the `arduino/setup-arduino-cli` action to install and
|
||||||
|
# configure the Arduino CLI on the system.
|
||||||
|
- name: Setup Arduino CLI
|
||||||
|
uses: arduino/setup-arduino-cli@v2
|
||||||
|
|
||||||
|
# We then install the platform.
|
||||||
|
- name: Install platform
|
||||||
|
run: |
|
||||||
|
arduino-cli core update-index
|
||||||
|
arduino-cli core install esp32:esp32
|
||||||
|
|
||||||
|
# Finally, we compile the sketch, using the FQBN that was set
|
||||||
|
# in the build matrix, and using build flags to define the
|
||||||
|
# battery and inverter set in the build matrix.
|
||||||
|
- name: Compile Sketch
|
||||||
|
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
6
.github/workflows/compile-all-inverters.yml
vendored
6
.github/workflows/compile-all-inverters.yml
vendored
|
@ -70,6 +70,10 @@ jobs:
|
||||||
- SOLAX_CAN
|
- SOLAX_CAN
|
||||||
- SERIAL_LINK_TRANSMITTER
|
- SERIAL_LINK_TRANSMITTER
|
||||||
- NISSANLEAF_CHARGER # Last element is not an inverter, but good to also test if the charger compiles
|
- NISSANLEAF_CHARGER # Last element is not an inverter, but good to also test if the charger compiles
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
|
||||||
# This is the platform GitHub will use to run our workflow.
|
# This is the platform GitHub will use to run our workflow.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
@ -98,4 +102,4 @@ jobs:
|
||||||
# in the build matrix, and using build flags to define the
|
# in the build matrix, and using build flags to define the
|
||||||
# battery and inverter set in the build matrix.
|
# battery and inverter set in the build matrix.
|
||||||
- name: Compile Sketch
|
- name: Compile Sketch
|
||||||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software
|
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
//#define SOLAX_CAN //Enable this line to emulate a "SolaX Triple Power LFP" over CAN bus
|
//#define SOLAX_CAN //Enable this line to emulate a "SolaX Triple Power LFP" over CAN bus
|
||||||
|
|
||||||
/* Select hardware used for Battery-Emulator */
|
/* Select hardware used for Battery-Emulator */
|
||||||
#define HW_LILYGO
|
//#define HW_LILYGO
|
||||||
//#define HW_STARK
|
//#define HW_STARK
|
||||||
//#define HW_3LB
|
//#define HW_3LB
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ GPIOs on extra header
|
||||||
#define HW_CONFIGURED
|
#define HW_CONFIGURED
|
||||||
#else
|
#else
|
||||||
#error Multiple HW defined! Please select a single HW
|
#error Multiple HW defined! Please select a single HW
|
||||||
#endif
|
#endif // HW_CONFIGURED
|
||||||
|
|
||||||
#ifdef BMW_I3_BATTERY
|
#ifdef BMW_I3_BATTERY
|
||||||
#if defined(CONTACTOR_CONTROL) && defined(WUP_PIN1)
|
#if defined(CONTACTOR_CONTROL) && defined(WUP_PIN1)
|
||||||
|
@ -83,5 +83,6 @@ GPIOs on extra header
|
||||||
#if defined(CONTACTOR_CONTROL) && defined(WUP_PIN2)
|
#if defined(CONTACTOR_CONTROL) && defined(WUP_PIN2)
|
||||||
#error GPIO PIN 32 cannot be used for both BMWi3 Wakeup and contactor control. Disable CONTACTOR_CONTROL
|
#error GPIO PIN 32 cannot be used for both BMWi3 Wakeup and contactor control. Disable CONTACTOR_CONTROL
|
||||||
#endif
|
#endif
|
||||||
|
#endif // BMW_I3_BATTERY
|
||||||
|
|
||||||
#endif
|
#endif // __HW_STARK_H__
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
/* - ERROR CHECKS BELOW, DON'T TOUCH - */
|
/* - ERROR CHECKS BELOW, DON'T TOUCH - */
|
||||||
|
|
||||||
#if !defined(HW_CONFIGURED)
|
#if !defined(HW_CONFIGURED)
|
||||||
#error You must select a HW to run on!
|
#error You must select a target hardware in the USER_SERTTINGS.h file!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CAN_ADDON) && defined(CANFD_ADDON)
|
#if defined(CAN_ADDON) && defined(CANFD_ADDON)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue