From d8058406fa93becbfd8f5cbde0e96363e190d9ba Mon Sep 17 00:00:00 2001
From: Josh Morman <mormjb@gmail.com>
Date: Thu, 23 Apr 2020 07:54:44 -0400
Subject: analog: add pybind11 bindings

---
 gr-analog/python/analog/bindings/cpm_python.cc | 46 ++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 gr-analog/python/analog/bindings/cpm_python.cc

(limited to 'gr-analog/python/analog/bindings/cpm_python.cc')

diff --git a/gr-analog/python/analog/bindings/cpm_python.cc b/gr-analog/python/analog/bindings/cpm_python.cc
new file mode 100644
index 0000000000..83786019b0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/cpm_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/cpm.h>
+// pydoc.h is automatically generated in the build directory
+#include <cpm_pydoc.h>
+
+void bind_cpm(py::module& m)
+{
+
+    using cpm = ::gr::analog::cpm;
+
+    py::class_<cpm, std::shared_ptr<cpm>> cpm_class(m, "cpm");
+
+
+    py::enum_<gr::analog::cpm::cpm_type>(cpm_class, "cpm_type")
+        .value("LRC", gr::analog::cpm::LRC)           // 0
+        .value("LSRC", gr::analog::cpm::LSRC)         // 1
+        .value("LREC", gr::analog::cpm::LREC)         // 2
+        .value("TFM", gr::analog::cpm::TFM)           // 3
+        .value("GAUSSIAN", gr::analog::cpm::GAUSSIAN) // 4
+        .value("GENERIC", gr::analog::cpm::GENERIC)   // 999
+        .export_values();
+
+    cpm_class.def_static("phase_response",
+                         &cpm::phase_response,
+                         py::arg("type"),
+                         py::arg("samples_per_sym"),
+                         py::arg("L"),
+                         py::arg("beta") = 0.3,
+                         D(cpm, phase_response));
+}
-- 
cgit v1.2.3