diff --git a/README.md b/README.md index 1079ef3..2c7211c 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,9 @@ Winlink client for Raspberry Pi https://getpat.io/ #### PATMENU: Menu for configuring Pat. Recommended if installing Pat. https://github.com/km4ack/patmenu +#### wfview & wfserver +wfview is a program developed by amateur radio enthusiasts to control modern Icom ham radios https://wfview.org + #### ARDOPC: HF modem for Pat. Recommended if installing Pat. https://www.cantab.net/users/john.wiseman/Documents/ARDOPC.html diff --git a/app-check b/app-check index b1291aa..6f0095c 100644 --- a/app-check +++ b/app-check @@ -715,6 +715,41 @@ else echo "QTSOUND=Not_Installed" >> $UPDATEFILE fi +#----------------------------------------------------# +# wfview +#----------------------------------------------------# +if [ -f /usr/local/bin/wfview ]; then + echo "Checking wfview" + WFVIEW_CURRENT_VER=$(wfview --version | grep version | sed 's/wfview version: //' | cut -c1-4) + WFVIEW_LATEST=$(curl -s https://gitlab.com/eliggett/wfview/-/raw/master/WHATSNEW | grep + | tail -n 1 | sed 's/+ //' | cut -c1-4) + + if (($(echo "${WFVIEW_LATEST} ${WFVIEW_CURRENT_VER}" | awk '{print ($1 > $2)}'))); then + echo "WFVIEW=NEEDS-UPDATE" >> $UPDATEFILE + else + echo "WFVIEW=is_latest_version" >> $UPDATEFILE + fi + +else + echo "WFVIEW=Not_Installed" >> $UPDATEFILE +fi +#----------------------------------------------------# +# wfviewsvr +#----------------------------------------------------# +if [ -f /usr/local/bin/wfserver ]; then + echo "Checking wfserver" + WFSERVER_CURRENT_VER=$(wfserver --version | grep version | sed 's/wfserver version: //' | cut -c1-4) + WFSERVER_LATEST=$(curl -s https://gitlab.com/eliggett/wfview/-/raw/master/WHATSNEW | grep + | tail -n 1 | sed 's/+ //' | cut -c1-4) + + if (($(echo "${WFSERVER_LATEST} ${WFSERVER_CURRENT_VER}" | awk '{print ($1 > $2)}'))); then + echo "WFSERVER=NEEDS-UPDATE" >> $UPDATEFILE + else + echo "WFSERVER=is_latest_version" >> $UPDATEFILE + fi + +else + echo "WFSERVER=Not_Installed" >> $UPDATEFILE +fi + #----------------------------------------------------# # Repeater-Start #----------------------------------------------------# diff --git a/build-a-pi b/build-a-pi old mode 100755 new mode 100644 index 108185b..b217b97 --- a/build-a-pi +++ b/build-a-pi @@ -240,6 +240,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "ARDOP" "Modem for HF" \ false "ARDOPGUI" "GUI for ARDOP" \ false "VARA" "VARA Modem - Pi 4 Required" \ + false "WFSERVER" "wfserver for Icom Radios" \ false "HAMLIB" "Needed for Rig Control" \ false "DIREWOLF" "Software TNC" \ false "AX25" "Data Link Layer Protocol" \ @@ -253,7 +254,7 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then fi if [ ${BUT} = 3 ]; then - BASEAPPS=(HOTSPOT HSTOOLS GPS ARDOP ARDOPGUI VARA HAMLIB DIREWOLF AX25 PULSE GPSUPDATE) + BASEAPPS=(HOTSPOT HSTOOLS GPS ARDOP ARDOPGUI VARA WFSERVER HAMLIB DIREWOLF AX25 PULSE GPSUPDATE) for i in "${BASEAPPS[@]}"; do echo "$i" >>${BASE} done @@ -403,6 +404,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "CONKY" "System Information Display" \ false "PI-APRS" "APRS Message Application" \ false "CHIRP" "Program Radios" \ + false "WFVIEW" "wfview controller for Icom radios" \ false "GARIM" "File Transfer Program" \ false "PAT" "Radio Email Application" \ false "PAT-MENU" "Control for Pat Winlink" \ @@ -432,7 +434,7 @@ if [ ${BUT} = 252 ] || [ ${BUT} = 1 ]; then fi if [ ${BUT} = 3 ]; then - ADDAPPS=(CONKY PI-APRS CHIRP GARIM VARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO + ADDAPPS=(CONKY PI-APRS CHIRP WFVIEW GARIM VARIM PAT PAT-MENU JS8CALL M0IAX WSJTX PYQSO HAMRS EES QSSTV GRIDTRACKER HAMCLOCK PROPAGATION YAAC XASTIR GPREDICT TQSL GRIDCALC CQRLOG REPEAT) diff --git a/functions/additional.function b/functions/additional.function index 9c1eaf8..7938e3f 100644 --- a/functions/additional.function +++ b/functions/additional.function @@ -593,6 +593,47 @@ EOF } +################################ +# WFVIEW +################################ +WFVIEW() { + + sudo apt-get install -y libasound2-dev cmake build-essential libudev-dev qt5-qmake libqt5core5a + sudo apt-get -y install build-essential + sudo apt-get -y install qt5-qmake + sudo apt-get -y install libqt5core5a + sudo apt-get -y install qtbase5-dev + sudo apt-get -y install libqt5serialport5 libqt5serialport5-dev + sudo apt-get -y install libqt5multimedia5 + sudo apt-get -y install libqt5multimedia5-plugins + sudo apt-get -y install libqt5xml5 + sudo apt-get -y install qtmultimedia5-dev + sudo apt-get -y install libopus-dev + sudo apt-get -y install libeigen3-dev + sudo apt-get -y install libportaudio2 libportaudiocpp0 + sudo apt-get -y install portaudio19-dev + sudo apt-get -y install librtaudio-dev librtaudio6 + sudo apt-get -y install git + echo "Only one of the next two commands need to work." + sudo apt-get -y install libqcustomplot1.3 libqcustomplot-doc libqcustomplot-dev + sudo apt-get -y install libqcustomplot2.0 libqcustomplot-doc libqcustomplot-dev + + cd ${BUILDDIR} + rm -rf wfview + + git clone --depth 1 https://gitlab.com/eliggett/wfview.git + + cd ${BUILDDIR}/wfview || return + git submodule init + git submodule update + + mkdir build + cd build + qmake ../wfview.pro + make -j2 + sudo make install + +} ################################## # PROPAGATION diff --git a/functions/base.function b/functions/base.function index 8322bfa..bc3f1ec 100644 --- a/functions/base.function +++ b/functions/base.function @@ -234,6 +234,47 @@ DIREWOLF() { } +################################ +# WFSERVER +################################ +WFSERVER() { + + sudo apt-get -y install build-essential + sudo apt-get -y install qt5-qmake + sudo apt-get -y install libqt5core5a + sudo apt-get -y install qtbase5-dev + sudo apt-get -y install libqt5serialport5 libqt5serialport5-dev + sudo apt-get -y install libqt5multimedia5 + sudo apt-get -y install libqt5multimedia5-plugins + sudo apt-get -y install libqt5xml5 + sudo apt-get -y install qtmultimedia5-dev + sudo apt-get -y install libopus-dev + sudo apt-get -y install libeigen3-dev + sudo apt-get -y install libportaudio2 libportaudiocpp0 + sudo apt-get -y install portaudio19-dev + sudo apt-get -y install librtaudio-dev librtaudio6 + sudo apt-get -y install git + echo "Only one of the next two commands need to work." + sudo apt-get -y install libqcustomplot1.3 libqcustomplot-doc libqcustomplot-dev + sudo apt-get -y install libqcustomplot2.0 libqcustomplot-doc libqcustomplot-dev + + cd ${BUILDDIR} || return + rm -rf wfserver + + git clone --depth 1 https://gitlab.com/eliggett/wfview.git ./wfserver + + cd ${BUILDDIR}/wfserver || return + git submodule init + git submodule update + + mkdir build + cd build + qmake ../wfserver.pro + make -j2 + sudo make install + +} + ################################ # AX25 ################################ diff --git a/update b/update index 1717fce..7ff1115 100755 --- a/update +++ b/update @@ -307,6 +307,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "ARDOP" "$ARDOP" "Mode for HF" \ false "ARDOPGUI" "$ARDOPGUI" "GUI for ARDOP" \ false "VARA" "$VARA" "VARA Modem - Pi 4 Required" \ + false "WFSERVER" "$WFSERVER" "wfview server for Icom radios" \ false "DIREWOLF" "$DIRE" "Software TNC" \ false "AX25" "$AX25" "Data Link Layer Protocol" \ false "PULSE" "$PULSE" "Sound server" \ @@ -462,6 +463,7 @@ yad --center --list --checklist --width=600 --height=600 --separator="" \ false "PAT" "$PAT" "Radio Email Application" \ false "PAT-MENU" "$PATMENU" "Control for Pat Winlink" \ false "CHIRP" "$CHIRP" "Program Radios" \ + false "WFVIEW" "$WFVIEW" "wfview Icom radio controller" \ false "GARIM" "$GARIM" "File Transfer Program " \ false "VARIM" "$VARIM" "Radio Chat VARA" \ false "M0IAX" "$M0IAX" "Tools for JS8Call messages" \