Andrew Leech
8977c7eb58
py/scheduler: Convert micropythyon.schedule() to a circular buffer.
...
This means the schedule operates on a first-in, first-executed manner
rather than the current last-in, first executed.
2019-03-26 16:35:42 +11:00
Maureen Helm
2befcb8a9d
zephyr/i2c: Add support for hardware i2c.
...
Adds support for hardware i2c to the zephyr port. Similar to other ports
such as stm32 and nrf, we only implement the i2c protocol functions
(readfrom and writeto) and defer memory operations (readfrom_mem,
readfrom_mem_into, and writeto_mem) to the software i2c implementation.
This may need to change in the future because zephyr is considering
deprecating its i2c_transfer function in favor of i2c_write_read; in this
case we would probably want to implement the memory operations directly
using i2c_write_read.
Tested with the accelerometer on frdm_k64f and bbc_microbit boards.
2019-03-26 16:16:26 +11:00
Damien George
673db939b5
esp32/machine_pin: Rework pull mode config to fix GPIO hold feature.
...
For gpio_hold_en() to work properly (not draw additional current) pull
up/down must be disabled when hold is enabled. This patch makes sure this
is the case by reworking the pull constants to be a bit mask.
2019-03-26 15:21:23 +11:00
Glenn Ruben Bakke
e0c6dfe90a
nrf/readme: Add section about LTO.
...
Adding section about on how to disable use of the linker flag
-flto, by setting the LTO=0 argument to Make. Also, added a
note on recommended toolchains to use that works well with
LTO enabled.
2019-03-19 16:59:18 +01:00
Damien George
440462b18e
py/runtime: Remove long-obsolete MICROPY_FSUSERMOUNT init code.
...
In 1808b2e8d5
it was replaced by MICROPY_VFS
and related code.
2019-03-20 00:16:37 +11:00
Dave Hylands
ec6e62efc2
stm32/mboot: Set USE_MBOOT=1 by default in the Makefile.
...
This allows boards that need USE_MBOOT to be built properly whether or not
USE_MBOOT=1 is specified when building mboot.
2019-03-18 14:01:43 +11:00
Glenn Ruben Bakke
696549d2e5
nrf/bluetooth: Deprecate use of SoftDevice s140 v6.0.0.
...
Removing linker script for nrf52840 s140 v6.0.0 as pca10056
target board now points to the new v6.1.1. Also, removing the
entry from the download_ble_stack.sh script.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
a3a266a9c3
nrf/board: Migrate nrf52840 target to new BLE stack.
...
This patch moves pca10056/nrf52840 target board to use
the new SoftDevice s140 v6.1.1 instead of the legacy v6.0.0.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
d3c1436e75
nrf/bluetooth: Add support for SoftDevice s140 version 6.1.1.
...
Updating download script to fetch the new SoftDevice, and
adding corresponding linker script for the BLE stack.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
1e5e3e3d48
nrf/bluetooth: Deprecate use of SoftDevice s132 v6.0.0.
...
Removing linker script for nrf52832 s132 v6.0.0 as all target
boards now points to the new v6.1.1. Also, removing the entry
from the download_ble_stack.sh script.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
5f26ef1112
nrf/board: Migrate all nrf52832 targets to new BLE stack.
...
This patch moves all the nrf52832 target boards to use the
new SoftDevice s132 v6.1.1 instead of the legacy v6.0.0.
2019-03-15 20:50:15 +01:00
Nguyen Hoan Hoang
e8ed2dea71
nrf/bluetooth: Add support for SoftDevice s132 version 6.1.1.
...
Updating download script to fetch the new SoftDevice, and
adding corresponding linker script for the BLE stack.
2019-03-15 20:50:15 +01:00
roland van straten
c9eb7eb449
stm32/stm32_it: Guard UART7_IRQHandler with check for UART7 define.
...
All STM32 with a UART7 also have a UART8 and vice versa, but this change
improves readability and allows for them to be independent in the future.
2019-03-14 14:02:21 +11:00
Damien George
c7d19dc0ad
ports/{stm32,esp8266}: Set mpy-cross native arch for frozen native code.
2019-03-14 12:22:49 +11:00
Damien George
5a6026c614
py/compile: Check that arch is set when compiling native, viper or asm.
2019-03-14 12:22:25 +11:00
Damien George
55fcb83a42
py/compile: Support multiple inline asm emitters.
2019-03-14 12:22:25 +11:00
Damien George
9c9bc65e74
mpy-cross: Add "-march=<arch>" option to select native emitter.
2019-03-14 12:22:25 +11:00
Damien George
d9d92f27d7
py/compile: Add support to select the native emitter at runtime.
2019-03-14 12:22:25 +11:00
Damien George
0e4c24ec08
py/nativeglue: Rename native convert funs to match other native helpers.
2019-03-14 12:22:25 +11:00
Damien George
3b973a5658
py: Move mp_native_type_from_qstr() from emitnative.c to nativeglue.c.
2019-03-14 12:22:25 +11:00
Damien George
28c2873d99
docs/esp32: Add a note to quickref about use of Pin.PULL_HOLD.
2019-03-14 07:38:50 +11:00
Damien George
6fa830bfd8
docs/library/machine.Pin: Add PULL_HOLD constant to possible pin pulls.
...
As already mentioned in the docs, not all constants may be available on all
ports, so this is optional to implement.
2019-03-14 07:29:04 +11:00
Damien George
ddc934631c
esp32/machine_pin: Add new PULL_HOLD pin pull mode.
2019-03-14 07:28:57 +11:00
Damien George
349b54525e
esp32/machine_pin: Make it so None as pull value disables pull up/down.
...
Previously specifying None as the pull value would leave the pull up/down
state unchanged. This change makes it so -1 leaves the state unchanged and
None makes the pin float, as per the docs.
2019-03-14 07:26:59 +11:00
Wolf Vollprecht
ea2fcdd338
javascript: Fix Emscripten async load, and to compile with modern clang.
2019-03-13 23:52:15 +11:00
Rami Ali
7d675f3a17
javascript: Add new port targeting JavaScript via Emscripten.
...
In this port JavaScript is the underlying "machine" and MicroPython is
transmuted into JavaScript by Emscripten. MicroPython can then run under
Node.js or in the browser.
2019-03-13 23:47:32 +11:00
Wolf Vollprecht
921b999225
extmod/moduselect: Adjust select_select and poll_register to use size_t.
2019-03-13 23:18:59 +11:00
Martin Fischer
912e957512
docs/develop: Fix typos in C-module example for example_add_ints.
2019-03-13 12:54:01 +11:00
johnthagen
ea95bdc1ca
docs/pyboard: Make pyboard v1.1 pinout the default shown in quickref.
2019-03-13 12:37:35 +11:00
johnthagen
d390ad9053
docs/pyboard: Add link to pyboard v1.1 schematic and layout PDF.
2019-03-13 12:33:02 +11:00
Damien George
68a5d6fe77
extmod/modlwip: Fix case where concurrency lock isn't released on error.
2019-03-12 22:35:52 +11:00
Maureen Helm
493ee7df18
zephyr/prj_frdm_kw41z.conf: Add new board configuration.
...
Adds a new board configuration for the frdm_kw41z board, including support
for the fxos8700 accelerometer/magnetometer/die temperature sensor.
2019-03-12 17:12:13 +11:00
Maureen Helm
7748375b6e
zephyr/prj_frdm_k64f.conf: Add fxos8700 sensor.
...
Adds the fxos8700 accelerometer/magnetometer/die temperature sensor to the
frdm_k64f board configuration.
2019-03-12 17:12:00 +11:00
Paul Sokolovsky
6d82499a48
zephyr/Makefile: Proxy ram_report, rom_report targets from Zephyr.
2019-03-12 17:11:52 +11:00
Paul Sokolovsky
755b0b807b
zephyr/prj_minimal.conf: Switch to CONFIG_STDOUT_CONSOLE.
...
Prompted by code size analysis, after arduino_101 build overflowing ROM.
2019-03-12 17:11:46 +11:00
Paul Sokolovsky
21fc0c448e
zephyr/modzsensor: Rename "TEMP" sensor channel to "DIE_TEMP".
...
I.e. on-die temperature sensor. Upstream made more fine-grained channels
for different kinds of temperature.
2019-03-12 17:11:30 +11:00
Paul Sokolovsky
a42c1d9fd5
zephyr/modzephyr: Revamp stacks_analyze() call.
...
Underlying k_call_stacks_analyze() was gone in Zephyr, reimplement using
k_thread_foreach().
2019-03-12 17:11:09 +11:00
Damien George
297092a76a
esp32/mphalport: Use ets_delay_us for mp_hal_delay_us_fast.
...
The system provided one is in ROM and is more accurate.
2019-03-12 15:46:44 +11:00
Damien George
fcace26d87
esp32/Makefile: Add some missing IDF source files to bootloader and app.
...
Functions in these files may be needed when certain features are enabled
(eg dual core mode), even if the linker does not give a warning or error
about unresolved symbols.
2019-03-11 23:17:09 +11:00
Petr Kracík
41e7ad647e
esp32/modnetwork: Remove redundant esp_log include.
2019-03-08 23:36:07 +11:00
Petr Kracík
73c48b1b45
esp32/modnetwork: Implement RSSI for WiFi STA via WLAN.status('rssi').
2019-03-08 23:35:28 +11:00
Andrew Leech
5688c9ba09
stm32/usb: Allow to override USB strings & VID/PID in app and mboot.
...
The override #define's should go in the board's mpconfigboard.h file.
2019-03-08 23:29:15 +11:00
Andrew Leech
0c60cb1fc4
stm32/qspi: Set pin speed to very-high and allow to config some options.
...
The default speed of the QSPI interface is 72Mhz whereas the standard AF
pin speed (high) is only rated to 50Mhz, so increase speed to very-high.
2019-03-08 23:17:50 +11:00
Andrew Leech
2ed2ec1711
drivers/memory/spiflash: Rework wait_sr to fix uninit'd variable 'sr'.
2019-03-08 23:11:13 +11:00
Andrew Leech
89ff506513
py: Update and rework build system for including external C modules.
...
How to use this feature is documented in docs/develop/cmodules.rst.
2019-03-08 22:58:42 +11:00
Ayke van Laethem
2e516074da
py: Implement a module system for external, user C modules.
...
This system makes it a lot easier to include external libraries as static,
native modules in MicroPython. Simply pass USER_C_MODULES (like
FROZEN_MPY_DIR) as a make parameter.
2019-03-08 22:49:00 +11:00
Andrew Leech
cf22f4793c
py: Allow registration of modules at their definition.
...
During make, makemoduledefs.py parses the current builds c files for
MP_REGISTER_MODULE(module_name, obj_module, enabled_define)
These are used to generate a header with the required entries for
"mp_rom_map_elem_t mp_builtin_module_table[]" in py/objmodule.c
2019-03-08 22:46:43 +11:00
Damien George
e4ac104b7f
stm32: Allow to build with threading with the GIL disabled.
2019-03-08 22:29:54 +11:00
Damien George
1e23a29c8a
tests/import: Add test for importing x64 native code.
2019-03-08 17:20:17 +11:00
Damien George
c6a9bb23cd
unix/Makefile: Update coverage tests to match those in Travis.
2019-03-08 16:51:09 +11:00