summaryrefslogtreecommitdiff
path: root/gr-pager/include/gnuradio
diff options
context:
space:
mode:
Diffstat (limited to 'gr-pager/include/gnuradio')
-rw-r--r--gr-pager/include/gnuradio/pager/CMakeLists.txt32
-rw-r--r--gr-pager/include/gnuradio/pager/api.h33
-rw-r--r--gr-pager/include/gnuradio/pager/flex_deinterleave.h51
-rw-r--r--gr-pager/include/gnuradio/pager/flex_frame.h48
-rw-r--r--gr-pager/include/gnuradio/pager/flex_parse.h52
-rw-r--r--gr-pager/include/gnuradio/pager/flex_sync.h49
-rw-r--r--gr-pager/include/gnuradio/pager/slicer_fb.h53
7 files changed, 318 insertions, 0 deletions
diff --git a/gr-pager/include/gnuradio/pager/CMakeLists.txt b/gr-pager/include/gnuradio/pager/CMakeLists.txt
new file mode 100644
index 0000000000..6577e7f4e6
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright 2012,2013 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.
+
+########################################################################
+# Install header files
+########################################################################
+install(FILES
+ api.h
+ flex_frame.h
+ slicer_fb.h
+ flex_deinterleave.h
+ flex_parse.h
+ flex_sync.h
+ DESTINATION ${GR_INCLUDE_DIR}/gnuradio/pager
+ COMPONENT "pager_devel"
+)
diff --git a/gr-pager/include/gnuradio/pager/api.h b/gr-pager/include/gnuradio/pager/api.h
new file mode 100644
index 0000000000..3d76e6761a
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/api.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2011 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.
+ */
+
+#ifndef INCLUDED_PAGER_API_H
+#define INCLUDED_PAGER_API_H
+
+#include <gnuradio/attributes.h>
+
+#ifdef gnuradio_pager_EXPORTS
+# define PAGER_API __GR_ATTR_EXPORT
+#else
+# define PAGER_API __GR_ATTR_IMPORT
+#endif
+
+#endif /* INCLUDED_PAGER_API_H */
diff --git a/gr-pager/include/gnuradio/pager/flex_deinterleave.h b/gr-pager/include/gnuradio/pager/flex_deinterleave.h
new file mode 100644
index 0000000000..2b0c4353d6
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/flex_deinterleave.h
@@ -0,0 +1,51 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,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.
+ */
+
+#ifndef INCLUDED_PAGER_FLEX_DEINTERLEAVE_H
+#define INCLUDED_PAGER_FLEX_DEINTERLEAVE_H
+
+#include <gnuradio/pager/api.h>
+#include <gnuradio/sync_decimator.h>
+
+namespace gr {
+ namespace pager {
+
+ /*!
+ * \brief flex deinterleave description
+ * \ingroup pager_blk
+ */
+ class PAGER_API flex_deinterleave : virtual public sync_decimator
+ {
+ public:
+ // gr::pager::flex_deinterleave::sptr
+ typedef boost::shared_ptr<flex_deinterleave> sptr;
+
+ /*!
+ * \brief Make flex deinterleaver
+ */
+ static sptr make();
+ };
+
+ } /* namespace pager */
+} /* namespace gr */
+
+#endif /* INCLUDED_PAGER_FLEX_DEINTERLEAVE_H */
diff --git a/gr-pager/include/gnuradio/pager/flex_frame.h b/gr-pager/include/gnuradio/pager/flex_frame.h
new file mode 100644
index 0000000000..7245c9a00c
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/flex_frame.h
@@ -0,0 +1,48 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,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.
+ */
+
+#ifndef INCLUDED_PAGER_FLEX_FRAME_H
+#define INCLUDED_PAGER_FLEX_FRAME_H
+
+#include <gnuradio/pager/api.h>
+#include <boost/shared_ptr.hpp>
+
+namespace gr {
+ namespace pager {
+
+ /*!
+ * \brief flex_frame.
+ * \ingroup pager_blk
+ */
+ class PAGER_API flex_frame
+ {
+ public:
+ // gr::pager::flex_frame::sptr
+ typedef boost::shared_ptr<flex_frame> sptr;
+
+ static sptr make();
+ };
+
+ } /* namespace pager */
+} /* namespace gr */
+
+#endif /* INCLUDED_PAGER_FLEX_FRAME_H */
diff --git a/gr-pager/include/gnuradio/pager/flex_parse.h b/gr-pager/include/gnuradio/pager/flex_parse.h
new file mode 100644
index 0000000000..42adaff6e0
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/flex_parse.h
@@ -0,0 +1,52 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,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.
+ */
+
+#ifndef INCLUDED_PAGER_FLEX_PARSE_H
+#define INCLUDED_PAGER_FLEX_PARSE_H
+
+#include <gnuradio/pager/api.h>
+#include <gnuradio/sync_block.h>
+#include <gnuradio/msg_queue.h>
+#include <sstream>
+
+namespace gr {
+ namespace pager {
+
+#define FIELD_DELIM ((unsigned char)128)
+
+ /*!
+ * \brief flex parse description
+ * \ingroup pager_blk
+ */
+ class PAGER_API flex_parse : virtual public sync_block
+ {
+ public:
+ // gr::pager::flex_parse::sptr
+ typedef boost::shared_ptr<flex_parse> sptr;
+
+ static sptr make(msg_queue::sptr queue, float freq);
+ };
+
+ } /* namespace pager */
+} /* namespace gr */
+
+#endif /* INCLUDED_PAGER_FLEX_PARSE_H */
diff --git a/gr-pager/include/gnuradio/pager/flex_sync.h b/gr-pager/include/gnuradio/pager/flex_sync.h
new file mode 100644
index 0000000000..54c3d827a2
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/flex_sync.h
@@ -0,0 +1,49 @@
+/* -*- c++ -*- */
+/*
+ * 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 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.
+ */
+
+#ifndef INCLUDED_PAGER_FLEX_SYNC_H
+#define INCLUDED_PAGER_FLEX_SYNC_H
+
+#include <gnuradio/pager/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+ namespace pager {
+
+ /*!
+ * \brief flex sync description
+ * \ingroup pager_blk
+ */
+ class PAGER_API flex_sync : virtual public block
+ {
+ public:
+ // gr::pager::flex_sync::sptr
+ typedef boost::shared_ptr<flex_sync> sptr;
+
+ static sptr make();
+
+ };
+
+ } /* namespace pager */
+} /* namespace gr */
+
+#endif /* INCLUDED_PAGER_FLEX_SYNC_H */
diff --git a/gr-pager/include/gnuradio/pager/slicer_fb.h b/gr-pager/include/gnuradio/pager/slicer_fb.h
new file mode 100644
index 0000000000..6f01a254c3
--- /dev/null
+++ b/gr-pager/include/gnuradio/pager/slicer_fb.h
@@ -0,0 +1,53 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2007,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.
+ */
+
+#ifndef INCLUDED_PAGER_SLICER_FB_H
+#define INCLUDED_PAGER_SLICER_FB_H
+
+#include <gnuradio/pager/api.h>
+#include <gnuradio/sync_block.h>
+
+namespace gr {
+ namespace pager {
+
+ /*!
+ * \brief slicer description
+ * \ingroup pager_blk
+ */
+ class PAGER_API slicer_fb : virtual public sync_block
+ {
+ public:
+ // gr::pager::slicer_fb::sptr
+ typedef boost::shared_ptr<slicer_fb> sptr;
+
+ /*!
+ * \brief Make a pager slicer
+ */
+ static sptr make(float alpha);
+
+ virtual float dc_offset() const = 0;
+ };
+
+ } /* namespace pager */
+} /* namespace gr */
+
+#endif /* INCLUDED_PAGER_SLICER_FB_H */