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
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
Krzysztof Blazewicz
c1fa33b493
stmhal: upgrade to STM32CubeF4 v1.13.0 - HAL v1.5.1
2016-11-16 12:43:27 +01:00
Krzysztof Blazewicz
4f5c4fdd98
stmhal: upgrade to STM32CubeF4 v1.13.0 - CMSIS/Device 2.5.1
2016-11-16 12:43:27 +01:00
Damien George
32e98257e2
windows: Enable READER_POSIX to get access to lexer_new_from_file.
2016-11-16 20:27:12 +11:00
Damien George
85ae17c993
mpy-cross: Get compiling after recent persistent code refactors.
2016-11-16 20:25:36 +11:00
Damien George
5bdf1650de
py/lexer: Make lexer use an mp_reader as its source.
2016-11-16 18:35:01 +11:00
Damien George
66d955c218
py/lexer: Rewrite mp_lexer_new_from_fd in terms of mp_reader.
2016-11-16 18:13:51 +11:00
Damien George
e5ef15a9d7
py/lexer: Provide generic mp_lexer_new_from_file based on mp_reader.
...
If a port defines MICROPY_READER_POSIX or MICROPY_READER_FATFS then
lexer.c now provides an implementation of mp_lexer_new_from_file using
the mp_reader_new_file function.
2016-11-16 18:13:51 +11:00
Damien George
511c083811
py/lexer: Rewrite mp_lexer_new_from_str_len in terms of mp_reader_mem.
2016-11-16 18:13:50 +11:00
Damien George
6b239c271c
py: Factor out persistent-code reader into separate files.
...
Implementations of persistent-code reader are provided for POSIX systems
and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and
MICROPY_READER_FATFS respectively. If an alternative implementation is
needed then a port can define the function mp_reader_new_file.
2016-11-16 18:13:50 +11:00
Damien George
6810f2c134
py: Factor persistent code load/save funcs into persistentcode.[ch].
2016-11-16 16:14:14 +11:00
Paul Sokolovsky
64db4080ce
docs/library/index: Elaborate on u-modules.
...
Also, remove an "only" directive in u-modules description.
2016-11-16 01:18:19 +03:00
Damien George
30bca45e1a
tests/basics: Add test for logical constant folding.
2016-11-15 16:48:49 +11:00
Damien George
9b525134d1
py/parse: Add code to fold logical constants in or/and/not operations.
...
Adds about 200 bytes to the code size when constant folding is enabled.
2016-11-15 16:48:49 +11:00
Damien George
ed9c93f0f1
py/parse: Make mp_parse_node_new_leaf an inline function.
...
It is split into 2 functions, one to make small ints and the other to make
a non-small-int leaf node. This reduces code size by 32 bytes on
bare-arm, 64 bytes on unix (x64-64) and 144 bytes on stmhal.
2016-11-15 16:48:48 +11:00
Damien George
b0cbfb0492
py/parse: Move function to check for const parse node to parse.[ch].
2016-11-15 16:48:48 +11:00
Damien George
3f8bb80eb2
cc3200/mods/pybspi: Remove SPI.MASTER constant, it's no longer needed.
2016-11-15 16:35:54 +11:00
Paul Sokolovsky
7602dc5f32
cc3200/pybspi: Remove static mode=SPI.MASTER parameter for latest HW API.
...
Per the latest HW API, "SPI" class implements only master side of the
protocol, so mode=SPI.MASTER (which was static for WiPy anyway) is not
required (or allowed). This change is required to correspond to updated
documentation of machine.SPI class which no longer lists "mode".
2016-11-15 16:31:57 +11:00
Damien George
659b06b250
py/*.mk: Replace uses of 'sed' with $(SED).
2016-11-15 16:09:43 +11:00