Afskmodem
Zur Navigation springen
Zur Suche springen
Über afskmodem
afskmodem ist ein leistungsfähiger Zweiwege Multichannel und Multibaud Dekoder/Enkoder für AFSK/FSK AX.25 paketbasierte Datenübertragung (Packet Radio, APRS).
- Die Kommunikation mit einem Digi bzw. iGate erfolgt im AXUDP Format
- Audioquelle bzw- ziel können jedes OSS Soundsystem, aber auch Dateien sein (auch Audiopipes).
- Für reine RX-Systeme kann afskmodem zusammen mit rtl_tcp und sdrtst auch mit gewöhnlichen USB RTL SDR-Sticks verwendet werden (z.B. RX only iGate)
Kurzübersicht der Parameter
afskmodem -h first for all modems -a abort on sounddevice error else retry to open -b <num> tx dacbuffers (10) (more to avoid underruns) -B bad sound driver repair, sending continuous quietness to avoid receive sample loss on start/stop of sound output. Use for stereo or fullduplex) -c <num> maxchannels (1) (1=mono, 2=stereo) -D <filename> (debug) write raw soundcard input data to file or pipe -D <filename>.txt (debug) write demodulated bits as "01.." to file or pipe -e <num> additional ptt hold time (if soundsystem has delay) unit=adcbuffers (1) -f <num> adcrate (16000) (8000..96000) -h help -i <filename> kiss pipename (/dev/kiss/soundmodem) -k <num> tx kiss bufs (60) -l <num> adcbuffer length (256) more: lower system load but slower reaction -m [<mixername>:]<channel>:<left>:<right> (0..255) ossmixer (/dev/mixer) -o <filename> oss devicename (/dev/dsp) -o <infilename,outfilename> /dev/stdin,outpipe (mknod outpipe p) for play/rec with sox use -B as sox/alsa can only continuous sound play -r 16000 -t raw -e signed-integer -c 1 -b 16 --buffer 1000 -q rec -r 16000 -t raw -c 1 -b 16 -q - | afskmodem -B -f 16000 -o /dev/stdin,outpipe ... make PTT with VOX as io-bits are not synchrone to sound with variable delay -s <num> fragment size in 2^n (9) repeat for each channel -C ... : -C <num> (0..1) channel parameters follow (repeat for each channel) -p <devname> <pttbit> pttport and bit to switch * /dev/ttyXX for serial * /dev/parport0 for parallel * gpio for kernel gpio-interface choose value for <pttbit>: * tty: 0=RTS, 1=DTR * parport: 0...7 / -0...-7 (inverted) -u close ptt-tty file between switch actions, may not work on USB tty -f <num> (0) (0=halfduplex, 1=master fullduplex, 2=all fullduplex, 3=simplex 'stereo never both tx same time') -g <ms> GM900 audio quiet time after ptt on (0) -r <num> max random wait time after dcd before start tx (ms) (800) repeat for each modem -M ... : -M <num> (0..7) modem parameters follow (repeat for each modem) -a afsk off, fsk on (on) -b <num> baud (1200) (1..32000) -B <kbyte> send BERT, (negative bytes receive only) -c <num> use stereo channel 0=left (or mono), 1=right -d <num> dcdlevel, 0 no dcd (56) (0..100) -e <num> demod equalizer (0) 100=6db/oct highpass (-999..999) -f <num> afsk mid frequency, tx and rx (hz) (1700) -g g3ruh scrambler on (off) -H <num> afsk tx highpass (0) (0..100) -i ignore modem parameters from kiss (off) -k <num> received data send to this kiss port (0) (0..7) -m <num> monitor (2) (0=off, 1=header, 2=all, 3=passall) -n <num> nyquist filter baseband -6db point in % of baudrate (65) (0..100) -P same as -U but use AXUDP v2, send dcd and txbuffer empty messages -p <num> receive clock pll aquisition speed (16) (num/256 of bit time) -q <num> quiet adc level to save cpu or avoid reciption of channel crosstalk (0) -s <num> afsk shift tx (for rx bandfilter width) (1000) (hz) -t <num> txdelay (300) (ms) -T <seconds> timeout for tx buffered frame (60) (s) -U <[x.x.x.x]:destport:listenport> use axudp instead of kiss /listenport check ip -L same as -U but use AXUDP v2 (no dcd and txbuffer empty messages) -v <num> tx loudness (100) -w <num> txdelay pattern before 1 flag (126) (0..255) -x <num> txtail (20) (ms), ptt hold for fullduplex -z <num> fsk rx baseband dc regeneration clamp speed (996) (0=off, 1=fast, 999=slow) example: ./afskmodem -f 22050 -c 2 -C 0 -p /dev/ttyS0 0 -M 0 -c 0 -b 1200 -M 1 -c 1 -b 9600 -a -g -U 127.0.0.1:6001:1093