diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ed4609f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +# +# see https://help.github.com/articles/dealing-with-line-endings/ +# + +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to Unix line endings on checkout. +*.c text eol=lf +*.cpp text eol=lf +*.h text eol=lf +*.xml text eol=lf +*.mk text eol=lf +*.java text eol=lf +*.bat text eol=lf +*.sh text eol=lf +*.iml text eol=lf +*.txt text eol=lf +*.yaml text eol=lf +*.ini text eol=lf +*.input text eol=lf +*.rules text eol=lf + +# KiCad files +*.dsn text eol=lf +*.kicad_pcb text eol=lf +*.net text eol=lf +*.pro text eol=lf +*.sch text eol=lf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary + diff --git a/.github/workflows/build-firmware-explicit.yaml b/.github/workflows/build-firmware-explicit.yaml new file mode 100644 index 0000000..2d2119b --- /dev/null +++ b/.github/workflows/build-firmware-explicit.yaml @@ -0,0 +1,134 @@ +name: Firmware at GHA + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build-firmware: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + # Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path + - name: Download & Install GCC + if: ${{ env.skip != 'true' }} + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + run: | + ext/rusefi/firmware/provide_gcc.sh + echo "::add-path::`pwd`/gcc-arm-none-eabi/bin" + + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '11' + + - name: Test Compiler + run: javac -version + + - name: Install Tools + run: | + sudo bash ext/rusefi/misc/actions/add-ubuntu-latest-apt-mirrors.sh + sudo apt-get install sshpass sshpass mtools + + - name: Removing other .ini files since we will be uploading + working-directory: ext/rusefi/ + run: rm -rf firmware/tunerstudio/generated/*.ini + + - name: Gen Config + working-directory: ext/rusefi/firmware + run: | + bash gen_config_board.sh ../../.. paralela + + - name: Config Status + working-directory: ext/rusefi + run: | + git status + + - name: Push Config + run: | + mkdir -p generated + cp ext/rusefi/firmware/controllers/generated/rusefi_generated.h generated + cp ext/rusefi/firmware/controllers/generated/signature_paralela.h generated + cp ext/rusefi/firmware/tunerstudio/generated/rusefi_paralela.ini generated + git config --local user.email "action@github.com" + git config --local user.name "GitHub git update Action" + git add generated/* + git commit -am "GHA Automation Snapshot just for reference" + git status + + - name: Connectors Status + run: | + git status + + - name: Push Connectors + run: | + git add connectors/* + OUT=$(git commit -am "GHA Connectors Generated" 2>&1) || echo "commit failed, finding out why" + if echo "$OUT" | grep 'nothing to commit'; then + echo "Connectors: looks like nothing to commit" + exit 0 + fi + + - name: Push + uses: ad-m/github-push-action@master + with: + github_token: ${{ github.token }} + + - name: Upload .ini files to server + working-directory: ext/rusefi/firmware/tunerstudio/generated + run: ../upload_ini.sh rusefi_paralela.ini ${{ secrets.RUSEFI_ONLINE_FTP_USER }} ${{ secrets.RUSEFI_ONLINE_FTP_PASS }} ${{ secrets.RUSEFI_FTP_SERVER }} + + - name: Build Firmware + working-directory: ext/rusefi + run: bash misc/jenkins/compile_other_versions/compile.sh ../../.. paralela + + - name: Upload build bin artifact + uses: actions/upload-artifact@v3 + with: + name: rusefi.bin + path: ext/rusefi/firmware/deliver/rusefi*.bin + + - name: Upload build hex artifact + uses: actions/upload-artifact@v3 + with: + name: rusefi.hex + path: ext/rusefi/firmware/deliver/rusefi*.hex + + - name: Upload build map artifact + uses: actions/upload-artifact@v3 + with: + name: rusefi.map + path: ext/rusefi/firmware/deliver/rusefi*.map + + - name: Build console + working-directory: ext/rusefi/ + run: bash misc/jenkins/build_java_console.sh + + - name: Set SSH variables + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + run: | + if [ "${{github.event_name}}" = "push" ] && [ "${{github.ref}}" = "refs/heads/master" ]; then + echo "Setting credentials..." + echo "RUSEFI_SSH_SERVER=${{secrets.RUSEFI_SSH_SERVER}}" >> $GITHUB_ENV + echo "RUSEFI_SSH_USER=${{secrets.RUSEFI_SSH_USER}}" >> $GITHUB_ENV + echo "RUSEFI_SSH_PASS=${{secrets.RUSEFI_SSH_PASS}}" >> $GITHUB_ENV + else + echo "NOT setting credentials: ${{github.event_name}} ${{github.ref}}" + fi + + - name: Package and Upload Bundle + working-directory: ext/rusefi/ + run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh paralela rusefi_paralela.ini master + + - name: Upload bundle artifact + uses: actions/upload-artifact@v3 + with: + name: rusefi_bundle_paralela.zip + path: ext/rusefi/artifacts/rusefi_bundle*.zip diff --git a/.gitignore b/.gitignore index 757fee3..350a471 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,25 @@ -/.idea \ No newline at end of file +.dep* +build/ +pinouts +workarea +bundle_name.txt +out/ +logs/ +blbuild/ +Debug/ +.settings/ +*_ram_report.txt +/.idea +workspace.xml +java_console_binary +.vscode/.* +*.cmp +*.net +err.txt +log.txt +*.rusefi_binary +*.msq + +# Eclipse +.metadata/ + diff --git a/board.mk b/board.mk index c414a96..8fd96e6 100644 --- a/board.mk +++ b/board.mk @@ -1,8 +1,7 @@ BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp -DDEFS += -DFIRMWARE_ID=\"XXX\" -SHORT_BOARD_NAME=XXX +DDEFS += -DFIRMWARE_ID=\"Paralela\" +SHORT_BOARD_NAME=paralela -# assign critical LED to a non-existent pin if you do not have it on your board -# good old PD14 is still the default value -# DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::I15 \ No newline at end of file +# assign critical LED to a non-existent pin +DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::I15 diff --git a/board_configuration.cpp b/board_configuration.cpp index 5e9fd08..a7f791e 100644 --- a/board_configuration.cpp +++ b/board_configuration.cpp @@ -1,7 +1,7 @@ #include "pch.h" Gpio getCommsLedPin() { - return Gpio::Unassigned; + return Gpio::D15; } Gpio getRunningLedPin() { diff --git a/compile_XXX.sh b/compile_paralela.sh old mode 100755 new mode 100644 similarity index 100% rename from compile_XXX.sh rename to compile_paralela.sh diff --git a/readme.md b/readme.md index 6814ac0..d518e1f 100644 --- a/readme.md +++ b/readme.md @@ -1 +1,3 @@ -See https://github.com/rusefi/rusefi/wiki/Custom-Firmware +# fw-Paralela + +OMG a custom rusEFI firmware! Claim your bundle at https://rusefi.com/build_server/rusefi_bundle_paralela.zip