From 2a2cb7272edd22191bffde559e99fd7ac71d7fde Mon Sep 17 00:00:00 2001 From: mamborambo <36679886+mamborambo@users.noreply.github.com> Date: Sat, 1 Dec 2018 00:00:00 +0000 Subject: [PATCH] Fix shellcheck issues - Added shebang to all the scripts - Adjusted all the scripts to make them compatible with a POSIX shell --- easytest.sh | 18 +++++++++--------- fm2ssb.sh | 11 ++++++++--- install.sh | 23 +++++++++++++---------- rtlmenu.sh | 28 ++++++++++++---------------- snap2spectrum.sh | 7 +++++-- snapsstv.sh | 4 +++- sv1afnfilter.sh | 21 +++++++++++---------- testam.sh | 6 +++++- testchirp.sh | 4 +++- testfmrds.sh | 4 +++- testfreedv.sh | 3 ++- testfsq.sh | 4 +++- testnfm.sh | 8 ++++++-- testopera.sh | 4 +++- testpocsag.sh | 4 +++- testspectrum.sh | 7 +++++-- testssb.sh | 7 ++++++- testsstv.sh | 4 +++- testvfo.sh | 4 +++- transponder.sh | 8 +++++--- 20 files changed, 111 insertions(+), 68 deletions(-) diff --git a/easytest.sh b/easytest.sh index d9e082d..bf54b6b 100755 --- a/easytest.sh +++ b/easytest.sh @@ -1,12 +1,12 @@ #!/bin/sh + status="0" OUTPUT_FREQ=434.0 LAST_ITEM="0 Tune" do_freq_setup() { -FREQ=$(whiptail --inputbox "Choose output Frequency (in MHZ) Default is 434MHZ" 8 78 $OUTPUT_FREQ --title "Rpitx transmit Frequency" 3>&1 1>&2 2>&3) -if [ $? -eq 0 ]; then +if FREQ=$(whiptail --inputbox "Choose output Frequency (in MHZ) Default is 434MHZ" 8 78 $OUTPUT_FREQ --title "Rpitx transmit Frequency" 3>&1 1>&2 2>&3); then OUTPUT_FREQ=$FREQ fi @@ -20,10 +20,10 @@ do_stop_transmit() sudo killall pifmrds 2>/dev/null sudo killall sendiq 2>/dev/null sudo killall pocsag 2>/dev/null - sudo killall piopera 2>/dev/null + sudo killall piopera 2>/dev/null sudo killall rpitx 2>/dev/null sudo killall freedv 2>/dev/null - sudo killall pisstv 2>/dev/null + sudo killall pisstv 2>/dev/null } do_status() @@ -36,7 +36,7 @@ do_status() do_freq_setup - while [ "$status" -eq 0 ] + while [ "$status" -eq 0 ] do menuchoice=$(whiptail --default-item "$LAST_ITEM" --title "Rpitx on ""$OUTPUT_FREQ""MHZ" --menu "Range frequency : 50Khz-1Ghz. Choose your test" 20 82 12 \ @@ -57,10 +57,10 @@ do_freq_setup RET=$? if [ $RET -eq 1 ]; then exit 0 - elif [ $RET -eq 0 ]; then + elif [ $RET -eq 0 ]; then case "$menuchoice" in F\ *) do_freq_setup ;; - 0\ *) "./testvfo.sh" "$OUTPUT_FREQ""e6" >/dev/null 2>/dev/null & + 0\ *) "./testvfo.sh" "$OUTPUT_FREQ""e6" >/dev/null 2>/dev/null & do_status;; 1\ *) "./testchirp.sh" "$OUTPUT_FREQ""e6" >/dev/null 2>/dev/null & do_status;; @@ -70,7 +70,7 @@ do_freq_setup do_status;; 4\ *) "./testfmrds.sh" "$OUTPUT_FREQ" >/dev/null 2>/dev/null & do_status;; - 5\ *) "./testnfm.sh" "$OUTPUT_FREQ""e3" >/dev/null 2>/dev/null & + 5\ *) "./testnfm.sh" "$OUTPUT_FREQ""e3" >/dev/null 2>/dev/null & do_status;; 6\ *) "./testssb.sh" "$OUTPUT_FREQ""e6" >/dev/null 2>/dev/null & do_status;; @@ -90,7 +90,7 @@ do_freq_setup esac else exit 1 - fi + fi done exit 0 diff --git a/fm2ssb.sh b/fm2ssb.sh index fc1147a..22ddf72 100755 --- a/fm2ssb.sh +++ b/fm2ssb.sh @@ -1,3 +1,8 @@ -echo fm2ssb.sh freq gain -rtl_fm -f $1 -s 250k -r 48k -g $2 - | csdr convert_i16_f | csdr fir_interpolate_cc 2| csdr dsb_fc | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff | buffer | sudo ./sendiq -i /dev/stdin -s 96000 -f $3 -t float -# | sox -traw -r48k -es -b16 - -c1 -r 48k -traw - \ No newline at end of file +#!/bin/sh + +echo "FREQ_IN=value-in_MHz GAIN=value-0_to_45 FREQ_OUT=value-in_MHz fm2ssb" +rtl_fm -f "$FREQ_IN" -s 250k -r 48k -g "$GAIN" - | csdr convert_i16_f \ + | csdr fir_interpolate_cc 2 | csdr dsb_fc \ + | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff | buffer \ + | sudo ./sendiq -i /dev/stdin -s 96000 -f "FREQ_OUT" -t float +# | sox -traw -r48k -es -b16 - -c1 -r 48k -traw - diff --git a/install.sh b/install.sh index 715d159..095b96a 100755 --- a/install.sh +++ b/install.sh @@ -1,3 +1,5 @@ +#!/bin/sh + echo Install rpitx - some package need internet connection - sudo apt-get update @@ -8,26 +10,27 @@ sudo apt-get install -y rtl-sdr buffer # We use CSDR as a dsp for analogs modes thanks to HA7ILM git clone https://github.com/simonyiszk/csdr patch -i csdrpizero.diff csdr/Makefile -cd csdr +cd csdr || exit make && sudo make install -cd ../ +cd ../ || exit -cd src +cd src || exit git clone https://github.com/F5OEO/librpitx -cd librpitx/src +cd librpitx/src || exit +make +cd ../../ || exit make -cd ../../ -make sudo make install -cd .. +cd .. || exit -echo "\n\n" -read -p "In order to run properly, rpitx need to modify /boot/config.txt. Are you sure (y/n) " CONT +printf "\n\n" +printf "In order to run properly, rpitx need to modify /boot/config.txt. Are you sure (y/n) " +read -r CONT if [ "$CONT" = "y" ]; then echo "Set GPU to 250Mhz in order to be stable" LINE='gpu_freq=250' - FILE='/boot/config.txt' + FILE='/boot/config.txt' grep -qF "$LINE" "$FILE" || echo "$LINE" | sudo tee --append "$FILE" echo "Installation completed !" else diff --git a/rtlmenu.sh b/rtlmenu.sh index 6dcedda..8f172d5 100755 --- a/rtlmenu.sh +++ b/rtlmenu.sh @@ -1,4 +1,5 @@ -#!/bin/bash +#!/bin/sh + status="0" INPUT_RTLSDR=434.0 INPUT_GAIN=35 @@ -8,18 +9,15 @@ LAST_ITEM="0 Record" do_freq_setup() { -FREQ=$(whiptail --inputbox "Choose input Frequency (in MHZ) Default is 434MHZ" 8 78 $INPUT_RTLSDR --title "RTL-SDR Receive Frequency" 3>&1 1>&2 2>&3) -if [ $? -eq 0 ]; then +if FREQ=$(whiptail --inputbox "Choose input Frequency (in MHZ) Default is 434MHZ" 8 78 $INPUT_RTLSDR --title "RTL-SDR Receive Frequency" 3>&1 1>&2 2>&3); then INPUT_RTLSDR=$FREQ fi -GAIN=$(whiptail --inputbox "Choose input Gain (0(AGC) or 1-45)" 8 78 $INPUT_GAIN --title "RTL-SDR Receive Frequency" 3>&1 1>&2 2>&3) -if [ $? -eq 0 ]; then +if GAIN=$(whiptail --inputbox "Choose input Gain (0(AGC) or 1-45)" 8 78 $INPUT_GAIN --title "RTL-SDR Receive Frequency" 3>&1 1>&2 2>&3); then INPUT_GAIN=$GAIN fi -FREQ=$(whiptail --inputbox "Choose output Frequency (in MHZ) Default is 434MHZ" 8 78 $OUTPUT_FREQ --title "Transmit Frequency" 3>&1 1>&2 2>&3) -if [ $? -eq 0 ]; then +if FREQ=$(whiptail --inputbox "Choose output Frequency (in MHZ) Default is 434MHZ" 8 78 $OUTPUT_FREQ --title "Transmit Frequency" 3>&1 1>&2 2>&3); then OUTPUT_FREQ=$FREQ fi @@ -28,8 +26,8 @@ fi do_stop() { sudo killall rtl_sdr 2>/dev/null - sudo killall sendiq 2>/dev/null - sudo killall rtl_fm 2>/dev/null + sudo killall sendiq 2>/dev/null + sudo killall rtl_fm 2>/dev/null } do_status() { @@ -40,7 +38,7 @@ do_status() do_freq_setup - while [ "$status" -eq 0 ] + while [ "$status" -eq 0 ] do menuchoice=$(whiptail --default-item "$LAST_ITEM" --title "Rpitx with RTLSDR" --menu "Choose your test" 20 82 12 \ @@ -54,18 +52,16 @@ do_freq_setup case "$menuchoice" in 0\ *) rtl_sdr -s 250000 -g "$INPUT_GAIN" -f "$INPUT_RTLSDR"e6 record.iq >/dev/null 2>/dev/null & do_status;; - 1\ *) sudo ./sendiq -s 250000 -f "$OUTPUT_FREQ"e6 -t u8 -i record.iq >/dev/null 2>/dev/null & + 1\ *) sudo ./sendiq -s 250000 -f "$OUTPUT_FREQ"e6 -t u8 -i record.iq >/dev/null 2>/dev/null & do_status;; - 2\ *) source $"$PWD/transponder.sh" "$INPUT_RTLSDR"M $INPUT_GAIN $OUTPUT_FREQ"e6" >/dev/null 2>/dev/null & + 2\ *) FREQ_IN="$INPUT_RTLSDR"M GAIN="$INPUT_GAIN" FREQ_OUT="$OUTPUT_FREQ"e6 . "$PWD/transponder.sh" >/dev/null 2>/dev/null & do_status;; - 3\ *) source $"$PWD/fm2ssb.sh" "$INPUT_RTLSDR"M $INPUT_GAIN $OUTPUT_FREQ"e6" >/dev/null 2>/dev/null & + 3\ *) FREQ_IN="$INPUT_RTLSDR"M GAIN="$INPUT_GAIN" FREQ_OUT="$OUTPUT_FREQ"e6 . "$PWD/fm2ssb.sh" >/dev/null 2>/dev/null & do_status;; 4\ *) do_freq_setup;; *) status=1 - whiptail --title "Bye bye" --msgbox "Thx for using rpitx" 8 78 + whiptail --title "Bye bye" --msgbox "Thanks for using rpitx!" 8 78 ;; esac - done - diff --git a/snap2spectrum.sh b/snap2spectrum.sh index 4aadce5..5c1573b 100755 --- a/snap2spectrum.sh +++ b/snap2spectrum.sh @@ -1,9 +1,12 @@ +#!/bin/sh + raspistill -w 320 -h 256 -o picture.jpg -t 1 #convert picture.jpg -flip -colors 16 -colorspace gray -dither -colorspace YUV picture.yuv #convert picture.jpg -flip -colors 16 -colorspace gray -colorspace YUV picture.yuv #convert BBC-Test-Card-F320x256.jpg -flip -quantize YUV -dither FloydSteinberg -colors 4 -interlace partition picture.yuv -convert picture.jpg -flip -quantize YUV -dither FloydSteinberg -colors 4 -interlace partition picture.yuv -sudo ./spectrumpaint picture.Y $1 100000 +convert picture.jpg -flip -quantize YUV -dither FloydSteinberg -colors 4 \ + -interlace partition picture.yuv +sudo ./spectrumpaint picture.Y "$1" 100000 #convert -depth 8 picture.jpg picture.rgb diff --git a/snapsstv.sh b/snapsstv.sh index 25629ec..6ecf582 100755 --- a/snapsstv.sh +++ b/snapsstv.sh @@ -1,6 +1,8 @@ +#!/bin/sh + raspistill -w 320 -h 256 -o picture.jpg -t 1 convert -depth 8 picture.jpg picture.rgb -sudo ./pisstv picture.rgb $1 +sudo ./pisstv picture.rgb "$1" diff --git a/sv1afnfilter.sh b/sv1afnfilter.sh index 60bf7df..d991f84 100755 --- a/sv1afnfilter.sh +++ b/sv1afnfilter.sh @@ -1,14 +1,16 @@ -#COMMAND A BANDPATH FILTER FROM SV1AFN +#!/bin/sh + +#COMMAND A BANDPATH FILTER FROM SV1AFN #GPIO Declaration if [ ! -f /sys/class/gpio/gpio26 ]; then echo "Create GPIOs" echo GPIO declaration -echo 26 > /sys/class/gpio/export -echo 19 > /sys/class/gpio/export -echo 13 > /sys/class/gpio/export -echo 6 > /sys/class/gpio/export +echo 26 > /sys/class/gpio/export +echo 19 > /sys/class/gpio/export +echo 13 > /sys/class/gpio/export +echo 6 > /sys/class/gpio/export #GPIO out @@ -24,8 +26,7 @@ fi #Initialization : All at zero (disable filter) reset_all() { - - echo 0 > /sys/class/gpio/gpio26/value + echo 0 > /sys/class/gpio/gpio26/value echo 0 > /sys/class/gpio/gpio19/value echo 0 > /sys/class/gpio/gpio13/value echo 0 > /sys/class/gpio/gpio6/value @@ -36,13 +37,13 @@ case "$1" in "10m") echo 1 > /sys/class/gpio/gpio26/value ;; -"15m") +"15m") echo 1 > /sys/class/gpio/gpio19/value ;; -"20m") +"20m") echo 1 > /sys/class/gpio/gpio13/value ;; -"40m") +"40m") echo 1 > /sys/class/gpio/gpio6/value ;; diff --git a/testam.sh b/testam.sh index d764427..efa8f99 100755 --- a/testam.sh +++ b/testam.sh @@ -1,3 +1,7 @@ +#!/bin/sh + #TODO using the AM mode from librpitx echo Need to implement -(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f | csdr gain_ff 4.0 | csdr dsb_fc | sudo ./rpitx -i - -m IQFLOAT -f $1 -s 48000 +(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f \ + | csdr gain_ff 4.0 | csdr dsb_fc \ + | sudo ./rpitx -i - -m IQFLOAT -f "$1" -s 48000 diff --git a/testchirp.sh b/testchirp.sh index de57307..d90a50f 100755 --- a/testchirp.sh +++ b/testchirp.sh @@ -1,2 +1,4 @@ -sudo ./pichirp $1 100000 5 +#!/bin/sh + +sudo ./pichirp "$1" 100000 5 diff --git a/testfmrds.sh b/testfmrds.sh index 3719f6e..8a74c73 100755 --- a/testfmrds.sh +++ b/testfmrds.sh @@ -1 +1,3 @@ -sudo ./pifmrds -freq $1 -audio src/pifmrds/stereo_44100.wav +#!/bin/sh + +sudo ./pifmrds -freq "$1" -audio src/pifmrds/stereo_44100.wav diff --git a/testfreedv.sh b/testfreedv.sh index 9a4f668..3e4320d 100755 --- a/testfreedv.sh +++ b/testfreedv.sh @@ -1,2 +1,3 @@ -sudo ./freedv src/freedv/VCO800XA.rf $1 400 +#!/bin/sh +sudo ./freedv src/freedv/VCO800XA.rf "$1" 400 diff --git a/testfsq.sh b/testfsq.sh index 1a4c759..1285de2 100755 --- a/testfsq.sh +++ b/testfsq.sh @@ -1 +1,3 @@ -sudo ./pifsq "Test" $1 +#!/bin/sh + +sudo ./pifsq "Test" "$1" diff --git a/testnfm.sh b/testnfm.sh index 62b7d2f..8c1a2aa 100755 --- a/testnfm.sh +++ b/testnfm.sh @@ -1,6 +1,10 @@ +#!/bin/sh + #This is only a Narraw Band FM modulator, for FM broadcast modulation , use PiFMRDS # Need to use a direct FM modulation with librpitx and not using IQ : TODO -echo "If you need to test broadcast FM , use PiFMRDS" +echo "If you need to test broadcast FM, use PiFMRDS" #(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f | csdr gain_ff 2500 | sudo ./sendiq -i /dev/stdin -s 24000 -f 434e6 -t float 1 -(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo ./rpitx -i- -m RF -f $1 +(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f \ + | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 \ + | sudo ./rpitx -i- -m RF -f "$1" diff --git a/testopera.sh b/testopera.sh index e2a65f8..57e2915 100755 --- a/testopera.sh +++ b/testopera.sh @@ -1,3 +1,5 @@ -sudo ./piopera F5OEO 0.5 $1 +#!/bin/sh + +sudo ./piopera F5OEO 0.5 "$1" diff --git a/testpocsag.sh b/testpocsag.sh index 4dd52b0..4639c7b 100755 --- a/testpocsag.sh +++ b/testpocsag.sh @@ -1 +1,3 @@ -echo -e "1:YOURCALL\n2: Hello world" | sudo ./pocsag -f $1 +#!/bin/sh + +printf "1:YOURCALL\n2: Hello world" | sudo ./pocsag -f "$1" diff --git a/testspectrum.sh b/testspectrum.sh index 9a49f97..5178284 100755 --- a/testspectrum.sh +++ b/testspectrum.sh @@ -1,2 +1,5 @@ -convert BBC.jpg -flip -quantize YUV -dither FloydSteinberg -colors 4 -interlace partition picture.yuv -sudo ./spectrumpaint picture.Y $1 100000 +#!/bin/sh + +convert BBC.jpg -flip -quantize YUV -dither FloydSteinberg -colors 4 \ + -interlace partition picture.yuv +sudo ./spectrumpaint picture.Y "$1" 100000 diff --git a/testssb.sh b/testssb.sh index 37b939b..99acb0c 100755 --- a/testssb.sh +++ b/testssb.sh @@ -1,2 +1,7 @@ -(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f | csdr fir_interpolate_cc 2| csdr dsb_fc | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff | sudo ./sendiq -i /dev/stdin -s 96000 -f $1 -t float +#!/bin/sh + +(while true; do cat sampleaudio.wav; done) | csdr convert_i16_f \ + | csdr fir_interpolate_cc 2 | csdr dsb_fc \ + | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff \ + | sudo ./sendiq -i /dev/stdin -s 96000 -f "$1" -t float diff --git a/testsstv.sh b/testsstv.sh index 9a9da86..22f48e6 100755 --- a/testsstv.sh +++ b/testsstv.sh @@ -1,2 +1,4 @@ +#!/bin/sh + convert -depth 8 BBC.jpg picture.rgb -sudo ./pisstv picture.rgb $1 +sudo ./pisstv picture.rgb "$1" diff --git a/testvfo.sh b/testvfo.sh index c1bbfd5..c77e6fa 100755 --- a/testvfo.sh +++ b/testvfo.sh @@ -1 +1,3 @@ -sudo tune -f $1 +#!/bin/sh + +sudo tune -f "$1" diff --git a/transponder.sh b/transponder.sh index f5e13f6..32913fa 100755 --- a/transponder.sh +++ b/transponder.sh @@ -1,4 +1,6 @@ -#You need a rtl-sdr dongle in order to run this -echo "transponder FreqIn(Mhz) Gain(0-45)" -rtl_sdr -s 250000 -g "$2" -f "$1" - | buffer | sudo ./sendiq -s 250000 -f $3 -t u8 -i - +#!/bin/sh +#You need a rtl-sdr dongle in order to run this +echo "FREQ_IN=value-in_MHz GAIN=value-0_to_45 FREQ_OUT=value-in_MHz transponder" +rtl_sdr -s 250000 -g "$GAIN" -f "$FREQ_IN" - | buffer \ + | sudo ./sendiq -s 250000 -f "FREQ_OUT" -t u8 -i -