Damien George
17ba6ef5fa
cc3200: Fix thread mutex's so threading works with interrupts.
...
Running Python code on a hard interrupt is incompatible with having a GIL,
because most of the time the GIL will be held by the user thread when the
interrupt arrives. Hard interrupts mean that we should process them right
away and hence can't wait until the GIL is released.
The problem with the current code is that a hard interrupt will try to
exit/enter the GIL while it is still held by the user thread, hence leading
to a deadlock.
This patch works around such a problem by just making GIL exit/enter a
no-op when in an interrupt context, or when interrupts are disabled.
See issue #2406 .
2016-10-19 14:24:56 +11:00
Scott Shawcroft
46e7f8e4fb
Documentation rework to unify the docs together rather than having them
...
on a per port basis.
Also enables generating docs from inline RST in C code. Simply omits all
lines except those that start with //|. Indentation after "//| " will be
preserved.
2016-10-18 17:42:47 -07:00
Paul Sokolovsky
204222653e
esp8266/main: Mark nlr_jump_fail() as MP_FASTCODE.
...
It's probably not strictly needed so far, but serves as an example of
MP_FASTCODE use and may be helpful in the future.
2016-10-19 00:21:14 +03:00
Paul Sokolovsky
9514d847fe
esp8266: Add MP_FASTCODE modifier to put a function to iRAM.
...
It can be used in the following manner:
void MP_FASTCODE(foo)(int arg) { ... }
2016-10-19 00:20:10 +03:00
Paul Sokolovsky
462748de0c
esp8266/esp8266.ld: Move main.o to iROM.
2016-10-19 00:12:54 +03:00
Paul Sokolovsky
e7e0d91be8
esp8266/esp8266.ld: Move modmachine.o to iROM.
2016-10-19 00:04:30 +03:00
Paul Sokolovsky
6566e3f6a8
esp8266/esp8266.ld: Move help.o to iROM.
2016-10-19 00:01:14 +03:00
Paul Sokolovsky
20d0271863
esp8266/esp_init_data: Auto-initialize system params with vendor SDK 2.0.0.
...
SDK 2.0.0 goes into boot loop if a firmware is programmed over erased flash,
causing problems with user experience. This change implements behavior
similar to older SDKs': if clean flash is detected, default system
parameters are used.
2016-10-18 15:18:07 +03:00
Damien George
542f05d228
teensy: Update to provide new mp_hal_pin_XXX functions following stmhal.
2016-10-18 15:34:17 +11:00
Damien George
b4cc68e4a4
stmhal/led: Refactor LED to use mp_hal_pin_output() init function.
...
As part of this patch the MICROPY_HW_LED_OTYPE setting is removed because
it is now unused (all boards anyway had this as OUTPUT_PP).
2016-10-18 14:43:05 +11:00
Damien George
d49d81b167
stmhal: Refactor pin usage to use mp_hal_pin API.
2016-10-18 14:34:08 +11:00
Damien George
cd9b14bb11
stmhal/modutime: Refactor to use extmod's version of ticks_cpu.
2016-10-18 14:34:08 +11:00
Damien George
5c93d0b916
cc3200: Enable loading of precompiled .mpy files.
...
Adds 1072 bytes to the code size.
2016-10-18 10:17:54 +11:00
Damien George
628799cd36
cc3200/mods/pybspi: Allow "write" arg of read/readinto to be positional.
...
To conform with Hardware API.
2016-10-18 10:16:46 +11:00
Damien George
f12047f66d
docs/machine.SPI: Improve descriptions of xfer methods.
...
In particular remove the "*" because not all ports support keyword
arguments.
2016-10-18 10:14:26 +11:00
Damien George
50ddaafa6a
cc3200: Use mp_raise_XXX helper functions to reduce code size.
...
Reduces code size by 632 bytes.
2016-10-18 09:53:43 +11:00
Paul Sokolovsky
4d45f286eb
esp8266/Makefile: Use latest esptool.py flash size auto-detection.
2016-10-18 00:06:59 +03:00
Paul Sokolovsky
a0b2f48c2f
docs/machine.SPI: Bring up to date with Hardware API, make vendor-neutral.
2016-10-17 18:05:16 +03:00
Damien George
c8d31585a0
docs: Bump version to 1.8.5.
2016-10-17 15:32:43 +11:00
Damien George
1e3a7c4ac5
tests/run-tests: Enable extmod/machine1.py on pyboard.
...
It now works.
2016-10-17 13:18:27 +11:00
Damien George
48feb8ac6e
stmhal: Enable str.center(), str.[r]partition() and builtin compile().
...
Also adds "machine" to the list of modules that the parser can search for
constants.
2016-10-17 13:17:19 +11:00
Damien George
57226a2b7f
stmhal: Implement machine.soft_reset().
2016-10-17 13:16:47 +11:00
Damien George
ad3724e0bc
lib/utils/pyexec: Allow behaviour of SystemExit to be configurable.
...
Setting the pyexec_system_exit variable to PYEXEC_FORCED_EXT allows
SystemExit exceptions to terminate the pyexec functions.
2016-10-17 13:14:59 +11:00
Damien George
7d0d7215d2
py: Use mp_raise_msg helper function where appropriate.
...
Saves the following number of bytes of code space: 176 for bare-arm, 352
for minimal, 272 for unix x86-64, 140 for stmhal, 120 for esp8266.
2016-10-17 12:17:37 +11:00
Damien George
6caca3259f
tests: Add test to print full KeyError exc from failed dict lookup.
2016-10-17 12:01:18 +11:00
Damien George
2750a7b38e
py/objdict: Actually provide the key that failed in KeyError exception.
...
The failed key is available as exc.args[0], as per CPython.
2016-10-17 12:00:19 +11:00
Damien George
a3edeb9ea5
py/objdict: Fix optimisation for allocating result in fromkeys.
...
Iterables don't respond to __len__, so call __len__ on the original
argument.
2016-10-17 11:58:57 +11:00
Damien George
e9404e5f5f
tests: Improve coverage of array, range, dict, slice, exc, unicode.
2016-10-17 11:43:47 +11:00
Damien George
453c2e8f55
tests/cmdline: Improve coverage test for printing bytecode.
2016-10-17 11:23:37 +11:00
Paul Sokolovsky
799ccdc789
esp8266, stmhal, unix: MAKE_FROZEN is consistently defined in mkenv.mk.
2016-10-16 10:49:36 +03:00
Paul Sokolovsky
06234a6115
extmod/modussl_mbedtls: Add dummy setblocking() method.
...
Accepts only value of True.
2016-10-15 23:46:13 +03:00
Scott Shawcroft
cb99ae5032
atmel-samd: Rename Feather M0 Bluefruit files to Feather M0 Basic because there isn't anything Bluefruit specific yet.
2016-10-14 13:10:17 -07:00
Scott Shawcroft
343ff4faed
atmel-samd: Make the Arduino Zero build use a bootloader.
2016-10-14 13:10:16 -07:00
Scott Shawcroft
c69ea1a143
py/makeversionhdr.py: Use any tag to describe the version.
2016-10-14 13:10:16 -07:00
Scott Shawcroft
8677f957fb
lib/utils: Clarify this is Adafruit's MicroPython derivative and help() isn't available yet.
2016-10-14 13:10:16 -07:00
Scott Shawcroft
005b4505f5
Rework the READMEs to clarify that this is a MicroPython derivative and
...
not MicroPython proper.
2016-10-14 12:25:55 -07:00
Paul Sokolovsky
36f97f19b4
extmod/utime_mphal: sleep_us/ms(): Don't wait on negative argument.
2016-10-14 22:19:45 +03:00
Paul Sokolovsky
f059563507
stmhal/modutime: Refactor to use extmod/utime_mphal.c.
...
This includes making sure that utime_mphal's sleep_ms() and sleep_us()
don't sleep on negative arguments.
2016-10-14 20:42:42 +03:00
Scott Shawcroft
0584ba1218
Merge pull request #10 from adafruit/frozen_modules
...
atmel-samd: Add modules directory with frozen bytecode support (like ESP8266 port), and NeoPixel python wrapper module.
2016-10-14 10:16:16 -07:00
Paul Sokolovsky
a97284423e
extmod/utime_mphal: Factor out implementations in terms of mp_hal_* for reuse.
...
As long as a port implement mp_hal_sleep_ms(), mp_hal_ticks_ms(), etc.
functions, it can just use standard implementations of utime.sleel_ms(),
utime.ticks_ms(), etc. Python-level functions.
2016-10-14 20:14:01 +03:00
Tony DiCola
fffc6d1a17
atmel-samd: Add modules directory with frozen bytecode support (like ESP8266 port), and NeoPixel python wrapper module.
2016-10-14 11:39:42 +00:00
Damien George
824f5c5a32
py/vstr: Combine vstr_new_size with vstr_new since they are rarely used.
...
Now there is just one function to allocate a new vstr, namely vstr_new
(in addition to vstr_init etc). The caller of this function should know
what initial size to allocate for the buffer, or at least have some policy
or config option, instead of leaving it to a default (as it was before).
2016-10-14 16:46:34 +11:00
Scott Shawcroft
674038c281
Correct code of conduct link.
2016-10-13 14:11:53 -07:00
Scott Shawcroft
8d9da429c2
Add code of conduct so that expectations on contributor behavior are
...
clearly laid out and a process for reporting violations is in place.
2016-10-13 14:09:39 -07:00
Scott Shawcroft
d451f690ef
Merge pull request #9 from adafruit/ticks_ms
...
Support ticks in os.
2016-10-13 12:22:31 -07:00
Tony DiCola
2ee52c4fde
atmel-samd: Minor fixes to SysTick handler, enable all interrupts function.
2016-10-13 18:36:00 +00:00
Damien George
ed878275b0
esp8266: Enable micropython.alloc_emergency_exception_buf().
2016-10-14 01:27:53 +11:00
Damien George
34d0b3f85c
tests/micropython: Add tests for heap_lock, and emergency exceptions.
2016-10-14 00:32:34 +11:00
Damien George
6a4c6fc023
qemu-arm: Remove SRC_TEST_C from SRC_QSTR list, it's not needed.
...
And it gives problems with header dependencies for auto-qstr generation.
2016-10-14 00:30:38 +11:00
Damien George
b0a15aa735
qemu-arm: Enable lots of extmods and enable tests for them.
...
The qemu-arm port is used for testing of ARM Thumb architecture on a
desktop so should have many features enabled.
2016-10-14 00:08:19 +11:00