A free, open-source, multi-platform application for sending files and messages, using the codec2 HF modems
Go to file
DJ2LS 80464fdd21
added frame BOF, CRC and EOF for ARQ Go-Back-N
Still not working, but one step closer to a working test with a lot of debugging output
2020-12-29 21:21:28 +01:00
test added no sync option after successfull frame 2020-12-25 18:04:55 +01:00
arq.py added frame BOF, CRC and EOF for ARQ Go-Back-N 2020-12-29 21:21:28 +01:00
install_socket_tnc.sh added setup script for auto installation 2020-12-26 10:41:10 +01:00
LICENSE Initial commit 2020-12-12 19:57:27 +01:00
main.py socket reusage 2020-12-28 14:32:21 +01:00
modem.py first ARQ Go-Back-N version 2020-12-28 15:20:51 +01:00
other.py startet work on ARQ Go-Back-N 2020-12-27 22:38:49 +01:00
README.md Update README.md 2020-12-26 10:51:49 +01:00
socketclient.py added cli paramters 2020-12-23 18:31:09 +01:00
static.py added frame BOF, CRC and EOF for ARQ Go-Back-N 2020-12-29 21:21:28 +01:00
tnc.py startet work on ARQ Go-Back-N 2020-12-27 22:38:49 +01:00

FreeDV-Socket-TNC

My first attempt to learn more about FreeDV and how to create a TNC which gets data from a TCP/IP Socket.

Credits

David Rowe and the FreeDV team for developing the modem and libraries FreeDV Codec 2 : https://github.com/drowe67/codec2

This software has been heavily inspired by https://github.com/xssfox/freedv-tnc/

Setup

Install FreeDV-Socket-TNC directly to home folder and compile codec2 automatically

sudo apt install portaudio19-dev build-essential cmake
wget https://raw.githubusercontent.com/DJ2LS/FreeDV-Socket-TNC/dev/install_socket_tnc.sh -O ~/install_socket_tnc.sh
chmod +x ~/install_socket_tnc.sh
./install_socket_tnc.sh

Usage main program

./main.py --port 3000 --tx 1 --rx 1

Usage testclient

./socketclient.py --port 3000 --data "BC: hello"

Socket Commands

Send a simple broadcast

BC:<DATA>    

Send an ARQ like frame which will ask the receiver for acknowledgement

ACK:<DATA>    

Other stuff

Audio sinkhole

Send real audio without external devices or sound cards

sudo modprobe snd-aloop index=1,2 enable=1,1 pcm_substreams=1,1 id=CHAT1,CHAT2 

TNC 1

./main.py --port 3000 --tx 1 --rx 1

TNC 2

./main.py --port 3001 --tx 2 --rx 2