Commit Graph

6963 Commits

Author SHA1 Message Date
Damien George 11957840e8 esp8266: Update 512k linker script, renaming modpyb to machine. 2016-11-09 17:16:00 +11:00
Damien George 3e5e4f95b2 docs/library/machine.Pin: Update Pin docs to align with new HW API. 2016-11-09 11:08:01 +11:00
Chris Popp 52df2f889e esp8266/modnetwork.c: Expose configuration for station DHCP hostname.
The ESP SDK supports configuring the hostname that is
reported when doing a DHCP request in station mode.  This commit
exposes that under network.WLAN(network.STA_IF).config('dhcp_hostname')
as a read/write value similar to other parameters.
2016-11-09 00:33:13 +03:00
Paul Sokolovsky 2bf96612d2 zephyr/mphalport.h: Update for new "unified" kernal API (sleep functions). 2016-11-09 00:11:30 +03:00
Damien George e3626b484c unix: Add symlinks for upip to make it frozen into binary. 2016-11-08 14:47:29 +11:00
Damien George fcda6a2a78 py: Strip leading dirs from frozen mpy files, so any path can be used.
With this patch one can now do "make FROZEN_MPY_DIR=../../frozen" to
specify a directory containing scripts to be frozen (as well as absolute
paths).

The compiled .mpy files are now stored in $(BUILD)/frozen_mpy/.
2016-11-08 14:36:06 +11:00
Damien George bdf33bc136 py: Move frozen bytecode Makefile rules from ports to common mk files.
Now, to use frozen bytecode all a port needs to do is define
FROZEN_MPY_DIR to the directory containing the .py files to freeze, and
define MICROPY_MODULE_FROZEN_MPY and MICROPY_QSTR_EXTRA_POOL.
2016-11-08 14:28:30 +11:00
Paul Sokolovsky 5630778f0f esp8266: Update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect). 2016-11-08 04:52:07 +03:00
puuu 933198c55f docs/*/quickref.rst: Use new semantics of ticks_diff() 2016-11-08 02:01:05 +03:00
Paul Sokolovsky 1cc168d487 esp8266: Include upip as a standard frozen bytecode module.
Previously, it was included only in release builds, but it's important
tool which should be always at the fingertips to be useful (and to
pump up its usage).
2016-11-08 01:34:35 +03:00
Paul Sokolovsky 61d74fdef8 tools, unix: Replace upip tarball with just source files.
To make its inclusion as frozen modules in multiple ports less magic.
Ports are just expected to symlink 2 files into their scripts/modules
subdirs.

Unix port updated to use this and in general follow frozen modules setup
tested and tried on baremetal ports, where there's "scripts" predefined
dir (overridable with FROZEN_DIR make var), and a user just drops Python
files there.
2016-11-07 18:39:41 +03:00
Olivier Ortigues bc4441afa7 esp8266/espneopixel.c: Solve glitching LED issues with cpu at 80MHz.
At the WS2812 driver level, a 400ns value was used for T0H (time high to
send a 0 bit) but LED specification says it should be 350ns +- 150ns.
Due to loop overhead the 400ns value could lead to T0H close to 500ns
which is too close from the limit value and gave glitches (bad data to
pixels) in some cases.  This patch makes the calculated T0H value 350ns.
2016-11-07 17:13:49 +11:00
Ryan Shaw 8ebd53afc9 stmhal: enable SD power save (disable CLK on idle) 2016-11-07 16:49:29 +11:00
Paul Sokolovsky 8f068e84ee examples/hwapi: Example showing best practices for HW API usage in apps.
Showing and providing detailed instructions and motivation.
2016-11-06 22:08:35 +03:00
Paul Sokolovsky 5c3d75c937 docs/esp8266: Update for new WebREPL setup procedure. 2016-11-06 10:02:33 +03:00
Paul Sokolovsky e84e3e7c10 esp8266: Rework webrepl_setup to run over wired REPL. 2016-11-06 10:01:48 +03:00
Paul Sokolovsky fa3a108ed7 tests/vfs_fat_oldproto: Skip for ports not supporting "oldproto".
Otherwise this broke esp8266 testsuite.
2016-11-06 01:47:44 +03:00
Paul Sokolovsky 8bc3fc20fe esp8266: Rename "machine" module implementation to use contemporary naming.
Previously they used historical "pyb" affix causing confusion and
inconsistency (there's no "pyb" module in modern ports; but people
took esp8266 port as an example, and "pyb" naming kept proliferating,
while other people complained that source structure is not clear).
2016-11-06 01:30:19 +03:00
Paul Sokolovsky 3ccdbf792c zephyr/Makefile: Add -fomit-frame-pointer.
Somehow, Zephyr uses -fno-omit-frame-pointer, whch bloats code size
considerably (+5K for minimal ARM Thumb2 build).
2016-11-05 00:23:10 +03:00
Paul Sokolovsky 50e8e28f96 zephyr/Makefile: Add minimal port. 2016-11-05 00:22:37 +03:00
Paul Sokolovsky f59465d763 zephyr/Makefile: Allow to override Zephyr config from make command line. 2016-11-04 19:42:43 +03:00
Paul Sokolovsky 919fc2dc47 zephyr/Makefile: Update comments to the current state of affairs. 2016-11-04 19:13:49 +03:00
Paul Sokolovsky 688cc79294 zephyr/Makefile: Allow to adjust heap size from make command line. 2016-11-04 19:09:39 +03:00
Paul Sokolovsky 13f7a7b86b zephyr/mpconfigport.h: Move less important params to the bottom. 2016-11-04 18:56:04 +03:00
Paul Sokolovsky 9b345a9e48 extmod/utime_mphal: ticks_diff/ticks_add: Don't hardcode 32-bit types.
Use normal mp_int_t/mp_uint_t types, algorithms (hm, formulas) can work
with any type width.
2016-11-03 23:54:16 +03:00
stijn 3272afe57f windows: Implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter 2016-11-03 10:31:58 +01:00
stijn 0b9ed55026 windows: Fix utime_mphal compilation for msvc 2016-11-03 10:31:58 +01:00
Damien George 7bb0f7b0f6 drivers: Add "from micropython import const" when const is used.
Following best-practice use of the const feature, to make it compatible
with Python.
2016-11-03 12:41:11 +11:00
Damien George 561844f3ba py: Add MICROPY_FLOAT_CONST macro for defining float constants.
All float constants in the core should use this macro to prevent
unnecessary creation of double-precision floats, which makes code less
efficient.
2016-11-03 12:33:01 +11:00
Damien George ca973bd308 qemu-arm: Enable software floating point support, and float tests.
This helps to test floating point code on Cortex-M hardware.

As part of this patch the link-time-optimisation was disabled because it
wasn't compatible with software FP support.  In particular, the linker
could not find the __aeabi_f2d, __aeabi_d2f etc functions even though they
were provided by lib/libm/math.c.
2016-11-03 12:28:31 +11:00
Damien George cd527bb324 lib/libm: Move Thumb-specific sqrtf function to separate file.
This allows it to be used only when the hardware supports VFP
instructions, preventing compile errors.
2016-11-03 12:26:32 +11:00
Colin Hogben 828df54bfe py: Change config default so m_malloc0 uses memset if GC not enabled.
With MICROPY_ENABLE_GC set to false the alternate memory manager may not
clear all memory that is allocated, so it must be cleared in m_malloc0.
2016-11-03 10:16:31 +11:00
Alex March 94aeba0427 tests/extmod/framebuf1: Test framebuffer pixel clear, and text function. 2016-11-03 00:10:17 +11:00
Colin Hogben f9b6b37cf6 py: Fix wrong assumption that m_renew will not move if shrinking
In both parse.c and qstr.c, an internal chunking allocator tidies up
by calling m_renew to shrink an allocated chunk to the size used, and
assumes that the chunk will not move.  However, when MICROPY_ENABLE_GC
is false, m_renew calls the system realloc, which does not guarantee
this behaviour.  Environments where realloc may return a different
pointer include:

(1) mbed-os with MBED_HEAP_STATS_ENABLED (which adds a wrapper around
malloc & friends; this is where I was hit by the bug);

(2) valgrind on linux (how I diagnosed it).

The fix is to call m_renew_maybe with allow_move=false.
2016-11-02 23:15:41 +11:00
ernitron e5f06559e6 esp8266/modules: Fix negative temperature in ds18x20 driver. 2016-11-02 22:58:49 +11:00
Paul Sokolovsky 10bde6933e extmod/utime_mphal: ticks_diff(): Optimize to avoid if conditions. 2016-11-02 02:50:48 +03:00
Paul Sokolovsky 5fae914326 esp8266/etshal.h: Adjust size of MD5_CTX structure.
Size 64 was incorrect and will lead to stack corruption. Size 88 was
verified empirically. Also, allow to skip defining it if MD5_CTX
preprocessor macro is already defined (to avoid header conflict).
2016-11-02 02:16:35 +03:00
Paul Sokolovsky 2ec70dc812 esp8266/etshal.h: Add prototypes for SPIRead/SPIWrite/SPIEraseSector. 2016-11-02 02:16:20 +03:00
Jan Pochyla ffb04a5845 unix: fix symbol references for x86 Mac 2016-11-02 00:42:04 +03:00
Paul Sokolovsky a6c9060d81 esp8266/main: Bump heap size to 36K.
ESP8266 SDK2.0 fixes (at least, I can't reproduce it) an infamous bug
with crash during scan. 36K seams to be a safe value based on a download
test (test_dl.py), over 1GB was downloaded. More testing is needed, but
let's have other people participate by committing it now.
2016-11-02 00:22:43 +03:00
puuu b97c17e125 esp8266/modnetwork.c: Allows AP reconnection without WiFi credentials
There is no automatic reconnect after wlan.active(False);
wlan.active(True). This commit provide the possibility to run
wlan.connect() without parameter, to reconnect to the previously
connected AP.

resolve #2493
2016-11-01 06:59:41 +03:00
Paul Sokolovsky eddcf0a5de esp8266/scripts/port_diag: Add descriptions for esf_buf types. 2016-11-01 06:56:10 +03:00
Paul Sokolovsky 805f7ea2f2 docs/utime: Add docs for ticks_add(), improvements for other ticks_*(). 2016-11-01 00:14:12 +03:00
Paul Sokolovsky 8679d9e6a6 docs/utime: Remove only:: for ticks_diff().
It's mandatory function which should be present in every port. Even if
it's not, in the stdlib intro we waarn users that a particular port can
lack anything of described in the docs.
2016-11-01 00:03:40 +03:00
Pavol Rusnak 7ffc959c00 py: remove asserts that are always true in emitbc.c 2016-10-31 23:21:22 +03:00
Pavol Rusnak 3679ee9b52 py: fix null pointer dereference in mpz.c, fix missing va_end in warning.c 2016-10-31 23:21:15 +03:00
Paul Sokolovsky e377f3cb40 esp8266/modnetwork: config(): Fix copy-paste error in setting "mac". 2016-10-31 00:30:26 +03:00
Paul Sokolovsky d60ad5cf53 docs/utime: Describe new semantics of ticks_diff() (signed ring arithmetics). 2016-10-31 00:17:56 +03:00
Paul Sokolovsky 153665f159 docs/utime: Document ticks_cpu() in more detail.
Also, drop ::only directive.
2016-10-30 23:15:28 +03:00
Paul Sokolovsky 7219a18d17 docs/library/index: Update TOCs so builtins sorted before modules. 2016-10-30 23:13:52 +03:00