circuitpython/docs
Damien George 8978102f35 tests/run-tests.py: Change --target/--device options to --test-instance.
Previously to this commit, running the test suite on a bare-metal board
required specifying the target (really platform) and device, eg:

    $ ./run-tests.py --target pyboard --device /dev/ttyACM1

That's quite a lot to type, and you also need to know what the target
platform is, when a lot of the time you either don't care or it doesn't
matter.

This commit makes it easier to run the tests by replacing both of these
options with a single `--test-instance` (`-t` for short) option.  That
option specifies the executable/port/device to test.  Then the target
platform is automatically detected.

The `--test-instance` can be passed:
- "unix" (the default) to use the unix version of MicroPython
- "webassembly" to test the webassembly port
- anything else is considered a port/device to pass to Pyboard

There are also some shortcuts to specify a port/device, following
`mpremote`:
- a<n> is short for /dev/ttyACM<n>
- u<n> is short for /dev/ttyUSB<n>
- c<n> is short for COM<n>

For example:

    $ ./run-tests.py -t a1

Note that the default test instance is "unix" and so this commit does not
change the standard way to run tests on the unix port, by just doing
`./run-tests.py`.

As part of this change, the platform (and it's native architecture if it
supports importing native .mpy files) is show at the start of the test run.

Signed-off-by: Damien George <damien@micropython.org>
2024-11-04 12:47:47 +11:00
..
develop tests/run-tests.py: Change --target/--device options to --test-instance. 2024-11-04 12:47:47 +11:00
differences all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
esp32 esp32: Add support for esp32c6. 2024-10-09 23:29:38 +11:00
esp8266 docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
library rp2/machine_uart: Make it so TX is done only when no longer busy. 2024-10-22 10:17:05 +11:00
mimxrt docs/mimxrt/quickref: Add a note about machine.RTC() subseconds. 2024-08-20 12:07:23 +10:00
pyboard docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
readthedocs/settings all: Update Python formatting to ruff-format. 2023-11-03 13:30:41 +11:00
reference docs/reference/packages: Fix description of --target option in mip. 2024-10-31 23:23:58 +11:00
renesas-ra docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
rp2 rp2/modmachine: Set the peripheral frequency with machine.freq(). 2024-08-20 12:26:45 +10:00
samd samd/mphalport: Simplify mp_hal_delay_ms(). 2024-09-06 17:43:49 +10:00
static docs: Update CPython differences and improve the look of table layouts. 2022-08-26 15:09:06 +10:00
templates all: Switch to new preview build versioning scheme. 2023-10-06 12:10:14 +11:00
unix unix: Implement -X realtime command-line option on macOS. 2022-05-24 00:51:47 +10:00
wipy docs: Update docs to replace ifconfig with ipconfig. 2024-07-05 16:06:04 +10:00
zephyr zephyr: Allow using devicetree node labels to construct machine objects. 2024-10-01 20:02:01 -05:00
conf.py LICENSE,docs: Update copyright year range to include 2024. 2024-05-27 23:39:16 +10: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
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
requirements.txt docs: Add requirements.txt file with dependencies for Sphinx. 2023-10-02 12:35:12 +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.

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