 
            Haven't done a lot of testing, but it should now be possible to install gr-op25 (and all of its prerequisites, including gnuradio) simply by - cloning the pybombs repo - cd to the toplevel ---- cd pybombs - ./pybombs install gr-op25
Assuming no bugs, it should no longer be necessary to separately clone the gr-op25 repository, or to copy any recipes around... Also, the trunking changes have been merged into gr-op25 master, so the 'git checkout' commands shouldn't be necessary any more, either...
Once the process has been more thoroughly tested, I'll be updating the wiki with these procedures
Best
Max
 
            I did a complete reinstalled of everything last night and the master branch had everything in it. I've attached an install log for your review.
I'm having RTL issues now, but it's not related to OP25 so I'll skip those comments.
There are problems with the op25_repeater blocks in GRC though. Adding fsk4_slicer_fb, p25_frame_assembler, and vocoder to the canvas produced the following error and crashes GRC:
Showing: "/home/scott/Downloads/untitled.grc" Traceback (most recent call last): File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/ActionHandler.py", line 320, in _handle_action self.get_flow_graph().update() File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/FlowGraph.py", line 343, in update self.create_labels() File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/Element.py", line 72, in create_labels for child in self.get_children():child.create_labels() File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/Block.py", line 142, in create_labels markups = [param.get_markup() for param in self.get_params() if param.get_hide() not in ('all', 'part')] File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/python/Param.py", line 217, in get_hide lambda p: ' '.join([p._type, p._nports]), self.get_parent().get_ports()) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/python/Param.py", line 217, in <lambda> lambda p: ' '.join([p._type, p._nports]), self.get_parent().get_ports()) TypeError: sequence item 0: expected string, instance found Traceback (most recent call last): File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/DrawingArea.py", line 138, in _handle_window_expose self._flow_graph.draw(gc, self._pixmap) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/FlowGraph.py", line 312, in draw element.draw(gc, window) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/grc/gui/Block.py", line 198, in draw window.draw_drawable(gc, self.horizontal_label, 0, 0, x+BLOCK_LABEL_PADDING, y+(self.H-self.label_height)/2, -1, -1) AttributeError: 'Block' object has no attribute 'horizontal_label'
Hope this is helpful..
-Scott
 
            I forgot to mention another error I encountered.. in the file /gr-op25/op25/gr-op25_repeater/grc/op25_repeater_fsk4_slicer_fb.xml
I changed this <make>op25_repeater.fsk4_slicer_fb($&slice_levels)</make> to <make>op25_repeater.fsk4_slicer_fb($slice_levels)</make>
-Scott
 
            Hi Scott
Thanks for the bug report. The amount of unfinished work is clearly excessive : )
Almost no GRC and XML work has been done so far, that I know of. Some of my early hacks may have ended up in git, and it sounds like these issues may be caused by that - I'll have to take a look. One of the problems is all of those blocks are fairly low level and we need to wrap a lot of that funcionality into GNU Radio hierarchical blocks written in python. These are typically set up as modulator / demodulator blocks which combine channel filtering, demodulation, slicing, etc. into unified functional blocks. The latter are the ones that should be exposed to GRC via XML....
Max
 
            Another bug to report... running the scope app with the -V option crahes
scott@decoder:~/pybombs/src/gr-op25/op25/gr-op25_repeater/apps$ ./scope.py --args "rtl=0" -f 852.675e6 -S 250000 -N 'LNA:49' -v 15 -V linux; GNU C++ version 4.6.3; Boost_105300; UHD_003.006.002-1-g9fd308b3
gr-osmosdr v0.1.0-64-gd960d111 (0.1.1git) gnuradio v3.7.2.1-159-g3fa56a46 built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf rfspace Using device #0 Realtek RTL2838UHIDIR SN: 00000048 Found Rafael Micro R820T tuner gain: name: LNA range: start 0 stop 0 step 0 setting gain LNA to 49 supported sample rates 250000-2560000 step 24000 RTL Supported freq ranges 24000000-1766000000 Using Volk machine: sse3_32 Exact sample rate is: 250000.000414 Hz set_center_freq: 852675000 Project 25 IMBE Encoder/Decoder Fixed-Point implementation Developed by Pavel Yazev E-mail: pyazev@gmail.com Version 1.0 (c) Copyright 2009 This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file ``LICENSE'' for details. audio_oss_sink: plughw:0,0: No such file or directory Traceback (most recent call last): File "./scope.py", line 2792, in <module> app = stdgui2.stdapp(p25_rx_block, "APCO P25 Receiver", 3) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 46, in __init__ wx.App.__init__ (self, redirect=False) File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7981, in __init__ self._BootstrapApp() File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7555, in _BootstrapApp return _core_.PyApp__BootstrapApp(*args, **kwargs) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 49, in OnInit frame = stdframe (self.top_block_maker, self.title, self._nstatus) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 76, in __init__ self.panel = stdpanel (self, self, top_block_maker) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 98, in __init__ self.top_block = top_block_maker (frame, self, vbox, sys.argv) File "./scope.py", line 230, in __init__ self.open_usrp() File "./scope.py", line 1124, in open_usrp self.__set_rx_from_osmosdr() File "./scope.py", line 872, in __set_rx_from_osmosdr self.__build_graph(self.src, capture_rate) File "./scope.py", line 293, in __build_graph self.audio_output = audio.sink(8000, self.options.audio_output, True) File "/home/scott/target/lib/python2.7/dist-packages/gnuradio/audio/audio_swig.py", line 122, in make return _audio_swig.sink_make(*args, **kwargs) RuntimeError: audio_oss_sink scott@decoder:~/pybombs/src/gr-op25/op25/gr-op25_repeater/apps$
 
            ---In op25-dev@yahoogroups.com, <verymetl@...> wrote:
Another bug to report... running the scope app with the -V option crahes
[snipped] audio_oss_sink: plughw:0,0: No such file or directory
the above error message is the key. Debugging linux audio can sometimes be a pain, here is one place to start: http://gnuradio.org/doc/sphinx/audio/index.html
That page describes the audio sink block, the second parameter of which is the name of the audio device, which is set using the -O option of scope.py. If your system uses pulseaudio you can try '-O pulse' etc.
Another thing to try is to see if alsa is even installed: dpkg-query -l | grep -i alsa
HTH
Max
 
            Sorry for the erroneous report Max.. I clearly have unresolved issues with the gnuradio/pybombs install at this point. I'll try and read what the errors are telling me before doing that again, sorry bud!
-Scott

