From bdb610e973bdadaa531263fd421a66326ca44a13 Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Sun, 1 Dec 2019 19:57:04 -0300 Subject: [PATCH] Updating installer scripts --- scripts/install_fw_dualband.sh | 72 +++++++++++++++++++++++++++ scripts/install_fw_duplex.sh | 17 ++----- scripts/install_fw_duplex_usb.sh | 83 ++++++++++++++++++++++++++++++++ scripts/install_fw_librekit.sh | 2 +- 4 files changed, 159 insertions(+), 15 deletions(-) create mode 100755 scripts/install_fw_dualband.sh create mode 100755 scripts/install_fw_duplex_usb.sh diff --git a/scripts/install_fw_dualband.sh b/scripts/install_fw_dualband.sh new file mode 100755 index 0000000..4e46fa3 --- /dev/null +++ b/scripts/install_fw_dualband.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# Configure latest version +FW_VERSION="v1.4.17" + +# Download latest firmware for ZUMspot Dualband (GPIO) +curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION/zumspot_dualband_fw.bin + +# Download STM32F10X_Lib (only for binary tools) +if [ ! -d "./STM32F10X_Lib/utils" ]; then + git clone https://github.com/juribeparada/STM32F10X_Lib +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) == "armv7l" ]; then + echo "Raspberry Pi 3 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 "Raspberry Pi 2 or Pi Zero W 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 zumspot_dualband_fw.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0 + diff --git a/scripts/install_fw_duplex.sh b/scripts/install_fw_duplex.sh index bd42a4a..6865ca9 100755 --- a/scripts/install_fw_duplex.sh +++ b/scripts/install_fw_duplex.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (C) 2017,2018 by Andy Uribe CA6JAU +# Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,11 +18,8 @@ # Configure latest version FW_VERSION="v1.4.17" - -# Change USB-serial port name ONLY in macOS -MAC_DEV_USB_SER="/dev/cu.usbmodem14401" -# Download latest firmware for ZUMspot Libre Kit +# Download latest firmware for ZUMspot Duplex (GPIO) curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION/zumspot_duplex_fw.bin # Download STM32F10X_Lib (only for binary tools) @@ -32,7 +29,6 @@ fi # Configure vars depending on OS if [ $(uname -s) == "Linux" ]; then - DEV_USB_SER="/dev/ttyACM0" if [ $(uname -m) == "x86_64" ]; then echo "Linux 64-bit detected" DFU_RST="./STM32F10X_Lib/utils/linux64/upload-reset" @@ -62,7 +58,6 @@ fi if [ $(uname -s) == "Darwin" ]; then echo "macOS detected" - DEV_USB_SER=$MAC_DEV_USB_SER DFU_RST="./STM32F10X_Lib/utils/macosx/upload-reset" DFU_UTIL="./STM32F10X_Lib/utils/macosx/dfu-util" ST_FLASH="./STM32F10X_Lib/utils/macosx/st-flash" @@ -72,12 +67,6 @@ fi # Stop MMDVMHost process to free serial port sudo killall MMDVMHost >/dev/null 2>&1 -# Reset ZUMspot to enter bootloader mode -eval sudo $DFU_RST $DEV_USB_SER 750 - # Upload the firmware -eval sudo $DFU_UTIL -D zumspot_duplex_fw.bin -d 1eaf:0003 -a 2 -R -R +eval sudo $STM32FLASH -v -w zumspot_duplex_fw.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0 -echo -echo "Please RESET your ZUMspot !" -echo diff --git a/scripts/install_fw_duplex_usb.sh b/scripts/install_fw_duplex_usb.sh new file mode 100755 index 0000000..028ddb4 --- /dev/null +++ b/scripts/install_fw_duplex_usb.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +# Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# Configure latest version +FW_VERSION="v1.4.17" + +# Change USB-serial port name ONLY in macOS +MAC_DEV_USB_SER="/dev/cu.usbmodem14401" + +# Download latest firmware for Generic duplex USB boards +curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION/generic_duplex_usb_fw.bin + +# Download STM32F10X_Lib (only for binary tools) +if [ ! -d "./STM32F10X_Lib/utils" ]; then + git clone https://github.com/juribeparada/STM32F10X_Lib +fi + +# Configure vars depending on OS +if [ $(uname -s) == "Linux" ]; then + DEV_USB_SER="/dev/ttyACM0" + 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) == "armv7l" ]; then + echo "Raspberry Pi 3 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 "Raspberry Pi 2 or Pi Zero W 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" + DEV_USB_SER=$MAC_DEV_USB_SER + 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 + +# Reset ZUMspot to enter bootloader mode +eval sudo $DFU_RST $DEV_USB_SER 750 + +# Upload the firmware +eval sudo $DFU_UTIL -D generic_duplex_usb_fw.bin -d 1eaf:0003 -a 2 -R -R + +echo +echo "Please RESET your MMDVM_HS board !" +echo diff --git a/scripts/install_fw_librekit.sh b/scripts/install_fw_librekit.sh index fdce89b..09b2e58 100755 --- a/scripts/install_fw_librekit.sh +++ b/scripts/install_fw_librekit.sh @@ -79,5 +79,5 @@ eval sudo $DFU_RST $DEV_USB_SER 750 eval sudo $DFU_UTIL -D zumspot_libre_fw.bin -d 1eaf:0003 -a 2 -R -R echo -echo "Please RESET your ZUMspot !" +echo "Please RESET your ZUMspot Libre Kit !" echo