Damien George
f127bef3e4
py/makeqstrdata.py: Compute the qstr hash from bytes, not characters.
2016-09-02 14:32:47 +10:00
Delio Brignoli
f98bb2ddcb
py/mpprint: Fail an assertion with unsupported format specifiers.
...
Arguments of an unknown type cannot be skipped and continuing to parse a
format string after encountering an unknown format specifier leads to
undefined behaviour. This patch helps to find use of unsupported formats.
2016-09-01 18:09:44 +10:00
Radomir Dopieralski
ce1c786297
drivers/sdcard: Port the SDCard driver to new machine API.
...
With backwards compatibility for pyboard.
2016-09-01 17:44:07 +10:00
Damien George
49406b0ac6
stmhal/spi: Support new machine SPI methods in legacy SPI object.
2016-09-01 16:40:35 +10:00
Damien George
9b64d1966b
stmhal/spi: Factor out SPI transfer code to a single function.
2016-09-01 16:40:32 +10:00
Damien George
3be8b688c0
esp8266/modpybhspi: Simplify HSPI driver by using 1 function for xfers.
2016-09-01 16:40:12 +10:00
Damien George
5863e15a23
esp8266/modpybspi: Use generic SPI helper methods to implement SPI.
2016-09-01 16:39:42 +10:00
Damien George
0823c1baf8
extmod: Add machine_spi with generic SPI C-protocol and helper methods.
...
The idea is that all ports can use these helper methods and only need to
provide initialisation of the SPI bus, as well as a single transfer
function. The coding pattern follows the stream protocol and helper
methods.
2016-09-01 15:07:20 +10:00
Damien George
9c04ef2a67
unix,stmhal,esp8266: When find'ing frozen files don't use extra slash.
...
This extra forward slash for the starting-point directory is unnecessary
and leads to additional slashes on Max OS X which mean that the frozen
files cannot be imported.
Fixes #2374 .
2016-08-31 15:12:57 +10:00
Paul Sokolovsky
1f61fe07a2
py/mkrules.mk: Allow to override name of libmicropython.a
...
Or alternatively, refer to an exact library file, not just phony target
"lib".
2016-08-30 00:59:17 +03:00
Paul Sokolovsky
bae62d9abe
lib/utils/pyexec: qstr_pool_info() requires size_t* parameters.
2016-08-30 00:58:42 +03:00
Damien George
76dcaddc0f
docs/esp8266/quickref: Add internal links to docs for some modules.
2016-08-29 17:40:36 +10:00
Damien George
efc904c41d
docs/pyboard/quickref: Add section on "delay and timing" for utime mod.
...
And remove reference to deprecated pyb.delay() and pyb.millis().
2016-08-29 17:33:02 +10:00
Damien George
5c3a2f162e
docs/pyboard/quickref: Add links to pinouts for other pyboard variants.
2016-08-29 17:32:38 +10:00
Krzysztof Blazewicz
d1a366fdd4
.gitignore: Add *.pyc, because Python 2 doesn't use __pycache__.
2016-08-29 15:40:00 +10:00
Philip Potter
c777b6950e
stmhal: Update boot.py files to use VCP instead of CDC.
2016-08-29 15:17:34 +10:00
Philip Potter
0f8b1ba8a2
docs/library: Add reference for pyb.usb_mode and pyb.USB_HID.
2016-08-29 15:17:20 +10:00
Philip Potter
f2da6467a9
docs/pyboard: Update USB mouse tutorial to use pyb.USB_HID().
2016-08-29 15:16:51 +10:00
Philip Potter
57c92d90b0
docs/pyboard: Update USB mouse tutorial to use VCP instead of CDC.
2016-08-29 15:15:25 +10:00
Damien George
13c5a228c9
docs/esp8266: Update quickref and tutorial for OneWire/DS18X20 driver.
2016-08-29 12:52:50 +10:00
Damien George
59a9509703
esp8266/modules/ds18x20.py: Add support for DS18S20 devices.
2016-08-29 12:45:07 +10:00
Damien George
8e9b98e974
esp8266/modules/onewire: Change onewire.read() to onewire.readinto().
...
This allows 1-wire drivers (eg DS18X20) to perform in-place operations and
hence do less memory allocations.
2016-08-29 12:27:21 +10:00
Damien George
9fba618356
esp8266/modules: Split onewire.py into OneWire and DS18X20 driver.
...
The OneWire class is now in its own onewire.py module, and the temperature
sensor class is in its own ds18x20.py module. The latter is renamed to
DS18X20 to reflect the fact that it will support both the "S" and "B"
variants of the device.
These files are moved to the modules/ subdirectory to take advantage of
frozen bytecode.
2016-08-29 12:12:49 +10:00
Radomir Dopieralski
ed0a06a93f
docs/esp8266/quickref: Fix and update the SPI docs
...
Use the `SPI` factory function in the examples, and use
proper baud rate of 80 000 000.
2016-08-28 23:14:45 +10:00
Paul Sokolovsky
263aaa7030
esp8266/modmachinewdt: Implement machine.WDT class.
2016-08-28 14:48:49 +03:00
Damien George
8f8f699eb7
tests/run-tests: Disable thread_gc1.py test on Travis.
...
It has reliability issues (cause unknown at this time).
2016-08-27 23:41:16 +10:00
Damien George
f4ee9f8853
py/bc.h: Rename _mp_code_state to _mp_code_state_t.
...
This rename was missed in the previous patch.
2016-08-27 23:23:51 +10:00
Damien George
581a59a456
py: Rename struct mp_code_state to mp_code_state_t.
...
Also at _t to mp_exc_stack pre-declaration in struct typedef.
2016-08-27 23:21:00 +10:00
Damien George
531217a06b
extmod/modframebuf: Fix pixel accessor to return a 1-bit result.
2016-08-27 18:31:58 +10:00
Radomir Dopieralski
fea7fe45ea
tests/extmod/vfs_fat_ramdisk: Add tests for VFS.umount()
...
Try to un-mount a file system and re-mount it again.
2016-08-26 23:24:32 +03:00
Damien George
26295e04ff
py/emitglue: Use more compact mp_raise_ValueError function.
2016-08-26 23:45:07 +10:00
Damien George
fe3cc5bb53
py/modstruct: Use more compact mp_raise_ValueError function.
...
Saves a few bytes of code size.
2016-08-26 23:42:40 +10:00
Damien George
3b5affa0d1
tests/cmdline: Add test for -O option to check optimisation value.
2016-08-26 22:29:38 +10:00
Damien George
24df30c133
py/compile: Don't compile assert statements when optimisations enabled.
...
As per CPython.
2016-08-26 22:28:22 +10:00
Krzysztof Blazewicz
fc73c9b4b2
stmhal/modusocket: set self->nic to MP_OBJ_NULL after socket close
...
This patch makes second and next calls to <socket>.close() a no-op.
It prevents GC from closing the underlying resource after user
already used <socket>.close() explicitly.
fixes #2355
2016-08-26 10:57:32 +02:00
Damien George
5ffe1d8dc0
py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory.
...
There can be stray pointers in memory blocks that are not properly zero'd
after allocation. This patch adds a new config option to always zero all
allocated memory (via gc_alloc and gc_realloc) and hence help to eliminate
stray pointers.
See issue #2195 .
2016-08-26 15:35:26 +10:00
Radomir Dopieralski
d29ca28288
esp8266/modous: Add os.umount method to unmount a filesystem.
...
This is an object-oriented approach, where uos is only a proxy for the
methods on the vfs object. Some internals had to be exposed (the STATIC
keyword removed) for this to work.
Fixes #2338 .
2016-08-26 12:45:21 +10:00
Paul Sokolovsky
b0e2106fb8
lib/berkeley-db-1.xx: Update to upstream, fixes MacOSX build.
2016-08-25 21:30:20 +03:00
Radomir Dopieralski
891479e62a
esp8266/hspi: Enable duplex operation of hardware SPI
...
Without this, spi.read(1, 0xff) would use 16 clock cycles,
first to send 0xff and then to receive one byte, as visible
with a logic analyzer.
2016-08-25 21:24:22 +03:00
Paul Sokolovsky
9897bcaa73
lib/utils/stdout_helpers: Fix function signature to match py/mphal.h.
2016-08-25 15:23:50 +03:00
Dave Hylands
a589fa3e0b
stmhal: Update pin print to print new constants
...
This updates the print function for machine.Pin to
print out the new constants from the Hardware API defintion
rather than the legacy definitions.
2016-08-25 16:11:42 +10:00
Damien George
d09b6b9aa1
esp8266/modpybrtc: Use 64-bit arithmetic when computing alarm expiry.
2016-08-25 14:10:25 +10:00
Damien George
78bc31e294
tests/run-tests: Disable thread/stress_heap.py when running on Travis.
...
It has reliability issues and sometimes fails on Travis (reason currently
unknown).
2016-08-25 14:06:40 +10:00
Matt Brejza
5af6184e72
stmhal: Make ADC channel 16 available on L4 MCUs.
2016-08-25 13:49:51 +10:00
Paul Sokolovsky
c428367543
extmod/modubinascii: Make crc32() support configurable.
...
Disable by default, enable in unix port.
2016-08-24 18:28:43 +03:00
Pavol Rusnak
39799f7564
extmod/modubinascii: implement binascii.crc32
2016-08-24 10:42:46 +02:00
Krzysztof Blazewicz
6562076454
py/stream.c: use mp_obj_get_type in mp_get_stream_raise
...
In current state `mp_get_stream_raise` assumes that `self_in` is an object
and always performs a pointer derefence which may cause a segfault.
This function shall throw an exception whenever `self_in` does not implement
a stream protocol, that includes qstr's and numbers.
fixes #2331
2016-08-24 01:33:31 +03:00
Krzysztof Blazewicz
5a5449d4eb
extmod/modbtree: do CHECK_ERROR after __bt_seq()
...
In `btree_seq()`, when `__bt_seq()` gets called with invalid
`flags` argument it will return `RET_ERROR` and it won't
initialize `val`. If field `data` of uninitialized `val`
is passed to `mp_obj_new_bytes()` it causes a segfault.
2016-08-24 01:31:16 +03:00
Dave Hylands
253e1a6f67
teensy: Fix execution of frozen boot.py and main.py
2016-08-22 12:31:33 +10:00
Damien George
d2d9dfcd40
stmhal: Remove obsolete code for special handling of TIM3 irq settings.
...
TIM3 is no longer special, or at least does not have special IRQ settings.
2016-08-22 12:24:49 +10:00