circuitpython/docs
Damien George 8bec0e869d docs/machine.I2C: Add writevto method to write a vector of byte bufs.
This allows to efficiently send to an I2C slave data that is made up of
more than one buffer.  Instead of needing to allocate temporary memory to
combine buffers together this new method allows to pass in a tuple or list
of buffers.  The name is based on the POSIX function writev() which has
similar intentions and signature.

The reasons for taking this approach (compared to having an interface with
separate start/write/stop methods) are:
- It's a backwards compatible extension.
- It's convenient for the user.
- It's efficient because there is only one Python call, then the C code can
  do everything in one go.
- It's efficient on the I2C bus because the implementation can do
  everything in one go without pauses between blocks of bytes.
- It should be possible to implement this extension in all ports, for
  hardware and software I2C.

Further discussion is found in issue #3482, PR #4020 and PR #4763.
2019-05-20 14:51:56 +10:00
..
develop docs/cmodules: Note the various ways MODULE_EXAMPLE_ENABLED can be set. 2019-04-18 11:59:43 +10:00
differences docs/differences: Clarify the differences are against Python 3.4. 2019-01-11 12:11:02 +11:00
esp32 docs/esp32: Correct quickref for ESP32 hardware SPI with non-default IO. 2019-05-10 15:56:13 +10:00
esp8266 docs/esp8266: Add tutorial for APA102 LEDs. 2019-05-07 11:45:10 +10:00
library docs/machine.I2C: Add writevto method to write a vector of byte bufs. 2019-05-20 14:51:56 +10:00
pyboard docs/pyboard: Make pyboard v1.1 pinout the default shown in quickref. 2019-03-13 12:37:35 +11:00
readthedocs/settings docs: Add RTD local_settings file, to add custom templates. 2014-12-21 11:21:06 +00:00
reference py: Update and rework build system for including external C modules. 2019-03-08 22:58:42 +11:00
static docs: Add M-logo as favicon. 2017-02-07 20:04:40 +11:00
templates docs: Add initial docs for esp32 port, including quick-ref and general. 2019-01-25 12:18:34 +11:00
wipy all: Change PYB message prefix to MPY. 2019-02-12 15:18:33 +11:00
conf.py all: Bump version to 1.10. 2019-01-26 00:56:48 +11:00
index.rst py: Update and rework build system for including external C modules. 2019-03-08 22:58:42 +11:00
license.rst docs/license: Update copyright year. 2017-06-23 21:48:27 +03:00
make.bat Add .gitattributes file to force text line endings to LF. 2015-04-16 22:23:56 +01:00
Makefile docs/Makefile: define and use PYTHON as the interpreter for CPYDIFF 2017-02-27 15:39:55 +11:00
README.md docs/README: Remove references to MICROPY_PORT when building docs. 2018-12-11 02:55:22 +11:00

MicroPython Documentation

The MicroPython documentation can be found at: http://docs.micropython.org/en/latest/

The documentation you see there is generated from the files in the docs tree: https://github.com/micropython/micropython/tree/master/docs

Building the documentation locally

If you're making changes to the documentation, you may want to build the documentation locally so that you can preview your changes.

Install Sphinx, and optionally (for the RTD-styling), sphinx_rtd_theme, preferably in a virtualenv:

 pip install sphinx
 pip install sphinx_rtd_theme

In micropython/docs, build the docs:

make html

You'll find the index page at micropython/docs/build/html/index.html.

PDF manual generation

This can be achieved with:

make latexpdf

but require rather complete install of LaTeX with various extensions. On Debian/Ubuntu, try (500MB+ download):

apt-get install texlive-latex-recommended texlive-latex-extra