diff options
author | Dimitri Stolnikov <horiz0n@gmx.net> | 2013-04-28 12:41:35 +0200 |
---|---|---|
committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2013-04-28 12:46:03 +0200 |
commit | a31ea525fb8439b3708b8f4124ac99994ff7a978 (patch) | |
tree | 4906b0256fb03e5a02dbb310b77d311027e11bae /apps/osmocom_siggen | |
parent | a5bdb272402fb012c0a97556cf50a69128e4c573 (diff) |
apps: add spectrum browser and signal generator
usage examples:
osmocom_fft -a "rtl=0" -f 100e6 -s 2.4e6 -g 15
osmocom_siggen_gui -a "hackrf=0" -s 5e6 -f 100e6 --sine
osmocom_siggen_gui -a "hackrf=0" -s 5e6 -f 100e6 --sweep -x 2M -y 1 -c34
known issues:
- switching between siggen modes is broken at the moment (WIP) and has
to be made via cli switches only.
- filter bandwidth controls have no effect for TX (this has to be
investigated)
Diffstat (limited to 'apps/osmocom_siggen')
-rwxr-xr-x | apps/osmocom_siggen | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/apps/osmocom_siggen b/apps/osmocom_siggen new file mode 100755 index 0000000..0283fcf --- /dev/null +++ b/apps/osmocom_siggen @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# +# Copyright 2008,2009,2011,2012 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +from gnuradio import gr +from osmosdr import osmocom_siggen_base as osmocom_siggen +import sys + +def main(): + if gr.enable_realtime_scheduling() != gr.RT_OK: + print "Note: failed to enable realtime scheduling, continuing" + + # Grab command line options and create top block + try: + (options, args) = osmocom_siggen.get_options() + tb = osmocom_siggen.top_block(options, args) + + except RuntimeError, e: + print e + sys.exit(1) + + tb.start() + raw_input('Press Enter to quit: ') + tb.stop() + tb.wait() + +# Make sure to create the top block (tb) within a function: +# That code in main will allow tb to go out of scope on return, +# which will call the decontructor on usrp and stop transmit. +# Whats odd is that grc works fine with tb in the __main__, +# perhaps its because the try/except clauses around tb. +if __name__ == "__main__": + main() |