Damien George
7bd10c1ffe
py: Change mp_uint_t to size_t in builtins code.
2017-07-04 23:44:22 +10:00
Damien George
8b84b8ab8a
py/objdict: Factorise dict accessor helper to reduce code size.
...
Code size change in bytes for this patch is:
bare-arm: -72
minimal x86: -48
unix x64: -32
unix nanbox: -120
stmhal: -68
cc3200: -64
esp8266: -56
2017-07-04 23:24:59 +10:00
Damien George
d5ec46ace4
stmhal/boards/NUCLEO_F429ZI: Change USB config from HS to FS peripheral.
...
This dev board only has a single USB connector, connected to the FS
peripheral.
2017-07-04 22:49:04 +10:00
Damien George
b51919f5b7
py/makeversionhdr.py: Update to parse new release line in docs/conf.py.
...
The line in docs/conf.py with the release/version number was recently
changed and this patch makes the makeversionhdr.py script work again.
2017-07-04 22:37:41 +10:00
Damien George
48b745cfc8
esp8266/mpconfigport_512k: Use terse error messages to get 512k to fit.
2017-07-04 15:31:36 +10:00
Paul Sokolovsky
503cf3d097
docs/uzlib: Update description of decompress() and mention DecompIO.
2017-07-04 02:32:42 +03:00
Damien George
6b8b56f859
py/modmath: Check for zero division in log with 2 args.
2017-07-04 02:15:11 +10:00
Damien George
9ed5e80eea
py/vm: Make "if" control flow more obvious in YIELD_FROM opcode.
2017-07-04 02:14:25 +10:00
Damien George
9d2c72ad4f
py/objstr: Remove unnecessary "sign" variable in formatting code.
2017-07-04 02:13:27 +10:00
Damien George
2138258fea
py/runtime: Mark m_malloc_fail() as NORETURN.
2017-07-04 02:12:36 +10:00
Damien George
9aeba3e41b
py/binary: Add missing "break" statements.
2017-07-04 02:11:46 +10:00
Damien George
80b31dc097
stmhal: Clean up some header includes.
2017-07-03 17:37:22 +10:00
Alberto Petrucci
5b509dbc7b
stmhal/boards: Add configuration files for NUCLEO_F429ZI.
2017-07-03 15:39:28 +10:00
Damien George
3c62577ee9
docs/pyboard: Move info about using Windows from topindex to general.
2017-07-03 15:31:41 +10:00
Damien George
b86c65d31c
extmod/modubinascii: Add check for empty buffer passed to hexlify.
...
Previous to this patch hexlify(b'', b':') would lead to a bad crash due to
the computed length of the result being -1=0xffffffff.
2017-07-03 14:52:00 +10:00
Patrick O'Leary
45b127e7ac
docs/esp8266/general.rst: Fix name of NTP module.
...
The simple NTP client module is named "ntptime.py".
2017-07-02 20:02:19 -05:00
Paul Sokolovsky
ffb13cc633
docs/uerrno: Document "uerrno" module.
2017-07-03 00:55:09 +03:00
Paul Sokolovsky
4f23c5d587
docs/pyboard: Move hardware info into General Info chapter.
...
This makes top-level ToC of the pyboard docs consistent with other ports
(consisting of 3 chapters: QuickRef, General Info, and Tutorial).
Also, some other minor tweaks applied, like local ToC for General Info and
headings mentioning pyboard.
2017-07-02 19:23:23 +03:00
Paul Sokolovsky
e467949a4a
docs/*_index: Drop "Indices and tables" pseudo-section.
...
This pseudo-section causes artifacts with latexpdf generation (almost
empty page with list containing literal "genindex", "modeindex", "search"
items). For HTML docs, these sections can be accessed from "home" page.
2017-07-02 19:18:51 +03:00
Damien George
65417c5ad9
py/objstr: Move uPy function wrappers to just after the C function.
...
This matches the coding/layout style of all the other objects.
2017-07-02 23:35:42 +10:00
Paul Sokolovsky
90c1d54464
docs/conf.py: Set "version" and "release" to the same value.
...
We don't use alpha/beta/RC, so for us version and release should be the
same, or it leads to confusion (for example, current, 1.9.1 docs are
marked as 1.9 at places).
2017-07-02 15:50:22 +03:00
Paul Sokolovsky
a6af1a1d9c
docs/replace.inc: Add |see_cpython|, to xref individual symbols from CPython.
...
The idea is to use it for each symbol in builtins.rst.
2017-07-02 15:43:12 +03:00
Paul Sokolovsky
465d84b7e7
docs/library: Add CPython docs xref to each pertinent module.
...
Cross-reference text/link is implemented as RST substitution, so easy to
consistently.
2017-07-02 15:37:31 +03:00
Paul Sokolovsky
ebce7984c6
docs/conf.py: Add file for global replacements definition.
...
The idea is to allow to define a kind of "macros" for repeatitive text,
so all occurrances can be updated in one place. Unfortunately, RST doesn't
support replacements with arguments, which limits usefulness of them and
should be taken into account.
2017-07-02 15:15:31 +03:00
Paul Sokolovsky
5f0c56bcf1
docs/conf.py: Switch to "new" format of intersphinx_mapping.
...
As described at
http://www.sphinx-doc.org/en/stable/ext/intersphinx.html#confval-intersphinx_mapping
This will allow to explicitly refer to CPython docs for cross-references.
2017-07-02 14:35:52 +03:00
Damien George
7e14f99c26
docs/topindex.html: Fix typo in "Glossary" heading.
2017-07-02 21:29:06 +10:00
Paul Sokolovsky
d0797fbc18
docs: Add glossary.
...
We have enough terms or references throughout the docs which may be not
immediately clear or have some important nuances. Referencing terms in
gloassary is the best way to deal with that.
2017-07-02 13:47:35 +03:00
Paul Sokolovsky
d80ecad03f
docs/ure: Elaborate doc, update markup to the latest conventions.
2017-07-02 02:01:47 +03:00
Paul Sokolovsky
d42bb58c33
docs/builtins: Add AssertionError, SyntaxError, ZeroDivisionError.
...
Also, update heading of 1st sections to "Functions and types".
2017-07-01 22:20:49 +03:00
Paul Sokolovsky
8b7d311595
reference/index: Rewrite introduction paragraph to avoid confusion.
...
The old intro talked about "differences", but there were hardly any
sections describing differences, mostly MicroPython specific features.
On the other hand, we now have real "differences" chapter, though it's
mostly concerned with stdlib differences.
So, try to avoid confusion by changing wording and linking to the other
chapters and contrasting them with what is described in "MicroPython
language".
2017-07-01 22:09:40 +03:00
Paul Sokolovsky
50eea26145
docs/differences/index_template: Use consistent heading casing.
...
And in our case, "consistent" is where each word in the heading is *not*
capitalized.
2017-07-01 21:15:43 +03:00
Damien George
f585526c80
docs: Move topindex.html to templates/ subdir.
...
Later versions of jinja2 need it to be in this subdir, and earlier versions
work with it here as well.
2017-07-01 20:30:35 +03:00
Paul Sokolovsky
ef47dee4bf
docs/conf.py: Add .venv dir to exclude_patterns.
...
It's useful to try different Sphinx versions using virtualenv/venv, so
exclude a common venv dir name from Sphinx processing.
2017-07-01 20:01:05 +03:00
Paul Sokolovsky
e334b6b6d2
docs/constrained: Use markup adhering to the latest docs conventions.
2017-07-01 19:28:55 +03:00
Paul Sokolovsky
58b7b01cb5
extmod/modure: If input string is bytes, return bytes results too.
...
This applies to match.group() and split().
For ARM Thumb2, this increased code size by 12 bytes.
2017-07-01 01:25:45 +03:00
Paul Sokolovsky
871a45dd0c
docs/{uselect,ussl,ustruct}: Use markup adhering to latest docs conventions.
2017-06-30 14:50:52 +03:00
Damien George
f2babeaeda
docs/topindex.html: Remove link to wipy.io, it's no longer available.
2017-06-30 18:57:26 +10:00
Damien George
369e7fd178
tests/unix/extra_coverage: Add test for mp_vprintf with bad fmt spec.
2017-06-30 12:25:42 +10:00
Damien George
adf22c19ae
py/mpprint: Remove unreachable check for neg return of mp_format_float.
2017-06-30 12:10:50 +10:00
Damien George
8f6ef8de48
tests/basics/namedtuple1: Add test for creating with pos and kw args.
2017-06-29 17:50:09 +10:00
Damien George
265500c5c8
py/objnamedtuple: Simplify and remove use of alloca building namedtuple.
...
Prior to this patch there were 2 paths for creating the namedtuple, one for
when no keyword args were passed, and one when there were keyword args.
And alloca was used in the keyword-arg path to temporarily create the array
of elements for the namedtuple, which would then be copied to a
heap-allocated object (the namedtuple itself).
This patch simplifies the code by combining the no-keyword and keyword
paths, and removing the need for the alloca by constructing the namedtuple
on the heap before populating it.
Heap usage in unchanged, stack usage is reduced, use of alloca is removed,
and code size is not increased and is actually reduced by between 20-30
bytes for most ports.
2017-06-29 17:40:25 +10:00
Paul Sokolovsky
1942f0ceef
docs/{framebuf,usocket}: Use markup adhering to the latest docs conventions.
2017-06-29 02:22:14 +03:00
Damien George
346f5d4cce
stmhal/mpconfigport.h: Allow MICROPY_PY_THREAD to be overridden.
2017-06-28 15:45:04 +10:00
Damien George
05a08506ae
stmhal/Makefile: Add CFLAGS_EXTRA to CFLAGS so cmdline can add options.
2017-06-28 15:44:29 +10:00
Damien George
703370ebc5
stmhal/Makefile: Rename FLOAT_IMPL to MICROPY_FLOAT_IMPL to match C name
...
The name used in py/mpconfig.h is MICROPY_FLOAT_IMPL so rename this
Makefile variable to mirror that.
2017-06-28 15:42:40 +10:00
Damien George
4d47e6c0db
travis: Build STM32F769DISC board instead of F7DISC to test dbl-prec FP.
2017-06-28 15:12:05 +10:00
Damien George
535804a0ed
stmhal/Makefile: Use hardware double-prec FP for MCUs that support it.
2017-06-28 15:12:05 +10:00
Damien George
d20f8fb893
stmhal/boards: Enable double-prec FP on F76x boards.
2017-06-28 15:12:04 +10:00
Damien George
ebfdd96cb2
stmhal: Add possibility to build with double-precision floating point.
...
By default the firmware is built with single-precision floating point.
To build a particular board using double precision instead, put the
following line in the mpconfigboard.mk file:
FLOAT_IMPL = double
2017-06-28 15:12:04 +10:00
Damien George
045116551e
lib: Add libm_dbl, a double-precision math library, from musl-1.1.16.
2017-06-28 15:12:04 +10:00