Damien George
f1d260d878
stmhal: Reduce size of ESPRUINO_PICO build so it fits in flash.
...
The default frozen modules are no longer included (but users can still
specify their own via FROZEN_MPY_DIR), complex numbers are disabled and so
are the native, viper and asm_thumb emitters. Users needing these features
can tune the build to disable other things.
2017-07-12 12:51:37 +10:00
Damien George
12d4fa9b37
py/gc: Refactor assertions in gc_free function.
...
gc_free() expects either NULL or a valid pointer into the heap, so the
checks for a valid pointer can be turned into assertions.
2017-07-12 12:17:38 +10:00
Damien George
1e6fd9f2b4
unix/Makefile: Disable assertions in the standard unix executable.
...
Reasons to disable:
- the code is relatively robust so doesn't need full checking in the
main executable, and the coverage build is used for full testing
with assertions still enabled;
- reduces code size noticeably, by 27k for x86-64 and 20k for x86;
- allows to more easily track changes in code size, since assertions
can skew things.
2017-07-12 11:57:03 +10:00
Damien George
d0db93cf1f
unix/modsocket: Remove unnecessary asserts.
...
These checks are already made, and errors reported, by the uPy runtime.
2017-07-12 11:43:35 +10:00
Damien George
4d55d8805a
cc3200/modusocket: Fix connect() when in non-blocking or timeout mode.
...
Non-blocking connect on the CC3100 has non-POSIX behaviour and needs to be
modified to match standard semantics.
2017-07-11 16:16:14 +10:00
Paul Sokolovsky
ad3abcd324
tests/cpydiff: Add case for str.ljust/rjust.
2017-07-09 15:04:26 +03:00
Paul Sokolovsky
0c5369a1f0
tests/cpydiff/: Improve wording, add more workarounds.
2017-07-09 14:33:55 +03:00
Paul Sokolovsky
ad5e7a0e6f
tools/gen-cpydiff: Use case description as 3rd-level heading.
...
This is required to easily giving links to a particular difference case.
Also, add RST anchors to allow cases to cross-reference each other.
2017-07-09 13:51:40 +03:00
Paul Sokolovsky
5f65ad8c96
tests/cpydiff/core_class_supermultiple: Same cause as core_class_mro.
2017-07-09 13:47:23 +03:00
Paul Sokolovsky
c5efb8159f
tests/cpydiff/core_arguments: Move under Functions subsection.
...
This is the last "orphan" case.
2017-07-09 13:36:28 +03:00
Paul Sokolovsky
b2979023ac
tests/cpydiff/core_class_mro: Move under Classes, add workaround.
2017-07-09 13:32:17 +03:00
Paul Sokolovsky
bfa68ef6b2
zephyr/Makefile: Revert prj.conf construction rule to the previous state.
...
CONF_FILE can be overriden, e.g. for minimal build, and we don't construct
such overriden conf file like we do for prj_merged.conf.
2017-07-09 11:56:37 +03:00
Damien George
0291a624cb
py/compile: Fix enum variable declaration.
2017-07-09 13:18:14 +10:00
Paul Sokolovsky
0c75990d6e
zephyr/Makefile: Rework dependencies and "clean" target.
...
Got tired of running rm -rf manually. Make should clean, and should clean
fast. Also, fix always-running config-related commands (by having per-board
merged configs).
2017-07-08 21:36:16 +03:00
Damien George
f69ab79ec8
py/objgenerator: Allow to hash generators and generator instances.
...
Adds nothing to the code size, since it uses existing empty slots in the
type structures.
2017-07-07 11:47:38 +10:00
Tom Collins
145796f037
py,extmod: Some casts and minor refactors to quiet compiler warnings.
2017-07-07 11:32:22 +10:00
Paul Sokolovsky
ed52955c6b
tests/cpydiff/modules_deque: Elaborate workaround.
2017-07-05 23:03:37 +03:00
Krzysztof Blazewicz
7feb7301b2
tests/basics: Add tests for arithmetic operators precedence.
2017-07-05 15:51:03 +10:00
Krzysztof Blazewicz
91a385db98
py/compile: Use switch-case to match token and operator.
...
Reduces code size.
2017-07-05 15:50:36 +10:00
Krzysztof Blazewicz
a040fb89e7
py/compile: Combine arith and bit-shift ops into 1 compile routine.
...
This refactoring saves code space.
2017-07-05 15:49:00 +10:00
Damien George
f110dbd795
extmod/modujson: Properly initialise temporary StringIO object.
2017-07-05 10:38:20 +10:00
Damien George
e66fd56852
py/repl: Change mp_uint_t to size_t in repl helpers.
2017-07-04 23:44:54 +10:00
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