Damien George
00137b8c11
py/map: Change hash-table allocation policy to be less aggressive.
...
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-15 16:24:46 +01:00
Paul Sokolovsky
5801967496
docs/speed_python: Add many more details on memoryviews.
2016-04-15 18:18:18 +03:00
Paul Sokolovsky
47f9b10b30
docs/speed_python: Generalize "Floating point" subsection.
...
Don't describe just single port's peculiarities, note aboute possible
array of issues with floating-point.
2016-04-15 17:43:03 +03:00
Paul Sokolovsky
6c84f1e03a
docs/speed_python: Clarify/generalize "Buffers" subsection.
2016-04-15 17:24:56 +03:00
Paul Sokolovsky
f474e956d7
docs/machine: Start to update for esp8266 port.
2016-04-15 17:06:11 +03:00
Paul Sokolovsky
b122ed0732
docs/esp: Enumerate flash access functions.
2016-04-15 14:01:22 +03:00
Damien George
c3beb16db3
tools/mpy-tool.py: Add support for Python 2.7.
2016-04-15 11:56:10 +01:00
Damien George
091dcaea2f
esp8266/moduos: Add uos.mkdir function.
2016-04-14 23:37:15 +01:00
Damien George
bcd719ea3a
extmod/fsusermount: In mount/mkfs, deregister VFS object on error.
...
Should fix issue #1947 .
2016-04-14 23:36:25 +01:00
Damien George
7d2c685544
esp8266/scripts/_boot: Mount block device on "" instead of "/".
...
"" 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-14 22:56:21 +01:00
Paul Sokolovsky
5c1af60e19
extmod/modlwip: More debug messages for various edge conditions.
2016-04-15 00:37:12 +03:00
Paul Sokolovsky
d3ab4bc7ca
esp8266/qstrdefsport.h: Mark qstr's for "esp" module.
2016-04-15 00:11:22 +03:00
Paul Sokolovsky
4f811d0e4c
esp8266: Enable input() builtin.
2016-04-15 00:08:39 +03:00
Paul Sokolovsky
9b0714b24c
py: Declare help, input, open builtins in core.
...
These are *defined* per-port, but why redeclare them again and again.
2016-04-15 00:07:56 +03:00
Paul Sokolovsky
272fad6d9c
esp8266/scripts/port_diag.py: Module to collect diagnostic info.
...
A shortcut for users to provide background diagnostic info for bug
reports.
2016-04-14 18:54:11 +03:00
Damien George
a649d72606
py/makeqstrdata: Add special case to handle \n qstr.
2016-04-14 15:22:36 +01:00
Damien George
2243d68345
py/makeqstrdata: Reinstate Python2 compatibility.
2016-04-14 14:37:04 +01:00
Damien George
49bb04ee64
py/makeqstrdata: Fix rendering of qstrs that have non-printable ASCII.
...
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-14 14:20:25 +01:00
Damien George
0c1de1cdee
py: Simplify "and" action within parser by making ident-rules explicit.
...
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-14 13:49:23 +01:00
Paul Sokolovsky
0a400a6333
esp8266: Switch integer arith routines to BootROM.
2016-04-14 15:06:07 +03:00
Damien George
df3b1741b6
esp8266: Separate 1-wire timing funcs from Python module to save iRAM.
...
esponewire.c contains low-level timing-critical functions that go in
iRAM. modonewire.c contains Python wrapper code.
2016-04-14 12:44:26 +01:00
Damien George
674bf1bc81
esp8266: Add hard IRQ callbacks for pin change on GPIO0-15.
2016-04-14 12:44:26 +01:00
Damien George
d9d408135d
esp8266: Add dummy entries for non-existing pins to simplify pin logic.
...
Now pins can be easily looked up in the table using the pin number as the
index and vice versa.
2016-04-14 12:43:25 +01:00
Damien George
a9a732af1f
esp8266: Remove pin_id field from C pin object.
...
This field is the same as phys_port and not needed.
2016-04-14 12:43:25 +01:00
Paul Sokolovsky
44ab5c3ef1
extmod/modlwip: Start adding debug output.
2016-04-14 01:15:52 +03:00