Damien George
db80c0ed46
esp8266: Enable frozen bytecode, with scripts in modules/ subdir.
...
To start with, the critical scripts _boot.py and flashbdev.py are frozen
to improve performance and reduce RAM consumption.
Saves about 1000 bytes of heap RAM for a bare boot with filesystem.
2016-06-29 13:59:19 +01:00
Paul Sokolovsky
15eb1ce52d
esp8266: Enable MICROPY_PY_IO_FILEIO to get compliant text/binary streams.
2016-05-31 21:46:02 +03:00
Damien George
33168081f4
extmod/machine: Add MICROPY_PY_MACHINE_PULSE config for time_pulse_us.
...
Since not all ports that enable the machine module have the pin HAL
functions.
2016-05-31 14:25:19 +01:00
Paul Sokolovsky
9c2217a165
esp8266: Enable collections.OrderedDict.
2016-05-22 02:57:33 +03:00
Damien George
0d6d315ba6
esp8266: Change to use internal errno's.
2016-05-12 12:49:36 +01:00
Damien George
7e1f580910
esp8266: Enable uerrno module, weak linked also as errno.
2016-05-10 23:30:39 +01:00
Damien George
4f2ba9fbdc
esp8266: Convert to use new MP_Exxx errno symbols.
...
These symbols are still defined in terms of the system Exxx symbols, and
can be switched to internal numeric definitions at a later stage.
Note that extmod/modlwip still uses many system Exxx symbols.
2016-05-10 23:30:39 +01:00
Paul Sokolovsky
f16bec6bc9
esp8266/mpconfigport: Reduce various parser-related allocation params.
...
This gives noticeable result for parsing simple input (modelled on 32-bit
unix port):
Before:
>>> micropython.mem_total()
3360
>>> micropython.mem_total()
4472
After:
>>> micropython.mem_total()
3072
>>> micropython.mem_total()
4052
However, effect on parsing large input is much less conclusive, e.g.:
Before:
>>> micropython.mem_total()
3376
>>> import pystone_lowmem
>>> micropython.mem_total()
33006
delta=29630
After:
>>> micropython.mem_total()
3091
>>> import pystone_lowmem
>>> micropython.mem_total()
32509
delta=29418
2016-05-10 15:38:31 +03:00
Damien George
9215cdc7fd
esp8266: Change platform name from ESP8266 to esp8266.
...
The port name is lowercase, and this change is made for consistency with
the docs and other ports.
2016-05-02 18:54:46 +01:00
Paul Sokolovsky
adae53d522
esp8266: Enable webrepl module.
2016-04-29 19:38:21 +03:00
Paul Sokolovsky
f8170db390
esp8266: Enable WebREPL file transfer rate limiting.
2016-04-29 19:15:26 +03:00
Paul Sokolovsky
b639ce27c7
esp8266/help: Implement help() builtin.
2016-04-29 00:17:11 +03:00
Damien George
a6aa35af09
esp8266: Move pyb.info() function to esp module and remove pyb module.
...
All functionality of the pyb module is available in other modules, like
time, machine and os. The only outstanding function, info(), is
(temporarily) moved to the esp module and the pyb module is removed.
2016-04-28 12:23:55 +01: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
Damien George
674bf1bc81
esp8266: Add hard IRQ callbacks for pin change on GPIO0-15.
2016-04-14 12:44:26 +01:00
Damien George
0a2e9650f5
py: Add ability to have frozen persistent bytecode from .mpy files.
...
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-13 16:07:47 +01:00
Paul Sokolovsky
47442d9f52
lib/utils/printf: Rework overriding printer of DEBUG_printf().
...
By default it uses mp_plat_print, but a port may override it to another
value with MICROPY_DEBUG_PRINTER_DEST.
2016-04-13 11:53:12 +03:00
Damien George
e813ea1070
esp8266: Enable framebuf module.
2016-04-12 14:06:54 +01:00
Damien George
a525493e40
esp8266: Switch from using custom I2C driver to generic extmod one.
2016-04-12 14:06:54 +01:00
Paul Sokolovsky
f49d63a75c
esp8266: Enable websocket module.
2016-04-11 21:25:43 +03:00
Damien George
2c407bcf20
esp8266: Switch from terse error messages to normal ones.
...
Adds 2k to the code size.
2016-04-07 00:38:08 +03:00
Damien George
a0cb4eda9a
esp8266: Use VM_HOOK to call ets_loop_iter within the VM.
...
Starting with a divisor of 10, pystone_lowmem gives a score of 256.
2016-04-02 01:34:32 +03:00
Paul Sokolovsky
fc4c43a72e
esp8266: Switch to non event-driven REPL to support paste mode.
2016-04-01 14:22:28 +03:00
Paul Sokolovsky
2e75a17bab
esp8266: Fix issue when current repl line was garbage-collected.
...
Reference it from root pointers section.
2016-03-30 18:13:03 +03:00
Damien George
9475cc59e6
esp8266: Support synchronous wifi scanning.
...
That is: aps = if0.scan()
TODO: make sure that returned list has tuple with values in "standard"
order (whatever that standard is).
2016-03-30 11:35:03 +03:00
Paul Sokolovsky
c961889e34
esp8266: Add basic support for duplicating REPL output.
2016-03-29 11:13:32 +03:00
Paul Sokolovsky
374654f2b8
esp8266: Enable FatFs support.
2016-03-27 17:13:47 +03:00
Damien George
78d0dde562
esp8266: Add onewire helper functions as C module.
...
Includes functions to read and write bits and bytes.
2016-03-24 17:33:42 +02:00
Paul Sokolovsky
a1d072df81
esp8266: Enable auto-indent in REPL.
2016-03-23 16:30:29 +02:00
Paul Sokolovsky
df1f6783f2
esp8266: Add "socket" and "usocket" aliases for lwip module.
2016-03-23 16:25:55 +02:00
Paul Sokolovsky
494aea3e86
esp8266: Enable non-blocking stream support.
2016-03-23 16:15:49 +02:00
Damien George
5bc9398d9d
esp8266: Enable more extmod's: uheapq, ure, uzlib.
2016-03-23 14:19:14 +02:00
Damien George
8000d51b68
esp8266: Add module weak link from json to ujson.
2016-03-23 14:16:46 +02:00
Paul Sokolovsky
1a0adf49df
esp8266: Enable urandom module.
2016-03-23 13:33:17 +02:00
Paul Sokolovsky
9d7b871f58
esp8266: Store frozen modules in FlashROM.
...
Requires special lexer to access their contents.
2016-03-17 23:06:47 +08:00
Paul Sokolovsky
4c2cb7e384
esp8266: Define MICROPY_EVENT_POLL_HOOK for the port.
2016-03-11 10:41:10 +07:00
Damien George
05dda0ee9e
esp8266: Enable modlwip.
2016-03-08 10:21:50 +07:00
Paul Sokolovsky
db984b73f3
esp8266: Enable stack overflow checking.
2016-03-07 14:15:00 +07:00
Paul Sokolovsky
d3a4d39687
esp8266: Support raising KeyboardInterrupt on Ctrl+C.
2016-03-05 22:01:27 +02:00
Paul Sokolovsky
8ab16b6af0
esp8266: Add custom _assert() function.
...
Enabling standard assert() (by removing -DNDEBUG) produces non-bootable
binary (because all messages go to .rodata which silently overflows).
So, for once-off debugging, have a custom _assert().
2016-03-05 11:30:15 +02:00
Paul Sokolovsky
4284b3811f
esp8266: Enable modmachine.
2016-03-04 17:37:13 +02:00
Damien George
f70873db23
esp8266: Enable more features in mpconfigport.h.
...
This is to get the test suite running and passing.
2016-03-03 23:34:31 +02:00
Paul Sokolovsky
7480ee5892
esp8266: Enable uhashlib module.
2016-03-03 20:14:50 +02:00
Paul Sokolovsky
70fb9ee99b
esp8266: Enable config settings helpful for debugging.
2016-03-03 20:12:26 +02:00
Paul Sokolovsky
ff69a1d27d
esp8266: Enable ujson, ubinascii, and uctypes modules.
2016-03-03 15:35:29 +02:00
Damien George
6f4357c28e
esp8266: Enable math module.
2016-03-02 22:43:10 +02:00
Damien George
6d0629bddc
esp8266: Enable float support, using 30-bit stuffed floats.
...
No complex numbers though.
2016-03-02 22:43:10 +02:00
Damien George
ecd1272d16
esp8266: Switch bignum implementation from long-long to mpz.
2016-03-02 22:43:10 +02:00
Damien George
731f359292
all: Add py/mphal.h and use it in all ports.
...
py/mphal.h contains declarations for generic mp_hal_XXX functions, such
as stdio and delay/ticks, which ports should provide definitions for. A
port will also provide mphalport.h with further HAL declarations.
2015-10-31 19:14:30 +03:00