For anyone interested, I have merged the latest changes to the osmocom max branch into my op25 github fork https://github.com/boatbod/op25 and added the ability to dynamically turn on and off the various plots (fft, constellation, symbol & datascope). These are controlled from the terminal window by pressing the 1, 2, 3 & 4 keys.
1 = fft
2 = constellation
3 = symbol
4 = datascope
Presently it is only possible to enable one plot at a time. Once I figure out how to track and untangle the gnuradio inter-block connections, I will see about making them operate simultaneously.
Graham
I have an older system working fine on the master branch and I'm currently
trying to set up a new VM running the max branch. The goal is to send audio
from two talkgroups to darkice. The problem is that I'm not getting any
audio out of rx.py.
I know the darkice config works, because I can do this and hear pink noise
on the stream:
speaker-test -r 8000 -D hw:Loopback,0,0
But starting rx.py with the same audio device like this, I never hear
anything:
./rx.py --args rtl=0 -N LNA:42 -f 774081250 -S 1320000 -v 5 -2 -T
ss911_tacoma.tsv -O hw:Loopback,0,0
The receiver seems to be working. I can see the name of the talkgroup I'm
interested in at the bottom of the screen while it's active, I just don't
hear anything on the stream:
"""
NAC 0x1e1 WACN 0xbee00 SYSID 0x1e7 774.431250/804.431250 tsbks 2390
voice frequency 773.431250 tgid(s) 40306 40107 0.3s ago count 77
voice frequency 774.681250 tgid(s) 59197 40106 0.3s ago count 166
Frequency 774.431250 Talkgroup ID 40106
PCSO East
"""
Is there something obvious I'm doing wrong here?
P.S. Is there a better way to pipe audio to darkice than snd-aloop?
Tom
Attached is a patch file that updates Max's terminal.py and trunking.py
in a few ways:
1. terminal.py reads the window size at startup and adjusts the curses
settings accordingly. If you set xterm or equivalent to more rows (I'm
using 38), you can handle sites with more than 20 frequencies without
crashing. This is the patch I posted a week or so ago. (Max, I think
your idea of making the main window two columns is still a good one, and
the space that frees up could be used to display other interesting info.
I don't think I'll have the time to learn how to implement that, though.)
2. terminal.py now displays an info line at the bottom of the screen
showing the keyboard commands that are available. I also added a blank
line or two to make the display look (IMHO) a bit cleaner.
3. If you set -v to 5 or higher, every frequency or talkgroup command
is output on stderr (this will generate a lot of output on a busy
system!). If you want to generate a list of every unique frequency used
by the system, this will produce it from the stderr.2 file:
grep freq: stderr.2 | cut -d" " -f3 | sort | uniq
or to get all the unique talkgroups:
greg freq: stderr.2 | cut -d" " -f5 | sort | uniq
Max, this was actually a bit less trivial than first thought. The code
is easy, but where to put it wasn't. Your suggestion about the end of
update_state() led to only one update per second, and lost many
freq/talkgroup set commands. I think I found a spot that doesn't miss
any. Lots of output, but lets you build a comprehensive tgid list.
4. The stderr output of "set trunk_cc..." was not all that useful, so
it's now set to appear only when the -v level is set to 6 or greater.
(Behavior of -v 10 includes the above but is otherwise unchanged.)
5. I cleaned up all the logging/status/debug outputs in trunking.py to
use "sys.stderr.write()" rather than "print". That will stop them from
showing up in the terminal screen. While I was at it, I also added
newlines to the end of all output and did some other cleanup.
Hope this is useful.
73,
John
by 'William Becks' wa8wg@centurytel.net [op25-dev]
I have been chasing a problem with the audio crashing after 24 hours of
continuous operation in Ubuntu 14.04 that appeared to have been caused by
pulseaudio. However, that was apparently not the cause as the audio
server still crashes after 24 hours even with pulseaudio removed from the
system.
This is the response that scrolls when performing a speaker-test once the
audio server crashes.
op25@op25-VirtualBox:~$ sudo speaker-test -t sine -f 500 -c2
[sudo] password for op25:
speaker-test 1.0.27.2
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Sine wave rate is 500.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 16384
Period size range from 1024 to 1024
Using max buffer size 16384
Periods = 4
was set period_size = 1024
was set buffer_size = 16384
0 - Front Left
1 - Front Right
Time per period = 0.162188
0 - Front Left
1 - Front Right
Time per period = 0.172795
0 - Front Left
1 - Front Right
Time per period = 0.171719
0 - Front Left
1 - Front Right
Time per period = 0.170190
0 - Front Left
1 - Front Right
Time per period = 0.168764
0 - Front Left
1 - Front Right
Time per period = 0.176896
0 - Front Left
1 - Front Right
Time per period = 0.172278
0 - Front Left
1 - Front Right
Time per period = 0.172175
0 - Front Left
1 - Front Right
Time per period = 0.171800
0 - Front Left
1 - Front Right
Time per period = 0.172193
0 - Front Left
1 - Front Right
Time per period = 0.170080
0 - Front Left
1 - Front Right
Time per period = 0.173308
0 - Front Left
1 - Front Right
Time per period = 0.172197
0 - Front Left
1 - Front Right
Time per period = 0.172493
0 - Front Left
1 - Front Right
Time per period = 0.172013
0 - Front Left
1 - Front Right
Time per period = 0.171716
0 - Front Left
1 - Front Right
Time per period = 0.172795
0 - Front Left
1 - Front Right
Time per period = 0.176432
0 - Front Left
1 - Front Right
Time per period = 0.172236
0 - Front Left
1 - Front Right
Time per period = 0.172164
0 - Front Left
1 - Front Right
Time per period = 0.172311
0 - Front Left
1 - Front Right
Time per period = 0.171918
0 - Front Left
1 - Front Right
Time per period = 0.169485
0 - Front Left
1 - Front Right
Time per period = 0.169537
0 - Front Left
1 - Front Right
Time per period = 0.176434
0 - Front Left
1 - Front Right
Time per period = 0.172278
0 - Front Left
1 - Front Right
Time per period = 0.168199
0 - Front Left
1 - Front Right
^CWrite error: -4,Interrupted system call (Control-C entered
here to interrupt speaker-test.)
xrun_recovery failed: -4,Interrupted system call
Transfer failed: Interrupted system call
op25@op25-VirtualBox:~$
Has anyone seen this behavior while running op25 on Ubuntu? Could there be
a cron task that executes every 24 hours causing loss of the audio server??
Thank you,
Bill, WA8WG
by 'William Becks' wa8wg@centurytel.net [op25-dev]
Gents,
Has anyone else observed that pulse audio seems to crash consistently after
approximately 24 hours of continuous operation of Ubuntu14.04? This happens
regardless of the branch of op25 built on the system. I have searched the
web for this problem and have tried a number of fixes for the pulse audio
crash but none of them have corrected the problem. I have tried
uninstalling pulse audio to use the underlying ALSA, but can't seem to
maintain reliable audio level settings after a shutdown or a reboot.
Any ideas or suggestions would be appreciated.
Thank you,
Bill, WA8WG