f4exb / sdrangel

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube
GNU General Public License v3.0
2.84k stars 432 forks source link

Implement PiTx as a Tx device for the Raspberry Pi #216

Open f4exb opened 6 years ago

f4exb commented 6 years ago

When hosted on a Raspberry Pi the sdrdaemontx should be able to use the PiTx code in order to use the RPi as a general purpose transmitter.

PiTx can be found here: https://github.com/F5OEO/rpitx

Of course this will have to be restricted to RPi compilation target due to RPi specificities.

cinosh07 commented 4 years ago

That's a project that i would like to work on. I've just found this software while i was searching resources for using rpitx as a qrp device. SDRAngel is exactly what i'm looking for. I didn't found any doc on developping plugin for sdrangel. Is there any?

f4exb commented 4 years ago

Hello,

Firstly, thanks for the proposal. A general description of the architecture is available in the Wiki: https://github.com/f4exb/sdrangel/wiki/Developers-notes

The Tx part you are interested in is being extensively refactored. Not so much on the "device" side though but I am going to change the SampleSourceFifo completely. This is going to be deployed in the next v4.12.0 version and should be available in a few days now.

Since this plugin would involve Raspberry Pi intrinsics you have to make sure it is built only if compiling on the Pi (or with cross compiler).

f4exb commented 3 years ago

For some time now RPiTx is implemented as a library: https://github.com/F5OEO/librpitx

One of the difficulties is to identify that the building host is a Raspberry Pi to attempt building the plugin only in this case.

f4exb commented 3 years ago

The better solution is probably this: https://github.com/hiperiondev/hpsdr-rpitx thus the Metis plugin is used as if the RPi was a Hermes Lite HPSDR.

There is also a simulator here: https://github.com/hiperiondev/hpsdrsim

f4exb commented 2 years ago

The current state of the HPSDR support is here: https://github.com/hiperiondev/hpsdr-protocol1-rpitx

f4exb commented 2 years ago

There is good progress on HPSDR support with the link slightly changed: https://github.com/hiperiondev/hpsdr-p1-rpitx

This page of the Wiki explains how to integrate it with SDRangel: https://github.com/hiperiondev/hpsdr-p1-rpitx/wiki/Sdrangel-software and apparently this works

So now I need to check myself and update documentation on SDRangel side. Possibly provide enhancements to the Metis plugin if necessary.

f4exb commented 2 years ago

Installed on a RPi4 but I still have trouble to make it stable. Transmission stops after a while although the flow of samples is not affected and no debug messages appear on the Pi. Thus nothing is seen from the sender side SDRangel continues to send samples as if nothing happened. It continues as normal but no RF is produced (at least with a Rx tuned on the frequency nearby, I will inspect the pin with an oscilloscope). To fix this one needs to restart the hpsdr_p1_rpitx program. This is on Ubuntu 20.04 but if I run it on RaspiOS then the RPi gets unresponsive and I have to power cycle it to recover.

f4exb commented 2 years ago

Same thing on RPi3 and RaspiOS but it does not crash the machine.

f4exb commented 2 years ago

It appears to be detuned (I don't really know where) because if I wiggle the frequency it gets back.