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
Paul Sokolovsky
259f1344ca
esp8266/esp8266.ld: Link in SDK version section.
...
Otherwise, os.uname() returns empty string for SDK version.
2016-03-03 15:37:19 +02:00
Paul Sokolovsky
ff69a1d27d
esp8266: Enable ujson, ubinascii, and uctypes modules.
2016-03-03 15:35:29 +02:00
Paul Sokolovsky
65405247a0
extmod/vfs_fat_lexer: Add func prototype for pedantic warnings.
2016-03-03 14:53:36 +02:00
Paul Sokolovsky
3aa0f2eed3
extmod/vfs_fat_lexer: Make conditional on FatFs support enabled.
2016-03-03 14:08:27 +02:00
Paul Sokolovsky
453a2a3d7c
extmod/vfs_fat: Add lexer, move from stmhal port for reuse.
2016-03-03 13:25:44 +02:00
Paul Sokolovsky
701c4152c1
tarvis: Unbreak build by ignoring lack of i386 arch in some repos.
...
For some reason, Travis now has Google Chrome PPA included in the builder
image, that lacks i386 arch, that leads to apt-get update error. So, ignore
it (this is not ideal as may lead to actual repo update failures to be missed,
leading to installation of old package, leading to weird errors; let's keep
that in mind).
2016-03-03 11:06:36 +02:00
Damien George
02ea74d8f5
esp8266: Add network.ifconfig().
2016-03-02 23:04:21 +02:00