Skip to content

Commit

Permalink
Merge pull request #4 from sommersoft/new_docs
Browse files Browse the repository at this point in the history
Improve Ref Docs
  • Loading branch information
kattni authored Feb 28, 2018
2 parents 617628d + b5d59b3 commit 42bc581
Show file tree
Hide file tree
Showing 11 changed files with 151 additions and 24 deletions.
2 changes: 2 additions & 0 deletions readthedocs.yml → .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
python:
version: 3
requirements_file: requirements.txt

5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,16 @@ deploy:
provider: releases
api_key: $GITHUB_TOKEN
file_glob: true
file: bundles/*
file: $TRAVIS_BUILD_DIR/bundles/*
skip_cleanup: true
on:
tags: true

install:
- pip install pylint circuitpython-build-tools
- pip install pylint circuitpython-build-tools Sphinx sphinx-rtd-theme

script:
- pylint adafruit_dht.py
- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name examples/*.py)
- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-dht --library_location .
- cd docs && sphinx-build -E -W -b html . _build/html
65 changes: 53 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ Introduction
:target: https://circuitpython.readthedocs.io/projects/dht/en/latest/
:alt: Documentation Status

.. image :: https://badges.gitter.im/adafruit/circuitpython.svg
:target: https://gitter.im/adafruit/circuitpython?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
:alt: Gitter

.. image :: https://img.shields.io/discord/327254708534116352.svg
:target: https://discord.gg/nBQh6qu
:alt: Discord
CircuitPython support for the DHT11 and DHT22 temperature and humidity devices.

Expand All @@ -23,17 +24,17 @@ This is easily achieved by downloading
`the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_Bundle>`_.

Usage Example
=============
==============

Hardware Set-up
---------------
----------------

The DHT11 and DHT22 devices both need a pull-resistor on the data signal wire.
This resistor is in the range of 1k to 5k. Please check your device datasheet for the
appropriate value.

Basics
------
-------

Of course, you must import the library to use it:

Expand All @@ -60,7 +61,7 @@ OR initialize the DHT22 device:
dht_device = adafruit_dht.DHT22(<pin>)
Read temperature and humidity
----------------------------
------------------------------

Now get the temperature and humidity values

Expand All @@ -79,10 +80,50 @@ Contributions are welcome! Please read our `Code of Conduct
<https://github.com/adafruit/Adafruit_CircuitPython_DHT/blob/master/CODE_OF_CONDUCT.md>`_
before contributing to help this project stay welcoming.

API Reference
=============
Building locally
================

To build this library locally you'll need to install the
`circuitpython-build-tools <https://github.com/adafruit/circuitpython-build-tools>`_ package.

.. code-block:: shell
python3 -m venv .env
source .env/bin/activate
pip install circuitpython-build-tools
Once installed, make sure you are in the virtual environment:

.. code-block:: shell
source .env/bin/activate
Then run the build:

.. code-block:: shell
circuitpython-build-bundles --filename_prefix adafruit-circuitpython-veml6070 --library_location .
Sphinx documentation
-----------------------

Sphinx is used to build the documentation based on rST files and comments in the code. First,
install dependencies (feel free to reuse the virtual environment from above):

.. code-block:: shell
python3 -m venv .env
source .env/bin/activate
pip install Sphinx sphinx-rtd-theme
Now, once you have the virtual environment activated:

.. code-block:: shell
cd docs
sphinx-build -E -W -b html . _build/html
.. toctree::
:maxdepth: 2
This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to
view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to
locally verify it will pass.

api
6 changes: 0 additions & 6 deletions api.rst

This file was deleted.

Binary file added docs/_static/favicon.ico
Binary file not shown.
5 changes: 5 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

.. If you created a package, create one automodule per module in the package.
.. automodule:: adafruit_dht
:members:
15 changes: 12 additions & 3 deletions conf.py → docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import os
import sys
sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('..'))

# -- General configuration ------------------------------------------------

Expand All @@ -28,7 +28,7 @@
source_suffix = '.rst'

# The master toctree document.
master_doc = 'README'
master_doc = 'index'

# General information about the project.
project = u'Adafruit CircuitPython DHT Library'
Expand All @@ -54,7 +54,7 @@
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '.env', 'CODE_OF_CONDUCT.md']

# The reST default role (used for this markup: `text`) to use for all
# documents.
Expand All @@ -71,6 +71,9 @@
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False

# If this is True, todo emits a warning for each TODO entries. The default is False.
todo_emit_warnings = True


# -- Options for HTML output ----------------------------------------------

Expand All @@ -95,6 +98,12 @@
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

# The name of an image file (relative to this directory) to use as a favicon of
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#
html_favicon = '_static/favicon.ico'

# Output file base name for HTML help builder.
htmlhelp_basename = 'AdafruitCircuitPythonDHTLibrarydoc'

Expand Down
8 changes: 8 additions & 0 deletions docs/examples.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Simple test
------------

Ensure your device works with this simple test.

.. literalinclude:: ../examples/dht_simpletest.py
:caption: examples/dht_simpletest.py
:linenos:
49 changes: 49 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
.. include:: ../README.rst

Table of Contents
=================

.. toctree::
:maxdepth: 4
:hidden:

self

.. toctree::
:caption: Examples

examples

.. toctree::
:caption: API Reference
:maxdepth: 3

api

.. toctree::
:caption: Tutorials

.. toctree::
:caption: Related Products

DHT11 basic temperature-humidity sensor + extras <https://www.adafruit.com/product/386>

DHT22 basic temperature-humidity sensor + extras <https://www.adafruit.com/product/385>

.. toctree::
:caption: Other Links

Download <https://github.com/adafruit/Adafruit_CircuitPython_DHT/releases/latest>
CircuitPython Reference Documentation <https://circuitpython.readthedocs.io>
CircuitPython Support Forum <https://forums.adafruit.com/viewforum.php?f=60>
Discord Chat <https://adafru.it/discord>
Adafruit Learning System <https://learn.adafruit.com>
Adafruit Blog <https://blog.adafruit.com>
Adafruit Store <https://www.adafruit.com>

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
18 changes: 18 additions & 0 deletions examples/dht_simpletest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import time
import adafruit_dht
from board import D2

#initial the dht device
dhtDevice = adafruit_dht.DHT22(D2)

while True:
try:
# show the values to the serial port
temperature = dhtDevice.temperature * (9 / 5) + 32
humidity = dhtDevice.humidity
print("Temp: {:.1f} F Humidity: {}% ".format(temperature, humidity))

except RuntimeError as error:
print(error.args)

time.sleep(2.0)
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
while True:
try:
# show the values to the serial port
temperature = dhtDevice.temperature*9/5+32
temperature = dhtDevice.temperature * (9 / 5) + 32
humidity = dhtDevice.humidity
#print("Temp: {:.1f} F Humidity: {}% ".format(temperature, humidity))

Expand Down

0 comments on commit 42bc581

Please sign in to comment.