/ README.rst
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://adafru.it/discord 10 :alt: Discord 11 12 .. image:: https://travis-ci.com/adafruit/Adafruit_Blinka.svg?branch=master 13 :target: https://travis-ci.com/adafruit/Adafruit_Blinka 14 :alt: Build Status 15 16 .. image:: https://img.shields.io/badge/code%20style-black-000000.svg 17 :target: https://github.com/psf/black 18 :alt: Code Style: Black 19 20 This repository contains a selection of packages mirroring the CircuitPython API 21 on hosts running micropython. Working code exists to emulate the CircuitPython packages; 22 23 * **board** - breakout-specific pin identities 24 * **microcontroller** - chip-specific pin identities 25 * **analogio** - analog input/output pins, using pin identities from board+microcontroller packages 26 * **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages 27 * **bitbangio** - software-driven interfaces for I2C, SPI 28 * **busio** - hardware-driven interfaces for I2C, SPI, UART 29 * **pulseio** - contains classes that provide access to basic pulse IO (PWM) 30 31 For details, see the `Blinka API reference 32 <https://circuitpython.readthedocs.io/projects/blinka/en/latest/index.html>`_. 33 34 Dependencies 35 ============= 36 37 The Micropython compatibility layers described above are intended to provide a CircuitPython-like API for devices which 38 are running CPython or Micropython. Since corresponding packages should be built-in to any standard 39 CircuitPython image, they have no value on a device already running CircuitPython and would likely conflict in unhappy ways. 40 41 The test suites in the test/src folder under **testing.universal** are by design 42 intended to run on *either* CircuitPython *or* Micropython+compatibility layer to prove conformance. 43 44 Installing from PyPI 45 ===================== 46 47 On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from 48 PyPI <https://pypi.org/project/Adafruit-Blinka/>`_. To install for current user: 49 50 .. code-block:: shell 51 52 pip3 install Adafruit-Blinka 53 54 To install system-wide (this may be required in some cases): 55 56 .. code-block:: shell 57 58 sudo pip3 install Adafruit-Blinka 59 60 To install in a virtual environment in your current project: 61 62 .. code-block:: shell 63 64 mkdir project-name && cd project-name 65 python3 -m venv .env 66 source .env/bin/activate 67 pip3 install Adafruit-Blinka 68 69 Usage Example 70 ============= 71 72 At the time of writing (`git:7fc1f8ab <https://github.com/cefn/Adafruit_Micropython_Blinka/tree/7fc1f8ab477124628a5afebbf6826005955805f9>`_), 73 the following sequence runs through some basic testing of the digitalio compatibility layer... 74 75 .. code-block:: python 76 77 from testing import test_module_name 78 test_module_name("testing.universal.digitalio") 79 80 An example log from running the suites is `here <https://github.com/cefn/Adafruit_Micropython_Blinka/issues/2#issuecomment-366713394>`_ . 81 82 Contributing 83 ============ 84 85 Contributions are welcome! Please read our `Code of Conduct 86 <https://github.com/adafruit/Adafruit_Blinka/blob/master/CODE_OF_CONDUCT.md>`_ 87 before contributing to help this project stay welcoming. 88 89 Building locally 90 ================ 91 92 Sphinx documentation 93 ----------------------- 94 95 Sphinx is used to build the documentation based on rST files and comments in the code. First, 96 install dependencies (feel free to reuse the virtual environment from above): 97 98 .. code-block:: shell 99 100 python3 -m venv .env 101 source .env/bin/activate 102 pip install Sphinx sphinx-rtd-theme Adafruit-PlatformDetect 103 104 Now, once you have the virtual environment activated: 105 106 .. code-block:: shell 107 108 cd docs 109 sphinx-build -E -W -b html . _build/html 110 111 This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to 112 view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to 113 locally verify it will pass.