mirror of
https://github.com/RFnexus/FreeDVInterface.git
synced 2025-12-22 08:17:08 +00:00
92 lines
2.3 KiB
Markdown
92 lines
2.3 KiB
Markdown
FreeDVInterface
|
|
-
|
|
This is a CustomInterface for Reticulum that provides a plug and play, cross-platform sound modem interface for HF radios using the FreeDV API.
|
|
It supports VOX, serial, and Hamilb PTT. The interface also provides highly configurable options for collision avoidance.
|
|
|
|
⚠ Work in progress
|
|
|
|
Supported modes:
|
|
|
|
| Mode name | RF bandwidth (Hz) | Payload data rate bits/s | Payload bytes/frame |
|
|
|-----------|-------------------|--------------------------|---------------------|
|
|
| datac1 | 1700 | 980 | 510 |
|
|
|
|
*From https://github.com/drowe67/codec2/blob/main/README_data.md*
|
|
|
|
Setup:
|
|
-
|
|
|
|
### Raspberry Pi (Zero, 4, 5) / Debian / Ubuntu
|
|
|
|
|
|
1. Build and install codec2:
|
|
```
|
|
sudo apt install git build-essential cmake
|
|
git clone https://github.com/drowe67/codec2
|
|
cd codec2
|
|
mkdir build_linux
|
|
cd build_linux
|
|
cmake ..
|
|
make
|
|
```
|
|
|
|
2. Install pre-requisites
|
|
```
|
|
sudo apt install portaudio19-dev
|
|
pip install pyaudio OR sudo apt install python-pyaudio
|
|
pip install numpy OR sudo apt install python-numpy
|
|
|
|
```
|
|
3. (Optional) install Hamlib for rigctl PTT support
|
|
```
|
|
sudo apt install libhamlib-utils
|
|
```
|
|
|
|
4. Move FreeDVInterface.py to the "interfaces" folder in your Reticulum install location
|
|
```
|
|
git clone https://github.com/RFnexus/FreeDVInterface.git
|
|
cd FreeDVInterface
|
|
mv FreeDVInterface.py ~/.reticulum/interfaces
|
|
```
|
|
5. Add a FreeDVInterface to your Reticulum config
|
|
|
|
An example config looks like this. Here we are using `rigctld` to key on / off the PTT on a ICOM-7300.
|
|
|
|
```
|
|
[[FreeDVInterface IC-7300]]
|
|
type = FreeDVInterface
|
|
interface_enabled = True
|
|
input_device = default # String or device number
|
|
output_device = default # String or device number
|
|
freedv_mode = datac1
|
|
tx_volume = 100
|
|
ptt_type = hamlib
|
|
hamlib_network = True
|
|
hamlib_host = localhost
|
|
hamlib_port = 4532
|
|
csma_enabled = True
|
|
```
|
|
|
|
### Windows
|
|
|
|
`TODO`
|
|
|
|
### Fedora
|
|
|
|
`TODO`
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
> I keep seeing "Invalid sample rate"
|
|
|
|
Ensure that you have the right audio devices configured
|
|
|
|
>I'm using a single board computer like the Raspberry Pi Zero and keep seeing "ALSA lib pcm.c:8526:(send_pcm_recover) underrun occured"
|
|
|
|
Ensure that your Pi / other SBC is getting enough power and that there are no issues with the USB soundcard or other USB device connected to your radio
|
|
>
|
|
|
|
|
|
|