micropython/stmhal
Damien George d80174d7c3 stmhal: Use polling, not DMA, for 1 byte SPI transfers.
There is an issue sending 1 byte on the SPI bus using DMA, but it only
occurs when the transmit is done for the first time after initialising
the SPI and DMA peripherals.  All other cases (sending 2 or more bytes,
doing send_recv, doing recv first) work okay.  We sidestep this issue by
using polling (not DMA) for all 1 byte transfers.  This is fine because
a 1 byte transfer can't be interrupted and doesn't need the benefits of
DMA (and using polling for this case is more efficient).

Resolves #1456.
2015-09-15 20:45:37 +01:00
..
boards stmhal: Add support for STM32F411 Discovery Board (STM32F411E-DISCO). 2015-08-29 22:50:58 +01:00
cmsis stmhal/cmsis: Replace non-ascii apostrophe with ascii apostrophe. 2015-08-07 08:46:43 +01:00
hal stmhal: Add HALCOMMITS file with list of commits that touch the hal. 2015-08-03 00:55:36 +01:00
usbdev stmhal: add option to query for the current usb mode 2015-09-03 23:30:43 +01:00
usbhost Initial checkin with STM HAL 2014-03-11 23:55:41 -07:00
.gitignore stmhal: Add support for Espruino Pico board. 2015-04-18 21:40:59 +01:00
accel.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
accel.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
adc.c stmhal: Factor GPIO clock enable logic into mp_hal_gpio_clock_enable. 2015-08-03 00:14:48 +01:00
adc.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
autoflash Add device ID to autoflash script. 2014-05-02 23:03:23 +01:00
bufhelper.c py: Remove mp_obj_str_builder and use vstr instead. 2015-01-21 23:18:02 +00:00
bufhelper.h py: Remove mp_obj_str_builder and use vstr instead. 2015-01-21 23:18:02 +00:00
can.c stmhal: Remove PYBVxx defines and use config vars for UART/CAN names. 2015-05-27 16:51:04 +01:00
can.h stmhal: Remove PYBVxx defines and use config vars for UART/CAN names. 2015-05-27 16:51:04 +01:00
dac.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
dac.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
diskio.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
dma.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
dma.h stmhal/dma.c: Modify dma_init() to accept init struct as an argument 2015-06-24 17:48:52 +01:00
extint.c stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
extint.h stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
ffconf.c stmhal: Put fs_user_mount pointer in root ptr section of global state. 2015-07-27 23:52:56 +01:00
ffconf.h lib: Update FatFs to R0.11. 2015-03-29 22:12:14 +01:00
file.c py: Add stream_tell method, and use for unix and stmhal file tell. 2015-08-13 22:56:32 +01:00
file.h stmhal: Declare variables extern in include files 2014-11-05 22:52:51 +00:00
flash.c stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
flash.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
font_petme128_8x8.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
fsusermount.c stmhal: Put fs_user_mount pointer in root ptr section of global state. 2015-07-27 23:52:56 +01:00
fsusermount.h stmhal: Put fs_user_mount pointer in root ptr section of global state. 2015-07-27 23:52:56 +01:00
gccollect.c stmhal: Collect all root pointers together in 1 place. 2015-01-07 23:38:50 +00:00
gccollect.h stmhal: Remove some unnecessary declarations, purely for cleanup. 2015-03-20 22:27:34 +00:00
gchelper.s REPl working on UART6 with STMHAL 2014-03-12 18:15:55 -07:00
help.c stmhal: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:06:20 +00:00
i2c.c stmhal: Enable I2C support for F7 MCUs. 2015-08-05 23:38:24 +01:00
i2c.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
import.c stmhal: Include fatfs headers using lib/fatfs prefix. 2015-03-04 20:35:41 +00:00
input.c stmhal: Make pybstdio usable by other ports, and use it. 2015-02-13 15:04:53 +00:00
irq.c stmhal: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:06:20 +00:00
irq.h stmhal: Make pyb.[u]delay use systick with IRQs, busy loop otherwise. 2014-11-30 21:23:25 +00:00
lcd.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
lcd.h stmhal: Update and improve LCD driver. 2014-06-15 00:41:47 +01:00
led.c stmhal: Factor GPIO clock enable logic into mp_hal_gpio_clock_enable. 2015-08-03 00:14:48 +01:00
led.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
lexerfatfs.c stmhal: Remove some unnecessary declarations, purely for cleanup. 2015-03-20 22:27:34 +00:00
main.c stmhal: Add "opt" arg to pyb.main, to set mp_optimise_value. 2015-09-12 22:53:54 +01:00
make-stmconst.py stmhal: Generate modstm constants per build 2015-08-07 08:46:43 +01:00
Makefile stmhal: Use CMSIS_MCU definition from mpconfigboard.mk 2015-08-07 08:54:14 +01:00
memory.h stmhal: Enable uhashlib module; add heapq, hashlib weak links. 2014-11-27 17:54:37 +00:00
modnetwork.c lib: Move some common mod_network_* functions to lib/netutils. 2015-05-04 11:48:40 +01:00
modnetwork.h lib: Move some common mod_network_* functions to lib/netutils. 2015-05-04 11:48:40 +01:00
modnwcc3k.c lib: Move some common mod_network_* functions to lib/netutils. 2015-05-04 11:48:40 +01:00
modnwwiznet5k.c lib: Move some common mod_network_* functions to lib/netutils. 2015-05-04 11:48:40 +01:00
modpyb.c stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
modstm.c stmhal: Generate modstm constants per build 2015-08-07 08:46:43 +01:00
moduos.c stmhal: Put fs_user_mount pointer in root ptr section of global state. 2015-07-27 23:52:56 +01:00
moduselect.c py, unix, stmhal: Allow to compile with -Wshadow. 2015-01-20 11:55:10 +00:00
modusocket.c py: Add mp_obj_get_int_truncated and use it where appropriate. 2015-05-12 23:05:53 +01:00
modutime.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
mpconfigport.h stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
mpconfigport.mk stmhal: Initial implementation of cc3k module and driver. 2014-09-26 00:57:26 +01:00
mphal.c stmhal: Factor GPIO clock enable logic into mp_hal_gpio_clock_enable. 2015-08-03 00:14:48 +01:00
mphal.h stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
pendsv.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
pendsv.h stmhal: Remove some unnecessary declarations, purely for cleanup. 2015-03-20 22:27:34 +00:00
pin_defs_stmhal.c stmhal: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:06:20 +00:00
pin_defs_stmhal.h stmhal: Add STM32F7DISC and associated changes. 2015-07-30 00:38:32 +01:00
pin_named_pins.c stmhal: Use new %q format to print qstr's in a few more places. 2015-04-16 22:30:00 +01:00
pin.c stmhal: Factor GPIO clock enable logic into mp_hal_gpio_clock_enable. 2015-08-03 00:14:48 +01:00
pin.h Add Timer support (PWM, OC, IC) for stmhal and teensy 2014-09-19 09:26:13 -07:00
portmodules.h lib: Move time utility functions to common library. 2015-05-13 00:12:54 +01:00
printf.c stmhal: Add STM32F7DISC and associated changes. 2015-07-30 00:38:32 +01:00
pybcdc.inf_template Auto-generate the stmhal/pybcdc_inf header file from static files 2014-04-16 02:41:26 +01:00
pybioctl.h stmhal: Add polling ability to UART object. 2014-09-07 20:40:32 +01:00
pybstdio.c stmhal: Implement sys.std{in,out,err}.buffer, for raw byte mode. 2015-05-24 14:31:33 +01:00
pyexec.c pyexec: Make raw REPL work with event-driven version of pyexec. 2015-05-06 00:02:58 +01:00
pyexec.h pyexec: Make raw REPL work with event-driven version of pyexec. 2015-05-06 00:02:58 +01:00
qstrdefsport.h stmhal: Add "opt" arg to pyb.main, to set mp_optimise_value. 2015-09-12 22:53:54 +01:00
rng.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
rng.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
rtc.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
rtc.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
sdcard.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
sdcard.h stmhal: Change 64-bit arithmetic to 32-bit for SD card block addressing. 2014-09-15 23:49:57 +01:00
servo.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
servo.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
spi.c stmhal: Use polling, not DMA, for 1 byte SPI transfers. 2015-09-15 20:45:37 +01:00
spi.h stmhal: For spi_init, add argument to select if NSS pin is enabled. 2014-09-30 22:36:47 +01:00
startup_stm32.S stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
stm32_it.c stmhal: Add debug capability to print out info about a hard fault. 2015-08-03 00:14:51 +01:00
stm32_it.h stmhal: Renamed startup/system/_it.[ch] file to generic names. 2015-07-30 00:38:29 +01:00
storage.c stmhal: Add STM32F7 support for USB serial and storage. 2015-08-03 00:39:27 +01:00
storage.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
system_stm32.c stmhal: Enable I & D caches for M7 2015-08-15 10:58:24 -07:00
systick.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
systick.h stmhal: Make pyb.[u]delay use systick with IRQs, busy loop otherwise. 2014-11-30 21:23:25 +00:00
timer.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
timer.h stmhal: Allow ADC.read_timed to take Timer object in place of freq. 2015-07-22 19:41:13 +01:00
uart.c stamhal: Add definitions for MCU_SERIES_F4 and MCU_SERIES_F7 2015-08-07 08:52:42 +01:00
uart.h stmhal: Remove PYBVxx defines and use config vars for UART/CAN names. 2015-05-27 16:51:04 +01:00
usb.c stmhal: add option to query for the current usb mode 2015-09-03 23:30:43 +01:00
usb.h stmhal: Properly define pyb.usb_mode() semantics. 2015-02-13 14:02:51 +00:00
usbd_cdc_interface.c stmhal: Break immediately from USB CDC busy wait loop if IRQs disabled. 2015-06-07 23:48:07 +01:00
usbd_cdc_interface.h stmhal: Remove some unnecessary declarations, purely for cleanup. 2015-03-20 22:27:34 +00:00
usbd_conf.c stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
usbd_conf.h stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H. 2015-07-30 00:38:25 +01:00
usbd_desc.c stmhal: Fix setting of VID. 2015-02-13 22:25:55 +00:00
usbd_desc.h stmhal: Properly define pyb.usb_mode() semantics. 2015-02-13 14:02:51 +00:00
usbd_msc_storage.c stmhal: Include fatfs headers using lib/fatfs prefix. 2015-03-04 20:35:41 +00:00
usbd_msc_storage.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
usrsw.c stmhal: Factor GPIO clock enable logic into mp_hal_gpio_clock_enable. 2015-08-03 00:14:48 +01:00
usrsw.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00