Giter Club home page Giter Club logo

op25's Introduction

This is the boatbod fork of op25.

Capabilities are broadly categorized into two lists - those supported by the legacy rx.py version of the app and those by the newer multi_rx.py version. I recommend using multi_rx.py where at all possible as this is the focus of future development.

rx.py capabilities

  • P25 Conventional (single frequency)
  • P25 Trunking Phase 1, Phase 2 and TDMA Control Channel
  • P25 Phase 2 tone synthesis
  • Single SDR (dongle) tuning regardless of bandwidth
  • TGID Blacklist, Whitelist with dynamic reloading
  • TGID Priority with mid-call preemption
  • Multi-system scanning (switches between multiple systems sequentially)
  • TGID text tagging and metadata upload to Icecast server for streaming
  • Dynamically controllable real-time plots: FFT, Constellation, Symbol, Datascope, Mixer, Tuning
  • Dynamically controllable log level
  • Curses or HTTP based terminal
  • Demodulator symbol capture and replay
  • Voice Encryption detection and skipping (configurable behavior)
  • Automatic fine tune tracking using Frequency Locked Loop (FLL).

multi_rx.py capabilities

  • P25 Conventional (multiple frequencies)
  • P25 Trunking Phase 1, Phase 2 and TDMA Control Channel
  • P25 Phase 2 tone synthesis
  • Motorola SmartZone Trunking (requires two dongles)
  • Motorola Connect+ TRBO DMR Trunking (experimental, requires two dongles)
  • DMR BS Mode (non-trunked)
  • NBFM analog (conventional or SmartZone trunked)
  • Multi-system/multi-channel concurrent operation (full time, not sequential)
  • Single, Multiple and Shared SDR devices (e.g. wideband devices such as Airspy etc)
  • TGID Blacklist, Whitelist with dynamic reloading
  • TGID Priority with mid-call preemption
  • TGID text tagging and metadata upload to Icecast server for streaming
  • RID text tagging
  • Dynamically controllable real-time plots: FFT, Constellation, Symbol, Datascope, Mixer, Tuning
  • Dynamically controllable log level
  • Curses or HTTP based terminal
  • JSON based configuration
  • DSD .wav and .iq file replay
  • Dynamic demodulator symbol capture and replay (commanded through terminal)
  • Voice Encryption detection and skipping (configurable behavior)
  • Automatic fine tune tracking using Frequency Locked Loop (FLL)

Roadmap (under development)

  • New HTTP GUI
  • Logging to GUI
  • Dynamic configuration

History

  • Forked from git://git.osmocom.org/op25 "max" branch on 9/10/2017
  • Up to date with osmocom "max" branch as of 3/3/2018
  • Note: as of 2019, codebase has diverged too far to continue syncing with osmocom

Many changes:

  • new DQPSK demodulator chain with automatic fine tuning & tracking
  • udp python audio server sockaudio.py and remote player audio.py
  • wireshark fixes (experimental)
  • ability to configure NAC 0x000 in trunk.tsv and have system use first NAC decoded
  • integrated N8UR logging changes to trunking.py
  • ability to adjust fine tuning in real time (,./<> keys in terminal)
  • ability to dynamically resize the curses terminal
  • ability to dunamically turn plots on and off from the terminal (keys 1-5)
  • new 'mixer' and 'fll' output plots (terminal keys 5 & 6)
  • reworked trunking hold/release logic that improves Phase 1 audio on some systems
  • decoding and logging of encryption sync info ("ESS") at log level 10 (-v 10)
  • ability to silence the playing of encrypted audio
  • encrypted audio flag shown on terminal screen
  • source radio id displayed on terminal screen (if available)
  • supports IP addresses or host names for --wireshark-host (-W) parameter
  • decode and pass voice channel sourced trunk signaling up to trunking module
  • added optional trunk group priority parameter to end of tgid-tags.tsv file
  • added ability to handle ranges of tgid in blacklist/whitelist files
  • support for streaming metadata updates (both rx.py and multi_rx.py)
  • support for MotoTrbo Connect+ and Motorola SmartNet/SmartZone trunking (multi_rx.py)
  • enhanced multi_rx.py now supports P25, DMR, SmartNet trunking, terminal and built-in audio player

New command line options:

  • --fine-tune: sub-ppm tuning adjustment
  • --wireshark-port: facilitates multiple instances of rx.py
  • --udp-player: enable built-in audio player
  • --nocrypt: silence encrypted audio

Note 1: using the --nocrypt command line option will silence encrypted audio, but the trunking logic will cause the application to remain on the active tgid until the transmission ends. It is generally preferable to blacklist tgids that are always encrypted rather than simply silence them. Use the --nocrypt functionality to silence occasional encrypted transmissions on mixed use tgids.

Note 2: trunk id to tag mapping file (tgid-tags.tsv) can contain an optional 3rd numeric parameter to be used as the trunk priority when simultaneous calls are present on the system being monitored. Default priority is 3 if not explicitly specified. Lower numeric value = higher priority. Data columns are separated by a single TAB character.

e.g.

11501	TB FIRE DISP	2
11502	TB FIRE TAC2	3
11503	TB FIRE TAC3	3
11504	TB FIRE TAC4	4
11505	TB FIRE TAC5	3 

op25's People

Contributors

boatbod avatar csharpen avatar hayden-t avatar ilyacodes avatar jannik2099 avatar joeyabsi avatar mathstuf avatar mattames avatar nothotscott avatar roysjosh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

op25's Issues

python3

now that gnuradio is at version 3.8 which uses python 3. will op25 be getting updated for python 3? FYI: python 2.7 is considered deprecated after jan 1,2020.

OP25 STOPS WITH CMAKE 2 ERRORS

I am having the worse time trying to get OP25 to completely build. I am not sure if cmake is the issue. CMAKE v3.13.3. LUBUNTU 18.10 is the distro. I am begging for help to make this work.

Here is the screen output

ddejr@ddejr-pc:$ git clone git://github.com/boatbod/op25
Cloning into 'op25'...
remote: Enumerating objects: 231, done.
remote: Counting objects: 100% (231/231), done.
remote: Compressing objects: 100% (154/154), done.
remote: Total 4574 (delta 131), reused 155 (delta 74), pack-reused 4343
Receiving objects: 100% (4574/4574), 1.29 MiB | 1.67 MiB/s, done.
Resolving deltas: 100% (3002/3002), done.
ddejr@ddejr-pc:
$ cd op25
ddejr@ddejr-pc:/op25$ mkdir build
ddejr@ddejr-pc:
/op25$ cd build
ddejr@ddejr-pc:~/op25/build$ cmake ../
-- The CXX compiler identification is GNU 8.3.0
-- The C compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Boost version: 1.67.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gnuradio-runtime'
-- Found gnuradio-runtime, version 3.7.13
-- Found GNURADIO_RUNTIME: /usr/lib/i386-linux-gnu/libgnuradio-runtime.so
-- Checking for module 'cppunit'
-- Found cppunit, version 1.14.0
-- Found CPPUNIT: /usr/lib/i386-linux-gnu/libcppunit.so;dl
-- Found SWIG: /usr/bin/swig3.0 (found version "3.0.12")
-- Found PythonLibs: /usr/lib/i386-linux-gnu/libpython2.7.so (found suitable version "2.7.16", minimum required is "2")
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.16", minimum required is "2")
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen dot
CMake Warning (dev) at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.13/Modules/UseSWIG.cmake:564 (message):
Policy CMP0078 is not set. Run "cmake --help-policy CMP0078" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Call Stack (most recent call first):
cmake/Modules/GrSwig.cmake:159 (SWIG_ADD_LIBRARY)
op25/gr-op25/swig/CMakeLists.txt:42 (GR_SWIG_MAKE)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Build type not specified: defaulting to release.
-- Boost version: 1.67.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- AMBE Tone Synthesis Enabled
CMake Warning (dev) at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.13/Modules/UseSWIG.cmake:564 (message):
Policy CMP0078 is not set. Run "cmake --help-policy CMP0078" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Call Stack (most recent call first):
cmake/Modules/GrSwig.cmake:159 (SWIG_ADD_LIBRARY)
op25/gr-op25_repeater/swig/CMakeLists.txt:42 (GR_SWIG_MAKE)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/ddejr/op25/build
ddejr@ddejr-pc:/op25/build$ make
Scanning dependencies of target gnuradio-op25
[ 1%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/fsk4_demod_ff_impl.cc.o
[ 1%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/fsk4_slicer_fb_impl.cc.o
[ 2%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/decoder_bf_impl.cc.o
[ 3%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/decoder_ff_impl.cc.o
[ 4%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/abstract_data_unit.cc.o
[ 4%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/data_unit.cc.o
[ 5%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/hdu.cc.o
[ 6%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/ldu1.cc.o
[ 7%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/ldu2.cc.o
[ 7%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/pdu.cc.o
[ 8%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/tdu.cc.o
[ 9%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/tsbk.cc.o
[ 10%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/data_unit_handler.cc.o
[ 10%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/logfile_du_handler.cc.o
[ 11%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/p25cai_du_handler.cc.o
[ 12%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/snapshot_du_handler.cc.o
[ 13%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/imbe_decoder.cc.o
[ 13%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/imbe_decoder_factory.cc.o
[ 14%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/dummy_imbe_decoder.cc.o
[ 15%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/offline_imbe_decoder.cc.o
[ 16%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/voice_data_unit.cc.o
[ 16%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/voice_du_handler.cc.o
[ 17%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/pcap_source_b_impl.cc.o
[ 18%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/software_imbe_decoder.cc.o
[ 19%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/vc55_imbe_decoder.cc.o
[ 19%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/value_string.cc.o
[ 20%] Building CXX object op25/gr-op25/lib/CMakeFiles/gnuradio-op25.dir/pickle.cc.o
[ 21%] Linking CXX shared library libgnuradio-op25.so
[ 21%] Built target gnuradio-op25
Scanning dependencies of target test-op25
[ 22%] Building CXX object op25/gr-op25/lib/CMakeFiles/test-op25.dir/test_op25.cc.o
[ 23%] Building CXX object op25/gr-op25/lib/CMakeFiles/test-op25.dir/qa_op25.cc.o
[ 23%] Linking CXX executable test-op25
[ 23%] Built target test-op25
Scanning dependencies of target _op25_swig_doc_tag
[ 24%] Building CXX object op25/gr-op25/swig/CMakeFiles/_op25_swig_doc_tag.dir/_op25_swig_doc_tag.cpp.o
[ 24%] Linking CXX executable _op25_swig_doc_tag
[ 24%] Built target _op25_swig_doc_tag
Scanning dependencies of target _op25_swig_swig_tag
[ 25%] Building CXX object op25/gr-op25/swig/CMakeFiles/_op25_swig_swig_tag.dir/_op25_swig_swig_tag.cpp.o
[ 26%] Linking CXX executable _op25_swig_swig_tag
[ 26%] Built target _op25_swig_swig_tag
Scanning dependencies of target op25_swig_swig_compilation
[ 27%] Generating doxygen xml for op25_swig_doc docs
[ 28%] Generating op25_swig_doc.i
[ 29%] Generating op25_swig.tag
[ 29%] Swig compile op25_swig.i for python
[ 29%] Built target op25_swig_swig_compilation
Scanning dependencies of target _op25_swig
[ 30%] Building CXX object op25/gr-op25/swig/CMakeFiles/_op25_swig.dir/CMakeFiles/_op25_swig.dir/op25_swigPYTHON_wrap.cxx.o
[ 31%] Linking CXX shared module _op25_swig.so
[ 31%] Built target _op25_swig
Scanning dependencies of target pygen_op25_gr_op25_swig_ac751
[ 32%] Generating op25_swig.pyc
[ 33%] Generating op25_swig.pyo
[ 33%] Built target pygen_op25_gr_op25_swig_ac751
Scanning dependencies of target pygen_op25_gr_op25_python_b78db
[ 33%] Generating init.pyc
[ 34%] Generating init.pyo
[ 34%] Built target pygen_op25_gr_op25_python_b78db
Scanning dependencies of target pygen_op25_gr_op25_apps_383eb
[ 34%] Built target pygen_op25_gr_op25_apps_383eb
Scanning dependencies of target imbe_vocoder
[ 34%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/aux_sub.cc.o
[ 35%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/basicop2.cc.o
[ 36%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_decode.cc.o
[ 37%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_encode.cc.o
[ 37%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dc_rmv.cc.o
[ 38%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/decode.cc.o
[ 39%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dsp_sub.cc.o
[ 40%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/encode.cc.o
[ 40%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/imbe_vocoder.cc.o
[ 41%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/math_sub.cc.o
[ 42%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pe_lpf.cc.o
[ 43%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_est.cc.o
[ 43%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_ref.cc.o
[ 44%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/qnt_sub.cc.o
[ 45%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/rand_gen.cc.o
[ 46%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_decode.cc.o
[ 46%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_encode.cc.o
[ 47%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_enh.cc.o
[ 48%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/tbls.cc.o
[ 49%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/uv_synt.cc.o
[ 49%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_synt.cc.o
[ 50%] Building CXX object op25/gr-op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_uv_det.cc.o
[ 51%] Linking CXX static library libimbe_vocoder.a
[ 51%] Built target imbe_vocoder
Scanning dependencies of target gnuradio-op25_repeater
[ 52%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder_sb_impl.cc.o
[ 52%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_bs_tx_bb_impl.cc.o
In file included from /home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_bs_tx_bb_impl.cc:28:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc7(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:31:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc8(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:55:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 53%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o
[ 54%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dstar_tx_sb_impl.cc.o
[ 55%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/vocoder_impl.cc.o
[ 55%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/gardner_costas_cc_impl.cc.o
[ 56%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o
[ 57%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/frame_assembler_impl.cc.o
[ 58%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_slicer_fb_impl.cc.o
[ 58%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bch.cc.o
[ 59%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rs.cc.o
[ 60%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_framer.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25_framer.cc: In member function โ€˜bool p25_framer::nid_codeword(uint64_t)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25_framer.cc:112:20: warning: format โ€˜%lxโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜uint64_tโ€™ {aka โ€˜long long unsigned intโ€™} [-Wformat=]
fprintf(stderr, "p25_framer::nid_codeword: duid/parity check fail: nid=%016lx, ec=%d\n", nid_word, ec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
[ 61%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_fdma.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc: In member function โ€˜void gr::op25_repeater::p25p1_fdma::process_HDU(const bit_vector&)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc:275:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf (stderr, ", gly_errs=%lu, rs_errs=%d\n", gly_errs, ec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc: In member function โ€˜void gr::op25_repeater::p25p1_fdma::process_TDU15(const bit_vector&)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc:396:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf (stderr, ", gly_errs=%lu\n", gly_errs);
^~~~~~~~~~~~~~~~~~ ~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc: In member function โ€˜void gr::op25_repeater::p25p1_fdma::process_voice(const bit_vector&)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p1_fdma.cc:620:21: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 5 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s IMBE %s errs %lu\n", logts.get(), s, errs); // print to log in one operation
^~~~~~~~~~~~~~~~~~~~~~~ ~~~~
[ 61%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_encode.cc.o
[ 62%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_decode.cc.o
[ 63%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_framer.cc.o
[ 64%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_isch.cc.o
[ 64%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_duid.cc.o
[ 65%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_sync.cc.o
[ 66%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_tdma.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p2_tdma.cc: In function โ€˜uint16_t crc12(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p2_tdma.cc:46:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc12: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p2_tdma.cc: In member function โ€˜void p25p2_tdma::handle_voice_frame(const uint8_t*)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p2_tdma.cc:558:19: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 11 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s AMBE %02x %02x %02x %02x %02x %02x %02x errs %lu\n", logts.get(),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p_cw[0], p_cw[1], p_cw[2], p_cw[3], p_cw[4], p_cw[5], p_cw[6], errs);
~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/p25p2_tdma.cc:612:19: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜std::deque::size_typeโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s p25p2_tdma::handle_voice_frame(): residual audio sample buffer non-zero (len=%lu)\n", logts.get(), software_decoder.audio()->size());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 67%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_vf.cc.o
[ 67%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/imbe_decoder.cc.o
[ 68%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/software_imbe_decoder.cc.o
[ 69%] Building C object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe.c.o
[ 70%] Building C object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/mbelib.c.o
[ 70%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder.cc.o
[ 71%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rx_sync.cc.o
In file included from /home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc:41:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc7(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:31:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc8(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:55:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc: In member function โ€˜void gr::op25_repeater::rx_sync::codeword(const uint8_t*, gr::op25_repeater::codeword_types, int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc:239:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 11 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s AMBE %02x %02x %02x %02x %02x %02x %02x errs %lu\n", logts.get(d_msgq_id),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p_cw[0], p_cw[1], p_cw[2], p_cw[3], p_cw[4], p_cw[5], p_cw[6], errs);
~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc:252:21: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 11 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s ambe %02x %02x %02x %02x %02x %02x %02x errs %lu\n", logts.get(d_msgq_id),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p_cw[0], p_cw[1], p_cw[2], p_cw[3], p_cw[4], p_cw[5], p_cw[6], errs);
~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc:292:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 15 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s IMBE %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x errs %lu\n",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/rx_sync.cc:295:59:
p_cw[6], p_cw[7], p_cw[8], p_cw[9], p_cw[10], errs);
~~~~
[ 72%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/hamming.cc.o
[ 72%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/golay2087.cc.o
[ 73%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bptc19696.cc.o
[ 74%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_cai.cc.o
In file included from /home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_cai.cc:37:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc7(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:31:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc8(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:55:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 75%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_slot.cc.o
In file included from /home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_slot.cc:40:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc7(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:31:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h: In function โ€˜uint8_t crc8(const uint8_t*, unsigned int)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/crc16.h:55:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜unsigned intโ€™ [-Wformat=]
fprintf (stderr, "crc8: buffer length %u exceeds maximum %lu\n", len+K, sizeof(buf));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_slot.cc: In member function โ€˜bool dmr_slot::decode_csbk(uint8_t*)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_slot.cc:268:21: warning: format โ€˜%lxโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 10 has type โ€˜uint64_tโ€™ {aka โ€˜long long unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s Slot(%d), CC(%x), CSBK LB(%d), PF(%d), CSBKO(%02x), FID(%02x), DATA(%08lx)\n", logts.get(d_msgq_id), d_chan, get_slot_cc(), csbk_lb, csbk_pf, csbk_o, csbk_fid, csbk_data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_slot.cc: In member function โ€˜bool dmr_slot::decode_mbc_continue(uint8_t*)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/dmr_slot.cc:336:20: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 7 has type โ€˜std::vector::size_typeโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "%s Slot(%d), CC(%x), MBC CONT LB(%d), data size=%lu\n", logts.get(d_msgq_id), d_chan, get_slot_cc(), mbc_lb, d_mbc.size());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
[ 75%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_audio.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/op25_audio.cc: In member function โ€˜ssize_t op25_audio::do_send(const void*, size_t, int, bool) constโ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/op25_audio.cc:193:33: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "op25_audio::do_send(length %lu): error(%d): %s\n", len, errno, strerror(errno));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/op25_audio.cc:201:37: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "op25_audio::write(length %lu): error(%d): %s\n", len, errno, strerror(errno));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/op25_audio.cc:204:37: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
fprintf(stderr, "op25_audio::write(length %lu): error, write rc zero\n", len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~
[ 76%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_timer.cc.o
[ 77%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/CCITTChecksumReverse.cpp.o
[ 78%] Linking CXX shared library libgnuradio-op25_repeater.so
[ 78%] Built target gnuradio-op25_repeater
Scanning dependencies of target op25-d2460
[ 79%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/d2460.cc.o
[ 79%] Building C object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe.c.o
[ 80%] Building C object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/mbelib.c.o
[ 81%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe_encoder.cc.o
[ 82%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/software_imbe_decoder.cc.o
[ 82%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/imbe_decoder.cc.o
[ 83%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/p25p2_vf.cc.o
[ 84%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/rs.cc.o
[ 85%] Linking CXX executable op25-d2460
[ 85%] Built target op25-d2460
Scanning dependencies of target scan4sync
[ 85%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/scan4sync.dir/scan4sync.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/scan4sync.cc: In function โ€˜int main(int, char**)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/scan4sync.cc:85:11: warning: format โ€˜%lxโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜uint64_tโ€™ {aka โ€˜long long unsigned intโ€™} [-Wformat=]
printf("%s [%06lx] matched [%06lx] with %d errs at sym %lu (dist=%lu)\n", SYNCS[sync], SYNC_MAGICS[sync], cw, s_errs, fpos, fpos-last_fpos);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/scan4sync.cc:85:11: warning: format โ€˜%lxโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 4 has type โ€˜uint64_tโ€™ {aka โ€˜long long unsigned intโ€™} [-Wformat=]
/home/ddejr/op25/op25/gr-op25_repeater/lib/scan4sync.cc:85:11: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 6 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
/home/ddejr/op25/op25/gr-op25_repeater/lib/scan4sync.cc:85:11: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 7 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
[ 86%] Linking CXX executable scan4sync
[ 86%] Built target scan4sync
Scanning dependencies of target BER
[ 86%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/BER.dir/BER.cc.o
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc: In function โ€˜int main(int, char**)โ€™:
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:81:11: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Pattern sync at %lu, errs %d\n", p_start, s_errs);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:95:9: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Pattern length: %lu bits\n", p_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:96:9: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜std::vector::size_typeโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Symbols file: %lu bits\n", rx_syms.size());
^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:144:10: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Pattern match (%lu) bit errs=%lu, BER=%lf%%\n", r_start, chunk_bit_errs, chunk_ber);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:144:10: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 3 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:165:9: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Max bit errs=%lu, Max BER=%lf%%\n", max_bit_errs, max_ber);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
/home/ddejr/op25/op25/gr-op25_repeater/lib/BER.cc:166:9: warning: format โ€˜%luโ€™ expects argument of type โ€˜long unsigned intโ€™, but argument 2 has type โ€˜size_tโ€™ {aka โ€˜unsigned intโ€™} [-Wformat=]
printf("Total bit errs=%lu, Total BER=%lf%%\n", total_bit_errs, total_ber);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
[ 87%] Linking CXX executable BER
[ 87%] Built target BER
Scanning dependencies of target test-op25_repeater
[ 88%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/test-op25_repeater.dir/test_op25_repeater.cc.o
[ 89%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/test-op25_repeater.dir/qa_op25_repeater.cc.o
[ 90%] Linking CXX executable test-op25_repeater
[ 90%] Built target test-op25_repeater
Scanning dependencies of target pygen_op25_gr_op25_repeater_swig_a9103
make[2]: *** No rule to make target 'op25/gr-op25_repeater/swig/op25_repeater_swig.py', needed by 'op25/gr-op25_repeater/swig/op25_repeater_swig.pyc'. Stop.
make[1]: *** [CMakeFiles/Makefile2:954: op25/gr-op25_repeater/swig/CMakeFiles/pygen_op25_gr_op25_repeater_swig_a9103.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
ddejr@ddejr-pc:
/op25/build$ make
[ 21%] Built target gnuradio-op25
[ 23%] Built target test-op25
[ 24%] Built target _op25_swig_doc_tag
[ 26%] Built target _op25_swig_swig_tag
[ 29%] Built target op25_swig_swig_compilation
[ 31%] Built target _op25_swig
[ 33%] Built target pygen_op25_gr_op25_swig_ac751
[ 34%] Built target pygen_op25_gr_op25_python_b78db
[ 34%] Built target pygen_op25_gr_op25_apps_383eb
[ 51%] Built target imbe_vocoder
[ 78%] Built target gnuradio-op25_repeater
[ 85%] Built target op25-d2460
[ 86%] Built target scan4sync
[ 87%] Built target BER
[ 90%] Built target test-op25_repeater
make[2]: *** No rule to make target 'op25/gr-op25_repeater/swig/op25_repeater_swig.py', needed by 'op25/gr-op25_repeater/swig/op25_repeater_swig.pyc'. Stop.
make[1]: *** [CMakeFiles/Makefile2:954: op25/gr-op25_repeater/swig/CMakeFiles/pygen_op25_gr_op25_repeater_swig_a9103.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
ddejr@ddejr-pc:~/op25/build$

same result using "./install.sh" method

Feature: Lock down web gui

Would be nice to be able to lock down web gui with a username and password to stop unauthorized people accessing web gui.

Thanks

Unable to compile with BUILD_SHARED_LIBS=YES (default cmake)

I'm having a problem comping both "master" and "python" branches it against gnuradio 3.8. Could you help please?

ninja -v -j4 -l0
[1/5] : && /usr/bin/x86_64-pc-linux-gnu-g++  -std=c++11  -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0    -rdynamic op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/d2460.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe.c.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/mbelib.c.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe_encoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/software_imbe_decoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/imbe_decoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/p25p2_vf.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/rs.cc.o  -o op25/gr-op25_repeater/lib/op25-d2460  -Wl,-rpath,/var/tmp/portage/net-wireless/op25-9999/work/op25-9999_build/op25/gr-op25_repeater/lib/imbe_vocoder  op25/gr-op25_repeater/lib/imbe_vocoder/libimbe_vocoder.so && :
FAILED: op25/gr-op25_repeater/lib/op25-d2460 
: && /usr/bin/x86_64-pc-linux-gnu-g++  -std=c++11  -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0    -rdynamic op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/d2460.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe.c.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/mbelib.c.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe_encoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/software_imbe_decoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/imbe_decoder.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/p25p2_vf.cc.o op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/rs.cc.o  -o op25/gr-op25_repeater/lib/op25-d2460  -Wl,-rpath,/var/tmp/portage/net-wireless/op25-9999/work/op25-9999_build/op25/gr-op25_repeater/lib/imbe_vocoder  op25/gr-op25_repeater/lib/imbe_vocoder/libimbe_vocoder.so && :
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe_encoder.cc.o: in function `ambe_encoder::ambe_encoder()':
ambe_encoder.cc:(.text+0x2565): undefined reference to `imbe_vocoder::imbe_vocoder()'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: op25/gr-op25_repeater/lib/CMakeFiles/op25-d2460.dir/ambe_encoder.cc.o: in function `imbe_vocoder::imbe_encode(short*, short*)':
ambe_encoder.cc:(.text._ZN12imbe_vocoder11imbe_encodeEPsS0_[_ZN12imbe_vocoder11imbe_encodeEPsS0_]+0x28): undefined reference to `imbe_vocoder::encode(IMBE_PARAM*, short*, short*)'
collect2: error: ld returned 1 exit status
[2/5] /usr/bin/x86_64-pc-linux-gnu-g++ -Dop25_repeater_swig_EXPORTS -I/var/tmp/portage/net-wireless/op25-9999/work/op25-9999/op25/gr-op25_repeater/lib -I/var/tmp/portage/net-wireless/op25-9999/work/op25-9999/op25/gr-op25_repeater/include -Ilib -Iinclude -Iop25/gr-op25_repeater/swig -I/var/tmp/portage/net-wireless/op25-9999/work/op25-9999/op25/gr-op25_repeater/swig -I/usr/include/gnuradio/swig -isystem /usr/include/python3.7m  -std=c++11 -fPIC   -fvisibility=hidden -MD -MT op25/gr-op25_repeater/swig/CMakeFiles/op25_repeater_swig.dir/CMakeFiles/op25_repeater_swig.dir/op25_repeater_swigPYTHON_wrap.cxx.o -MF op25/gr-op25_repeater/swig/CMakeFiles/op25_repeater_swig.dir/CMakeFiles/op25_repeater_swig.dir/op25_repeater_swigPYTHON_wrap.cxx.o.d -o op25/gr-op25_repeater/swig/CMakeFiles/op25_repeater_swig.dir/CMakeFiles/op25_repeater_swig.dir/op25_repeater_swigPYTHON_wrap.cxx.o -c op25/gr-op25_repeater/swig/CMakeFiles/op25_repeater_swig.dir/op25_repeater_swigPYTHON_wrap.cxx
ninja: build stopped: subcommand failed.

Runing OP25 from rtl_tcp source !

is there way to runing op25 from rtl_tcp ? through lan ?
Not physically connect SDR to pc to run op25 , Running it through lan rtl_tcp connected .
is that available ???? or can do it in future update ????

Feature: P25 Wait time

Most scanners have P25 wait time which is handy..

Basically after a TG has been received it will wait x amount of time on that TG then move on to scanning again.

Is this something you can implement into Op25 as it would be a hand feature

Help , How to monitor two control frequency at the same time ??

I edit trunk.tsv and add two system name and two frequency and offset 0 and nac and modulation and chose .tompkins.tsv for tgid tag file , i chose this tag file for two control frequency, but when i run software in terminal i put just -f 846.2600e6 , does this correct ???? and -t trunk.tsv , but it not go to next monitor frequency! It still in main first frequency, whats wrong ????? Should i need to put in -f two frequencies??? Or whats wrong ??? Its still in first frequency?????.
My command like this :
./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 846.2600e6 -o 25000 -q 15 -2 -T trunk.tsv -V -2 -U 2> stderr.2

Any wrong in my command ??????

Ubuntu 18.04.4 LTS Build failures

Build fails to resolve internal headers with cmake 3.10.2

user@moonworm:~/HAM/op25$ sudo ./install.sh
Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:2 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Reading package lists... Done
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
doxygen is already the newest version (1.8.13-10).
pkg-config is already the newest version (0.29.1-0ubuntu2).
python-numpy is already the newest version (1:1.13.3-2ubuntu1).
python-waitress is already the newest version (1.0.1-1).
gnuplot-x11 is already the newest version (5.2.2+dfsg1-2ubuntu1).
gnuradio is already the newest version (3.7.11-10).
gnuradio-dev is already the newest version (3.7.11-10).
gr-osmosdr is already the newest version (0.1.4-14build1).
libhackrf-dev is already the newest version (2018.01.1-2).
libitpp-dev is already the newest version (4.3.1-8).
librtlsdr-dev is already the newest version (0.5.3-13).
libuhd-dev is already the newest version (3.10.3.0-2).
swig is already the newest version (3.0.12-1).
cmake is already the newest version (3.10.2-1ubuntu2.18.04.1).
git is already the newest version (1:2.17.1-1ubuntu0.7).
libpcap-dev is already the newest version (1.8.1-6ubuntu1.18.04.1).
python-requests is already the newest version (2.18.4-2ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
mkdir: cannot create directory โ€˜buildโ€™: File exists
-- Build type not specified: defaulting to release.
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so
Checking for GNU Radio Module: RUNTIME

  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    -- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_RUNTIME_FOUND = TRUE
    Checking for GNU Radio Module: BLOCKS
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_BLOCKS_FOUND = TRUE
    Checking for GNU Radio Module: FILTER
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_FILTER_FOUND = TRUE
    Checking for GNU Radio Module: PMT
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_PMT_FOUND = TRUE
    CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
    Policy CMP0026 is not set: Disallow use of the LOCATION target property.
    Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.

The LOCATION property should not be read from target "test-op25". Use the
target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/lib/CMakeLists.txt:93 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

--
-- Checking for module SWIG
-- Found SWIG version 3.0.12.
CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target "gnuradio-op25". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25/python/qa_fsk4_demod_ff.py".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target "gnuradio-op25". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25/python/qa_fsk4_slicer_fb.py".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target "gnuradio-op25". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25/python/qa_decoder_ff.py".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target "gnuradio-op25". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25/python/qa_decoder_bf.py".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target "gnuradio-op25". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:48 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:48 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25/python/qa_pcap_source_b.py".
Call Stack (most recent call first):
op25/gr-op25/python/CMakeLists.txt:48 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Build type not specified: defaulting to release.
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so
Checking for GNU Radio Module: RUNTIME

  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    -- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_RUNTIME_FOUND = TRUE
    Checking for GNU Radio Module: BLOCKS
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_BLOCKS_FOUND = TRUE
    Checking for GNU Radio Module: FILTER
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_FILTER_FOUND = TRUE
    Checking for GNU Radio Module: PMT
  • INCLUDES=/usr/include
  • LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/liblog4cpp.so
    GNURADIO_PMT_FOUND = TRUE
    -- AMBE Tone Synthesis Enabled
    CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
    Policy CMP0026 is not set: Disallow use of the LOCATION target property.
    Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
    command to set the policy and suppress this warning.

The LOCATION property should not be read from target "test-op25_repeater".
Use the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
op25/gr-op25_repeater/lib/CMakeLists.txt:112 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

--
-- Checking for module SWIG
-- Found SWIG version 3.0.12.
CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target
"gnuradio-op25_repeater". Use the target name directly with
add_custom_command, or use the generator expression $<TARGET_FILE>, as
appropriate.

Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25_repeater/python/qa_vocoder.py".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target
"gnuradio-op25_repeater". Use the target name directly with
add_custom_command, or use the generator expression $<TARGET_FILE>, as
appropriate.

Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25_repeater/python/qa_gardner_costas_cc.py".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target
"gnuradio-op25_repeater". Use the target name directly with
add_custom_command, or use the generator expression $<TARGET_FILE>, as
appropriate.

Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25_repeater/python/qa_p25_frame_assembler.py".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:46 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

The LOCATION property should not be read from target
"gnuradio-op25_repeater". Use the target name directly with
add_custom_command, or use the generator expression $<TARGET_FILE>, as
appropriate.

Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
Policy CMP0045 is not set: Error on non-existent target in
get_target_property. Run "cmake --help-policy CMP0045" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.

get_target_property() called with non-existent target
"/home/user/HAM/op25/op25/gr-op25_repeater/python/qa_fsk4_slicer_fb.py".
Call Stack (most recent call first):
op25/gr-op25_repeater/python/CMakeLists.txt:47 (GR_ADD_TEST)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/HAM/op25/build
[ 20%] Built target gnuradio-op25
[ 22%] Built target test-op25
[ 22%] Built target op25_swig_swig_doc
[ 24%] Built target _op25_swig_swig_tag
Scanning dependencies of target op25_swig_op25_gr_op25_swig_798d9
[ 25%] Building CXX object op25/gr-op25/swig/CMakeFiles/op25_swig_op25_gr_op25_swig_798d9.dir/op25_swig_op25_gr_op25_swig_798d9.cpp.o
[ 25%] Linking CXX executable op25_swig_op25_gr_op25_swig_798d9
Swig source
[ 26%] Built target op25_swig_op25_gr_op25_swig_798d9
Scanning dependencies of target _op25_swig
[ 26%] Building CXX object op25/gr-op25/swig/CMakeFiles/_op25_swig.dir/op25_swigPYTHON_wrap.cxx.o
[ 27%] Linking CXX shared module _op25_swig.so
[ 29%] Built target _op25_swig
[ 29%] Generating op25_swig.pyc
[ 30%] Generating op25_swig.pyo
[ 31%] Built target pygen_op25_gr_op25_swig_87807
[ 33%] Built target pygen_op25_gr_op25_python_9560c
[ 33%] Built target pygen_op25_gr_op25_apps_383eb
[ 50%] Built target imbe_vocoder
[ 51%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o
/home/user/HAM/op25/op25/gr-op25_repeater/lib/ysf_tx_sb_impl.cc:32:10: fatal error: op25_imbe_frame.h: No such file or directory
#include <op25_imbe_frame.h>
^~~~~~~~~~~~~~~~~~~
compilation terminated.
op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/build.make:110: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o' failed
make[2]: *** [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o] Error 1
CMakeFiles/Makefile2:719: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all' failed
make[1]: *** [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
[ 20%] Built target gnuradio-op25
[ 22%] Built target test-op25
[ 22%] Built target op25_swig_swig_doc
[ 24%] Built target _op25_swig_swig_tag
[ 26%] Built target op25_swig_op25_gr_op25_swig_798d9
[ 29%] Built target _op25_swig
[ 31%] Built target pygen_op25_gr_op25_swig_87807
[ 33%] Built target pygen_op25_gr_op25_python_9560c
[ 33%] Built target pygen_op25_gr_op25_apps_383eb
[ 50%] Built target imbe_vocoder
[ 51%] Building CXX object op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o
/home/user/HAM/op25/op25/gr-op25_repeater/lib/ysf_tx_sb_impl.cc:32:10: fatal error: op25_imbe_frame.h: No such file or directory
#include <op25_imbe_frame.h>
^~~~~~~~~~~~~~~~~~~
compilation terminated.
op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/build.make:110: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o' failed
make[2]: *** [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o] Error 1
CMakeFiles/Makefile2:719: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all' failed
make[1]: *** [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Using Docs

What is the correct process to view the Doxygen files?

unexpected keyword argument 'nbfm_ctrl' - DMR Trunking from example file

Not sure what I'm doing wrong, or if there is something up in the multi_rx.py code, attempted to run a json file built from the dmr_rtl_example.json but came up with this error.


$ ./multi_rx.py -c 3dmr_trunking.json -v 10
linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown

Traceback (most recent call last):
File "./multi_rx.py", line 804, in
rx = rx_main()
File "./multi_rx.py", line 774, in init
self.tb = rx_block(options.verbosity, config = byteify(config))
File "./multi_rx.py", line 415, in init
self.configure_trunking(config['trunking'])
File "./multi_rx.py", line 497, in configure_trunking
self.trunk_rx = self.trunking.rx_ctl(frequency_set = self.change_freq, slot_set = self.set_slot, nbfm_ctrl = self.nbfm_control, debug = self.verbosity, chans = config['chans'])
TypeError: init() got an unexpected keyword argument 'nbfm_ctrl'


Here is the contents of my json file

{
"channels": [
{
"device": "rtl_0",
"frequency": 464726400,
"demod_type": "fsk4",
"destination": "",
"excess_bw": 0.2,
"filter_type": "rrc",
"if_rate": 24000,
"name": "DMR Control Channel",
"plot": "fft",
"symbol_rate": 4800
},
{
"device": "rtl_1",
"demod_type": "fsk4",
"destination": "udp://127.0.0.1:23458",
"excess_bw": 0.2,
"filter_type": "rrc",
"if_rate": 24000,
"name": "DMR Voice Channel",
"plot": "fft",
"symbol_rate": 4800
}
],
"devices": [
{
"args": "rtl=0",
"frequency": 464500000,
"gains": "LNA:49",
"name": "rtl_0",
"offset": 0,
"ppm": 0.5,
"rate": 960000,
"tunable": false
},
{
"args": "rtl=1",
"frequency": 464500000,
"gains": "LNA:49",
"name": "rtl_1",
"offset": 0,
"ppm": 0.5,
"rate": 960000,
"tunable": true
}
],
"trunking": {
"module": "tk_trbo.py",
"chans": [
{
"lcn": 1,
"frequency": 462451000,
"cc": 5
},
{
"lcn": 2,
"frequency": 464726000,
"cc": 5
},
{
"lcn": 3,
"frequency": 464825000,
"cc": 5
},
{
"lcn": 4,
"frequency": 464825000,
"cc": 5
}
]
}
}

I've also attempted to run the example provided, but get the same error. thanks for any help.
p.s. sorry for opening up two issues in two days time.

Module not found. Using Manjaro

Trying to me op25 work with Manjaro returns:

Traceback (most recent call last):
File "./rx.py", line 54, in
import op25
ModuleNotFoundError: No module named 'op25'

Any fixes?

NBFM Squelch

Hello,

Writing to report an issue I'm having. Currently, I have a json config file with a channel set up for monitoring an analog channel and I have not been able to set the squelch so that the channel is unmuted at the appropriate squelch threshold. It is currently either always on with static and voice, or not on at all. I have tried changing the numbers in nbfm_squelch, and also in enable_analog tried between on, auto, and even off to see if the channel would behave as it should with audio only on voice and no static. Here is my current config file that I am testing this with. using enable_analog=on results in constant static when no voice, and enable_analog=auto results in no voice, even with what I see are appropriate squelch values, and I've even dropped the squelch really far down just to see if it would trigger and it never does. Thanks for nay help.

`{
"channels": [
{
"demod_type": "fsk4",
"device": "rtl_1",
"frequency": 154987500,
"demod_type": "fsk4",
"destination": "udp://127.0.0.1:23456",
"excess_bw": 0.2,
"filter_type": "rrc",
"if_rate": 24000,
"name": "Suwannee Fire Rescue DMR",
"plot": "fft",
"symbol_rate": 4800,
"enable_analog": "off"
},
{
"demod_type": "fsk4",
"device": "rtl_1",
"frequency": 155070000,
"demod_type": "fsk4",
"destination": "udp://127.0.0.1:23458",
"excess_bw": 0.2,
"filter_type": "widepulse",
"if_rate": 24000,
"name": "Suwannee Sheriff Analog",
"plot": "fft",
"symbol_rate": 4800,
"enable_analog": "on",
"nbfm_deviation": 4000,
"nbfm_squelch": -30
}

], 
"devices": [
    {
        "args": "rtl=1", 
        "frequency": 155200000, 
        "gains": "LNA:26", 
        "name": "rtl_1", 
        "offset": 0, 
        "ppm": 0.5, 
        "rate": 1024000, 
        "tunable": false
    }
    
]

}`

TGID TAG not showiing up in web interface

In the web interface coming with OP25 the TGID TAG is not being sent via the json.

in trunking.py

def to_json(self):
    d = {}
    d['syid'] = self.rfss_syid
    d['rfid'] = self.rfss_rfid
    d['stid'] = self.rfss_stid
    d['sysid'] = self.ns_syid
    d['rxchan'] = self.rfss_chan
    d['txchan'] = self.rfss_txchan
    d['wacn'] = self.ns_wacn
    d['secondary'] = self.secondary.keys()
    d['tsbks'] = self.stats['tsbks']
    d['frequencies'] = {}
    d['frequency_data'] = {}
    d['last_tsbk'] = self.last_tsbk
    t = time.time()
    for f in self.voice_frequencies.keys():
        self.voice_frequencies[f]['tgid'][1] = self.get_tag(self.voice_frequencies[f]['tgid'][0]);
        tgs = '%s %s' % (self.voice_frequencies[f]['tgid'][0], self.voice_frequencies[f]['tgid'][1])
        d['frequencies'][f] = 'voice frequency %f tgid(s) %s %4.1fs ago count %d' %  (f / 1000000.0, tgs, t - self.voice_frequencies[f]['time'], self.voice_frequencies[f]['counter'])

        d['frequency_data'][f] = {'tgids': self.voice_frequencies[f]['tgid'], 'last_activity': '%7.1f' % (t - self.voice_frequencies[f]['time']), 'counter': self.voice_frequencies[f]['counter']}
d['adjacent_data'] = self.adjacent_data
    return json.dumps(d)

added the line

self.voice_frequencies[f]['tgid'][1] = self.get_tag(self.voice_frequencies[f]['tgid'][0]);

to ensure TGID TAG gets sent to the web client.

Blacklist file loaded as whitelist

I configure a blacklist file with some talkgroup ids and have it configured in my trunk.tsv file. It loads and says the numbers are added and they are picked up and listened to instead of ignored.

How should this be configured or is there a bug?

Control channel stuck on 800.00000 Mhz with July 21, 2020 commit

For some reason, the July 22 (latest) commit introduced an issue where the control channel isn't read in or locked into what is in the configuration file. Bringing up the debug level doesn't reveal any clues. Reverting back to the prior version (July 18) restores service. I am using the rx.py way of calling OP25.
I am able to view the http page which has limited functionality since OP25 appears to be stuck on 800.00000 Mhz for the control channel. None of the plots are functional.

Request: Icecast2 integration - example files

Can you please add an example to feed audio to Icecast2.
From my reading of the docs they indicate I need to alter:
meta.json
op25.liq
icecast.xml

Great project.
Thanks for all the hard work!

Audio through http page ?

I view from my phone and control op25 in http local ip adress with port 8080 , but how to make audio push to http or make voice come through my phone that connected to http ip ????

Dongle USB minor movement/ interruption suspends program and requires restart

I have used OP25 with many different RTL dongles on many different computers with different versions of Ubuntu Linux and in all of them I had the same issue. Sometimes the USB extension cables move slightly interrupting the connection of the dongle to OP25 essentially stopping OP25 so the numbers no longer increment on the terminal window. Simply restarting OP25 would fix it, no need to touch the dongle at all. I would often not notice this right away because the stream would just be quiet with no indication other than visually looking at the terminal window of OP25.

I would super appreciate it if OP25 can attempt to reestablish connection on its own rather than me having to restart it.

Thank you for all that you do to OP25 I love this very much :)

suggestion for README-rpi3-liquidsoap

I just set up liquidsoap-->icecast2, and the readme might benefit from a couple of small additions.

  1. Instruct people to set the log level 3 in op25.liq.
    I'm guessing lots of people will get complaints from liquidsoap about fdkaac since it isn't in the raspbian repos and think that liquidsoap hangs since log 1 stops there. Alternatively, you could just increase the default log level to 3 in the original file

  2. Note that if you have op25.sh already working, you need to remove the -U parameter in addition to adding the -w. It's easy to miss. Ie.:
    "(In particular note the removal of -U and the new -w parameter, that allows liquid to connect)"

  3. Note that to test if liquidsoap-->icecast2 is working you must go to http://192.168.0.#:8000/op25 instead of just http://192.168.0.#:8000 (or localhost, or what have you).
    Having never used icecast before, I spent a lot of time troubleshooting something that was already working because I didn't realize that I needed to navigate to the actual mount point.

TypeError: __init__() got an unexpected keyword argument 'crypt_behavior'

I am getting the below error on startup on a fresh build of OP25 on Raspbian.

Traceback (most recent call last):
File "./rx.py", line 989, in
rx = rx_main()
File "./rx.py", line 901, in init
self.tb = p25_rx_block(self.options)
File "./rx.py", line 208, in init
self.open_usrp()
File "./rx.py", line 828, in open_usrp
self.__set_rx_from_osmosdr()
File "./rx.py", line 757, in __set_rx_from_osmosdr
self.__build_graph(self.src, capture_rate)
File "./rx.py", line 338, in __build_graph
self.trunk_rx = trunking.rx_ctl(frequency_set = self.change_freq, debug = self.options.verbosity, conf_file = self.options.trunk_conf_file, logfile_workers=logfile_workers, meta_update = self.meta_update, crypt_behavior = self.options.crypt_behavior)
TypeError: init() got an unexpected keyword argument 'crypt_behavior'

I was able to modify "./rx.py", line 338 to remove crypt_behavior = self.options.crypt_behavior
It runs fine without that last parameter. Obviously, this isn't the fix but at least it isolates the issue. Thanks.

Below is the modified line.
self.trunk_rx = trunking.rx_ctl(frequency_set = self.change_freq, debug = self.options.verbosity, conf_file = self.options.trunk_conf_file, logfile_workers=logfile_workers, meta_update = self.meta_update)

Missing HDU's

It seems like OP25 misses most (90%+) of the HDUs, I originally thought it was a SDR problem but I just purchased an airspy R2 and the issue persists. I found a duplicate issues in osmocom -> https://osmocom.org/issues/2172

Feature: Toggle Talk groups on and Off from Web Interface

Was thinking it would be nice to have a page that could be accessed from the web interface that lists the talk groups (and descriptions) that are in the whitelist with a checkbox next to them. Checking or unchecking the box would basically add or remove them from the whitelist. I haven't looked at the code, so this probably isn't as easy to implement as one might hope but figured I'd throw it out there.

OP25 Refresh rate on Raspberry Pi 3

I am finding the 1 Hz refresh rate very slow on my raspberry pi 3 B and was wondering if there was a way to increase it as I want.

I am only running OP25 on my Pi and it is using 20% of the cpu. I would like to increse the refresh rate at least to 2 Hz but up to 5 Hz.

Thank you

Feature: Radio ID (RID) Tag Mapping

Would be cool to be able to have Tag Mapping for RID's for P25
Show RID TAGS on program and make available for Icecast Stream as well.

eg.. RID.tsv would contain the following.

RID User
12345 678 Car 221

Instead of the RID showing in the program or icecast it would show "Car 221"

Thanks
Sonic

-L (x) flag throws traceback & 44 byte file written to log, program hang

attempting to log to disk via '-L (x)' causes .rx.py hang and traceback. timer continues to increment 'last seen' time, however remainder of terminal.py does NOT update.

`Allocating 15 zero-copy buffers
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "./rx.py", line 842, in run
self.callback(msg)
File "/home/christopher/op25/op25/gr-op25_repeater/apps/trunking.py", line 1068, in process_qmsg
self.logging_scheduler(curr_time)
File "/home/christopher/op25/op25/gr-op25_repeater/apps/trunking.py", line 1112, in logging_scheduler
diff = abs(tsys.center_frequency - frequency)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'long'

main: exception occurred
main: exception:
Traceback (most recent call last):
File "./rx.py", line 863, in run
time.sleep(1)
KeyboardInterrupt
`

removing -L (x) from command line runs program as normal.

Files built without respecting CFLAGS

 * QA Notice: Files built without respecting CFLAGS have been detected
 *  Please include the following list of files in your report:
 * /usr/bin/BER
 * /usr/bin/scan4sync
 * /usr/lib/python3.7/site-packages/op25_repeater/_op25_repeater_swig.so
 * /usr/lib64/libgnuradio-op25.so

CMakefile need to be fixed

Signal meter implementation

OP25 is a great software for digital trunking! I have even built my handheld scanner around it and works even better than my Uniden 436HP! Here's the link to my scanner project: https://www.facebook.com/groups/rtlsdrdongle/permalink/2374293155986104

Unfortunately, it doesn't have a signal meter (either in Db or a pictogram) to show us whether the signal is weak or strong. This could help a lot and find an ideal spot to mount an antenna for the best reception.

Also, if it is possible to have it outputted through GPIO pins (Raspberry Pi) so it is possible to monitor it with LEDs.

Thank you!

docker installation

would like to see a docker image for op25, which would solve dependency issues (python, gnuradio, rtlsdr) and make set up much easier

Python modules that are not byte-compiled

 * 
 * This package installs one or more Python modules that are not byte-compiled.
 * The following files are missing:
 * 
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/__init__.cpython-37.pyc
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/__init__.cpython-37.opt-1.pyc
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/__init__.cpython-37.opt-2.pyc
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/op25_repeater_swig.cpython-37.pyc
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/op25_repeater_swig.cpython-37.opt-1.pyc
 *   /usr/lib/python3.7/site-packages/op25_repeater/__pycache__/op25_repeater_swig.cpython-37.opt-2.pyc
 *   /usr/lib/python3.7/site-packages/op25/__pycache__/__init__.cpython-37.pyc
 *   /usr/lib/python3.7/site-packages/op25/__pycache__/__init__.cpython-37.opt-1.pyc
 *   /usr/lib/python3.7/site-packages/op25/__pycache__/__init__.cpython-37.opt-2.pyc
 * 
 * Please either fix the upstream build system to byte-compile Python modules
 * correctly, or call python_optimize after installing them.  For more
 * information, see:
 * https://wiki.gentoo.org/wiki/Project:Python/Byte_compiling

Talk group patching not supported p25p2

I was monitoring a police talk group on a p25p2 system. Then they needed to communicate with another department on a county wide mutual aid talk group during an incident. So dispatch "patched" them in to that other talk group which is within that same system and all communications actually took place on the mutual aid talk group. Op25 wouldn't receive anything because I don't have that talk group whitelisted. But my uniden scanners were still able to receive all radio traffic and would display the original talkgroup id. Once I whitelisted the mutual aid talkgroup on op25 it would receive it fine, but I can't keep it like that because other departments can also use it.

multi_rx sends audio to wireshark instead of P25 frames

I'm trying to use wireshark to read the raw P25 frames from a trunked TDMA Phase-2 system. If I use rx.py with the control frequency passed, I am able to get valid P25 frames in wireshark, but only Trunk Control type frames.

If I use multi_rx.py, it seems to send decoded audio to wireshark instead of the LDU1 and LDU2 frames. Wireshark is interpretting them as p25cai, but they have nonsense in the headers (including frame synchronization field). I also notice this in the terminal output:
op25_audio::open_socket(): enabled udp host(172.17.0.4), wireshark(23456), audio(23456)

I am able to record the audio on this system via trunk-recorder, so I'm fairly certain it's not a reception/hardware/driver on my side

Am I missing something obvious here? Is there a way to feed all P25 frames to wireshark from a trunked system?

feature: dmr encryption

Great job with this project.
I have a question.
Is it possible
to add dmr arc4 40 bit decryption functionality with a known key (not to crack!)?
What you think about that?

Terminal.py won't open after some time

I'm running op25 on a RPI3 using liquidsoap to stream to broadcastify.

Everything works great but I'm having a problem with monitoring the prgram.

I set op25.liq and op25.sh to run as services and use terminal.py to check on the status of the app.

from time to time terminal.py wont work anymore. When I try to run it it seems to load the application window and quickly closes.

I'm fairly new to linux so I don't know if theres any way to find any log related that might tell me where to look.

If I restart op25-rx.service then terminal.py starts working again.

GUI in web interface - OP25

Hey Boatbod, do you plan on adding more control options in the web interface of OP25? What I would really like to have is a way in implement zones much like you would on a radio. That way when I am traveling in my truck, I can select a different zone from the web interface. For example, when I am in my college town, I can just press that button and it will scan those towers and talkgroups. Then, when I go back home, I can press that zone button and it will scan those towers and groups.

Also maybe add a GUI for the whitelist and blacklist. For example, have buttons with the talkgroup names where you can "mute/unmute" them just by pressing a button.

Just some ideas! Wanted to hear your input! Thanks!

Random Tuning Error

When running rx.py the system will work for some time (typically hours) and then suddenly begin throwing the error: "p25_framer::rx_sym() tuning error +1200" repeatedly. This happens with no change to the tuning, antenna, or rx temperature. Stopping rx.py and restarting instantly fixes the issue, but the software will not recover without stopping and restarting. When working properly the constellation plot shows 4 tight groups where they belong. When malfunctioning, the constellation plot will show either a ring or ellipse.
screenshot at 2019-01-28 23 21 37
screenshot at 2019-01-29 00 00 14

Poor Audio Quality

Thank you for all the continuous development on this project, it has been a life saver. Been using it for a few years now.

I have some public feeds of p25 phase 2 tdma and wanted to try and improve their audio quality.

I am not sure exactly how to describe this. When I was using the "heavy" original OP25 version I seemed to have some good, easy to understand audio.

But now it's a bit different.

Right now I run 2 feeds off of a laptop they play into 2 separate simulated loop back devices. It was originally too low volume so through ./audio.py I set audio gain. This is where things I think got a little funky. I set it to 3 which is pretty high, but other wise can't hear a thing. It obviously clips sometimes. But not only that, when I look at recordings of it in audacity vs, a physical scanner recording files the scanner recordings look like they are quieter visually vs the OP25 ones which are very thick and tall. But I can hear them almost the same in volume, the OP25 ones seem to be maybe very bassy? I am not sure at all how to describe this, but if you have experienced you might understand.

In addition there would sometime be some loud chip noise at some transmissions.

Lastly sometimes a part of the transmission would get cut off, like there would be a transmission and a word in there would just go blank. Sometimes I can't hear short transmissions at all. This used to work great before, not sure what's happening now.

P25 Phase 2 is hard enough to understand when it's working perfectly, I have been comparing recordings and I saw that I have a hard time understanding what they are saying in some transmissions on OP25 but was able to understand just fine the same transmission on a scanner.

I love your OP25, and would love if you can look into some of these issues that I am having.
I might just be dumb and have messed something up, I don't know.

Thanks again for everything, I saw you started implementing patching, I really appreciate it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.