J ai dédié l activité de SDRAngel costitué d un RaspBerry 4, équipé de 4Go de RAM. Je suis parti d une base Raspbian 10 (Buster) pour eviter tous conflits avec d’autres apps et voulant privélégier la stabilité de mon SDR. J ai installé juste les bibliotheques pour prendre en charge le AdalmPlutoSDR de chez Analog Devices. Ce SDR destiné a des usages de R&D et dans le domaine universitaire. On a pas la qualité du maitre que j affectionne tout particulierement la société « Rohde & Schwarz »
SDRAngel s affiche sur un Ecran de 7pouces multitouch avec une connectique HDMI (Ne pas oublier sur le RPI4 cest du mini HDMI donc il faut un adaptateur) et la partie « Touch » se branche en USB automatiquement reconnu par le RPI4. Si on met l’affichage (1024X600) natif par défaut de l ecran 7inches le fenetrage de SDRAngel dépasse et on ne peut pas reduire la taille de la fenetre. Donc il a fallu trouvé un superfuge pour forcer l’affichage à afficher dans une autre definition qui sera interpolée. Ca ne sera pas non pas la definition du pixel réel
On va modifier le fichier config.txt qui est un fichier systeme du Raspberry qui est lu au moment du boot du Raspberry Pi 4. Il agit directement sur les I/O et le matériel …. au prochain boot de votre RaspberryPi
sudo nano /boot/config.txt
max_usb_current=1 hdmi_force_hotplug=1 config_hdmi_boost=10 hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 768 60 6 0 0 0
Comme on peut voir aussi dans les parametres du « config.txt » on met le max_usb-current à 1 pour que les USB puissent fournir le maximum d intensité autorisée par la norme USB permettant d’alimenter les equipements biensur il faut prevoir une bonne alimentation pour le RPI4 pour pouvoir fournir une alimentation stable pour le RPI4 et les péripheriques comme le module SDR « Analog Devices ADALM-PLUTO » autoalimenté par le port USB,
Le seul probleme que je rencontre c est au niveau de l antenne je suis dans un appartement donc pas facile pour mettre une antenne …
SDRAngel n est pas optimisé pour une utilisation en mode « Touch » mais on se debrouille pas trop mal… On peut meme y acceder via VNC
Pour ceux qui cherche a compiler leur SDRAngel sur leur RaspberryPi ou PC sous Linux, le processus suivant et pour une Distribution basé sur Debian (Debian, Raspbian, Ubuntu…)
Infos on remplace « user » par « pi » pour un RaspberryPi par défaut ou votre user dans une une distrib PC…. La compilation Totale sur un RPI 4 4Go de RAM peut prendre 4h00 environs…
sudo apt-get update && sudo apt-get -y install doxygen graphviz
sudo mkdir -p /opt/build
sudo chown user:users /opt/build
sudo mkdir -p /opt/install
sudo chown user:users /opt/install
sudo apt-get update && sudo apt-get -y install git cmake g++ pkg-config autoconf automake libtool libfftw3-dev libusb-1.0-0-dev libusb-dev qt5-default qtbase5-dev qtchooser libqt5multimedia5-plugins qtmultimedia5-dev libqt5websockets5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtbase5-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev libopus-dev
cd /opt/build
git clone https://github.com/f4exb/cm256cc.git
cd cm256cc
git reset --hard f21e8bc1e9afdb0b28672743dcec111aec1d32d9
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/cm256cc ..
make -j $(nproc) install
cd /opt/build
git clone https://github.com/szechyjs/mbelib.git
cd mbelib
git reset --hard 9a04ed5c78176a9965f3d43f7aa1b1f5330e771f
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/mbelib ..
make -j $(nproc) install
cd /opt/build
git clone https://github.com/f4exb/serialDV.git
cd serialDV
git reset --hard "v1.1.4"
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/serialdv ..
make -j $(nproc) install
cd /opt/build
git clone https://github.com/f4exb/dsdcc.git
cd dsdcc
git reset --hard "v1.8.6"
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/dsdcc -DUSE_MBELIB=ON -DLIBMBE_INCLUDE_DIR=/opt/install/mbelib/include -DLIBMBE_LIBRARY=/opt/install/mbelib/lib/libmbe.so -DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so ..
make -j $(nproc) install
sudo apt-get -y install libspeexdsp-dev libsamplerate0-dev
cd /opt/build
git clone https://github.com/drowe67/codec2.git
cd codec2
git reset --hard 76a20416d715ee06f8b36a9953506876689a3bd2
mkdir build_linux
cd build_linux
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/codec2 ..
make -j $(nproc) install
cd /opt/build
git clone https://github.com/airspy/host.git libairspy
cd libairspy
git reset --hard bfb667080936ca5c2d23b3282f5893931ec38d3f
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libairspy ..
make -j4 install
cd /opt/build
git clone https://github.com/f4exb/libmirisdr-4.git
cd libmirisdr-4
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libmirisdr ..
make -j4 install
cd /opt/build
git clone https://github.com/osmocom/rtl-sdr.git librtlsdr
cd librtlsdr
git reset --hard be1d1206bfb6e6c41f7d91b20b77e20f929fa6a7
mkdir build
cd build
cmake -Wno-dev -DDETACH_KERNEL_DRIVER=ON -DCMAKE_INSTALL_PREFIX=/opt/install/librtlsdr ..
make -j4 install
cd /opt/build
git clone https://github.com/analogdevicesinc/libiio.git
cd libiio
git reset --hard 826563e41b5ce9890b75506f672017de8d76d52d
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libiio -DINSTALL_UDEV_RULE=OFF ..
make -j4 install
cd /opt/build
git clone https://github.com/Nuand/bladeRF.git
cd bladeRF/host
git reset --hard "2019.07"
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libbladeRF -DINSTALL_UDEV_RULES=OFF ..
make -j4 install
cd /opt/build
git clone https://github.com/myriadrf/LimeSuite.git
cd LimeSuite
git reset --hard "v20.01.0"
mkdir builddir
cd builddir
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/LimeSuite ..
make -j4 install
cd /opt/build
git clone https://github.com/airspy/airspyhf
cd airspyhf
git reset --hard "1.1.5"
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libairspyhf ..
make -j4 install
cd /opt/build
git clone https://github.com/f4exb/libperseus-sdr.git
cd libperseus-sdr
git checkout fixes
git reset --hard afefa23e3140ac79d845acb68cf0beeb86d09028
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libperseus ..
make
make install
cd /opt/build
git clone https://github.com/xtrx-sdr/images.git xtrx-images
cd xtrx-images
git reset --hard 053ec82
git submodule init
git submodule update
cd sources
mkdir build
cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/xtrx-images -DENABLE_SOAPY=NO ..
make
make install
cd /opt/build
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
git reset --hard "soapy-sdr-0.7.1"
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR ..
make -j4 install
cd /opt/build
git clone https://github.com/pothosware/SoapyRTLSDR.git
cd SoapyRTLSDR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR -DRTLSDR_INCLUDE_DIR=/opt/install/librtlsdr/include -DRTLSDR_LIBRARY=/opt/install/librtlsdr/lib/librtlsdr.so -DSOAPY_SDR_INCLUDE_DIR=/opt/install/SoapySDR/include -DSOAPY_SDR_LIBRARY=/opt/install/SoapySDR/lib/libSoapySDR.so ..
make -j4 install
cd /opt/build
git clone https://github.com/pothosware/SoapyHackRF.git
cd SoapyHackRF
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR -DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include/libhackrf -DLIBHACKRF_LIBRARY=/opt/install/libhackrf/lib/libhackrf.so -DSOAPY_SDR_INCLUDE_DIR=/opt/install/SoapySDR/include -DSOAPY_SDR_LIBRARY=/opt/install/SoapySDR/lib/libSoapySDR.so ..
make -j4 install
cd /opt/build
cd LimeSuite/builddir
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/LimeSuite -DCMAKE_PREFIX_PATH=/opt/install/SoapySDR ..
make -j4 install
cp /opt/install/LimeSuite/lib/SoapySDR/modules0.7/libLMS7Support.so /opt/install/SoapySDR/lib/SoapySDR/modules0.7
sudo apt-get install libavahi-client-dev
cd /opt/build
git clone https://github.com/pothosware/SoapyRemote.git
cd SoapyRemote
git reset --hard "soapy-remote-0.5.1"
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR -DSOAPY_SDR_INCLUDE_DIR=/opt/install/SoapySDR/include -DSOAPY_SDR_LIBRARY=/opt/install/SoapySDR/lib/libSoapySDR.so ..
make -j4 install
cd /opt/build
git clone https://github.com/f4exb/sdrangel.git
cd sdrangel
mkdir build
cd build
cmake -Wno-dev -DDEBUG_OUTPUT=ON -DRX_SAMPLE_24BIT=ON \
-DMIRISDR_DIR=/opt/install/libmirisdr \
-DAIRSPY_DIR=/opt/install/libairspy \
-DAIRSPYHF_DIR=/opt/install/libairspyhf \
-DBLADERF_DIR=/opt/install/libbladeRF \
-DHACKRF_DIR=/opt/install/libhackrf \
-DRTLSDR_DIR=/opt/install/librtlsdr \
-DLIMESUITE_DIR=/opt/install/LimeSuite \
-DIIO_DIR=/opt/install/libiio \
-DPERSEUS_DIR=/opt/install/libperseus \
-DXTRX_DIR=/opt/install/xtrx-images \
-DSOAPYSDR_DIR=/opt/install/SoapySDR \
-DCM256CC_DIR=/opt/install/cm256cc \
-DDSDCC_DIR=/opt/install/dsdcc \
-DSERIALDV_DIR=/opt/install/serialdv \
-DMBE_DIR=/opt/install/mbelib \
-DCODEC2_DIR=/opt/install/codec2 \
-DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel ..
make -j4 install