Update README.md

This commit is contained in:
DJ2LS 2021-02-18 15:27:55 +01:00 committed by GitHub
parent 1f1234254a
commit 4bd8119b25
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,18 +2,21 @@
## FreeDV- Just Another TNC Experiment ## 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 My first attempt to learn more about FreeDV and how to create a TNC which gets data from a TCP/IP socket
## ToDo
## Credits - [x] ARQ: Stop-And-Wait
- [x] ARQ: Go-Back-N
David Rowe and the FreeDV team for developing the modem and libraries - [x] ARQ: Selective repeating of lost arq frames
FreeDV Codec 2 : https://github.com/drowe67/codec2 - [x] ARQ: Dynamic number of frames per burst
- [ ] ARQ: Set frames per burst automatically by channel quality
- [ ] SOCKET: Run commands via TCP/IP socket
This software has been heavily inspired by https://github.com/xssfox/freedv-tnc/ - [ ] TRX: Control radio via hamlib
- [ ] MODE: Beacon
- [ ] MODE: Broadcast
- [ ] MODE: ARQ AX25
- [ ] MODE: Gear shifting ARQ
- [ ] TNC: CLI GUI for basic settings
- [ ] TNC: Multicore support
## Setup ## Setup
Install FreeDV-Socket-TNC directly to home folder and compile codec2 automatically Install FreeDV-Socket-TNC directly to home folder and compile codec2 automatically
@ -26,26 +29,73 @@ chmod +x ~/install_socket_tnc.sh
## Usage main program ## Usage main program
``` ```
./main.py --port 3000 --tx 1 --rx 1 ./main.py --port 3000 --tx 1 --rx 1 --mode 12
``` ```
## Usage testclient ## Usage TCP/IP socket client
``` ```
./socketclient.py --port 3000 --data "BC: hello" python3 readfromsocket.py --port 3000 --data "GET:RX_BUFFER:0
``` ```
## Socket Commands ## Socket Commands
Send a simple broadcast #### SOCKETTEST
Message for testing purposes which repeats:
``` ```
BC:<DATA> SOCKETTEST
``` ```
Send an ARQ like frame which will ask the receiver for acknowledgement "WELL DONE! YOU ARE ABLE TO COMMUNICATE WITH THE TNC"
#### TRANSMIT ARQ MESSAGE 'HELLO!'
``` ```
ACK:<DATA> ARQ:HELLO!
``` ```
#### SET NEW CALLSIGN
```
SET:MYCALLSIGN:AA1AA
```
#### GET CALLSIGN
```
GET:MYCALLSIGN
```
#### GET CALLSIGN CRC8
```
GET:MYCALLSIGN_CRC8
```
#### GET DX CALLSIGN
```
GET:DXCALLSIGN
```
#### GET ARQ STATE
```
GET:ARQ_STATE
```
#### GET RX BUFFER LENGTH / SIZE
```
GET:RX_BUFFER_LENGTH
```
#### GET RX BUFFER
```
GET:RX_BUFFER:POSITION
```
Position = 0 --> Latest Data
Position 1-N --> Buffer positions
#### DELETE RX BUFFER
```
DEL:RX_BUFFER
```
## Other stuff ## Other stuff
@ -63,3 +113,12 @@ sudo modprobe snd-aloop index=1,2 enable=1,1 pcm_substreams=1,1 id=CHAT1,CHAT2
./main.py --port 3001 --tx 2 --rx 2 ./main.py --port 3001 --tx 2 --rx 2
``` ```
## 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 inspired by https://github.com/xssfox/freedv-tnc/