From ec99397c3ea057903fba8cf12e1360df0727baae Mon Sep 17 00:00:00 2001 From: Krzysztof Date: Sun, 23 Oct 2016 22:14:24 +0200 Subject: [PATCH] Initial Sphinx / ReadTheDocs.org configuration --- docs/Doxyfile | 12 ++ docs/Makefile | 177 +++++++++++++++++++++++++++ docs/_static/1.png | Bin 0 -> 11412 bytes docs/conf.py | 270 ++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 88 ++++++++++++++ docs/requirements.txt | 1 + 6 files changed, 548 insertions(+) create mode 100644 docs/Doxyfile create mode 100644 docs/Makefile create mode 100644 docs/_static/1.png create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 docs/requirements.txt diff --git a/docs/Doxyfile b/docs/Doxyfile new file mode 100644 index 0000000000..795bfa5e89 --- /dev/null +++ b/docs/Doxyfile @@ -0,0 +1,12 @@ +PROJECT_NAME = "ESP32 Programming Guide" +XML_OUTPUT = xml +GENERATE_LATEX = NO +GENERATE_MAN = NO +GENERATE_RTF = NO +CASE_SENSE_NAMES = NO +INPUT = ../components/driver/include +RECURSIVE = YES +QUIET = YES +JAVADOC_AUTOBRIEF = YES +GENERATE_HTML = NO +GENERATE_XML = YES \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..c04268ff1d --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,177 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ReadtheDocsTemplate.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ReadtheDocsTemplate.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/ReadtheDocsTemplate" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ReadtheDocsTemplate" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/_static/1.png b/docs/_static/1.png new file mode 100644 index 0000000000000000000000000000000000000000..4920892781f90c3db323f82033866c3f7116c073 GIT binary patch literal 11412 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
I-V-NX(N}q}D@(Dr+V{Hb>y4lN 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 U;S}7@z`(%Z>FVdQ&MBb@0LNnn&j0`b literal 0 HcmV?d00001 diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000..7c4614d458 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,270 @@ +# -*- coding: utf-8 -*- +# +# Read the Docs Template documentation build configuration file, created by +# sphinx-quickstart on Tue Aug 26 14:19:49 2014. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# run doxygen +# +# for implementation on readthedocs.org check +# https://github.com/rtfd/readthedocs.org/issues/388 +# +from subprocess import call +call('doxygen') + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['breathe'] + +# Breathe extension variables +breathe_projects = { "esp32-idf": "xml/" } +breathe_default_project = "esp32-idf" + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Read the Docs Template' +copyright = u'2014, Read the Docs' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ReadtheDocsTemplatedoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'ReadtheDocsTemplate.tex', u'Read the Docs Template Documentation', + u'Read the Docs', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'readthedocstemplate', u'Read the Docs Template Documentation', + [u'Read the Docs'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'ReadtheDocsTemplate', u'Read the Docs Template Documentation', + u'Read the Docs', 'ReadtheDocsTemplate', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000..f74a3acae1 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,88 @@ +.. Read the Docs Template documentation master file + +Welcome to ESP32 Programming Guide +================================== + + +Example C functions +------------------- + +.. c:function:: esp_err_t esp_wifi_get_ap_list (uint16_t *number, wifi_ap_list_t *ap_list) + +.. c:function:: esp_err_t esp_wifi_set_protocol (wifi_interface_t ifx, uint8_t protocol_bitmap) + + +Example C function integration +------------------------------ + +.. doxygenfunction:: esp_wifi_init +.. doxygenfunction:: esp_wifi_set_config + +.. doxygenfunction:: gpio_isr_register +.. doxygenfunction:: ledc_timer_set + + +Example C enum integration +-------------------------- + +.. doxygenenum:: wifi_auth_mode_t + + +Example C struct integration +---------------------------- + +.. doxygenstruct:: wifi_scan_config_t + :members: + + +Contents: + +.. About - TBA + +.. toctree:: + :caption: Toolchain Setup + :maxdepth: 1 + + windows-setup + linux-setup + macos-setup + eclipse-setup + +.. API Reference - TBA + +.. Technical Reference - TBA + +.. toctree:: + :caption: Debugging + :maxdepth: 1 + + openocd + +.. Resources - TBA + +.. toctree:: + :caption: Contribute + :maxdepth: 1 + + contributing + contributor-agreement + +.. toctree:: + :caption: Copyrights and Licenses + :maxdepth: 1 + + COPYRIGHT + +.. toctree:: + :caption: Flapping Documents + :maxdepth: 1 + + partition-tables + build_system + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000000..188f51e62d --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +breathe \ No newline at end of file