summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-16stmhal: L4: Add basic STM32L4xx HAL files.Tobias Badertscher
These files come from STM32Cube_FW_L4_V1.3.0, with Windows line endings converted to unix. Only basic HAL files are added. In addition the QSPI support is included to support later external QSPI flash as mass storage.
2016-04-16stmhal: L4: Add CMSIS files to support STM32L476.Tobias Badertscher
2016-04-16stmhal: For frozen bytecode generation, add dependency of qstr file.Damien George
2016-04-16minimal: For frozen bytecode generation, add dependency of qstr file.Damien George
2016-04-16esp8266: Adapt port to use new auto-qstr generation.Damien George
2016-04-16py/mkrules.mk: Suppress line-no output from CPP for qstr auto-gen.Jan Čapek
2016-04-16py/py.mk: Add makefile variable for qstr autogeneration control.Jan Čapek
- any architecture may explicitely build with qstring make QSTR_AUTOGEN_DISABLE=1 autogeneration disabled and provide its own list of qstrings by the standard mechanisms (qstrdefsport.h).
2016-04-16windows/msvc: Implement automatic qstr generation using makeqstrdefs.stijn
Note this still needs some work: currently all source files are always preprocessed no matter which one actually changed, moreover that happens file by file without any parallellism so builds are painstakingly slow.
2016-04-16py/mkrules.mk: Add mpconfig[port].h dependency to qstr generating rule.Jan Čapek
2016-04-16py: Add rules for automated extraction of qstrs from sources.Jan Čapek
- add template rule that converts a specified source file into a qstring file - add special rule for generating a central header that contains all extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED variable. Each platform appends a list of sources that may contain qstrings into a new build variable: SRC_QSTR. Any autogenerated prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable. - remove most qstrings from py/qstrdefs, keep only qstrings that contain special characters - these cannot be easily detected in the sources without additional annotations - remove most manual qstrdefs, use qstrdef autogen for: py, cc3200, stmhal, teensy, unix, windows, pic16bit: - remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.) - remove all port specific qstrdefs except for special strings - append sources for qstr generation in platform makefiles (SRC_QSTR)
2016-04-16py/makeqstrdefs: Add script to automate extraction of qstr from sources.Pavel Moravec
This script will search for patterns of the form Q(...) and generate a list of them. The original code by Pavel Moravec has been significantly simplified to remove the part that searched for C preprocessor directives (eg #if). This is because all source is now run through CPP before being fed into this script.
2016-04-15esp8266/modmachine: Add reset_cause() function.Paul Sokolovsky
2016-04-15docs/speed_python: Add article.Paul Sokolovsky
2016-04-15tests: Fix dict1.py so it doesn't rely on the order of dict elems.Damien George
2016-04-15py/map: Change hash-table allocation policy to be less aggressive.Damien George
Small hash tables (eg those used in user class instances that only have a few members) now only use the minimum amount of memory necessary to hold the key/value pairs. This can reduce performance for instances that have many members (because then there are many reallocations/rehashings of the table), but helps to conserve memory. See issue #1760.
2016-04-15docs/speed_python: Add many more details on memoryviews.Paul Sokolovsky
2016-04-15docs/speed_python: Generalize "Floating point" subsection.Paul Sokolovsky
Don't describe just single port's peculiarities, note aboute possible array of issues with floating-point.
2016-04-15docs/speed_python: Clarify/generalize "Buffers" subsection.Paul Sokolovsky
2016-04-15docs/machine: Start to update for esp8266 port.Paul Sokolovsky
2016-04-15docs/esp: Enumerate flash access functions.Paul Sokolovsky
2016-04-15tools/mpy-tool.py: Add support for Python 2.7.Damien George
2016-04-14esp8266/moduos: Add uos.mkdir function.Damien George
2016-04-14extmod/fsusermount: In mount/mkfs, deregister VFS object on error.Damien George
Should fix issue #1947.
2016-04-14esp8266/scripts/_boot: Mount block device on "" instead of "/".Damien George
"" is the correct name of the root directory when mounting a device there (as opposed to "/"). One can now do os.listdir('/') and open('/abc'), as well as os.listdir() and open('abc').
2016-04-15extmod/modlwip: More debug messages for various edge conditions.Paul Sokolovsky
2016-04-15esp8266/qstrdefsport.h: Mark qstr's for "esp" module.Paul Sokolovsky
2016-04-15esp8266: Enable input() builtin.Paul Sokolovsky
2016-04-15py: Declare help, input, open builtins in core.Paul Sokolovsky
These are *defined* per-port, but why redeclare them again and again.
2016-04-14esp8266/scripts/port_diag.py: Module to collect diagnostic info.Paul Sokolovsky
A shortcut for users to provide background diagnostic info for bug reports.
2016-04-14py/makeqstrdata: Add special case to handle \n qstr.Damien George
2016-04-14py/makeqstrdata: Reinstate Python2 compatibility.Damien George
2016-04-14py/makeqstrdata: Fix rendering of qstrs that have non-printable ASCII.Damien George
The qstr data needs to be turned into a proper C string so non-ASCII chars must be properly escaped according to C rules.
2016-04-14py: Simplify "and" action within parser by making ident-rules explicit.Damien George
Most grammar rules can optimise to the identity if they only have a single argument, saving a lot of RAM building the parse tree. Previous to this patch, whether a given grammar rule could be optimised was defined (mostly implicitly) by a complicated set of logic rules. With this patch the definition is always specified explicitly by using "and_ident" in the rule definition in the grammar. This simplifies the logic of the parser, making it a bit smaller and faster. RAM usage in unaffected.
2016-04-14esp8266: Switch integer arith routines to BootROM.Paul Sokolovsky
2016-04-14esp8266: Separate 1-wire timing funcs from Python module to save iRAM.Damien George
esponewire.c contains low-level timing-critical functions that go in iRAM. modonewire.c contains Python wrapper code.
2016-04-14esp8266: Add hard IRQ callbacks for pin change on GPIO0-15.Damien George
2016-04-14esp8266: Add dummy entries for non-existing pins to simplify pin logic.Damien George
Now pins can be easily looked up in the table using the pin number as the index and vice versa.
2016-04-14esp8266: Remove pin_id field from C pin object.Damien George
This field is the same as phys_port and not needed.
2016-04-14extmod/modlwip: Start adding debug output.Paul Sokolovsky
2016-04-14extmod/modlwip: lwip_tcp_receive(): Properly handle EOF for non-blocking sock.Paul Sokolovsky
2016-04-13py/makeqstrdata: Add more names for escaped chars and esc non-printable.Damien George
Non-printable characters are escaped as 0xXX, where XX are the hex digits of the character value.
2016-04-13extmod/modwebsocket: Another case to propagate EOF.Paul Sokolovsky
2016-04-13stmhal: Add Makefile option FROZEN_MPY_DIR to support frozen bytecode.Damien George
2016-04-13minimal: Add example of frozen persistent bytecode (.mpy file).Damien George
frozentest.py is frozen into the binary as frozen bytecode. The .mpy file is included so that there is no dependency on the cross compiler.
2016-04-13py: Add ability to have frozen persistent bytecode from .mpy files.Damien George
The config variable MICROPY_MODULE_FROZEN is now made of two separate parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY. This allows to have none, either or both of frozen strings and frozen mpy files (aka frozen bytecode).
2016-04-13tools: Add mpy-tool.py, to work with .mpy files.Damien George
Currently it can freeze .mpy files.
2016-04-13py/makeqstrdata: Factor out some code to functions that can be reused.Damien George
2016-04-13py/emitglue: Make mp_raw_code_t* arguments constant pointers.Damien George
2016-04-13py/emitglue: Move typedef of mp_raw_code_t from .c to .h file.Damien George
It's needed by frozen bytecode.
2016-04-13tests: Skip async tests for native emitter.Damien George