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" \