From e6cab776702d95d1b59797114ecd3d02d7cc7fb2 Mon Sep 17 00:00:00 2001 From: Matthias Wientapper Date: Wed, 21 Jan 2026 09:54:56 +0100 Subject: [PATCH 1/2] 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/2] 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