You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Limor "Ladyada" Fried eabc5490cb
Merge pull request #8 from cefn/master
6 years ago
docs cooookies 6 years ago
examples Added I2C example and further compatibility modules listed 6 years ago
src Cruft removal 6 years ago
test Cruft removal 6 years ago
.gitignore Moved bytecode .gitignore into root to cleanup src folders 6 years ago
.gitmodules Added adafruit_register to test library dependencies 6 years ago
.pylintrc cooookies 6 years ago
.readthedocs.yml cooookies 6 years ago
.travis.yml cooookies 6 years ago cooookies 6 years ago
LICENSE cooookies 6 years ago
README.rst Added I2C example and further compatibility modules listed 6 years ago



.. image::
:alt: Documentation Status

.. image::
:alt: Discord

.. image::
:alt: Build Status

This repository contains a selection of packages mirroring the CircuitPython API
on hosts running micropython. Working code exists to emulate the CircuitPython packages;

* **board** - breakout-specific pin identities
* **microcontroller** - chip-specific pin identities
* **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages
* **bitbangio** - software-driven interfaces for I2C, SPI
* **busio** - hardware-driven interfaces for I2C, SPI, UART
* **time** * - substitute functions monkey-patched to time module


The Micropython compatibility layers described above are intended to provide a CircuitPython-like API for devices which
are running Micropython. Since corresponding packages should be built-in to any standard
CircuitPython image, they have no value on a device already running CircuitPython and would likely conflict in unhappy ways.

The test suites in the test/src folder under **testing.universal** are by design
intended to run on *either* CircuitPython *or* Micropython+compatibility layer to prove conformance.

Usage Example

At the time of writing (`git:7fc1f8ab <>`_),
the following sequence runs through some basic testing of the digitalio compatibility layer...

.. code-block:: python

from testing import test_module_name

An example log from running the suites is `here <>`_ .


Contributions are welcome! Please read our `Code of Conduct
before contributing to help this project stay welcoming.

Building locally

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

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.