]> Repositories - Adafruit_Blinka-hackapet.git/blob - README.rst
Source code now in src folder and adafruit_blinka is a package containing multiple...
[Adafruit_Blinka-hackapet.git] / README.rst
1 Introduction
2 ============
3
4 .. image:: https://readthedocs.org/projects/adafruit-micropython-blinka/badge/?version=latest
5     :target: https://circuitpython.readthedocs.io/projects/blinka/en/latest/
6     :alt: Documentation Status
7
8 .. image:: https://img.shields.io/discord/327254708534116352.svg
9     :target: https://discord.gg/nBQh6qu
10     :alt: Discord
11
12 .. image:: https://travis-ci.org/adafruit/Adafruit_Micropython_Blinka.svg?branch=master
13     :target: https://travis-ci.org/adafruit/Adafruit__Micropython_Blinka
14     :alt: Build Status
15
16 This repository contains a selection of packages mirroring the CircuitPython API
17 on hosts running micropython. Working code exists to emulate the CircuitPython packages;
18
19 * **board** - breakout-specific pin identities
20 * **microcontroller** - chip-specific pin identities
21 * **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages
22
23
24 Dependencies
25 =============
26
27 The Micropython compatibility layers described above are intended to provide a CircuitPython-like API for devices which
28 are running Micropython. Since corresponding packages should be built-in to any standard
29 CircuitPython image, they have no value on a device already running CircuitPython and would likely conflict in unhappy ways.
30
31 The test suites under **testing.implementation.all** are by design
32 intended to run on *either* CircuitPython *or* Micropython+compatibility layer to prove conformance. 
33
34 The test suites under **testing.implementation.micropython** will only run
35 on Micropython and **testing.implementation.circuitpython** will only run on CircuitPython
36
37
38 Usage Example
39 =============
40
41 At the time of writing (`git:3b2fc268 <https://github.com/cefn/Adafruit_Micropython_Blinka/tree/3b2fc268d89aee6a648da456224e6d48d2476baa>`_),
42 the following sequence runs through some basic testing of the digitalio compatibility layer... 
43
44 .. code-block:: python
45
46     import testing
47     testing.main()
48
49 A typical log from running the suites is `here <https://github.com/cefn/Adafruit_Micropython_Blinka/issues/2#issuecomment-366713394>`_ .
50
51
52 Contributing
53 ============
54
55 Contributions are welcome! Please read our `Code of Conduct
56 <https://github.com/adafruit/Adafruit_Micropython_Blinka/blob/master/CODE_OF_CONDUCT.md>`_
57 before contributing to help this project stay welcoming.
58
59 Building locally
60 ================
61
62 Sphinx documentation
63 -----------------------
64
65 Sphinx is used to build the documentation based on rST files and comments in the code. First,
66 install dependencies (feel free to reuse the virtual environment from above):
67
68 .. code-block:: shell
69
70     python3 -m venv .env
71     source .env/bin/activate
72     pip install Sphinx sphinx-rtd-theme
73
74 Now, once you have the virtual environment activated:
75
76 .. code-block:: shell
77
78     cd docs
79     sphinx-build -E -W -b html . _build/html
80
81 This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to
82 view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to
83 locally verify it will pass.