From e6cab776702d95d1b59797114ecd3d02d7cc7fb2 Mon Sep 17 00:00:00 2001 From: Matthias Wientapper Date: Wed, 21 Jan 2026 09:54:56 +0100 Subject: [PATCH 1/4] Add scripts to help automate the fw build process --- fetch_prs.sh | 10 ++++ merge_prs.sh | 9 +++ tools/maint/patch_and_build_hansemesh_fw.sh | 64 +++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100755 fetch_prs.sh create mode 100755 merge_prs.sh create mode 100755 tools/maint/patch_and_build_hansemesh_fw.sh diff --git a/fetch_prs.sh b/fetch_prs.sh new file mode 100755 index 00000000..8a9f5dc3 --- /dev/null +++ b/fetch_prs.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +git branch -D pr-1199 +git branch -D pr-1297 +git branch -D pr-1338 + +# fetch PRs +git fetch upstream pull/1338/head:pr-1338 +git fetch upstream pull/1338/head:pr-1297 +git fetch upstream pull/1199/head:pr-1199 diff --git a/merge_prs.sh b/merge_prs.sh new file mode 100755 index 00000000..42d14059 --- /dev/null +++ b/merge_prs.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +git merge pr-1338 --no-edit -m "Integration of upstrem PR #1338" +git merge pr-1297 --no-edit -m "Integration of upstrem PR #1297" +git merge pr-1199 --no-edit -m "Integration of upstrem PR #1199" + +git merge pio-ini-adjustments -m "platformio.ini: Adjust defaults for LoRa frequncies and advert interval limits" + + diff --git a/tools/maint/patch_and_build_hansemesh_fw.sh b/tools/maint/patch_and_build_hansemesh_fw.sh new file mode 100755 index 00000000..aad35910 --- /dev/null +++ b/tools/maint/patch_and_build_hansemesh_fw.sh @@ -0,0 +1,64 @@ +#!/bin/bash # Note: switched to bash for process substitution support + +export PATH="$HOME/.platformio/penv/bin:$PATH" + +LOGFILE="$PWD/meshcore-evo-fw.log" +FIRMWARE_VERSION="v1.11.0-evo_0.1.3" +FIRMWARE_BUILD_DATE=$(date '+%d-%b-%Y') + +collect_bin_files(){ + DEST_DIR="./firmwares" + mkdir -p "$DEST_DIR" + BUILD_DIR=".pio/build" + + if [ ! -d "$BUILD_DIR" ]; then + echo "Error: $BUILD_DIR not found. Did you run the build process?" + exit 1 + fi + + echo "Copying firmware files to $DEST_DIR..." + + for target_path in "$BUILD_DIR"/*/; do + echo $target_path + target_name=$(basename "$target_path") + # if ls "$target_path"*.bin >/dev/null 2>&1; then + for bin_file in "$target_path"*firmware*.{uf2,bin,zip}; do + filename=$(basename "$bin_file") + new_filename="${target_name}_${FIRMWARE_VERSION}_${FIRMWARE_BUILD_DATE}_${filename}" + cp "$bin_file" "$DEST_DIR/$new_filename" + echo "Done: $new_filename" + done + # fi + done +} + +# Everything after this line goes to BOTH console and logfile +exec > >(tee -a "$LOGFILE") 2>&1 + +echo "-------------------- Build start ----------------" +date +echo "-------------------------------------------------" + +# apply patches +# ./tools/maint/apply_patches.sh 1199 1338 1297 + +# build all repeater firmwares, the will be in .out +FIRMWARE_VERSION="v1.11_evo" ./build.sh build-repeater-firmwares + +# build single firmwares +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware ProMicro_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware RAK_4631_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware heltec_v4_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware Heltec_v3_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware Xiao_nrf52_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware LilyGo_T3S3_sx1262_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware Heltec_t114_without_display_repeater +#FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware Heltec_t114_repeater +#collect_bin_files + + +echo "-------------------- Build end ------------------" +date +echo "-------------------------------------------------" + +#grep -E " SUCCESS | FAILED " hansemesh_fw.log From 58decb74b84ce8fe85427028a9d96616bd2abe8b Mon Sep 17 00:00:00 2001 From: Matthias Wientapper Date: Mon, 26 Jan 2026 11:09:03 +0100 Subject: [PATCH 2/4] Fix fetching same PR twice under wrong name --- fetch_prs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fetch_prs.sh b/fetch_prs.sh index 8a9f5dc3..6a70f43f 100755 --- a/fetch_prs.sh +++ b/fetch_prs.sh @@ -6,5 +6,5 @@ git branch -D pr-1338 # fetch PRs git fetch upstream pull/1338/head:pr-1338 -git fetch upstream pull/1338/head:pr-1297 +git fetch upstream pull/1297/head:pr-1297 git fetch upstream pull/1199/head:pr-1199 From 4a9137bf000491fc065ac77c8d73d6aa87f72d5e Mon Sep 17 00:00:00 2001 From: Matthias Wientapper Date: Mon, 26 Jan 2026 12:47:35 +0100 Subject: [PATCH 3/4] Remove PR-1199 as its functionality is part of dev now --- fetch_prs.sh | 2 -- merge_prs.sh | 1 - 2 files changed, 3 deletions(-) diff --git a/fetch_prs.sh b/fetch_prs.sh index 6a70f43f..2dd6a197 100755 --- a/fetch_prs.sh +++ b/fetch_prs.sh @@ -1,10 +1,8 @@ #!/bin/sh -git branch -D pr-1199 git branch -D pr-1297 git branch -D pr-1338 # fetch PRs git fetch upstream pull/1338/head:pr-1338 git fetch upstream pull/1297/head:pr-1297 -git fetch upstream pull/1199/head:pr-1199 diff --git a/merge_prs.sh b/merge_prs.sh index 42d14059..338b2f81 100755 --- a/merge_prs.sh +++ b/merge_prs.sh @@ -2,7 +2,6 @@ git merge pr-1338 --no-edit -m "Integration of upstrem PR #1338" git merge pr-1297 --no-edit -m "Integration of upstrem PR #1297" -git merge pr-1199 --no-edit -m "Integration of upstrem PR #1199" git merge pio-ini-adjustments -m "platformio.ini: Adjust defaults for LoRa frequncies and advert interval limits" From ce2c321a07072819dd046fc895e8e695ff1ed639 Mon Sep 17 00:00:00 2001 From: Matthias Wientapper Date: Mon, 9 Feb 2026 19:34:16 +0100 Subject: [PATCH 4/4] latest evo build updates --- fetch_prs.sh | 2 ++ tools/maint/patch_and_build_hansemesh_fw.sh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fetch_prs.sh b/fetch_prs.sh index 2dd6a197..b0cd858d 100755 --- a/fetch_prs.sh +++ b/fetch_prs.sh @@ -2,7 +2,9 @@ git branch -D pr-1297 git branch -D pr-1338 +git branch -D pr-1398 # fetch PRs +git fetch upstream pull/1398/head:pr-1398 git fetch upstream pull/1338/head:pr-1338 git fetch upstream pull/1297/head:pr-1297 diff --git a/tools/maint/patch_and_build_hansemesh_fw.sh b/tools/maint/patch_and_build_hansemesh_fw.sh index aad35910..ab956470 100755 --- a/tools/maint/patch_and_build_hansemesh_fw.sh +++ b/tools/maint/patch_and_build_hansemesh_fw.sh @@ -3,7 +3,7 @@ export PATH="$HOME/.platformio/penv/bin:$PATH" LOGFILE="$PWD/meshcore-evo-fw.log" -FIRMWARE_VERSION="v1.11.0-evo_0.1.3" +FIRMWARE_VERSION="v1.12.0-evo_0.1.6" FIRMWARE_BUILD_DATE=$(date '+%d-%b-%Y') collect_bin_files(){ @@ -43,7 +43,7 @@ echo "-------------------------------------------------" # ./tools/maint/apply_patches.sh 1199 1338 1297 # build all repeater firmwares, the will be in .out -FIRMWARE_VERSION="v1.11_evo" ./build.sh build-repeater-firmwares +FIRMWARE_VERSION=$FIRMWARE_VERSION ./build.sh build-repeater-firmwares # build single firmwares #FIRMWARE_VERSION=$FIRMWARE_VERSION FIRMWARE_BUILD_DATE=$FIRMWARE_BUILD_DATE ./build.sh build-firmware ProMicro_repeater