Created
June 8, 2024 09:34
-
-
Save dd5md/80515fdf18a4c9fd7fc534886b263ca4 to your computer and use it in GitHub Desktop.
MMDVM HS_DUAL_HAT Installer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Configure Latest Version | |
FW_VERSION="v1.6.1" | |
# Firmware Filename | |
FW_FILENAME="mmdvm_hs_dual_hat_fw.bin" | |
# Download latest Firmware | |
echo "Downloading firmware..." | |
curl -s -A "WPSD Modem FW Update Invocation (server-side)" -OL https://wpsd-swd.w0chp.net/WPSD-SWD/MMDVM_HS-Firmware_Latest-Compiled/raw/tag/$FW_VERSION/$FW_FILENAME | |
# Download STM32F10X_Lib | |
if [ ! -d "./STM32F10X_Lib/utils" ]; then | |
env GIT_HTTP_CONNECT_TIMEOUT="10" env GIT_HTTP_USER_AGENT="WPSD Modem FW Update Invocation (server-side)" git clone https://wpsd-swd.w0chp.net/WPSD-SWD/STM32F10X_Lib.git &> /dev/null | |
fi | |
# Configure vars depending on OS | |
if [ $(uname -s) == "Linux" ]; then | |
if [ $(uname -m) == "x86_64" ]; then | |
echo "Linux 64-bit detected" | |
DFU_RST="./STM32F10X_Lib/utils/linux64/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/linux64/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/linux64/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/linux64/stm32flash" | |
elif [ $(uname -m) == "aarch64" ] ; then | |
echo "Linux 64-bit ARM (aarch64) detected" | |
DFU_RST="./STM32F10X_Lib/utils/rpi32/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/rpi32/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/rpi32/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/rpi32/stm32flash" | |
elif [ $(uname -m) == "armv7l" ]; then | |
echo "Linux ARM (armv7l) detected" | |
DFU_RST="./STM32F10X_Lib/utils/rpi32/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/rpi32/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/rpi32/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/rpi32/stm32flash" | |
elif [ $(uname -m) == "armv6l" ]; then | |
echo "Linux ARM (armv6l) detected" | |
DFU_RST="./STM32F10X_Lib/utils/rpi32/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/rpi32/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/rpi32/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/rpi32/stm32flash" | |
else | |
echo "Linux 32-bit detected" | |
DFU_RST="./STM32F10X_Lib/utils/linux/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/linux/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/linux/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/linux/stm32flash" | |
fi | |
fi | |
if [ $(uname -s) == "Darwin" ]; then | |
echo "macOS detected" | |
DFU_RST="./STM32F10X_Lib/utils/macosx/upload-reset" | |
DFU_UTIL="./STM32F10X_Lib/utils/macosx/dfu-util" | |
ST_FLASH="./STM32F10X_Lib/utils/macosx/st-flash" | |
STM32FLASH="./STM32F10X_Lib/utils/macosx/stm32flash" | |
fi | |
# Stop MMDVMHost Process to free Serial Port | |
sudo killall MMDVMHost >/dev/null 2>&1 | |
# Upload the Firmware | |
eval sudo $STM32FLASH -v -w $FW_FILENAME -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment