summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/guile
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src/guile')
-rw-r--r--gnuradio-core/src/guile/Makefile.am4
-rw-r--r--gnuradio-core/src/guile/example-waveforms/.gitignore6
-rw-r--r--gnuradio-core/src/guile/example-waveforms/Makefile.am28
-rw-r--r--gnuradio-core/src/guile/example-waveforms/dial-tone.wfd40
-rwxr-xr-xgnuradio-core/src/guile/gnuradio/scripts/gr-run-waveform.in40
5 files changed, 118 insertions, 0 deletions
diff --git a/gnuradio-core/src/guile/Makefile.am b/gnuradio-core/src/guile/Makefile.am
index 50d46411a..447500b46 100644
--- a/gnuradio-core/src/guile/Makefile.am
+++ b/gnuradio-core/src/guile/Makefile.am
@@ -28,6 +28,9 @@ EXTRA_DIST += \
$(nobase_guile_DATA) \
$(GUILE_TESTS)
+
+SUBDIRS = example-waveforms
+
# These are the hand-coded guile files for gnuradio-core.
#
# Swig/common.scm is glue that's required for the goops wrappers.
@@ -42,6 +45,7 @@ nobase_guile_DATA = \
gnuradio/runtime-shim.scm \
gnuradio/waveform.scm \
gnuradio/run-waveform.scm \
+ gnuradio/scripts/gr-run-waveform \
gnuradio/test-suite/guile-test \
gnuradio/test-suite/lib.scm
diff --git a/gnuradio-core/src/guile/example-waveforms/.gitignore b/gnuradio-core/src/guile/example-waveforms/.gitignore
new file mode 100644
index 000000000..16c984055
--- /dev/null
+++ b/gnuradio-core/src/guile/example-waveforms/.gitignore
@@ -0,0 +1,6 @@
+/Makefile
+/Makefile.in
+/.deps
+/.libs
+/*.la
+/*.lo
diff --git a/gnuradio-core/src/guile/example-waveforms/Makefile.am b/gnuradio-core/src/guile/example-waveforms/Makefile.am
new file mode 100644
index 000000000..277b4ad0b
--- /dev/null
+++ b/gnuradio-core/src/guile/example-waveforms/Makefile.am
@@ -0,0 +1,28 @@
+#
+# 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
+
+waveformdir=$(datarootdir)/gnuradio/example-waveforms
+
+waveform_DATA = \
+ dial-tone.wfd
+
+EXTRA_DIST += \
+ dial-tone.wfd
diff --git a/gnuradio-core/src/guile/example-waveforms/dial-tone.wfd b/gnuradio-core/src/guile/example-waveforms/dial-tone.wfd
new file mode 100644
index 000000000..ced3df572
--- /dev/null
+++ b/gnuradio-core/src/guile/example-waveforms/dial-tone.wfd
@@ -0,0 +1,40 @@
+;;; Emacs, format this using -*-scheme-*- mode.
+;;;
+;;; 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/>.
+;;;
+
+;;; This example waveform outputs a signal to an audio_alsa_sink
+;;; that sounds like North American dial tone.
+
+(use-modules (gnuradio audio_alsa))
+
+
+(define-waveform (dial-tone cmd-line-args)
+ (vars
+ (sample-rate 48000)
+ (ampl 0.1))
+
+ (blocks
+ (src0 (gr:sig-source-f sample-rate (gr:GR-SIN-WAVE) 350 ampl))
+ (src1 (gr:sig-source-f sample-rate (gr:GR-SIN-WAVE) 440 ampl))
+ (sink (gr:audio-alsa-sink sample-rate "plughw:0,0"))
+ )
+
+ (connections
+ (src0 (list sink 0)) ; src0 to left input
+ (src1 (list sink 1)))) ; src1 to right input
diff --git a/gnuradio-core/src/guile/gnuradio/scripts/gr-run-waveform.in b/gnuradio-core/src/guile/gnuradio/scripts/gr-run-waveform.in
new file mode 100755
index 000000000..8186d2e09
--- /dev/null
+++ b/gnuradio-core/src/guile/gnuradio/scripts/gr-run-waveform.in
@@ -0,0 +1,40 @@
+#!@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 [args...]
+
+(load-from-path "gnuradio/run-waveform")
+
+(define (main args)
+ (if (not (>= (length args) 2))
+ (let ((port (current-error-port)))
+ (display "usage: " port)
+ (display (car args) port)
+ (display " filename.wfd [args...]\n" port)
+ (exit 1)))
+ (apply run-waveform (cdr args)))
+
+;;; Local Variables:
+;;; mode: scheme
+;;; End: