FreeDATA/README.md

79 lines
1.8 KiB
Markdown
Raw Normal View History

2021-01-15 07:57:56 +00:00
# FreeDV-JATE
## FreeDV- Just Another TNC Experiment
My first attempt to learn more about FreeDV and how to create a TNC which gets data from a TCP/IP socket
2020-12-12 19:01:57 +00:00
2020-12-12 19:40:00 +00:00
## 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/
2021-02-16 15:55:25 +00:00
## ToDo
2020-12-12 19:40:00 +00:00
2021-02-16 16:10:24 +00:00
- [x] ARQ: Stop-And-Wait
- [x] ARQ: Go-Back-N
- [x] ARQ: Selective repeating of lost arq frames
- [x] ARQ: Dynamic number of frames per burst
2021-02-16 16:08:41 +00:00
- [ ] ARQ: Set frames per burst automatically by channel quality
2021-02-16 15:55:25 +00:00
- [ ] SETTING: Callsign with selective receiveing
2021-02-16 16:08:41 +00:00
- [ ] SETTING: Own grid locator
- [ ] SOCKET: Set settings & commands via command socket
- [ ] SOCKET: Receive data via data socket
- [ ] TRX: Control radio via hamlib
- [ ] MODE: Beacon
- [ ] MODE: Broadcast
- [ ] MODE: ARQ AX25
- [ ] MODE: Gear shifting ARQ
- [ ] TNC: CLI GUI for basic settings
2020-12-12 19:40:00 +00:00
2020-12-12 19:07:38 +00:00
## Setup
2020-12-26 09:48:53 +00:00
Install FreeDV-Socket-TNC directly to home folder and compile codec2 automatically
2020-12-12 19:08:40 +00:00
```
2020-12-26 09:48:53 +00:00
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
2020-12-12 19:08:40 +00:00
```
2020-12-12 19:07:38 +00:00
2020-12-23 20:13:30 +00:00
## Usage main program
```
./main.py --port 3000 --tx 1 --rx 1
```
## Usage testclient
```
./socketclient.py --port 3000 --data "BC: hello"
```
2020-12-12 19:07:38 +00:00
## Socket Commands
2020-12-12 19:40:36 +00:00
Send a simple broadcast
```
BC:<DATA>
```
2020-12-26 09:51:49 +00:00
Send an ARQ like frame which will ask the receiver for acknowledgement
2020-12-26 09:48:53 +00:00
```
ACK:<DATA>
```
2020-12-12 19:07:38 +00:00
2020-12-12 19:39:26 +00:00
## Other stuff
2020-12-26 09:51:49 +00:00
### Audio sinkhole
Send real audio without external devices or sound cards
2020-12-12 19:39:26 +00:00
```
sudo modprobe snd-aloop index=1,2 enable=1,1 pcm_substreams=1,1 id=CHAT1,CHAT2
```
2020-12-26 09:50:37 +00:00
### TNC 1
2020-12-26 09:50:07 +00:00
```
./main.py --port 3000 --tx 1 --rx 1
```
2020-12-26 09:50:37 +00:00
### TNC 2
2020-12-26 09:50:07 +00:00
```
./main.py --port 3001 --tx 2 --rx 2
```
2020-12-12 19:39:26 +00:00