FreeDATA/README.md

71 lines
3.5 KiB
Markdown
Raw Normal View History

2021-09-13 16:25:12 +00:00
# FreeDATA
My attempt to create a free and open-source TNC with a GUI for [codec2](https://github.com/drowe67/codec2) with the idea of sending messages and data from one network based application.
2020-12-12 19:01:57 +00:00
2022-01-12 18:35:06 +00:00
[mailing-list](https://groups.io/g/freedata)
2021-07-17 07:09:43 +00:00
## Under development
2022-02-16 08:26:25 +00:00
![Build Windows](https://github.com/DJ2LS/FreeDATA/actions/workflows/build-project-win.yml/badge.svg)
![Build Linux](https://github.com/DJ2LS/FreeDATA/actions/workflows/build-project-linux.yml/badge.svg)
![Build macOS](https://github.com/DJ2LS/FreeDATA/actions/workflows/build-project-mac.yml/badge.svg)
2022-02-16 08:26:25 +00:00
Please keep in mind, that this project is still a prototype with many issues which need to be solved.
Build steps for other OS than Ubuntu are provided, but not fully working, yet.
Please check the ['Releases'](https://github.com/DJ2LS/FreeDATA/releases) section for downloading nightly builds
2021-09-12 06:06:01 +00:00
2021-12-26 18:30:19 +00:00
## Preview
![preview](https://github.com/DJ2LS/FreeDATA/blob/main/documentation/FreeDATA_preview.gif?raw=true "Preview")
2021-09-12 06:06:01 +00:00
## Credits
* David Rowe and the FreeDV team for developing the modem and libraries -
FreeDV Codec 2 : https://github.com/drowe67/codec2
2021-10-01 13:54:17 +00:00
* xssfox, her repository helped me a lot in an early stage of development -
2021-09-12 06:06:01 +00:00
xssfox : https://github.com/xssfox/freedv-tnc
* Wolfgang, for lending me his radio, so I'm able to do real hf tests
2020-12-12 19:40:00 +00:00
2021-11-03 20:19:49 +00:00
## Running the Ubuntu app bundle
2021-12-26 18:30:19 +00:00
Download the latest developer release from the releases section, unpack it and just start the ".AppImage file". No more dependencies
2021-09-12 06:15:53 +00:00
## Installation
Please check the [wiki](https://wiki.freedata.app) for installation instructions
2021-09-12 05:38:20 +00:00
## Code Unit Tests
The following tests cover some TNC functionality and the interface to codec2:
1. Name: audio_buffer
Tests the thread safety of the audio buffer routines.
2. Name: resampler
Tests FreeDATA audio resampling from 48KHz to 8KHz.
3. Name: tnc_state_machine
Tests TNC transitions between states.
4. Name: helper_routines
Tests various helper routines.
5. Name: py_highsnr_stdio_P_P_multi
Tests a high signal-to-noise ratio (good quality) audio path using multiple codecs. (Pure python.)
6. Name: py_highsnr_stdio_P_P_datacx
Tests a high signal-to-noise ratio audio path using multiple individual codecs. (Pure python.)
7. Name: highsnr_stdio_P_C_single
Tests compatibility with FreeDATA's transmit and freedv's raw data receive.
8. Name: highsnr_stdio_C_P_single
Tests compatibility with freedv's raw data transmit and FreeDATA's receive.
9. Name: highsnr_stdio_P_P_single
Tests a high signal-to-noise ratio audio path using multiple codecs. (Requires POSIX system.)
10. Name: highsnr_stdio_P_P_multi
Tests a high signal-to-noise ratio audio path using multiple codecs. (Requires POSIX system.)
The following tests can not currently be run with Github's pipeline as they require the ALSA dummy device
kernel module to be installed. They also do not perform reliably. These tests are slowly being
replaced with equivalent pipeline-compatible tests.
11. Name: highsnr_virtual1_P_P_single_alsa
Tests a high signal-to-noise ratio audio path using a single codec directly over an ALSA dummy device.
12. Name: highsnr_virtual2_P_P_single
Tests a high signal-to-noise ratio audio path using a single codec over an ALSA dummy device.
13. Name: highsnr_virtual3_P_P_multi
Tests a high signal-to-noise ratio audio path using multiple codecs over an ALSA dummy device.
14. Name: highsnr_virtual4_P_P_single_callback
15. Name: highsnr_virtual4_P_P_single_callback_outside
16. Name: highsnr_virtual5_P_P_multi_callback
17. Name: highsnr_virtual5_P_P_multi_callback_outside
18. Name: highsnr_ARQ_short