Skip to content

Commit

Permalink
Merge pull request #3 from sommersoft/new_docs
Browse files Browse the repository at this point in the history
Improve Ref Docs
  • Loading branch information
kattni authored Mar 11, 2018
2 parents 50684f4 + c3fc3cd commit f88b765
Show file tree
Hide file tree
Showing 10 changed files with 148 additions and 20 deletions.
File renamed without changes.
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@ deploy:
provider: releases
api_key: $GITHUB_TOKEN
file_glob: true
file: bundles/*
file: $TRAVIS_BUILD_DIR/bundles/*
skip_cleanup: true
overwrite: true
on:
tags: true

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

script:
- pylint adafruit_lsm9ds0.py
- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name examples/*.py)
- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-lsm9ds0 --library_location .
- cd docs && sphinx-build -E -W -b html . _build/html
55 changes: 49 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ Introduction
:target: https://discord.gg/nBQh6qu
:alt: Discord
.. image:: https://travis-ci.org/adafruit/Adafruit_CircuitPython_LSM9DS0.svg?branch=master
:target: https://travis-ci.org/adafruit/Adafruit_CircuitPython_LSM9DS0
:alt: Build Status

CircuitPython module for the LSM9DS0 accelerometer, magnetometer, gyroscope.

Dependencies
Expand All @@ -26,7 +30,7 @@ This is easily achieved by downloading
Usage Example
=============

See examples/simpletest.py for a demo of the usage.
See examples/lsm9ds0_simpletest.py for a demo of the usage.

Contributing
============
Expand All @@ -35,10 +39,49 @@ Contributions are welcome! Please read our `Code of Conduct
<https://github.com/adafruit/Adafruit_CircuitPython_lsm9ds0/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-lsm9ds0 --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
.. toctree::
:maxdepth: 2
cd docs
sphinx-build -E -W -b html . _build/html
api
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.
33 changes: 25 additions & 8 deletions adafruit_lsm9ds0.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,28 @@
CircuitPython module for the LSM9DS0 accelerometer, magnetometer, gyroscope.
Based on the driver from:
https://github.com/adafruit/Adafruit_LSM9DS0
https://github.com/adafruit/Adafruit_LSM9DS0
See examples/simpletest.py for a demo of the usage.
* Author(s): Tony DiCola
Implementation Notes
--------------------
**Hardware:**
* Adafruit `9-DOF Accel/Mag/Gyro+Temp Breakout Board - LSM9DS0
<https://www.adafruit.com/product/2021>`_ (Product ID: 2021)
* FLORA `9-DOF Accelerometer/Gyroscope/Magnetometer - LSM9DS0
<https://www.adafruit.com/product/2020>`_ (Product ID: 2020)
**Software and Dependencies:**
* Adafruit CircuitPython firmware for the ESP8622 and M0-based boards:
https://github.com/adafruit/circuitpython/releases
* Adafruit's Bus Device library: https://github.com/adafruit/Adafruit_CircuitPython_BusDevice
"""
try:
import struct
Expand Down Expand Up @@ -153,7 +170,7 @@ def __init__(self):

@property
def accel_range(self):
"""Get and set the accelerometer range. Must be a value of:
"""The accelerometer range. Must be a value of:
- ACCELRANGE_2G
- ACCELRANGE_4G
- ACCELRANGE_6G
Expand Down Expand Up @@ -184,7 +201,7 @@ def accel_range(self, val):

@property
def mag_gain(self):
"""Get and set the magnetometer gain. Must be a value of:
"""The magnetometer gain. Must be a value of:
- MAGGAIN_2GAUSS
- MAGGAIN_4GAUSS
- MAGGAIN_8GAUSS
Expand Down Expand Up @@ -212,7 +229,7 @@ def mag_gain(self, val):

@property
def gyro_scale(self):
"""Get and set the gyroscope scale. Must be a value of:
"""The gyroscope scale. Must be a value of:
- GYROSCALE_245DPS
- GYROSCALE_500DPS
- GYROSCALE_2000DPS
Expand Down Expand Up @@ -248,7 +265,7 @@ def read_accel_raw(self):

@property
def accelerometer(self):
"""Get the accelerometer X, Y, Z axis values as a 3-tuple of
"""The accelerometer X, Y, Z axis values as a 3-tuple of
m/s^2 values.
"""
raw = self.read_accel_raw()
Expand All @@ -269,7 +286,7 @@ def read_mag_raw(self):

@property
def magnetometer(self):
"""Get the magnetometer X, Y, Z axis values as a 3-tuple of
"""The magnetometer X, Y, Z axis values as a 3-tuple of
gauss values.
"""
raw = self.read_mag_raw()
Expand All @@ -289,7 +306,7 @@ def read_gyro_raw(self):

@property
def gyroscope(self):
"""Get the gyroscope X, Y, Z axis values as a 3-tuple of
"""The gyroscope X, Y, Z axis values as a 3-tuple of
degrees/second values.
"""
raw = self.read_mag_raw()
Expand All @@ -308,7 +325,7 @@ def read_temp_raw(self):

@property
def temperature(self):
"""Get the temperature of the sensor in degrees Celsius."""
"""The temperature of the sensor in degrees Celsius."""
# This is just a guess since the starting point (21C here) isn't documented :(
temp = self.read_temp_raw()
temp = 21.0 + temp/8
Expand Down
Binary file added docs/_static/favicon.ico
Binary file not shown.
File renamed without changes.
17 changes: 13 additions & 4 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 @@ -20,15 +20,15 @@
# autodoc module docs will fail to generate with a warning.
autodoc_mock_imports = ["adafruit_bus_device", "micropython"]

intersphinx_mapping = {'python': ('https://docs.python.org/3.4', None),'BusDevice': ('https://circuitpython.readthedocs.io/projects/bus_device/en/latest/', None),'CircuitPython': ('https://circuitpython.readthedocs.io/en/latest/', None)}
intersphinx_mapping = {'python': ('https://docs.python.org/3.4', None),'BusDevice': ('https://circuitpython.readthedocs.io/projects/busdevice/en/latest/', None),'CircuitPython': ('https://circuitpython.readthedocs.io/en/latest/', None)}

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

source_suffix = '.rst'

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

# General information about the project.
project = u'Adafruit LSM9DS0 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 = 'AdafruitLSM9DS0Librarydoc'

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/lsm9ds0_simpletest.py
:caption: examples/lsm9ds0_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

Adafruit 9-DOF Accel/Mag/Gyro+Temp Breakout Board - LSM9DS0 <https://www.adafruit.com/product/2021>

FLORA 9-DOF Accelerometer/Gyroscope/Magnetometer - LSM9DS0 <https://www.adafruit.com/product/2020>

.. toctree::
:caption: Other Links

Download <https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS0/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`
File renamed without changes.

0 comments on commit f88b765

Please sign in to comment.