-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·134 lines (111 loc) · 4.08 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·134 lines (111 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/bin/bash
# ------------------------------------------------
# sBitx + SoapySDR + piHPSDR Full Install Script
# Usage: chmod +x install.sh && sudo ./install.sh
# ------------------------------------------------
set -e
INSTALL_USER=${SUDO_USER:-$USER}
INSTALL_HOME=$(eval echo "~$INSTALL_USER")
echo "=== Running as user: $INSTALL_USER ==="
echo "=== Home directory: $INSTALL_HOME ==="
echo "=== Updating system ==="
sudo apt update
sudo apt install -y \
git build-essential cmake wiringpi libi2c-dev \
soapysdr-tools libsoapysdr-dev libliquid-dev \
libgpiod-dev netcat-traditional
###############################################################################
# Clone / Update sbitx-soapy
###############################################################################
echo
echo "=== Installing sbitx-soapy ==="
cd "$INSTALL_HOME"
if [ -d "sbitx-soapy" ]; then
cd sbitx-soapy
git pull
else
git clone https://github.com/drexjj/sbitx-soapy.git
cd sbitx-soapy
fi
###############################################################################
# SECTION 1 — Build sbitx_ctrl
###############################################################################
echo
echo "=== Building sbitx_ctrl ==="
cd sbitx-core_mod
gcc -O2 -pthread -o sbitx_ctrl \
sbitx_ctrl.c sbitx_core.c sbitx_gpio.c \
sbitx_i2c.c sbitx_si5351.c \
-lwiringPi -li2c
echo "=== Installing sbitx ALSA band config ==="
sudo chmod +x sbitx_ini_gui.py
sudo mkdir -p /etc/sbitx
sudo cp alsamix_bands.ini /etc/sbitx/
###############################################################################
# SECTION 2 — Build SoapySDR sBitx driver
###############################################################################
echo
echo "=== Building SoapySDR sBitx driver ==="
cd ../soapy_sbitx_driver
mkdir -p build
cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig
###############################################################################
# SECTION 3 — Build piHPSDR
###############################################################################
echo
echo "=== Installing piHPSDR ==="
cd "$INSTALL_HOME"
if [ -d "pihpsdr" ]; then
cd pihpsdr
git pull
else
git clone https://github.com/dl1ycf/pihpsdr
cd pihpsdr
fi
echo "=== Patching piHPSDR Makefile ==="
sed -i 's/^GPIO *=.*/GPIO=ON/' Makefile
sed -i 's/^MIDI *=.*/MIDI=ON/' Makefile
sed -i 's/^SATURN *=.*/SATURN=OFF/' Makefile
sed -i 's/^USBOZY *=.*/USBOZY=OFF/' Makefile
sed -i 's/^SOAPYSDR *=.*/SOAPYSDR=ON/' Makefile
sed -i 's/^STEMLAB *=.*/STEMLAB=OFF/' Makefile
sed -i 's/^AUDIO *=.*/AUDIO=ALSA/' Makefile
sed -i 's/^NR34LIB *=.*/NR34LIB=OFF/' Makefile
sed -i 's/^TTS *=.*/TTS=OFF/' Makefile
echo "=== Copying props files ==="
cp "$INSTALL_HOME/sbitx-soapy/pihpsdr_files/gpio.props" .
cp "$INSTALL_HOME/sbitx-soapy/pihpsdr_files/sbitx.props" .
echo "=== Installing TX-capable soapy_discovery.c ==="
cp "$INSTALL_HOME/sbitx-soapy/pihpsdr_files/soapy_discovery.c" src/
echo "=== Adjusting RF gain slider resolution ==="
sed -i \
's/adc\[0\]\.min_gain, adc\[0\]\.max_gain, 1\.0/adc[0].min_gain, adc[0].max_gain, 0.01/' \
src/sliders.c
sed -i \
's/gtk_range_set_increments (GTK_RANGE(rf_gain_scale), 1\.0, 1\.0)/gtk_range_set_increments (GTK_RANGE(rf_gain_scale), 0.01, 0.01)/' \
src/sliders.c
echo "=== Building piHPSDR ==="
make -j$(nproc)
###############################################################################
# FINAL
###############################################################################
echo
echo "=== Installation complete ==="
echo "* sbitx_ctrl binary location: sbitx-core_mod/sbitx_ctrl"
echo "* ALSA config in: /etc/sbitx"
echo "* SoapySDR driver available to SoapySDRUtil"
echo "* piHPSDR built in pihpsdr_files/src"
echo
echo "Next steps:"
echo "1) Run sbitx_ctrl: cd ~/sbitx-soapy/sbitx-core_mod && ./sbitx_ctrl"
echo "2) Launch piHPSDR from build directory."
echo "3) Optionally copy gpio.props and sbitx.props to ~/.config/pihpsdr for desktop launchers."
echo "=== Testing SoapySDR drivers ==="
SoapySDRUtil --info | grep sbitx || true
SoapySDRUtil --probe=driver=sbitx || true
echo
echo "Done. Reboot recommended."