micropython/docs
David (Pololu) bf3eb9dc39 rp2/machine_i2c: Add timeout parameter for machine.I2C().
This commit adds support for the `timeout` keyword argument to machine.I2C
on the rp2 port, following how it's done on other ports.

The main motivation here is avoid the interpreter crashing due to infinite
loops when SDA is stuck low, which is quite common if the board gets reset
while reading from an I2C device.

A default timeout of 50ms is chosen because it's consistent with:
- Commit a707fe50b0 which used a timeout of
  50,000us for zero-length writes on the rp2 port.
- The machine.SoftI2C class which uses 50,000us as the default timeout.
- The stm32 port's hardware I2C, which uses 50,000us for
  I2C_POLL_DEFAULT_TIMEOUT_US.

This commit also fixes the default timeout on the esp32 port to be
consistent with the above, and updates the documentation for machine.I2C to
document this keyword argument.
2023-04-21 18:03:33 +10:00
..
develop py: Pass in address to compiled module instead of returning it. 2022-12-08 12:27:23 +11:00
differences docs/differences: Add Python 3.10 page. 2022-12-13 16:55:55 +11:00
esp32 docs/esp32/quickref: Add docs for the LAN interface constructor. 2023-01-18 10:06:53 +11:00
esp8266 top: Replace upip with mip everywhere. 2022-09-30 17:34:03 +10:00
library rp2/machine_i2c: Add timeout parameter for machine.I2C(). 2023-04-21 18:03:33 +10:00
mimxrt mimxrt/machine_timer: Use soft-timer implementation for machine.Timer. 2022-10-27 14:09:29 +11:00
pyboard top: Replace upip with mip everywhere. 2022-09-30 17:34:03 +10:00
readthedocs/settings docs: Add RTD local_settings file, to add custom templates. 2014-12-21 11:21:06 +00:00
reference docs/reference/constrained: Add missing heap-dump symbols to mem_info(). 2023-01-19 15:59:29 +11:00
renesas-ra renesas-ra: Change file system size to 64KB for RA6M1. 2022-11-15 10:01:36 +11:00
rp2 docs/rp2: Make LED have exactly 50% duty cycle in PIO 1Hz example. 2023-01-12 17:07:43 +11:00
samd samd/mcu: Implement a hardware seed for the SAMD21 random module. 2023-02-21 23:15:29 +11:00
static docs: Update CPython differences and improve the look of table layouts. 2022-08-26 15:09:06 +10:00
templates docs/samd: Add documentation for the samd port. 2022-10-26 23:39:35 +11:00
unix unix: Implement `-X realtime` command-line option on macOS. 2022-05-24 00:51:47 +10:00
wipy docs: Use the correct * keyword-only notation. 2022-02-09 15:01:00 +11:00
zephyr docs/zephyr/quickref: Fix zsensor module usage examples. 2023-01-19 16:04:24 +11:00
Makefile docs/Makefile: Enable parallel compilation for Sphinx. 2022-09-29 23:51:29 +10:00
README.md docs: Set LaTeX engine to XeLaTeX for PDF generation. 2022-06-21 14:49:13 +10:00
conf.py docs/templates/layout.html: Indicate latest vs release docs. 2022-10-26 16:23:20 +11:00
index.rst docs/samd: Add documentation for the samd port. 2022-10-26 23:39:35 +11:00
license.rst docs/license: Update copyright year. 2017-06-23 21:48:27 +03:00
make.bat docs/make.bat: Change Windows output dir from '_build' to 'build'. 2021-09-13 18:15:38 +10:00

README.md

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.

Having readthedocs.org build the documentation

If you would like to have docs for forks/branches hosted on GitHub, GitLab or BitBucket an alternative to building the docs locally is to sign up for a free https://readthedocs.org account. The rough steps to follow are:

  1. sign-up for an account, unless you already have one
  2. in your account settings: add GitHub as a connected service (assuming you have forked this repo on github)
  3. in your account projects: import your forked/cloned micropython repository into readthedocs
  4. in the project's versions: add the branches you are developing on or for which you'd like readthedocs to auto-generate docs whenever you push a change

PDF manual generation

This can be achieved with:

make latexpdf

but requires a rather complete install of LaTeX with various extensions. On Debian/Ubuntu, try (1GB+ download):

apt install texlive-latex-recommended texlive-latex-extra texlive-xetex texlive-fonts-extra cm-super xindy