docs: readthedocs.org support
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Torrie Fischer 2023-03-04 13:16:17 +01:00
parent 194f65967f
commit 74c2ddb405
15 changed files with 130 additions and 1 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ bin/*
Pipfile.lock
html
latex
xml

4
.readthedocs.yaml Normal file
View File

@ -0,0 +1,4 @@
version: 2
conda:
environment: docs/conda.yml

View File

@ -17,3 +17,7 @@ pipeline:
image: python
- pip install -U platformio
- pio check -e esp8266 -e esp32 --skip-packages --severity medium --severity high --pattern 'src' --pattern 'lib/Figments' --fail-on-defect high
docs:
image: python
- pip install -U breathe sphinx
- cd docs && sphinx

View File

@ -2094,7 +2094,7 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation.
# The default value is: NO.
GENERATE_XML = NO
GENERATE_XML = YES
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of

View File

@ -5,6 +5,9 @@ name = "pypi"
[packages]
platformio = "*"
sphinx = "*"
breathe = "*"
sphinx-rtd-theme = "*"
[dev-packages]

View File

@ -1,5 +1,8 @@
# Renderbug: An embedded art engine
[![Documentation Status](https://readthedocs.org/projects/renderbug/badge/?version=latest)](https://renderbug.readthedocs.io/en/latest/?badge=latest)
[![Build Status](http://woodpecker.cloud.malloc.hackerbots.net:8000/api/badges/tdfischer/renderbug/status.svg)](http://woodpecker.cloud.malloc.hackerbots.net:8000/tdfischer/renderbug)
Renderbug is a fast, efficient, and beautiful LED art engine for the ESP32 and
other chipsets that are able to talk to WS2812b (aka Neopixel) RGB LEDs.

1
docs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
_build

20
docs/Makefile Normal file
View File

@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

0
docs/_static/.gitkeep vendored Normal file
View File

0
docs/_templates/.gitkeep vendored Normal file
View File

7
docs/conda.yml Normal file
View File

@ -0,0 +1,7 @@
name: renderbug-docs
channels:
- conda-forge
dependencies:
- breathe

50
docs/conf.py Normal file
View File

@ -0,0 +1,50 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'Renderbug'
copyright = '2023, Victoria Fierce'
author = 'Victoria Fierce'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = ['breathe', 'sphinx_rtd_theme']
breathe_projects = {"renderbug": "../xml"}
breathe_default_project = "renderbug"
templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'sphinx_rtd_theme'
html_static_path = ['_static']
import subprocess, sys, os
def generate_doxygen_xml(app):
read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
if read_the_docs_build:
try:
retcode = subprocess.call("cd ../; doxygen", shell=True)
if retcode < 0:
sys.stderr.write("doxygen terminated by signal %s" % (-retcode))
except OSError as e:
sys.stderr.write("doxygen execution failed: %s" % e)
def setup(app):
# Add hook for building doxygen xml when needed
app.connect("builder-inited", generate_doxygen_xml)

24
docs/index.rst Normal file
View File

@ -0,0 +1,24 @@
.. Renderbug documentation master file, created by
sphinx-quickstart on Sat Mar 4 13:04:23 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Renderbug's documentation!
=====================================
.. toctree::
:maxdepth: 2
:caption: Contents:
API Documentation
=================
.. doxygenindex::
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View File

@ -117,6 +117,13 @@ upload_speed = 115200
extends = env:esp8266
board = esp12e
[env:arduino-uno]
platform = atmelavr
board = uno
framework = arduino
lib_deps =
${common_env_data.lib_deps_external}
[env:esp8266]
check_flags =
cppcheck: --inline-suppr --suppress=*:*/.pio/*

5
upload-fleet.sh Executable file
View File

@ -0,0 +1,5 @@
pio run -e home_lighting -t upload --upload-port 10.0.0.172
pio run -e home_lighting -t upload --upload-port 10.0.0.174
pio run -e home_lighting -t upload --upload-port 10.0.0.175
pio run -e home_lighting_grb -t upload --upload-port 10.0.0.176
pio run -e home_lighting-12f -t upload --upload-port 10.0.0.180