summaryrefslogtreecommitdiff
path: root/docs/sphinx/source/analog
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sphinx/source/analog')
-rw-r--r--docs/sphinx/source/analog/get_blocks.py106
-rw-r--r--docs/sphinx/source/analog/index.rst61
-rw-r--r--docs/sphinx/source/analog/level_controllers_blk.rst13
-rw-r--r--docs/sphinx/source/analog/measurement_tools_blk.rst6
-rw-r--r--docs/sphinx/source/analog/modulators_blk.rst8
-rw-r--r--docs/sphinx/source/analog/peak_detectors_blk.rst4
-rw-r--r--docs/sphinx/source/analog/synchronizers_blk.rst6
7 files changed, 204 insertions, 0 deletions
diff --git a/docs/sphinx/source/analog/get_blocks.py b/docs/sphinx/source/analog/get_blocks.py
new file mode 100644
index 0000000000..a288393132
--- /dev/null
+++ b/docs/sphinx/source/analog/get_blocks.py
@@ -0,0 +1,106 @@
+"""
+This script regenerates the gnuradio.blocks sphinx source code.
+"""
+
+from gnuradio import analog
+import sys
+import os
+
+doxyxml_location = os.path.abspath("../../../doxygen")
+xml_location = os.path.abspath("../../../../build/docs/doxygen/xml/")
+sys.path.append(doxyxml_location)
+
+from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, DoxyGroup
+from doxyxml import DoxyOther, base
+
+class Block(object):
+ """
+ Checks if doxyxml produced objects correspond to a new style
+ gnuradio block.
+ """
+
+ @classmethod
+ def includes(cls, item):
+ if not isinstance(item, DoxyClass):
+ return False
+ # Check for a parsing error.
+ if item.error():
+ return False
+ is_a_block = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther)
+ return is_a_block
+
+class Group(object):
+ """
+ Checks if doxyxml produced objects correspond to a group.
+ """
+
+ @classmethod
+ def includes(cls, item):
+ if not isinstance(item, DoxyGroup):
+ return False
+ # Check for a parsing error.
+ if item.error():
+ return False
+ return True
+
+def main():
+ di = DoxyIndex(xml_location)
+ blocks = di.in_category(Block)
+ analog_blocks = []
+ for block in blocks:
+ if block.name().startswith("gr::analog::"):
+ analog_blocks.append(block)
+
+ all_grouped_blocks = []
+ groups = di.in_category(Group)
+ groupinfo = []
+ for group in groups:
+ contains_analog_blocks = False
+ block_list = []
+ members = group.members()
+ for member in members:
+ if member.name().startswith("gr::analog"):
+ all_grouped_blocks.append(member)
+ if not contains_analog_blocks:
+ contains_analog_blocks = True
+ groupinfo.append((group.name(), group.title, block_list))
+ block_list.append(member)
+
+ for block in analog_blocks:
+ if block not in all_grouped_blocks:
+ print("Didn't find block {0}".format(block.name()))
+
+ blockindex = ["""gnuradio.analog
+===============
+
+.. automodule:: gnuradio.analog"""]
+ for groupname, grouptitle, blocks in groupinfo:
+ blockindex.append("")
+ blockindex.append(grouptitle)
+ blockindex.append('-'*len(grouptitle))
+ blockindex.append("""
+.. autosummary::
+ :nosignatures:
+""")
+ for block in blocks:
+ blockindex.append(" gnuradio.analog.{0}".format(
+ block.name()[len("gr::analog::"):]))
+ grouppage = []
+ title = "gnuradio.analog: {0}".format(grouptitle)
+ grouppage.append(title)
+ grouppage.append('='*len(title))
+ grouppage.append('')
+ for block in blocks:
+ shortname = block.name()[len("gr::analog::"):]
+ grouppage.append(".. autoblock:: gnuradio.analog.{0}".format(shortname))
+ text = '\n'.join(grouppage)
+ f = open("{0}.rst".format(groupname), 'w')
+ f.write(text)
+ f.close()
+ text = "\n".join(blockindex)
+ f = open("index.rst", 'w')
+ f.write(text)
+ f.close()
+
+if __name__ == '__main__':
+ main()
diff --git a/docs/sphinx/source/analog/index.rst b/docs/sphinx/source/analog/index.rst
new file mode 100644
index 0000000000..668247cab3
--- /dev/null
+++ b/docs/sphinx/source/analog/index.rst
@@ -0,0 +1,61 @@
+gnuradio.analog
+===============
+
+.. automodule:: gnuradio.analog
+
+Level Controllers
+-----------------
+
+.. autosummary::
+ :nosignatures:
+
+ gnuradio.analog.agc_cc
+ gnuradio.analog.agc2_cc
+ gnuradio.analog.agc2_ff
+ gnuradio.analog.agc_ff
+ gnuradio.analog.ctcss_squelch_ff
+ gnuradio.analog.feedforward_agc_cc
+ gnuradio.analog.pwr_squelch_cc
+ gnuradio.analog.pwr_squelch_ff
+ gnuradio.analog.rail_ff
+ gnuradio.analog.simple_squelch_cc
+
+Measurement Tools
+-----------------
+
+.. autosummary::
+ :nosignatures:
+
+ gnuradio.analog.probe_avg_mag_sqrd_c
+ gnuradio.analog.probe_avg_mag_sqrd_cf
+ gnuradio.analog.probe_avg_mag_sqrd_f
+
+Modulators and Demodulators
+---------------------------
+
+.. autosummary::
+ :nosignatures:
+
+ gnuradio.analog.cpfsk_bc
+ gnuradio.analog.fmdet_cf
+ gnuradio.analog.frequency_modulator_fc
+ gnuradio.analog.phase_modulator_fc
+ gnuradio.analog.quadrature_demod_cf
+
+Peak Detectors
+--------------
+
+.. autosummary::
+ :nosignatures:
+
+ gnuradio.analog.dpll_bb
+
+Synchronizers
+-------------
+
+.. autosummary::
+ :nosignatures:
+
+ gnuradio.analog.pll_carriertracking_cc
+ gnuradio.analog.pll_freqdet_cf
+ gnuradio.analog.pll_refout_cc
diff --git a/docs/sphinx/source/analog/level_controllers_blk.rst b/docs/sphinx/source/analog/level_controllers_blk.rst
new file mode 100644
index 0000000000..738535d207
--- /dev/null
+++ b/docs/sphinx/source/analog/level_controllers_blk.rst
@@ -0,0 +1,13 @@
+gnuradio.analog: Level Controllers
+==================================
+
+.. autoblock:: gnuradio.analog.agc_cc
+.. autoblock:: gnuradio.analog.agc2_cc
+.. autoblock:: gnuradio.analog.agc2_ff
+.. autoblock:: gnuradio.analog.agc_ff
+.. autoblock:: gnuradio.analog.ctcss_squelch_ff
+.. autoblock:: gnuradio.analog.feedforward_agc_cc
+.. autoblock:: gnuradio.analog.pwr_squelch_cc
+.. autoblock:: gnuradio.analog.pwr_squelch_ff
+.. autoblock:: gnuradio.analog.rail_ff
+.. autoblock:: gnuradio.analog.simple_squelch_cc
diff --git a/docs/sphinx/source/analog/measurement_tools_blk.rst b/docs/sphinx/source/analog/measurement_tools_blk.rst
new file mode 100644
index 0000000000..be9accc7e5
--- /dev/null
+++ b/docs/sphinx/source/analog/measurement_tools_blk.rst
@@ -0,0 +1,6 @@
+gnuradio.analog: Measurement Tools
+==================================
+
+.. autoblock:: gnuradio.analog.probe_avg_mag_sqrd_c
+.. autoblock:: gnuradio.analog.probe_avg_mag_sqrd_cf
+.. autoblock:: gnuradio.analog.probe_avg_mag_sqrd_f \ No newline at end of file
diff --git a/docs/sphinx/source/analog/modulators_blk.rst b/docs/sphinx/source/analog/modulators_blk.rst
new file mode 100644
index 0000000000..3e9f279271
--- /dev/null
+++ b/docs/sphinx/source/analog/modulators_blk.rst
@@ -0,0 +1,8 @@
+gnuradio.analog: Modulators and Demodulators
+============================================
+
+.. autoblock:: gnuradio.analog.cpfsk_bc
+.. autoblock:: gnuradio.analog.fmdet_cf
+.. autoblock:: gnuradio.analog.frequency_modulator_fc
+.. autoblock:: gnuradio.analog.phase_modulator_fc
+.. autoblock:: gnuradio.analog.quadrature_demod_cf
diff --git a/docs/sphinx/source/analog/peak_detectors_blk.rst b/docs/sphinx/source/analog/peak_detectors_blk.rst
new file mode 100644
index 0000000000..3105202c2a
--- /dev/null
+++ b/docs/sphinx/source/analog/peak_detectors_blk.rst
@@ -0,0 +1,4 @@
+gnuradio.analog: Peak Detectors
+===============================
+
+.. autoblock:: gnuradio.analog.dpll_bb \ No newline at end of file
diff --git a/docs/sphinx/source/analog/synchronizers_blk.rst b/docs/sphinx/source/analog/synchronizers_blk.rst
new file mode 100644
index 0000000000..938b24ad61
--- /dev/null
+++ b/docs/sphinx/source/analog/synchronizers_blk.rst
@@ -0,0 +1,6 @@
+gnuradio.analog: Synchronizers
+==============================
+
+.. autoblock:: gnuradio.analog.pll_carriertracking_cc
+.. autoblock:: gnuradio.analog.pll_freqdet_cf
+.. autoblock:: gnuradio.analog.pll_refout_cc \ No newline at end of file