aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-18unix/alloc: Add option to use uPy's alloc-exec implementation even for libffi.Paul Sokolovsky
When built for Linux, libffi includes very bloated and workaround exec-alloc implementation required to work around SELinux and other "sekuritee" features which real people don't use. MicroPython has own alloc-exec implementation, used to alloc memory for @micropython.native code. With this option enabled, uPy's implementation will override libffi's. This saves 11K on x86_64 (and that accounts for more than half of the libffi code size). TODO: Possibly, we want to refactor this option to allow either use uPy's implementation even for libffi, or allow to use libffi's implementation even for uPy.
2016-06-18unix/Makefile: libffi: Build with -Os.Paul Sokolovsky
Also try to use -fno-exceptions. Other options taken from libffi's configure defaults.
2016-06-18windows: Follow unix port changes regarding "utime" module.Paul Sokolovsky
2016-06-17unix: Move "utime" module config to C level instead of make level.Paul Sokolovsky
2016-06-17examples/unix/ffi_example.py: Remove TODO, make output more clear.Paul Sokolovsky
2016-06-17examples/unix/ffi_example.py: Update for current "ffi" module API.Paul Sokolovsky
2016-06-17unix: Time to build with --gc-sections.Paul Sokolovsky
This actually saves "only" 6K for x86_64 build, as we're still more or less careful to #ifdef unneeded code. But relying on --gc-sections in a "lazy" manner would allow to make #ifdef'ing less pervasive (not suggested right away, but an option for the future).
2016-06-17extmod/modbtree: items(): Implement "end key inclusive" flag.Paul Sokolovsky
2016-06-16esp8266: Use RTC to set date & time stamps for files.Robert HH
The time stamp is taken from the RTC for all newly generated or changed files. RTC must be maintained separately. The dummy time stamp of Jan 1, 2000 is set in vfs.stat() for the root directory, avoiding invalid time values.
2016-06-16extmod/modbtree: Actually implement end key support for .items().Paul Sokolovsky
2016-06-16extmod/modbtree: Implement .items() iterator.Paul Sokolovsky
2016-06-16unix: Deprecate support for GNU Readline (MICROPY_USE_READLINE=2).Paul Sokolovsky
MicroPython own readline implementation is superior now by providing automatic indentation and completion (completion for GNU Readline was never implemented). MICROPY_USE_READLINE=2 also wasn't build for a long time and probably broken. If GNU Readline is still beneficial for some cases, it can be achieved with external wrappers like "rlwrap" (there will be the same level of functionality, as again, there never was deep integration, like completion support).
2016-06-16py: Rename __QSTR_EXTRACT flag to NO_QSTR.Paul Sokolovsky
It has more usages than just qstr extraction, for example, embedding (where people don't care about efficient predefined qstrs).
2016-06-16unix/mpconfigport_minimal.h: Clearly mark where user-define config ends.Paul Sokolovsky
TODO: Do the same for other config files.
2016-06-16py/mkrules.mk: Define "lib" outside conditional block.Paul Sokolovsky
"lib" happened to be defined inside block conditional on $(PROG).
2016-06-16py/makeqstrdefs.py: Remove restriction that source path can't be absolute.Paul Sokolovsky
That's arbitrary restriction, in case of embedding, a source file path may be absolute. For the purpose of filtering out system includes, checking for ".c" suffix is enough.
2016-06-16unix: Unbreak "minimal" target by disabling FatFs.Paul Sokolovsky
Was broken since introduction of FatFs support.
2016-06-15lib/fatfs/option/ccsbcs: Follow uPy optional features model.Paul Sokolovsky
Don't error out when options is not what you support, just skip your code. This allows to make FatFs support properly configurable.
2016-06-15py/mpconfig.h: MP_NOINLINE is universally useful, move from unix port.Paul Sokolovsky
2016-06-15extmod/modbtree: Handle default value and error check.Paul Sokolovsky
2016-06-15lib/berkeley-db-1.xx: Update to upstream which builds for uPy.Paul Sokolovsky
Applied "official" patches and fixed various warnings when built with uPy's compile options.
2016-06-15py: Support to build berkeley db 1.85 and "btree" module.Paul Sokolovsky
2016-06-14lib/berkeley-db-1.xx: Add Berkeley DB 1.85 as a submodule.Paul Sokolovsky
From https://github.com/pfalcon/berkeley-db-1.xx, which so far contains pristine 1.85, but will get patches and compile warning fixes going forward. Berkeley DB 1.xx is BSD-licensed, and will form the basis of "btree" simple database module.
2016-06-14extmod/modbtree: Initial implementation of "btree" module based on BerkeleyDB.Paul Sokolovsky
This implements basic wrapping of native get/put/seq API, and then dictionary access protocol. Native API is intended to be superceded going forward.
2016-06-14docs: Rebuild docs from scratch, as required for proper only:: handling.Paul Sokolovsky
Docs are now by default rebuilt from scratch, as required to build conditionalized (i.e. using only:: directive) docs across different output types. We have pretty small docset, so that's still rather fast. However, if that's a concern, incremental rebuilds can be used by passing "FORCE=" (nothing after =) as a make parameter. This will work when using the same output type (e.g. only "html").
2016-06-12esp8266/Makefile: Enable --verify option for esptool.py write_flash.Paul Sokolovsky
Based on my experience, there's rather non-zero chance to have an image be flashed incorrectly. As --verify option is now works well in teh latest esptool.py, enable it by default.
2016-06-12esp8266: Switch floating-point arith routines to BootROM.Paul Sokolovsky
2016-06-12tests: Add testcase for OrderedDict equality.Mark Anthony Palomer
There's a need for .exp file because CPython renders OrderedDict's as: OrderedDict([('b', 2)]) while MicroPython as: OrderedDict({'b': 2})
2016-06-12py/objdict: Implemented OrderedDict equality check.Mark Anthony Palomer
2016-06-12docs/conf.py: Active sphinx_selective_exclude extensions.Paul Sokolovsky
For modindex_exclude extension, per-port module excludes are also added. With these changes, it's possible to generate docs for a particular port devoid of any superfluous and unrelated content, including in indexes and full-text search - with small caveat: when generating PDF docs after HTML, or vice-versa cached internal doctree representation (build/*/doctrees/) must be removed first.
2016-06-12docs: Add sphinx_selective_exclude extension suite.Paul Sokolovsky
Designed specifically to workaround issues we were facing with generating multiple conditionalized output docsets from a single master doctree. Extensions were factored out into a separate project, based on the fact that many other Sphinx users experience similar or related problems: https://github.com/pfalcon/sphinx_selective_exclude Corresponds to the 182f4a8da57 upstream revision.
2016-06-10docs/sys: Detailed description of print_exception() diff from traceback module.Paul Sokolovsky
2016-06-09docs/uctypes: Improve documentation.Paul Sokolovsky
Seealso and Limitations sectiosn added, better formatting and grammar.
2016-06-09docs/machine*: Remove explicit targets and "machine." prefixes on classes.Paul Sokolovsky
With currentmodule:: set properly, none are needed. Extra "machine." prefix produces wrong indexing data.
2016-06-09docs/machine.Pin: Disambiguate object call method.Paul Sokolovsky
2016-06-09docs/library/index: Add builtins.rst.Paul Sokolovsky
2016-06-09docs/builtins: Enumerate all builtin functions implemented.Paul Sokolovsky
Based on unix version. No descriptions so far.
2016-06-08docs/pyb.Pin: Sort .af() and .af_list() methods together.Paul Sokolovsky
2016-06-08docs/pyb.*: Use proper class case in method headers.Paul Sokolovsky
Class designator will be used as is in indexes, so must match actual class name.
2016-06-08docs/pyb.ExtInt,pyb.Pin: Mark up class methods as such.Paul Sokolovsky
2016-06-08docs/pyb.Pin: af_list() is a normal method, not a class method.Paul Sokolovsky
2016-06-08docs/pyb.CAN: Mark CAN.initfilterbanks() as classmethod explicitly.Paul Sokolovsky
2016-06-08tests/bench: Add testcase to compare bytes(N) vs b"\0" * N.Paul Sokolovsky
Based on python-dev discussion regarding PEP467.
2016-06-08docs/machine.Pin: Add class designator to all constants.Paul Sokolovsky
This makes rendered docs to not provide incorrect information and consistent with how it's down for other machine classes.
2016-06-08docs/machine.*: Use proper class case in method headers.Paul Sokolovsky
Class designator will be used as is in indexes, so must match actual class name.
2016-06-08docs/machine.UART: Cleanup pyboard section.Paul Sokolovsky
2016-06-08docs/machine.Pin: Remove explicit target.Paul Sokolovsky
With currentmodule:: support, all targets should be generated properly by Sphinx.
2016-06-08docs/pyb.*: Add "currentmodule:: pyb" directive.Paul Sokolovsky
Makes sure that classes described in these separate files are properly designated as belonging to "pyb" module in indexes.
2016-06-08docs/machine.*: Add "currentmodule:: machine" directive.Paul Sokolovsky
Makes sure that classes described in these separate files are properly designated as belonging to "machine" module in indexes.
2016-06-07docs/library/machine.Pin: Mention GPIO and cross-link .value() function.Paul Sokolovsky