summaryrefslogtreecommitdiff
path: root/gr-guile/apps
diff options
context:
space:
mode:
authorEric Blossom2010-11-13 16:19:48 -0800
committerEric Blossom2010-11-13 16:19:48 -0800
commitabde5affda1533c518cce06d5edcffa4eda52340 (patch)
treeae4bc874f5af57bfe1871111f1cf9e3f601860c8 /gr-guile/apps
parentcefeb248677decabaeccff7ba2a526343baa215a (diff)
downloadgnuradio-abde5affda1533c518cce06d5edcffa4eda52340.tar.gz
gnuradio-abde5affda1533c518cce06d5edcffa4eda52340.tar.bz2
gnuradio-abde5affda1533c518cce06d5edcffa4eda52340.zip
dail-tone.wfd example waveform can be loaded and run by gr-run-waveform.
Write new app, gr-run-waveform, that reads waveforms and runs them. We'll need to turn this into a small piece of C/C++ code that embeds guile, but the guts of it is working.
Diffstat (limited to 'gr-guile/apps')
-rw-r--r--gr-guile/apps/.gitignore6
-rw-r--r--gr-guile/apps/Makefile.am23
-rw-r--r--gr-guile/apps/README2
-rwxr-xr-xgr-guile/apps/gr-run-waveform64
4 files changed, 95 insertions, 0 deletions
diff --git a/gr-guile/apps/.gitignore b/gr-guile/apps/.gitignore
new file mode 100644
index 000000000..16c984055
--- /dev/null
+++ b/gr-guile/apps/.gitignore
@@ -0,0 +1,6 @@
+/Makefile
+/Makefile.in
+/.deps
+/.libs
+/*.la
+/*.lo
diff --git a/gr-guile/apps/Makefile.am b/gr-guile/apps/Makefile.am
new file mode 100644
index 000000000..7e4c3c2c4
--- /dev/null
+++ b/gr-guile/apps/Makefile.am
@@ -0,0 +1,23 @@
+#
+# Copyright 2010 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 this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+include $(top_srcdir)/Makefile.common
+
+bin_SCRIPTS = \
+ gr-run-waveform
diff --git a/gr-guile/apps/README b/gr-guile/apps/README
new file mode 100644
index 000000000..703146bd4
--- /dev/null
+++ b/gr-guile/apps/README
@@ -0,0 +1,2 @@
+This applications will not run from the build tree. They must be
+installed first using "make install"
diff --git a/gr-guile/apps/gr-run-waveform b/gr-guile/apps/gr-run-waveform
new file mode 100755
index 000000000..a8d1d0389
--- /dev/null
+++ b/gr-guile/apps/gr-run-waveform
@@ -0,0 +1,64 @@
+#!/usr/bin/guile \
+-e main -s
+!#
+;;;
+;;; Copyright 2010 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 this program. If not, see <http://www.gnu.org/licenses/>.
+;;;
+
+;;; Load and run a waveform defined with define-waveform
+;;;
+;;; usage: gr-run-waveform filename.wfd
+
+
+(use-modules (oop goops)
+ (gnuradio core)
+ (gnuradio waveform))
+
+
+(define (enable-debug-mode)
+ (display %load-path)
+ (newline)
+ (set! %load-verbosely #t)
+ (debug-enable 'backtrace 'debug))
+
+(define (usage args)
+ (let ((port (current-error-port)))
+ (display "usage: " port)
+ (display (car args) port)
+ (newline port)
+ (exit 1)))
+
+
+(define (main args)
+ (if (not (>= (length args) 2))
+ (usage args))
+ (enable-debug-mode)
+ (let ((filename (cadr args)))
+ ;; Probably ought to handle errors here
+ (load filename)
+ (let ((f (waveform-last-registered)))
+ (if (not f)
+ (begin
+ (format 1 "No define-waveform found in file '~A'\n" filename)
+ (exit 1)))
+ (gr:run (f (cdr args))))))
+
+
+;;; Local Variables:
+;;; mode: scheme
+;;; End: