From 89b792ccf48540fe336f2ac8e3e684e7ca522392 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Tue, 5 Nov 2024 02:23:51 +0000 Subject: [PATCH] Fix free flash calc --- .github/workflows/build.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4afa1f62..31de7344a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -128,14 +128,21 @@ jobs: dfu_size_new=$(du --apparent-size -B 1 artifacts/flipper-z-${TARGET}-full-*.dfu | cut -f1) dfu_size_dev=$(du --apparent-size -B 1 dev.dfu | cut -f1) dfu_size_diff=$((dfu_size_new - dfu_size_dev)) - dfu_free_hex=$(grep free_flash -m 1 build/latest/firmware.elf.map | rev | cut -d' ' -f1 | rev) - dfu_free_min=$((2 * 4 * 1024)) - DFU_SIZE=$(echo ${dfu_size_new}B | sed -r 's/^([0-9]+)([0-9]{2})([0-9])B/\1.\2K/') - DFU_DIFF=$(echo ${dfu_size_diff}B | sed -r 's/^(-?[0-9]+)([0-9]{2})([0-9])B/\1.\2K/' | sed -r 's/^([^-])/+\1/') - DFU_FREE=$(echo $((dfu_free_hex - dfu_free_min))B | sed -r 's/^(-?[0-9]+)([0-9]{2})([0-9])B/\1.\2K/' | sed -r 's/^([^-])/+\1/') + DFU_SIZE=$(echo $dfu_size_new | numfmt --to=iec --format=%.2f) + DFU_DIFF=$(echo $dfu_size_diff | numfmt --to=iec --format=%.2f | sed -r 's/^([^-])/+\1/') echo "DFU_SIZE=$DFU_SIZE" >> $GITHUB_ENV echo "DFU_DIFF=$DFU_DIFF" >> $GITHUB_ENV - echo "DFU_FREE=$DFU_FREE" >> $GITHUB_ENV + + tar xzf build/core2_firmware.tgz + radio_addr=$(jq -r '.copro.radio.files.[0].address' core2_firmware/Manifest.json) + flash_base=0x8000000 + min_gap=$((2 * 4 * 1024)) + flash_free_total=$((radio_addr - flash_base - dfu_size_new)) + flash_free_usable$((flash_free_total - min_gap)) + FLASH_FREE=$(echo $flash_free_total | numfmt --to=iec --format=%.2f) + FLASH_USABLE=$(echo $flash_free_usable | numfmt --to=iec --format=%.2f) + echo "FLASH_FREE=$FLASH_FREE" >> $GITHUB_ENV + echo "FLASH_USABLE=$FLASH_USABLE" >> $GITHUB_ENV - name: "Upload artifacts to update server" env: @@ -173,7 +180,7 @@ jobs: **Compiled ${{ matrix.target }} firmware for commit `${{steps.names.outputs.commit_sha}}`:** - [☁️ Flipper Lab/App](https://lab.flipper.net/?url=${{secrets.INDEXER_URL}}/builds/firmware/${{steps.names.outputs.branch_name}}/flipper-z-${{steps.names.outputs.default_target}}-update-${{steps.names.outputs.suffix}}.tgz&channel=mntm-${{steps.names.outputs.branch_name}}&version=${{steps.names.outputs.commit_sha}}) - [📦 qFlipper Package](${{secrets.INDEXER_URL}}/builds/firmware/${{steps.names.outputs.branch_name}}/flipper-z-${{steps.names.outputs.default_target}}-update-${{steps.names.outputs.suffix}}.tgz) - - DFU Size: `${{ env.DFU_SIZE }}` (`${{ env.DFU_DIFF }}` from dev), `${{ env.DFU_FREE }}` free flash + - DFU Size: `${{ env.DFU_SIZE }}` (`${{ env.DFU_DIFF }}` from dev), `${{ env.FLASH_FREE }}` free flash (`${{ env.FLASH_USABLE }}` usable) edit-mode: replace - name: Send devbuild webhook