Damien George
dcdf8f2d14
py/objboundmeth: Allocate arg state on stack if heap alloc fails.
...
If the heap is locked, or memory allocation fails, then calling a bound
method will still succeed by allocating the argument state on the stack.
The new code also allocates less stack than before if less than 4
arguments are passed. It's also a tiny bit smaller in code size.
This was done as part of the ESA project.
2016-03-08 15:36:53 +00:00
Damien George
bb293e6bcf
stmhal: Add stmhal-specific README.md with extra details for this port.
2016-03-08 12:00:38 +00:00
Damien George
2c72ae5c29
stmhal: Switch from dfu-util to tools/pydfu.py for deflt deploy method.
...
tools/pydfu.py is now the recommended way of deploying a DFU file. Old
behaviour of dfu-util can be obtained by passing USE_PYDFU=0 when invoking
make.
The main README.md file has been updated to reflect this change.
2016-03-08 11:58:39 +00:00
Damien George
f0e2d13fd2
tests/run-tests: Simplify handling of newline in output from tests.
...
Now, all output has newlines converted to \n, regardless of port or
platform.
2016-03-08 10:20:38 +00:00
Paul Sokolovsky
ed593780bf
extmod/modlwip: Implement dummy setsockopt().
2016-03-08 14:24:49 +07:00
Paul Sokolovsky
a0cd118b14
esp8266/main: Module to run on boot is "boot", not "main".
2016-03-08 12:37:24 +07:00
Paul Sokolovsky
f8d42da104
extmod/modlwip: Add .print() method.
2016-03-08 11:37:15 +07:00
Damien George
3fbbbecec9
esp8266: Put more code in iROM section.
...
Also explicitly name the py/*.o files in the linker file, to enable easy
testing of putting certain ones in iRAM.
2016-03-08 11:31:39 +07:00
Paul Sokolovsky
04a9ac7f38
extmod/modlwip: Update make_new() arguments for recent refactor.
2016-03-08 10:31:21 +07:00
Paul Sokolovsky
d684f872bd
esp8266/Makefile: Add define for ESP8266 lwIP.
2016-03-08 10:29:05 +07:00
Damien George
05dda0ee9e
esp8266: Enable modlwip.
2016-03-08 10:21:50 +07:00
Paul Sokolovsky
88b0490945
esp8266: Don't gc-collect BSS.
...
None of the other ports do, since introduction of mp_state_ctx_t. In
the case of current esp8266 port, heap is inside BSS, so scanning it
picked up a lot of dead pointers.
2016-03-08 10:16:06 +07:00
Markus Fix
4f0080346b
py/emitglue: Get persistent bytecode working on Linux ARM platform.
2016-03-07 15:15:23 +00:00
Dave Hylands
484a471f9b
stmhal: Fix some typos in stm32f411 files, regarding FS layout and CSV.
2016-03-07 12:42:30 +00:00
Dave Hylands
367c084c4b
stmhal: Fix typo in stm32f401.ld file, regarding flash size.
2016-03-07 12:38:57 +00:00
Dave Hylands
0edfb7a115
stmhal: Make spi use mp_hal_gpio_set_af
2016-03-07 12:24:53 +00:00
Damien George
d964873e56
tests/run-tests: Fix logic when selecting test-dirs for a given target.
2016-03-07 12:00:16 +00:00
Pavol Rusnak
ce3beb1672
stmhal: Unify comments in stm32f4xx_hal_conf.h across all boards.
...
To make it easier to spot differences.
2016-03-07 11:28:36 +00:00
Paul Sokolovsky
b86c20676e
tests/recursive_iternext.py: Make low-heap friendly.
2016-03-07 15:30:02 +07:00
Paul Sokolovsky
db984b73f3
esp8266: Enable stack overflow checking.
2016-03-07 14:15:00 +07:00
Paul Sokolovsky
1d5d4f49d9
py/stackctrl: Add mp_stack_set_top() to explicitly set stack top value.
...
Useful for embedded targets with fixed stack layout.
2016-03-07 14:12:24 +07:00
Paul Sokolovsky
419bb26ddc
tests/print_exception: Use exception which prints the same regardless of config.
...
NameError may either include offending name or not. Unfortunately, this
change makes test float-dependent. And using integer division leads to
different error message than CPython.
2016-03-07 14:10:06 +07:00
Paul Sokolovsky
d973c1bc12
test/string_format_fp30: Variant of string_format for 30-bit stuffed float.
2016-03-06 06:10:40 +02:00
Paul Sokolovsky
50e0a7b9d4
test/float2int_fp30: Variant of float2int for 30-bit stuffed float.
2016-03-06 06:08:38 +02:00
Damien George
fbb3c190f9
tests: Remove commented out tests so test script is not too big.
2016-03-06 06:00:28 +02:00
Damien George
14848ffa12
tests: Reduce large object allocations so tests can run with small heap.
2016-03-06 05:59:46 +02:00
Damien George
52d7685d9a
esp8266: Allow Makefile's BAUD variable to be overridden.
2016-03-06 05:57:36 +02:00
Paul Sokolovsky
d9d4a72679
esp8266/uart: Add uart_flush() function.
2016-03-05 22:13:26 +02:00
Paul Sokolovsky
d3a4d39687
esp8266: Support raising KeyboardInterrupt on Ctrl+C.
2016-03-05 22:01:27 +02:00
Damien George
077448328a
esp8266/etshal.h: More prototypes of ESP8266 SDK/BootROM functions.
2016-03-05 21:56:32 +02:00
Paul Sokolovsky
26f0616e8f
esp8266/modmachine: Add Pin class from modpyb.
2016-03-05 21:43:11 +02:00
Paul Sokolovsky
eb247eacd8
esp8266/modpybpin: Add support for GPIO16.
...
GPIO16 is actually special-function I/O, though some boards have LED there.
2016-03-05 21:37:55 +02:00
Damien George
342d903a13
esp8266: Expose simple pin API at C level.
2016-03-05 21:36:32 +02:00
Damien George
cdad2b6f4d
esp8266: Implement Pin.__call__() and Pin.OPEN_DRAIN mode.
...
OPEN_DRAIN is of course synthesised. All pin modes are tested and
working.
2016-03-05 21:35:32 +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
c70637bc00
esp8266/modmachine: Timer: Add ONE_SHOT and PERIODIC symbolic constants.
2016-03-04 22:26:59 +02:00
Paul Sokolovsky
98b727c931
esp8266/modmachine: Use etshal.h.
2016-03-04 19:41:15 +02:00
Paul Sokolovsky
f22a4f8e0a
esp8266/etshal.h: Add timer functions prototypes.
2016-03-04 19:39:24 +02:00
Paul Sokolovsky
f39bcb304b
esp8266/modmachine: Changing params of a timer requires disarming it first.
2016-03-04 18:41:37 +02:00
Paul Sokolovsky
7193086c03
esp8266/modmachine: Basic implementation of Timer for OS virtual timers.
2016-03-04 18:40:35 +02:00
Paul Sokolovsky
4284b3811f
esp8266: Enable modmachine.
2016-03-04 17:37:13 +02:00
Paul Sokolovsky
5d7c408ba8
esp8266: Add modmachine with mem* arrays.
2016-03-04 17:34:25 +02:00
Paul Sokolovsky
6abafca1aa
esp8266/modutime: Support float argument to time.sleep().
2016-03-04 16:52:30 +02:00
Paul Sokolovsky
a4c8ef9d16
esp8266: Reset "virtual RTC" on power on.
...
Initialize RTC period coefficients, etc. if RTC RAM doesn't contain valid
values. time.time() then will return number of seconds since power-on, unless
set to different timebase.
This reuses MEM_MAGIC for the purpose beyond its initial purpose (but the whole
modpybrtc.c need to be eventually reworked completely anyway).
2016-03-04 16:49:01 +02:00
Damien George
57884996b9
esp8266: Add time.{sleep_ms,sleep_us,ticks_ms,ticks_us,ticks_diff}.
...
Framework for time.ticks_cpu added, but not implemented.
2016-03-04 09:25:53 +02:00
Damien George
b41a14a4b9
esp8266: Add mp_hal_delay_us function.
2016-03-04 09:25:05 +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
2382d30318
tests/run-tests: Skips for esp8266.
2016-03-03 15:38:43 +02:00