Giter Club home page Giter Club logo

sdrberry's Introduction

sdrberry

Raspberry pi SDR tranceiver / fronted using lvgl gui !!! This is an ongoing project code only for information purpose only. The main goal for this project is to learn about c++ programming, liquid dsp, and for most the use of the GUI toolkit LVGL v8 Functionalit is in beta currently

This source code is still in development.
Goal is to support Adalm pluto SDR, Radioberry, RTL-SDR, SDRPlay etc but it should also support other SDR receivers based on SoapySDR. Also the goal is to support optical encoder and support I2C / serial interface for bandpass filtering I use an ESP32 as CAT controler with a service for an optical encoder. Alternative a Contour Shuttle express can be used as rotary controler and or a mouse.

To install you need to configure rasberry pi OS in text only mode (64 bit Bullseye), create a sd card or even better a usb stick sd cards tend to fail after a while, with 64 bit bullseye CLI mode. Configure wifi and use raspi-config to switch on I2C and boot to CLI only with logon. Compiled using VisualGDB or cmake, gcc and gfortran (for wsjtx_lib which includes the wsjtx fortran code of Joe Taylor)

Remote control is possible with the use of framebuffer-vnc https://github.com/ponty/framebuffer-vncserver a config file is in the install directory. Check the event number for the touch and keyboard device and adjust the device number like event1 accordingly

installation instruction in install_guide.txt install script install.sh installs all components based on a fresh raspberry pi SD card (OS should be updated and in CLI mode)

Hardware requirements

  • Raspberry pi 4 Model B
  • LCD screen 5 or 7 inch 800x480 touchscreen using DSI connector
  • It is prefered not to use a SD card but an USB stick like an Samsung Fit plus 32 GB or larger
  • Generic USB Audio adaptor for audio in and output

This software makes use of opensource libraries like

ToDo

  • Support for Midi contoler
  • Cheap USB Hid controlers
  • Optical encoder direct on GPIO (some hardware adaption needed)
  • Setup screen for Network and Wifi
  • Different noise reduction schemas like lms etc.
  • codec2 implementation (FreeDV)

Done

  • Adalm Pluto
  • Rtlsdr support
  • SDRPlay support
  • Radioberry support
  • Hackrf support
  • QSD / QSE support with hifiberry board
  • FM broadband (only receive)
  • FM Narrowband
  • SSB support
  • Transmitter part
  • USB CAT interface support (config serial controler in cfg file example ESP32 as CAT controler)
  • i2c filter support for PCF8574
  • USB Controler with ESP32 (Optical contoler for vfo and 2 mechanical encoders for volume and gain etc)
  • Add audio device selection
  • TFT brightness controll
  • Support both Raspberry pi buster and Bullseye
  • CMake compilation
  • Morse code decoder
  • Support for Contour Shuttle Express
  • Receive, transmit FT8
  • Noise reduction (spectral noise reduction, Kim)
  • Support for audio sdr using Tayloe directsdr (Hifiberry)
  • Mouse support
  • Keyboard for FT8
  • waterfall display
  • Cheap USB Hid Volume controlers as tuning controler
  • Add setup page for I2C configuration

Installation of libraries is necessary:

  • Liquid DSP
  • Alsa audio
  • SoapySDR
  • SoapyPlutoSDR (support for Adalm Pluto SDR)
  • SoapySDRPlay (support for SDRPlay devices)
  • SoapyRadioBerry (support radioberry)
  • libiio (support for Adalm Pluto SDR)
  • libad9361-iio (support for Adalm Pluto SDR)
  • pthread
  • liquid-dsp
  • fftw

Installation

Install and compile with cmake

Download the install file in pi home directory (the install script supports different SDR's) The install script can install DSI or Waveshare 7 inch display SDR Unit being used Supported: hackfr = HRF / HifiBerry = HFB / Pluto = PLT / RadioBerry = RDB / No = No device If you want to install the devices using current packages add Y to the install command install DEVICE LCD PACKAGE Y/N

wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/install.sh
chmod +x install.sh
./install.sh HFB DSI

start sdrberry

sdrberry can be started in usermode or as root, this depends on the device beeing used for radioberry use sudo

sudo sdrberry > sdrberry.log 2>&1

Mouse support

sdrberry supports a mouse, to improve responsiveness the install script will add usbhid.mousepoll=2 to the commandline.txt

DSI display 5inch or 7inch

In the directory "install/bullseye-7inch rpi" are example config.txt and cmdline.txt files for rotating the screen 5 inch DSI screens from waveshare do not need any adjustment. Sdrberry is currently tested for a resolution of 800 x 480. Although this can be changed in sdrberry.cpp line 47 and 48 it is not tested for other resolutions. There can be some issues.

sdrberry

sdrberry

sdrberry

Radioberry demo

I2C configuration

sdrberry

ESP32 Remote control for raspberry pi

sdrberry

sdrberry's People

Contributors

paulh002 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdrberry's Issues

Update Documents

can you please state in the readme what pi boards are the best 3a+/3b+/4 b?

ok new day new string

so going back to questions.

1 ) using pkgs where possible. I honestly would like to try and get this working based on pkgs .

what part of soapysdr are you using ? is it just the libs and modules ?

  1. what part of liquid-dsp are you using ? do I can match pkgs to see what is out there.

Dont take it wrong its just if we make this more mainline on bookworm and get higns going I can then work on getting sdrberry made into a deb that would make a quicker install. As most users want something more out of the box then have to build and wait..

I plan to make the script cover both when the time comes. just learning how your doing things. I see this as a great projct .

On par wit what the hfsignals bitx is.

I also want to make it work on other arm boards because there are boards lower in price then what the pi4 is right now that have better cpu's and performance.

But there is also the Tinker Boards that alot of people also use. intel based that this would be good on.

just asking feedback to work with you ....

Can install driver for radioberry

Hi,

I was trying to install radioberry driver but I get this error:
make[2]: *** [scripts/Makefile.build:250: /home/pi/Radioberry-2.x/SBC/rpi-4/device_driver/driver/radioberry.o] Error 1
make[1]: *** [Makefile:2012: /home/pi/Radioberry-2.x/SBC/rpi-4/device_driver/driver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.21-v8+'
make: *** [Makefile:8: radioberry.ko] Error 2
cp: cannot stat 'radioberry.ko': No such file or directory
modprobe: FATAL: Module radioberry not found in directory /lib/modules/6.1.21-v8+
chmod: cannot access '/dev/radioberry': No such file or directory
modinfo: ERROR: Module radioberry not found.

even if I try Joahn driver I also get this:
make[2]: *** [scripts/Makefile.build:250: /home/pi/Radioberry-2.x/SBC/rpi-4/releases/dev/Radioberry-2.x/SBC/rpi-4/device_driver/drive r/radioberry.o] Error 1
make[1]: *** [Makefile:2012: /home/pi/Radioberry-2.x/SBC/rpi-4/releases/dev/Radioberry-2.x/SBC/rpi-4/device_driver/driver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.21-v8+'
make: *** [Makefile:8: radioberry.ko] Error 2
Radioberry driver installation failed.

You are using a linux version without linux header files; choose an other distro.

What os version is right for radioberry ? I'm confuse
I do have interface juice (USB) for radioberry and the process is diferent

Jacinto
cu2ed

new build script install_sdrberry.sh

#!/bin/bash
wrkdir='/usr/src'
usrdir='/home/sdrberry'

#Set SDR Unit being used Supported: hackfr = HRF / HifiBerry = HFB / Pluto = PLT / RadioBerry = RDB
sdrboard='HRF'

#Enable BlueTooth
BlueZ='YES'

#enable LCD 5 / 7 / 7b / 7c
LCD="7c"

#opt to use pre built pkgs
PACKAGES='YES'

#if false; then
sudo apt update
sudo apt install -y build-essential git cmake g++ libpython3-dev python3-numpy swig
libdw-dev fortran g++ swig hackrf libhackrf-dev libfftw3-dev nala
ninja-build libiio-dev libiio-dev libiio-utils libasound-dev
libboost-all-dev python3 librtaudio-dev soapysdr-tools libfftw3-dev
libglfw3-dev
sudo ldconfig

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $BlueZ == 'YES' ]]; then
if [[ $PACKAGES == 'YES' ]]; then
sudo apt-get install -y libusb-dev libreadline-dev libglib2.0-dev libudev-dev
libdbus-1-dev libical-dev docutils-common bluez bluez-asla-utils bluez-test-scripts
bluez-tools
else
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.60.tar.xz
tar xvf bluez-5.60.tar.xz
sudo apt-get install -y libusb-dev libreadline-dev libglib2.0-dev libudev-dev libdbus-1-dev libical-dev
sudo apt-get install -y ap
cd bluez-5.60 || exit
./configure --enable-library
make -j4
sudo make install
fi
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $PACKAGES == 'YES' ]]; then
sudo apt install libsoapysdr-dev
else
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR || exit
git pull origin master
mkdir build
cd build || exit
cmake ..
make -j4
sudo make install
sudo ldconfig
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $sdrboard == HRF ]] ; then
if [[ $PACKAGES == 'YES' ]]; then
sudo apt install soapysdr0.8-module-hackrf
else
git clone https://github.com/pothosware/SoapyHackRF
cd SoapyHackRF || exit
mkdir build
cd build || exit
cmake ..
make
sudo make install
sudo ldconfig
fi
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $sdrboard == HFB ]] ; then
git clone https://github.com/paulh002/SoapyHifiBerry
cd SoapyHifiBerry || exit
mkdir build
cd build || exit
cmake ..
make
sudo make install
sudo ldconfig
fi

if [[ $sdrboard == PLT ]] ; then
git clone https://github.com/pothosware/SoapyPlutoSDR
cd SoapyPlutoSDR || exit
mkdir build
cd build || exit
cmake ..
make
sudo make install
sudo ldconfig
fi

if [[ $sdrboard == RDB ]] ; then
#-----------------------------------------------------------------------------
echo "Installing Radioberry driver..."
git clone --depth=1 https://github.com/pa3gsb/Radioberry-2.x

sudo apt-get -y install raspberrypi-kernel-headers
sudo apt-get -y install linux-headers-rpi
sudo apt-get -y install device-tree-compiler
sudo apt-get -y install pigpio

#unregister radioberry driver
sudo modprobe -r radioberry

if [ ! -d "/lib/modules/$(uname -r)/kernel/drivers/sdr" ]; then
	sudo mkdir /lib/modules/$(uname -r)/kernel/drivers/sdr
fi

#cd Radioberry-2.x/SBC/rpi-4/device_driver/driver
cd SoapyRadioberry/driver || exit
make

sudo cp radioberry.ko /lib/modules/$(uname -r)/kernel/drivers/sdr
sudo dtc -@ -I dts -O dtb -o radioberry.dtbo radioberry.dts
sudo cp radioberry.dtbo /boot/overlays
#add driver to config.txt
sudo grep -Fxq "dtoverlay=radioberry" /boot/config.txt || sudo sed -i '$ a dtoverlay=radioberry' /boot/config.txt
sudo cp ./radioberry.rbf /lib/firmware/.

#cd to work dir . If does not exist exit script 
cd  $wrkdir || exit

sudo depmod	
#register radioberry driver
sudo modprobe radioberry
sudo chmod 666 /dev/radioberry
#show radioberry driver info.
sudo modinfo radioberry

echo ""
echo "Radioberry driver installed."
#-----------------------------------------------------------------------------

fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

#build Liquid-dsp
if [[ $PACKAGES == 'YES' ]]; then
sudo apt install libliquid-dev libliquid1 1.5.0-2
else
git clone https://github.com/jgaeddert/liquid-dsp
sudo apt-get install -y automake autoconf
cd liquid-dsp || exit
git checkout v1.6.0
./bootstrap.sh
./configure
make -j4
sudo make install
sudo ldconfig
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $PACKAGES == 'YES' ]]; then
sudo apt install librtaudio-dev librtaudio6
else
git clone https://github.com/paulh002/rtaudio
cd rtaudio || exit
mkdir build
cd build || exit
cmake ..
make
sudo make install
sudo ldconfig
fi
#cd to work dir . If does not exist exit script
cd $wrkdir || exit

if [[ $sdrboard == PLT ]] ; then
if [[ $PACKAGES == 'YES' ]]; then
sudo apt install libad9361-dev libad9361-0 python3-ad9361
else
git clone https://github.com/analogdevicesinc/libad9361-iio
cd libad9361-iio || exit
cmake ./CMakeLists.txt
mkdir build
make -j4
sudo make install
sudo ldconfig
fi
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

#Remove if not planning to use bluetooth.
sudo apt-get remove -y pulseaudio

if [[ $sdrboard == 'HRF' ]]; then
# put sdrberry config in users home dir
wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/sdrberry_settings_hackrf.cfg
mv sdrberry_settings_hackrf.cfg $usrdir/sdrberry_settings.cfg
elif [[ $sdrboard == 'HFB' ]]; then
# put sdrberry config in users home dir
wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/sdrberry_settings.cfg
mv sdrberry_settings.cfg $usrdir/sdrberry_settings.cfg
elif [[ $sdrboard == 'PLT' ]]; then
# put sdrberry config in users home dir
wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/sdrberry_settings_pluto.cfg
mv sdrberry_settings_pluto.cfg $usrdir/sdrberry_settings.cfg
elif [[ $sdrboard == 'RDB' ]]; then
wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/sdrberry_settings_radioberry.cfg
mv sdrberry_settings_radioberry.cfg $usrdir/sdrberry_settings.cfg
fi

#build sdrberry
git clone -b updates --depth 1 https://github.com/richneese/sdrberry
cd sdrberry || exit
git checkout Dev
mkdir build
cd build && cmake .. && make
sudo make install

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

cp ./sdrberry/install/sdrstart.sh $usrdir
chmod +x $usrdir/sdrstart.sh

#Do LCD Screen Setup
if [[ $LCD == '5' || $LCD == '7' || $LCD == '7b' ]]; then
#Enable Waveshare 7inch_DSI_LCD_(5/7/7B) 800x480
echo dtoverlay=vc4-kms-v3d >> /boot/config.txt
echo dtoverlay=vc4-kms-dsi-7inch >> /boot/config.txt

fi

if [[ $LCD == '7c' ]]; then
#Enable Waveshare 7inch DSI LCD (C) 1024×600 driver:
git clone https://github.com/waveshare/Waveshare-DSI-LCD
cd Waveshare-DSI-LCD/6.1.21/64 || exit
sudo bash ./WS_xinchDSI_MAIN.sh 70C I2C1
fi

#cd to work dir . If does not exist exit script
cd $wrkdir || exit

#enable I2C
sudo sed -i 's/$/ vt.global_cursor_default=0 usbhid.mousepoll=2/' /boot/cmdline.txt
sudo sed -i '/dtparam=i2c_arm=on/s/^#//g' /boot/config.txt

#Do Cleanup
rm -rf sdrberry rtaudio liquid-dsp SoapyHifiBerry SoapyHackRF SoapySDR sdrberry_settings_*

sudo reboot

launch sdrberry with hackrf One

Hi Paul
I try to launch sdrberry with hackrf one but without success.
PothosSDR module is intalled, hackrf too, Hackrf is declared inside .cfg file but when I launch sdrberry process is blocked with line "start AMDemodulator" and nothing more happen.
What I have missed????
My config is last Bullseye OS on RPi 4 2Go.
PS: when I try to launch sdrberry with default .cfg file sdr screen appears but I can do nothing because no radioberry module is connected.

it installed it.

/root/sdrberry/build/_deps/wsjtx_lib-src/wsjtx_lib.cpp:6:10: fatal error: fftw3.h: No such file or directory
6 | #include <fftw3.h>
| ^~~~~~~~~
compilation terminated.
make[2]: *** [_deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/build.make:76: _deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/wsjtx_lib.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:227: _deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
[ 0%] Building CXX object _deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/wsjtx_lib.cpp.o
/root/sdrberry/build/_deps/wsjtx_lib-src/wsjtx_lib.cpp:6:10: fatal error: fftw3.h: No such file or directory
6 | #include <fftw3.h>
| ^~~~~~~~~
compilation terminated.
make[2]: *** [_deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/build.make:76: _deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/wsjtx_lib.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:227: _deps/wsjtx_lib-build/CMakeFiles/wsjtx_lib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Project development

Hello! A very beautiful project. It is surprising that little is known about him. Will there be HPSDR support? And support for external buttons, such as in piHPSDR

Board support

do you plan to support the radio berry ?[
https://www.amazon.com/AURSINC-SDR-Radioberry-Raspberry-Broadband/dp/B0C2PTW8XW/ ?
I am lookign at this unit to build a radio

questions ?

Why is it you build sopaysdr insted of installing the pkg ?

I am working to follow what your doing but its a long trail

Cannot install due to wsjtx_lib.h missing

Hi, there. This looks like a really good project and I would like to try it.

I am having this issue where using the install script:
/home/pi/sdrberry/sdrberry.cpp:20:10: fatal error: wsjtx_lib.h: No such file or directory 20 | #include "wsjtx_lib.h"
I could not find any reference on how to install this dependancy?

libraries

Paul, this is a great project, but I'm having no luck figuring out its dependencies.

Do you have a list of the actual names of these library packages and some hints about where to find them?

thanks,

M

Issue with building (GUI_ft8bar)

First, thanks for nice project and good work.

But i have some problems with the installation. I have tried to two fresh rasbian installations but all of them have failed to this error.

/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `tabview_event_cb(_lv_event_t*)':
/home/riksha/sdrberry/sdrberry.cpp:188: undefined reference to `gui_ft8bar::hide(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:153: undefined reference to `gui_ft8bar::hide(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:158: undefined reference to `gui_ft8bar::hide(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:163: undefined reference to `gui_ft8bar::hide(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:168: undefined reference to `gui_ft8bar::hide(bool)'
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o:/home/riksha/sdrberry/sdrberry.cpp:173: more undefined references to `gui_ft8bar::hide(bool)' follow
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `tabview_event_cb(_lv_event_t*)':
/home/riksha/sdrberry/sdrberry.cpp:184: undefined reference to `GuiFt8Setting::set_group()'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:192: undefined reference to `guift8bar'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:192: undefined reference to `guift8setting'
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `select_mode(int, bool)':
/home/riksha/sdrberry/sdrberry.cpp:646: undefined reference to `gui_ft8bar::setmonitor(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:631: undefined reference to `gui_ft8bar::setmonitor(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:608: undefined reference to `gui_ft8bar::setmonitor(bool)'
/usr/bin/ld: /home/riksha/sdrberry/sdrberry.cpp:614: undefined reference to `gui_ft8bar::setmonitor(bool)'
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const':
/usr/include/c++/10/bits/basic_string.h:186: undefined reference to `guift8bar'
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `main':
/home/riksha/sdrberry/sdrberry.cpp:315: undefined reference to `gui_ft8bar::init(_lv_obj_t*, _lv_group_t*, _lv_group_t*, int, short, short)'
/usr/bin/ld: CMakeFiles/sdrberry.dir/sdrberry.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const':
/usr/include/c++/10/bits/basic_string.h:187: undefined reference to `mouse_cursor_icon'
/usr/bin/ld: /usr/include/c++/10/bits/basic_string.h:187: undefined reference to `guift8bar'
/usr/bin/ld: CMakeFiles/sdrberry.dir/DigitalTransmission.cpp.o: in function `DigitalTransmission::operator()()':
/home/riksha/sdrberry/DigitalTransmission.cpp:50: undefined reference to `gui_ft8bar::ClearTransmit()'
/usr/bin/ld: CMakeFiles/sdrberry.dir/DigitalTransmission.cpp.o: in function `__gnu_cxx::new_allocator<char>::~new_allocator()':
/usr/include/c++/10/ext/new_allocator.h:89: undefined reference to `guift8bar'
/usr/bin/ld: CMakeFiles/sdrberry.dir/FT8Generator.cpp.o: in function `FT8Generator::generate(int, encoding, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/riksha/sdrberry/FT8Generator.cpp:96: undefined reference to `pack77(char const*, unsigned char*)'
/usr/bin/ld: /home/riksha/sdrberry/FT8Generator.cpp:124: undefined reference to `ft8_encode(unsigned char const*, unsigned char*)'
/usr/bin/ld: /home/riksha/sdrberry/FT8Generator.cpp:153: undefined reference to `save_wav(float const*, int, int, char const*)'
/usr/bin/ld: /home/riksha/sdrberry/FT8Generator.cpp:120: undefined reference to `ft4_encode(unsigned char const*, unsigned char*)'
/usr/bin/ld: CMakeFiles/sdrberry.dir/gui_ft8.cpp.o: in function `press_part_event_cb(_lv_event_t*)':
/home/riksha/sdrberry/gui_ft8.cpp:35: undefined reference to `gui_ft8bar::setMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)'
/usr/bin/ld: /home/riksha/sdrberry/gui_ft8.cpp:37: undefined reference to `gui_ft8bar::setMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)'
/usr/bin/ld: CMakeFiles/sdrberry.dir/gui_ft8.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const':
/usr/include/c++/10/bits/basic_string.h:186: undefined reference to `guift8bar'
/usr/bin/ld: CMakeFiles/sdrberry.dir/gui_ft8.cpp.o: in function `gui_ft8::add_line(int, int, int, int, int, double, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/riksha/sdrberry/gui_ft8.cpp:145: undefined reference to `gui_ft8bar::GetFilter[abi:cxx11]()'
/usr/bin/ld: /home/riksha/sdrberry/gui_ft8.cpp:147: undefined reference to `gui_ft8bar::GetFilter[abi:cxx11]()'
/usr/bin/ld: CMakeFiles/sdrberry.dir/gui_ft8.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()':
/usr/include/c++/10/bits/basic_string.h:658: undefined reference to `guift8bar'
/usr/bin/ld: CMakeFiles/sdrberry.dir/Keyboard.cpp.o: in function `Keyboard::Keyboard()':
/home/riksha/sdrberry/Keyboard.cpp:63: undefined reference to `KeyboardTranslator::KeyboardTranslator()'
/usr/bin/ld: CMakeFiles/sdrberry.dir/Keyboard.cpp.o: in function `Keyboard::GetKeys[abi:cxx11]()':
/home/riksha/sdrberry/Keyboard.cpp:110: undefined reference to `KeyboardTranslator::GetScancodeFromTable(SDL_ScancodeTable, int)'
/usr/bin/ld: /home/riksha/sdrberry/Keyboard.cpp:124: undefined reference to `KeyboardTranslator::SendKeyboardKey(std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, unsigned char, SDL_Scancode, SDL_KeyboardEvent&)'
/usr/bin/ld: /home/riksha/sdrberry/Keyboard.cpp:119: undefined reference to `KeyboardTranslator::SendKeyboardKey(std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, unsigned char, SDL_Scancode, SDL_KeyboardEvent&)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/sdrberry.dir/build.make:1064: sdrberry] Error 1
make[1]: *** [CMakeFiles/Makefile2:119: CMakeFiles/sdrberry.dir/all] Error 2
make: *** [Makefile:149: all] Error 2```

TX won't work on FM mode with hackrf SDR

Hi,
I decide to try your project and the script worked at first time, I'm using a hackrf to test and the RX and TX works OK on mode SSB but TX don't work well in FM mode because when I switch off TX the program freeze and I have to turn off and on again the pi.
Your project is really interesting, would like to try more, any chance to have kicad information about the esp32 controller ?
tks

Jacinto
CU2ED

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.