Skip to content

RFnexus/modem73

Repository files navigation

MODEM73

MODEM73 is a KISS frontend for the aicodix OFDM modem that works with any HF/VHF/UHF radio capable of working with 2400 Hz of bandwidth

Screenshot

image image

Installation

Windows?

Windows fork by SP5LOT https://github.com/SP5LOT/modem73 (out of date)

Building from source

Linux

On a system with apt? Run the installer script:

./install.sh

  1. Install dependencies
# Debian/Ubuntu/Pi
sudo apt install git build-essential libncurses-dev g++

Optional Addons

CM108 USB PTT Support

CM108-based USB audio interfaces have GPIO pins that can be used for PTT control. To enable CM108 support, install libhidapi-dev before building. The Makefile will auto-detect it and enable the feature.

# Debian/Ubuntu/Pi - install before building 
sudo apt install libhidapi-dev

  1. Clone aiocdix DSP libraries and build.
# Requires DSP, code, and modem libraries 
git clone https://github.com/aicodix/dsp.git
git clone https://github.com/aicodix/code.git
git clone https://github.com/aicodix/modem.git

# Clone modem73
git clone https://github.com/RFnexus/modem73

# Your folders should look like this:
#.../
#├── dsp/           # DSP library (aicodix)
#│   └── ...
#├── code/          # Code library (aicodix)
#│   └── ...
#├── modem/         # Modem library (aicodix)
#│   └── ...
#└── modem73/       # modem73 src
#    └── ...

# Build
cd modem73
make AICODIX_DSP=../dsp AICODIX_CODE=../code MODEM_SRC=../modem
# Optional: move to /usr/local/bin 
sudo make install 

Running & Operations

By default, MODEM73 will listen on port 8001

All of the modes provided by the OFDM modem require a bandwidth of 2400 Hz and work over both FM and SSB.

There are currently five PTT options:

  • NONE (speaker/mic over the air)
  • Rigctl
  • VOX
  • Serial
  • CM108
# Start in UI mode
./modem73

# Start in headless mode
./modem73 --headless

# See all options with:
./modem73 --help

PTT options

# Connect to rigctld for PTT control
./modem73 --rigctl localhost:4532

while running rigctld

./modem73 --ptt vox --vox-freq 1200 --vox-lead 500 --vox-tail 150
# 500ms vox lead and 150ms vox tail
./modem73 --ptt com --com-port /dev/ttyUSB0 --com-line rts
# CM108 USB audio interface PTT (GPIO3 is the default)
./modem73 --ptt cm108 --cm108-gpio 3

Control port

A control port for modem73 will automatically start on port 8073 by default. View CONTROL_PORT.md for the full JSON spec

Usage

image

All In One Audio Cable (AIOC)

modem73 supports the AIOC out of the box. To use the All In One Audio cable, set PTT to COM, specify your COM port, and set PTT line to BOTH and Invert to INVERT RTS. Make sure you have the correct permissions and /dev/xxxx specified. The AIOC on most setups will be /dev/ttyACMx (where x is 0, 1, 2). Note that it may change after a device restart, plugging it back in, etc.

rigctl

modem73 supports Hamlib and rigctl for any rigctl supported radio for PTT. Set rigctl to your options and run rigctld -m (your model) -s (serial baud rate) -r /dev/XXXX) The d at the end of rigctl tells rigctl to run in network mode, which is what modem73 will connect to.

Reticulum

Want to use modem73 with Reticulum? Check out the modem73interface https://github.com/RFnexus/modem73interface

Drop it into ~/.reticulum/interfaces/ and in your Reticulum config, add something like:

[[MODEM73]]
type = Modem73Interface
enabled = yes
target_host = 127.0.0.1
target_port = 8001
control_host = 127.0.0.1
control_port = 8073

Updating

modem73 comes included with a update utility update.sh

To update to the latest version:

./update.sh

About

TNC frontend for the aiocdix OFDM modem

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages