# codec2 | FreeDATA My attempt to create a free and opensource TNC with a GUI for [codec2](https://github.com/drowe67/codec2) to send data over HF channels. The TNC itself will be completely controllable via network. ## Under development The project is still a prototype and not usable at this time. ## Manual Installation Ubuntu ``` wget https://raw.githubusercontent.com/DJ2LS/codec2-FreeDATA/main/tools/install-codec2-FreeDATA.sh chmod +x install-codec2-FreeDATA.sh ./install-codec2-FreeDATA.sh sudo apt install npm cd gui npm i sudo apt install python3 pip3 install psutil pip3 install crcengine pip3 install ujson pip3 install pyserial pip3 install numpy ``` ## Manual Installation macOS ### Install brew and python3 #### https://docs.python-guide.org/starting/install3/osx/ ``` $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" brew install python pip3 install psutil pip3 install crcengine pip3 install ujson pip3 install pyserial pip3 install numpy ``` ### Install dependencies ``` xcode-select --install brew remove portaudio brew install portaudio pip3 install pyaudio ``` ## Manual Installation Windows ### Install python3 ``` Download Python from https://www.python.org/downloads/ Add Python to systempath https://www.educative.io/edpresso/how-to-add-python-to-path-variable-in-windows Download and install pyaudio from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio eg.: pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl pip install psutil pip install crcengine pip install ujson pip install pyserial pip install numpy python daemon.py ``` ### Install nodejs ``` https://nodejs.org/en/download/ cd codec2-FreeDATA/gui npm i npm i electron npx electron main.js ``` ## GUI Preview ![alt text](https://github.com/DJ2LS/FreeDATA/blob/main/documentation/FreeDATA_GUI_Preview.png "GUI Preview") ## TNC Preview ![alt text](https://github.com/DJ2LS/FreeDATA/blob/main/documentation/FreeDATA_TNC_Preview.png "TNC Preview") ## npm outdated --> list outdated npm packages npx npm-check-updates -u --> updated all packages npm install --> install all updated packages ## Credits David Rowe and the FreeDV team for developing the modem and libraries FreeDV Codec 2 : https://github.com/drowe67/codec2