summaryrefslogtreecommitdiff
path: root/gnuradio-examples/c++/dial_tone
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-examples/c++/dial_tone')
-rw-r--r--gnuradio-examples/c++/dial_tone/Makefile.am48
-rw-r--r--gnuradio-examples/c++/dial_tone/dial_tone.cc45
-rw-r--r--gnuradio-examples/c++/dial_tone/dial_tone.h33
-rw-r--r--gnuradio-examples/c++/dial_tone/main.cc38
4 files changed, 164 insertions, 0 deletions
diff --git a/gnuradio-examples/c++/dial_tone/Makefile.am b/gnuradio-examples/c++/dial_tone/Makefile.am
new file mode 100644
index 0000000000..7bc8c504b5
--- /dev/null
+++ b/gnuradio-examples/c++/dial_tone/Makefile.am
@@ -0,0 +1,48 @@
+#
+# Copyright 2006 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 2, 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.
+#
+
+include $(top_srcdir)/Makefile.common
+
+# For compiling within the GNU Radio build tree
+INCLUDES=$(STD_DEFINES_AND_INCLUDES) \
+ -I$(top_srcdir)/gr-audio-alsa/src
+
+GR_AUDIO_ALSA_LIBS=$(top_builddir)/gr-audio-alsa/src/libgr_audio_alsa.la
+
+# For compiling outside the tree, these are the usual
+# INCLUDES = -I/usr/local/include -I/usr/local/include/gnuradio
+# GNURADIO_CORE_LIBS = -lgnuradio-core
+# GR_AUDIO_ALSA_LIBS = -lgr_audio_alsa
+
+noinst_PROGRAMS = dial_tone
+
+noinst_HEADERS = \
+ dial_tone.h
+
+dial_tone_SOURCES = \
+ dial_tone.cc \
+ main.cc
+
+dial_tone_LDADD = \
+ $(GNURADIO_CORE_LIBS) \
+ $(GR_AUDIO_ALSA_LIBS)
+
+MOSTLYCLEANFILES = *~
diff --git a/gnuradio-examples/c++/dial_tone/dial_tone.cc b/gnuradio-examples/c++/dial_tone/dial_tone.cc
new file mode 100644
index 0000000000..ecd46cddec
--- /dev/null
+++ b/gnuradio-examples/c++/dial_tone/dial_tone.cc
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2006 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 2, 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.
+ */
+
+#include <dial_tone.h>
+#include <gr_io_signature.h>
+#include <gr_sig_source_f.h>
+#include <audio_alsa_sink.h>
+
+// Shared pointer constructor
+dial_tone_sptr make_dial_tone()
+{
+ return dial_tone_sptr(new dial_tone());
+}
+
+// Hierarchical block constructor, with no inputs or outputs
+dial_tone::dial_tone() :
+gr_hier_block2("dial_tone",
+ gr_make_io_signature(0,0,0),
+ gr_make_io_signature(0,0,0))
+{
+ define_component("source0", gr_make_sig_source_f(48000, GR_SIN_WAVE, 350, 0.1));
+ define_component("source1", gr_make_sig_source_f(48000, GR_SIN_WAVE, 440, 0.1));
+ define_component("sink", audio_alsa_make_sink(48000));
+
+ connect("source0", 0, "sink", 0);
+ connect("source1", 0, "sink", 1);
+}
diff --git a/gnuradio-examples/c++/dial_tone/dial_tone.h b/gnuradio-examples/c++/dial_tone/dial_tone.h
new file mode 100644
index 0000000000..0cd27a05f5
--- /dev/null
+++ b/gnuradio-examples/c++/dial_tone/dial_tone.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2006 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 2, 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.
+ */
+
+#include <gr_hier_block2.h>
+
+class dial_tone;
+typedef boost::shared_ptr<dial_tone> dial_tone_sptr;
+dial_tone_sptr make_dial_tone();
+
+class dial_tone : public gr_hier_block2
+{
+private:
+ dial_tone();
+ friend dial_tone_sptr make_dial_tone();
+};
diff --git a/gnuradio-examples/c++/dial_tone/main.cc b/gnuradio-examples/c++/dial_tone/main.cc
new file mode 100644
index 0000000000..1fcfa15ba3
--- /dev/null
+++ b/gnuradio-examples/c++/dial_tone/main.cc
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2006 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 2, 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.
+ */
+
+// GNU Radio C++ application
+//
+// Instantiate a top block
+// Instantiate a runtime, passing it the top block
+// Tell the runtime to go...
+
+#include <dial_tone.h>
+#include <gr_runtime.h>
+
+int main()
+{
+ dial_tone_sptr top_block = make_dial_tone();
+ gr_runtime_sptr runtime = gr_make_runtime(top_block);
+
+ runtime->run();
+ return 0;
+}