From 808beb35bb330721524c6fb577f03328aa225c00 Mon Sep 17 00:00:00 2001 From: antonjan Date: Tue, 5 May 2020 18:39:37 +0100 Subject: [PATCH] adding working files --- giga_echo_link_tx.grc | 912 ++++++++++++++++++++++++++++++++++++++++++ ptt.pl | 69 ---- rpi_interface.grc | 10 +- svxlink.conf | 292 ++++++++++++++ 4 files changed, 1209 insertions(+), 74 deletions(-) create mode 100644 giga_echo_link_tx.grc create mode 100644 svxlink.conf diff --git a/giga_echo_link_tx.grc b/giga_echo_link_tx.grc new file mode 100644 index 0000000..1da52be --- /dev/null +++ b/giga_echo_link_tx.grc @@ -0,0 +1,912 @@ + + + + Mon Apr 27 19:44:22 2020 + + options + + author + Anton Janovsky + + + window_size + + + + category + [GRC Hier Blocks] + + + comment + + + + description + svxlink echolink to rpitx block + + + _enabled + True + + + _coordinate + (8, 8) + + + _rotation + 0 + + + generate_options + no_gui + + + hier_block_src_path + .: + + + id + giga_echo_link + + + max_nouts + 0 + + + qt_qss_theme + + + + realtime_scheduling + + + + run_command + {python} -u {filename} + + + run_options + prompt + + + run + True + + + sizing_mode + fixed + + + thread_safe_setters + + + + title + Giga svxlink + + + placement + (0,0) + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (8, 160) + + + _rotation + 0 + + + id + samp_rate + + + value + 32000 + + + + analog_nbfm_tx + + audio_rate + 48000 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (664, 28) + + + _rotation + 0 + + + id + analog_nbfm_tx_0 + + + max_dev + 10000 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + fh + -1.0 + + + quad_rate + 96000 + + + tau + 75e-6 + + + + audio_source + + alias + + + + comment + + + + affinity + + + + device_name + hw:1,1,0 + + + _enabled + True + + + _coordinate + (200, 44) + + + _rotation + 0 + + + id + audio_source_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_outputs + 1 + + + ok_to_block + True + + + samp_rate + 48000 + + + + blks2_tcp_sink + + addr + 127.0.0.1 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (416, 188) + + + _rotation + 0 + + + id + blks2_tcp_sink_0 + + + type + complex + + + server + False + + + port + 8011 + + + vlen + 1 + + + + blocks_multiply_const_vxx + + alias + + + + comment + + + + const + 1 + + + affinity + + + + _enabled + True + + + _coordinate + (192, 204) + + + _rotation + 0 + + + id + blocks_multiply_const_vxx_1 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + + + low_pass_filter + + beta + 6.76 + + + alias + + + + comment + + + + affinity + + + + cutoff_freq + 6000 + + + decim + 1 + + + _enabled + True + + + type + fir_filter_fff + + + _coordinate + (424, 4) + + + _rotation + 0 + + + gain + 1 + + + id + low_pass_filter_0 + + + interp + 1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + samp_rate + 48000 + + + width + 250 + + + win + firdes.WIN_HAMMING + + + + qtgui_sink_x + + bw + 96000 + + + alias + + + + fc + 0 + + + freqchangevar + None + + + comment + + + + affinity + + + + _enabled + 0 + + + fftsize + 1024 + + + _coordinate + (448, 320) + + + gui_hint + + + + _rotation + 0 + + + id + qtgui_sink_x_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + name + "" + + + plotconst + True + + + plotfreq + True + + + plottime + True + + + plotwaterfall + True + + + showports + True + + + showrf + False + + + type + complex + + + rate + 10 + + + wintype + firdes.WIN_BLACKMAN_hARRIS + + + + qtgui_time_sink_x + + autoscale + False + + + axislabels + True + + + alias + + + + comment + + + + ctrlpanel + False + + + affinity + + + + entags + True + + + _enabled + 0 + + + _coordinate + (680, 216) + + + gui_hint + + + + _rotation + 0 + + + grid + False + + + id + qtgui_time_sink_x_0 + + + legend + True + + + alpha1 + 1.0 + + + color1 + "blue" + + + label1 + + + + marker1 + -1 + + + style1 + 1 + + + width1 + 1 + + + alpha10 + 1.0 + + + color10 + "blue" + + + label10 + + + + marker10 + -1 + + + style10 + 1 + + + width10 + 1 + + + alpha2 + 1.0 + + + color2 + "red" + + + label2 + + + + marker2 + -1 + + + style2 + 1 + + + width2 + 1 + + + alpha3 + 1.0 + + + color3 + "green" + + + label3 + + + + marker3 + -1 + + + style3 + 1 + + + width3 + 1 + + + alpha4 + 1.0 + + + color4 + "black" + + + label4 + + + + marker4 + -1 + + + style4 + 1 + + + width4 + 1 + + + alpha5 + 1.0 + + + color5 + "cyan" + + + label5 + + + + marker5 + -1 + + + style5 + 1 + + + width5 + 1 + + + alpha6 + 1.0 + + + color6 + "magenta" + + + label6 + + + + marker6 + -1 + + + style6 + 1 + + + width6 + 1 + + + alpha7 + 1.0 + + + color7 + "yellow" + + + label7 + + + + marker7 + -1 + + + style7 + 1 + + + width7 + 1 + + + alpha8 + 1.0 + + + color8 + "dark red" + + + label8 + + + + marker8 + -1 + + + style8 + 1 + + + width8 + 1 + + + alpha9 + 1.0 + + + color9 + "dark green" + + + label9 + + + + marker9 + -1 + + + style9 + 1 + + + width9 + 1 + + + name + "" + + + nconnections + 1 + + + size + 1024 + + + srate + 96000 + + + stemplot + False + + + tr_chan + 0 + + + tr_delay + 0 + + + tr_level + 0.0 + + + tr_mode + qtgui.TRIG_MODE_FREE + + + tr_slope + qtgui.TRIG_SLOPE_POS + + + tr_tag + "" + + + type + float + + + update_time + 0.10 + + + ylabel + Amplitude + + + yunit + "" + + + ymax + 1 + + + ymin + -1 + + + + analog_nbfm_tx_0 + blocks_multiply_const_vxx_1 + 0 + 0 + + + audio_source_0 + low_pass_filter_0 + 0 + 0 + + + blocks_multiply_const_vxx_1 + blks2_tcp_sink_0 + 0 + 0 + + + blocks_multiply_const_vxx_1 + qtgui_sink_x_0 + 0 + 0 + + + low_pass_filter_0 + analog_nbfm_tx_0 + 0 + 0 + + + low_pass_filter_0 + qtgui_time_sink_x_0 + 0 + 0 + + diff --git a/ptt.pl b/ptt.pl index 3f37a9a..e69de29 100644 --- a/ptt.pl +++ b/ptt.pl @@ -1,69 +0,0 @@ -#!/usr/bin/perl -# -# @file nhrcx.pl -# @brief Perl-script to link a NHRCx controller to SvxLink over -# Linux pseudo tty's -# @author Adi Bier / DL1HRC -# @date 2014-05-01 -# -# Run this script after starting SvxLink. Do not configure the -# links in the /dev directory. -# -# SvxLink - A Multi Purpose Voice Services System for Ham Radio Use -# Copyright (C) 2004-2014 Tobias Blomberg / SM0SVX -# Adjusted PE2JKO to control RPITX - -use Time::HiRes qw(usleep); -#use Device::SerialPort; -use IO::File; - -$ptt_port = "/home/pi/ptt"; -$logfile = "/tmp/nhrc-x.log"; -$DEBUG = 1; - - -$PTT = openPtty("$ptt_port"); # ptt port from SvxLink - -while (1) { - - $PTT->read($p, 1); - if ($p gt ' ') { - $message = $p; - if ($p ne 'T') { - system("/home/pi/rpitx/stop_tx.sh"); - &writelog("UIT"); - } - - if ($p ne 'R') { - system("/home/pi/rpitx/start_tx.sh"); - &writelog("AAN"); - } - - &writelog("PTT-command: $p"); - undef $p; - } - - usleep(10000); -} -close($PTT); -exit; - -sub openPtty { - my $fh = IO::File->new($_[0], O_NONBLOCK|O_RDWR); - if (!(defined $fh)) { - &writelog("Can not open $_[0]"); - print "Can not open $_[0]\n"; - return 0; - } - $fh->autoflush(1); - &writelog("opening $_[0] OK"); - return $fh; -} - -sub writelog { - if ($DEBUG) { - open(LOG,">>$logfile"); - print LOG $_[0],"\n"; - close(LOG); - } -} diff --git a/rpi_interface.grc b/rpi_interface.grc index 090ce48..0164c37 100644 --- a/rpi_interface.grc +++ b/rpi_interface.grc @@ -120,7 +120,7 @@ analog_nbfm_tx audio_rate - 48 + 48000 alias @@ -168,11 +168,11 @@ quad_rate - 96 + 96000 tau - 75 + 75e-6 @@ -560,7 +560,7 @@ cutoff_freq - 6 + 6000 decim @@ -604,7 +604,7 @@ samp_rate - 48 + 48000 width diff --git a/svxlink.conf b/svxlink.conf new file mode 100644 index 0000000..3b685e3 --- /dev/null +++ b/svxlink.conf @@ -0,0 +1,292 @@ +############################################################################### +# # +# Configuration file for the SvxLink server # +# # +############################################################################### + +[GLOBAL] +#MODULE_PATH=/usr/lib/arm-linux-gnueabihf/svxlink +LOGICS=SimplexLogic +CFG_DIR=svxlink.d +TIMESTAMP_FORMAT="%c" +CARD_SAMPLE_RATE=48000 +#CARD_CHANNELS=1 +#LOCATION_INFO=LocationInfo +#LINKS=LinkToR4 + +[SimplexLogic] +TYPE=Simplex +RX=Rx1 +TX=Tx1 +MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink,ModuleTclVoiceMail +CALLSIGN=ZS6CMO +SHORT_IDENT_INTERVAL=60 +LONG_IDENT_INTERVAL=60 +#IDENT_ONLY_AFTER_TX=4 +#EXEC_CMD_ON_SQL_CLOSE=500 +EVENT_HANDLER=/usr/share/svxlink/events.tcl +DEFAULT_LANG=en_US +RGR_SOUND_DELAY=0 +REPORT_CTCSS=136.5 +#TX_CTCSS=ALWAYS +MACROS=Macros +FX_GAIN_NORMAL=0 +FX_GAIN_LOW=-12 +#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink +#QSO_RECORDER=8:QsoRecorder +#ONLINE_CMD=998877 +#MUTE_RX_ON_TX=1 +#MUTE_TX_ON_RX=1 +#STATE_PTY=/var/run/svxlink/state +#DTMF_CTRL_PTY=/dev/shm/simplex_dtmf_ctrl + +[RepeaterLogic] +TYPE=Repeater +RX=Rx1 +TX=Tx1 +MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink,ModuleTclVoiceMail +CALLSIGN=ZS6CMO +SHORT_IDENT_INTERVAL=10 +LONG_IDENT_INTERVAL=60 +#IDENT_ONLY_AFTER_TX=4 +#EXEC_CMD_ON_SQL_CLOSE=500 +EVENT_HANDLER=/usr/share/svxlink/events.tcl +DEFAULT_LANG=en_US +RGR_SOUND_DELAY=0 +REPORT_CTCSS=136.5 +#TX_CTCSS=SQL_OPEN +MACROS=Macros +#SEL5_MACRO_RANGE=03400,03499 +FX_GAIN_NORMAL=0 +FX_GAIN_LOW=-12 +#QSO_RECORDER=8:QsoRecorder +#NO_REPEAT=1 +IDLE_TIMEOUT=30 +OPEN_ON_1750=1000 +#OPEN_ON_CTCSS=136:2000 +#OPEN_ON_DTMF=* +#OPEN_ON_SQL=5000 +#OPEN_ON_SEL5=01234 +#OPEN_SQL_FLANK=OPEN +#OPEN_ON_SQL_AFTER_RPT_CLOSE=10 +IDLE_SOUND_INTERVAL=3000 +#SQL_FLAP_SUP_MIN_TIME=1000 +#SQL_FLAP_SUP_MAX_COUNT=10 +#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink +#IDENT_NAG_TIMEOUT=15 +#IDENT_NAG_MIN_TIME=2000 +#ONLINE_CMD=998877 +#STATE_PTY=/var/run/svxlink/state +#DTMF_CTRL_PTY=/dev/shm/repeater_dtmf_ctrl + +[ReflectorLogic] +TYPE=Reflector +HOST=reflector.example.com +#PORT=5300 +CALLSIGN="ZS6CMO" +AUTH_KEY="Change" +#JITTER_BUFFER_DELAY=0 + +[LinkToR4] +CONNECT_LOGICS=RepeaterLogic:94:SK3AB,SimplexLogic:92:SK3CD +#DEFAULT_ACTIVE=1 +TIMEOUT=300 +#AUTOACTIVATE_ON_SQL=RepeaterLogic + +[Macros] +1=EchoLink:9999# +9=Parrot:0123456789# +03400=EchoLink:9999# + +[QsoRecorder] +REC_DIR=/var/spool/svxlink/qso_recorder +#MIN_TIME=1000 +MAX_TIME=3600 +SOFT_TIME=300 +MAX_DIRSIZE=1024 +#DEFAULT_ACTIVE=1 +#TIMEOUT=300 +#QSO_TIMEOUT=300 +#ENCODER_CMD=/usr/bin/oggenc -Q \"%f\" && rm \"%f\" + +[Voter] +TYPE=Voter +RECEIVERS=Rx1,Rx2,Rx3 +VOTING_DELAY=200 +BUFFER_LENGTH=0 +#REVOTE_INTERVAL=1000 +#HYSTERESIS=50 +#SQL_CLOSE_REVOTE_DELAY=500 +#RX_SWITCH_DELAY=500 +#COMMAND_PTY=/dev/shm/voter_ctrl + +[MultiTx] +TYPE=Multi +TRANSMITTERS=Tx1,Tx2,Tx3 + +[NetRx] +TYPE=Net +HOST=remote.rx.host +TCP_PORT=5210 +#LOG_DISCONNECTS_ONCE=0 +AUTH_KEY="Change this key now!" +CODEC=S16 +#SPEEX_ENC_FRAMES_PER_PACKET=4 +#SPEEX_ENC_QUALITY=4 +#SPEEX_ENC_BITRATE=15000 +#SPEEX_ENC_COMPLEXITY=2 +#SPEEX_ENC_VBR=0 +#SPEEX_ENC_VBR_QUALITY=4 +#SPEEX_ENC_ABR=15000 +#SPEEX_DEC_ENHANCER=1 +#OPUS_ENC_FRAME_SIZE=20 +#OPUS_ENC_COMPLEXITY=10 +#OPUS_ENC_BITRATE=20000 +#OPUS_ENC_VBR=1 + +[NetTx] +TYPE=Net +HOST=remote.tx.host +TCP_PORT=5210 +#LOG_DISCONNECTS_ONCE=0 +AUTH_KEY="Change this key now!" +CODEC=S16 +#SPEEX_ENC_FRAMES_PER_PACKET=4 +#SPEEX_ENC_QUALITY=4 +#SPEEX_ENC_BITRATE=15000 +#SPEEX_ENC_COMPLEXITY=2 +#SPEEX_ENC_VBR=0 +#SPEEX_ENC_VBR_QUALITY=4 +#SPEEX_ENC_ABR=15000 +#SPEEX_DEC_ENHANCER=1 +#OPUS_ENC_FRAME_SIZE=20 +#OPUS_ENC_COMPLEXITY=10 +#OPUS_ENC_BITRATE=20000 +#OPUS_ENC_VBR=1 + +[Rx1] +#TYPE=Local +TYPE=Ddr +SIGLEV_DET=DDR +SIGLEV_SLOPE=2.61 +SIGLEV_OFFSET=150 +FQ=433540000 +WBRX=WbRx1 +#AUDIO_DEV=alsa:hw:1 +AUDIO_CHANNEL=0 +SQL_DET=VOX +SQL_START_DELAY=0 +SQL_DELAY=0 +SQL_HANGTIME=2000 +#SQL_EXTENDED_HANGTIME=1000 +#SQL_EXTENDED_HANGTIME_THRESH=15 +#SQL_TIMEOUT=600 +VOX_FILTER_DEPTH=20 +VOX_THRESH=1000 +#CTCSS_MODE=2 +CTCSS_FQ=136.5 +#CTCSS_SNR_OFFSET=0 +#CTCSS_OPEN_THRESH=15 +#CTCSS_CLOSE_THRESH=9 +#CTCSS_BPF_LOW=60 +#CTCSS_BPF_HIGH=270 +SERIAL_PORT=/dev/ttyS0 +SERIAL_PIN=CTS +#SERIAL_SET_PINS=DTR!RTS +#EVDEV_DEVNAME=/dev/input/by-id/usb-SYNIC_SYNIC_Wireless_Audio-event-if03 +#EVDEV_OPEN=1,163,1 +#EVDEV_CLOSE=1,163,0 +#GPIO_PATH=/sys/class/gpio +#GPIO_SQL_PIN=gpio30 +#PTY_PATH=/tmp/rx1_sql +#HID_DEVICE=/dev/hidraw3 +#HID_SQL_PIN=VOL_UP +#SIGLEV_DET=TONE +SIGLEV_SLOPE=1 +SIGLEV_OFFSET=0 +#SIGLEV_BOGUS_THRESH=120 +#TONE_SIGLEV_MAP=100,84,60,50,37,32,28,23,19,8 +SIGLEV_OPEN_THRESH=30 +SIGLEV_CLOSE_THRESH=10 +DEEMPHASIS=0 +#SQL_TAIL_ELIM=300 +#PREAMP=6 +PEAK_METER=1 +DTMF_DEC_TYPE=INTERNAL +DTMF_MUTING=1 +DTMF_HANGTIME=40 +DTMF_SERIAL=/dev/ttyS0 +#DTMF_PTY=/tmp/rx1_dtmf +#DTMF_MAX_FWD_TWIST=8 +#DTMF_MAX_REV_TWIST=4 +#1750_MUTING=1 +#SEL5_DEC_TYPE=INTERNAL +#SEL5_TYPE=ZVEI1 +#FQ=433475000 +#MODULATION=FM +#WBRX=WbRx1 + +[WbRx1] +TYPE=RtlUsb +DEV_MATCH=0 +HOST=localhost +PORT=1234 +CENTER_FQ=446.000 +FQ_CORR=65 +GAIN=25 +PEAK_METER=1 +SAMPLE_RATE=960000 +#TYPE=RtlUsb +#DEV_MATCH=0 +#HOST=localhost +#PORT=1234 +#CENTER_FQ=435075000 +#FQ_CORR=0 +#GAIN=0 +#PEAK_METER=1 +#SAMPLE_RATE=960000 + +[Tx1] +TYPE=Local +AUDIO_DEV=udp:127.0.0.1:1235 +AUDIO_CHANNEL=0 +PTT_TYPE=PTY +PTT_PTY=/home/pi/ptt.pl +#TYPE=Local +#AUDIO_DEV=alsa:plughw:1 +#AUDIO_DEV=alsa:hw:0 +#AUDIO_CHANNEL=0 +#PTT_TYPE=NONE +PTT_PORT=/dev/ttyS0 +PTT_PIN=DTRRTS +#HID_DEVICE=/dev/hidraw3 +#HID_PTT_PIN=GPIO3 +#SERIAL_SET_PINS=DTR!RTS +#GPIO_PATH=/sys/class/gpio +#PTT_HANGTIME=1000 +TIMEOUT=300 +TX_DELAY=500 +#CTCSS_FQ=136.5 +#CTCSS_LEVEL=9 +PREEMPHASIS=0 +DTMF_TONE_LENGTH=100 +DTMF_TONE_SPACING=50 +DTMF_DIGIT_PWR=-15 +#MASTER_GAIN=0.0 + +[LocationInfo] +APRS_SERVER_LIST=euro.aprs2.net:14580 +#STATUS_SERVER_LIST=aprs.echolink.org:5199 +LON_POSITION=28.00.25E +LAT_POSITION=26.17.13S +CALLSIGN=EL-ZS6CMO +FREQUENCY=10489.74875 +TX_POWER=2 +ANTENNA_GAIN=24 +ANTENNA_HEIGHT=6m +#ANTENNA_DIR=-1 +PATH=WIDE1-1 +BEACON_INTERVAL=90 +#TONE=136 +COMMENT=SvxLink by SM0SVX (www.svxlink.org) +