Damien George
a3320e7811
stmhal/i2c: Remove use of legacy I2C_NOSTRETCH_DISABLED option.
...
In the new HAL this is renamed to I2C_NOSTRETCH_DISABLE.
2016-11-22 17:40:50 +11:00
Rami Ali
2eff9c29a1
tests/basics: Improve user class coverage.
2016-11-22 15:49:02 +11:00
Rami Ali
1b41cacac7
tests/extmod: Improve ujson coverage.
2016-11-22 15:48:42 +11:00
Scott Shawcroft
8d5c90b0d0
Add script to build bins for Adafruit boards.
2016-11-21 14:40:28 -08:00
Paul Sokolovsky
037e6912c6
py/objtype: Implement __call__ handling for an instance w/o heap alloc.
...
By refactoring and reusing code from objboundmeth.
2016-11-22 01:33:55 +03:00
Scott Shawcroft
575d2e7998
atmel-samd: Default to code.txt instead of main.py (main.py will still work on its own.)
2016-11-21 14:32:11 -08:00
Scott Shawcroft
3b1109c47b
Merge pull request #50 from tannewt/microcontroller
...
Introduce shared APIs: nativeio, microcontroller and board modules. These are the only hardware API on the atmel-samd port.
2016-11-21 14:30:57 -08:00
Scott Shawcroft
ccbb5e84f9
This introduces an alternative hardware API called nativeio structured around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware.
...
Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/
It differs from upstream's machine in the following ways:
* Python API is identical across ports due to code structure. (Lives in shared-bindings)
* Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC).
* Documentation lives with code making it easy to ensure they match.
* Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut).
* All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware.
* All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.
2016-11-21 14:11:52 -08:00
Scott Shawcroft
9321828158
py: Add ability to manually mark blocks during collect.
2016-11-21 14:11:49 -08:00
Damien George
7e820792da
stmhal: Updates to get F411 MCUs compiling with latest ST HAL.
2016-11-21 23:24:24 +11:00
Damien George
1f43d49f9e
tests/micropython: Move alloc-less traceback test to separate test file.
...
The native emitter doesn't provide proper traceback info so this test
should not be run in that case.
2016-11-21 17:39:23 +11:00
Damien George
d70f87aaa2
tests/micropython: Add test for creating traceback without allocation.
2016-11-21 17:10:17 +11:00
Damien George
21d82421cd
stmhal/i2c: Use the HAL's I2C IRQ handler for F7 and L4 MCUs.
...
The custom IRQ handler only works for F4 MCUs, which have the SR1
register.
2016-11-21 16:12:09 +11:00
Damien George
e30ca0e102
unix/Makefile: Update freedos target for change of USELECT config name.
2016-11-21 15:49:46 +11:00
Damien George
0d56c65d3e
extmod/moduselect: Fix comment describing endif.
2016-11-21 15:47:48 +11:00
Paul Sokolovsky
5362bcc487
extmod/machine_mem: Typo fix in comment.
2016-11-21 01:09:17 +03:00
Paul Sokolovsky
f14e9187ac
cc3200: Update for moduselect moved to extmod/.
2016-11-21 01:08:15 +03:00
Paul Sokolovsky
87dfc76570
unix: Rename define for unix moduselect to MICROPY_PY_USELECT_POSIX.
...
To not conflict with recently made available globally baremetal
moduselect.
2016-11-21 00:48:55 +03:00
Paul Sokolovsky
8f5bc3ffc0
stmhal/moduselect: Move to extmod/ for reuse by other ports.
2016-11-21 00:05:56 +03:00
Scott Shawcroft
f03a9ac505
py: Add support for properties on native objects when they are in the locals dict.
2016-11-18 16:18:14 -08:00
Scott Shawcroft
ceeac4791e
atmel-samd: Add Feather M0 with flash
2016-11-18 16:18:13 -08:00
Scott Shawcroft
fe9c28538c
atmel-samd: Turn off using the red LED to show mass storage writes.
2016-11-18 16:18:13 -08:00
Scott Shawcroft
3cfa5b993d
py: Change frozen build to not use -printf which isn't available on Mac OSX.
2016-11-18 16:18:12 -08:00
Scott Shawcroft
6e30b8ea92
atmel-samd: Move neopixel out of internal flash.
2016-11-18 16:17:56 -08:00
Scott Shawcroft
84edec4fad
py: Fix typo in comment.
2016-11-18 16:17:56 -08:00
Damien George
c28fed6b64
examples/accellog.py: Change 1: to /sd/, and update comment about FS.
2016-11-18 17:00:54 +11:00
Paul Sokolovsky
00d6f99cf1
examples/hwapi: Add hwconfig for console tracing of LED operations.
2016-11-18 07:20:26 +03:00
Radomir Dopieralski
e81a5353cb
extmod/machine_i2c: Release SDA on bus error
2016-11-17 12:43:13 +11:00
Radomir Dopieralski
9a82b67f39
extmod/machine_i2c: Raise an error when clock stretching times out
2016-11-17 12:43:13 +11:00
Radomir Dopieralski
702928915c
extmod/machine_i2c: Make the clock stretching timeout configurable
2016-11-17 12:43:12 +11:00
Paul Sokolovsky
b188d6e9db
examples/hwapi: Add example for machine.time_pulse_us().
2016-11-17 01:10:00 +03:00
Krzysztof Blazewicz
5e9057210a
stmhal: Update HALCOMMITS due to change to hal.
2016-11-16 14:05:37 +01:00
Damien George
e01e214259
stmhal/make-stmconst.py: Restore Python 2 compatibility.
2016-11-16 23:53:55 +11:00
Damien George
87f18c08c9
stmhal: Update HALCOMMITS due to change to hal.
2016-11-16 23:43:02 +11:00
Damien George
c5621529c9
stmhal/make-stmconst.py: Add support for files with invalid utf8 bytes.
2016-11-16 23:29:02 +11:00
Krzysztof Blazewicz
4d9dce7759
stmhal/mphalport.h: use single GPIOx->BSRR register
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
13400e1375
stmhal/hal: do not include <stdio.h> in HAL headers
...
stdio.h was included in all HAL files only to provide
definition of NULL symbol
"stdio.h" includes "types.h" which contains some conflicting definitions
with "drivers/cc3000/inc/socket.h"
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
8fa0733647
stmhal/i2c: provide custom IRQ handlers
...
Use custom handlers providing minimal required functionality
because those provided by ST increase code size by almost 2 KiB.
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
7604de3fc2
stmhal/can: clear FIFO flags in IRQ handler
...
HAL Driver before v1.4.2 had a bug which caused clearing all pending
flags in MSR, TSR, RF0R and RF1R instead of only the requested one.
This is why micropython got away without explicitly clearing flags
in IRQ handler.
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
dc1ac5dc3a
stmhal/dma: mark DMA sate as READY even if HAL_DMA_Init is skipped
...
Current version of HAL drivers checks if `hdma->State == HAL_DMA_STATE_READY`
before executing some functions.
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
63ca7a211a
stmhal/dma: precalculate register base and bitshift on handle init
...
Current version of HAL drivers optimize IRQ handler by using precalculated
DMA register address and stream bitshift instead of calculating it on every interrupt.
Since we skip call to `HAL_DMA_Init` on reused DMA, fields StreamBaseAddress and StreamIndex
of DMA handle are not initialized and thus leads to SegFault in `DMA_IRQHandler`.
HAL_DMA_Init is a big routine and we do not need to call it on each use of DMA
(ex.: series of I2C operations) and DMA_CalcBaseAndBitshift is really small and
releasing it increases code size by only 8 bytes.
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
0280b2c1b1
stmhal/i2c: handle I2C IRQs
...
This is required by HAL Driver for error handling since v1.5.0
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
fa833f96df
stmhal/make-stmconst.py: fix regex's to work with current CMSIS
...
CMSIS v2.5.0 removed all uint32_t casts and uses only Misra Cast (U)
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
7928b3e347
stmhal/boards: configure all F4 boards to work with new HAL
...
changes include:
* use single GPIO.BSRR instead of BSRRH and BSRRL
* change HSE_STARTUP_TIMEOUT to 100 ms
* define LSE_STARTUP_TIMEOUT to 5 s
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
6a8f6c119c
stmhal/hal/sd: reapply HAL commit 09de030
for f4
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
e2b4822189
stmhal/hal/rcc: reapply HAL commit c568a2b
for f4
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
4f7c5fa647
stmhal/hal: reapply HAL commit 9db719b
for f4
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
c79ff9930a
stmhal/hal/sd: reapply HAL commit 1d7fb82
for f4
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
a9fb88e1dc
stmhal/hal/i2c: reapply HAL commit ea040a4
for f4
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
e8b435d1f8
stmhal: apply STM32CubeF4 v1.13.1 patch - upgrade HAL driver to v1.5.2
2016-11-16 12:43:27 +01:00