mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
103 lines
3 KiB
Markdown
103 lines
3 KiB
Markdown
# FreeDV-JATE [Just Another TNC Experiment]
|
|
|
|
## 002_HIGHSNR_PING_PONG
|
|
|
|
### INSTALL TEST SUITE
|
|
|
|
#### Install prerequierements
|
|
|
|
```
|
|
sudo apt update
|
|
sudo apt upgrade
|
|
sudo apt install git cmake build-essential python3-pip portaudio19-dev python3-pyaudio
|
|
pip3 install crcengine
|
|
pip3 install threading
|
|
```
|
|
|
|
Go into a directory of your choice
|
|
Run the following commands --> They will download and compile the latest codec2 ( dr-packet ) files and LPCNet as well into the directory of your choice
|
|
|
|
```
|
|
wget https://raw.githubusercontent.com/DJ2LS/FreeDV-JATE/002_HIGHSNR_PING_PONG/install_test_suite.sh
|
|
chmod +x install_test_suite.sh
|
|
./install_test_suite.sh
|
|
```
|
|
|
|
### PARAMETERS
|
|
|
|
| parameter | description | side |
|
|
| ---------------- | ------------------------------------------ | ----------------------- |
|
|
| - -txmode 12 | set the mode for FreeDV ( 10,11,12,14 ) | Terminal 1 & Terminal 2 |
|
|
| - -rxmode 14 | set the mode for FreeDV ( 10,11,12,14 ) | Terminal 1 & Terminal 2 |
|
|
| - -frames 1 | set the number of frames per burst | Terminal 1 |
|
|
| - -bursts 1 | set the number of bursts | Terminal 1 |
|
|
| - -audioinput 2 | set the audio device | Terminal 1 & Terminal 2 |
|
|
| - -audiooutput 1 | set the audio device | Terminal 1 & Terminal 2 |
|
|
| - -debug | if used, print additional debugging output | Terminal 1 & Terminal 2 |
|
|
|
|
### AUDIO TESTS VIA VIRTUAL AUDIO DEVICE
|
|
|
|
#### Create audio sinkhole and subdevices
|
|
|
|
Note: This command needs to be run again after every reboot
|
|
|
|
```
|
|
sudo modprobe snd-aloop index=1,2 enable=1,1 pcm_substreams=1,1 id=CHAT1,CHAT2
|
|
```
|
|
|
|
check if devices have been created
|
|
|
|
aplay -l
|
|
|
|
Output should be like this:
|
|
|
|
```
|
|
Karte 0: Intel [HDA Intel], Gerät 0: Generic Analog [Generic Analog]
|
|
Sub-Geräte: 1/1
|
|
Sub-Gerät #0: subdevice #0
|
|
Karte 1: CHAT1 [Loopback], Gerät 0: Loopback PCM [Loopback PCM]
|
|
Sub-Geräte: 1/1
|
|
Sub-Gerät #0: subdevice #0
|
|
Karte 1: CHAT1 [Loopback], Gerät 1: Loopback PCM [Loopback PCM]
|
|
Sub-Geräte: 1/1
|
|
Sub-Gerät #0: subdevice #0
|
|
Karte 2: CHAT2 [Loopback], Gerät 0: Loopback PCM [Loopback PCM]
|
|
Sub-Geräte: 1/1
|
|
Sub-Gerät #0: subdevice #0
|
|
Karte 2: CHAT2 [Loopback], Gerät 1: Loopback PCM [Loopback PCM]
|
|
Sub-Geräte: 1/1
|
|
Sub-Gerät #0: subdevice #0
|
|
```
|
|
|
|
### Run tests:
|
|
|
|
#### Terminal 1: Ping
|
|
|
|
```
|
|
python3 PING.py --txmode 12 --rxmode 14 --audioinput 2 --audiooutput 2 --frames 1 --bursts 2
|
|
```
|
|
|
|
Output
|
|
|
|
```
|
|
BURSTS: 2 FRAMES: 1
|
|
-----------------------------------------------------------------
|
|
TX | PING | BURST [1/2] FRAME [1/1]
|
|
RX | PONG | BURST [1/2] FRAME [1/1]
|
|
-----------------------------------------------------------------
|
|
TX | PING | BURST [2/2] FRAME [1/1]
|
|
RX | PONG | BURST [2/2] FRAME [1/1]
|
|
```
|
|
|
|
#### Terminal 2: Pong
|
|
|
|
```
|
|
python3 PONG.py --txmode 14 --rxmode 12 --audioinput 2 --audiooutput 2
|
|
```
|
|
|
|
Output
|
|
|
|
```
|
|
RX | BURST [1/2] FRAME [1/1] >>> SENDING PONG
|
|
RX | BURST [2/2] FRAME [1/1] >>> SENDING PONG
|
|
```
|