blmorris
c5175526dd
stmhal/dma.c: Modify dma_init() to accept init struct as an argument
...
This removes hard-coded DMA init params from dma_init(), instead defining
these parameters in a DMA_InitTypeDef struct that gets passed as an
argument to dma_init()
This makes dma_init more generic so it can be used for I2S and SD Card,
which require different initialization parameters.
2015-06-24 17:48:52 +01:00
Damien George
6e1dfb0d1a
stmhal: Reorganise code for parsing keyword args in I2C methods.
...
To make it the same as SPI and UART.
2015-06-22 23:46:22 +01:00
Damien George
76285469d3
stmhal: Make I2C use DMA when interrupts are enabled.
2015-06-10 14:01:44 +01:00
Damien George
3d30d605f5
stmhal: Factor out DMA initialisation code from spi.c.
...
This is so that the DMA can be shared by multiple peripherals.
2015-06-10 14:01:44 +01:00
Damien George
0aa5e75000
stmhal: Break immediately from USB CDC busy wait loop if IRQs disabled.
...
If IRQs are disabled then the USB CDC buffer will never be
drained/filled and the sys-tick timer will never increase, so we should
not busy wait in this case.
2015-06-07 23:48:07 +01:00
Damien George
53a8aeb6e7
stmhal: Fix slow SPI DMA transfers by removing wfi from DMA wait loop.
...
Addresses issue #1268 .
2015-06-03 23:20:23 +01:00
Dave Hylands
3ac2d06bd1
stmhal: Add support for UART5
...
I tested this on my CERB40 board and it seems to be working fine.
2015-06-01 00:14:46 +01:00
Damien George
17d9b5006d
stmhal: Fix off-by-one error when checking for valid I2C and SPI bus.
2015-05-28 11:05:44 +01:00
Damien George
70446f46c2
stmhal: Allow to name SPI busses, and give them names for pyboard.
2015-05-27 17:21:42 +01:00
Damien George
0e6f5e08e1
stmhal: Allow to name I2C busses, and give them names for pyboard.
2015-05-27 17:16:26 +01:00
Damien George
1775b65e07
stmhal: Remove PYBVxx defines and use config vars for UART/CAN names.
...
Now all stmhal-based boards can name their peripherals (if they want) to
any string.
2015-05-27 16:51:04 +01:00
Damien George
3c4b5d4281
stmhal: Implement sys.std{in,out,err}.buffer, for raw byte mode.
...
It's configurable and only enabled for stmhal port.
2015-05-24 14:31:33 +01:00
Dave Hylands
968b7dd173
stmhal: Detect disk full condition
2015-05-24 14:07:11 +01:00
Damien George
0d31bbc7fa
stmhal: Make pendsv variable non-static so gcc-5 doesn't opt it away.
2015-05-23 17:42:58 +01:00
Kaspar Schleiser
f5dd6f7f37
py/binary: Make return type of mp_binary_get_size size_t instead of int.
...
Fixes sign-compare warning.
2015-05-17 18:12:19 +01:00
Damien George
1511dd4f84
stmhal: Add readinto and readlines methods to sys.stdin, pyb.USB_VCP().
...
Addresses issue #1255 .
2015-05-13 20:22:11 +01:00
Josef Gajdusek
1db4253886
lib: Move time utility functions to common library.
2015-05-13 00:12:54 +01:00
Steve Zatz
c7df9c6c47
stmhal: Add os.rename function.
2015-05-12 23:43:11 +01:00
Damien George
c50772d19f
py: Add mp_obj_get_int_truncated and use it where appropriate.
...
mp_obj_get_int_truncated will raise a TypeError if the argument is not
an integral type. Use mp_obj_int_get_truncated only when you know the
argument is a small or big int.
2015-05-12 23:05:53 +01:00
blmorris
5df81de7af
sthmal/rtc.c: Add calibration() method to get/set RTC fine-tuning value.
2015-05-11 23:48:39 +01:00
Dave Hylands
ff987ccf11
stmhal: Move debug UART repl to after uart_init0 call.
2015-05-06 22:16:49 +01:00
Damien George
c98c128fe8
pyexec: Make raw REPL work with event-driven version of pyexec.
...
esp8266 port now has working raw and friendly REPL, as well as working
soft reset (CTRL-D at REPL, or raise SystemExit).
tools/pyboard.py now works with esp8266 port.
2015-05-06 00:02:58 +01:00
Paul Sokolovsky
3d3ef36e97
modstruct: Rename module to "ustruct", to allow full Python-level impl.
2015-05-04 16:53:52 +03:00
Josef Gajdusek
04ee5983fe
lib: Move some common mod_network_* functions to lib/netutils.
2015-05-04 11:48:40 +01:00
Eero af Heurlin
2378be4e93
stmhal: Allow to configure UART pins completely via mpconfigboard.h.
2015-05-03 13:48:26 +01:00
Dave Hylands
c3e37a0cde
stmhal: Automatically re-enable IRQs on the USB REPL.
...
This allows errors to be seen and prevents hanging
the board from doing: pyb.disable_irq()
2015-04-29 08:27:38 +01:00
Damien George
b7a4f15b34
mp-readline: Save "prompt" string in readline state.
2015-04-29 00:32:35 +01:00
Damien George
95f53461c2
py: Replace py-version.sh with makeversionhdr.py, written in Python.
...
Also rename py-version.h to mpversion.h for consistency with mpconfig.h.
2015-04-28 23:52:36 +01:00
Dave Hylands
fdcb3b7ebb
stmhal: Actually disable unhandled timer interrupts.
2015-04-28 00:17:05 -07:00
Dave Hylands
fd787c5e4e
stmhal: Reset the timer counter to zero after changing the auto reload.
...
Because if the counter is above the new value of the auto-reload register
then it may be a long time until the timer wraps around.
2015-04-22 23:31:56 +01:00
Damien George
d8837cea6f
stmhal: Implement os.uname() to get details of OS and hardware.
2015-04-21 14:51:49 +00:00
Damien George
f35b5d28db
stmhal/pyexec.c: Make raw REPL mode 8-bit clean.
2015-04-19 21:30:49 +01:00
Damien George
404b68da88
stmhal: Provide ADC capabilities for F401 and F411 MCUs.
...
Simply needed to define which pins have which ADC channel on them.
2015-04-18 22:39:06 +01:00
Damien George
b42a5050fb
stmhal: Add support for STM32F411 MCU.
2015-04-18 22:15:59 +01:00
Damien George
3e592531eb
stmhal: For flash storage use same params for F407 as F405.
2015-04-18 22:08:16 +01:00
Damien George
90e6d0c2ac
stmhal: Add support for Espruino Pico board.
...
To build:
make BOARD=ESPRUINO_PICO
To deploy: short the BOOT0/BTN contact on the back of the board (eg by
drawing over it with a graphite pencil), then hold down BTN while
inserting the board into the USB port. The board should then enter DFU
mode, and the firmware can be downloaded using:
make BOARD=ESPRUINO_PICO deploy
2015-04-18 21:40:59 +01:00
Damien George
e4b4e5aa31
stmhal: Add stm32f401.ld for linking F401 targets.
2015-04-18 21:40:59 +01:00
Damien George
0435e76250
stmhal: Make ld and af files configurable within Makefile.
...
Each board now needs an mpconfigboard.mk file which defines AF_FILE and
LD_FILE.
Also moved stm32f405.ld to boards/ directory to keep things organised.
2015-04-18 21:40:59 +01:00
Damien George
03ec6e4d01
stmhal: Add stm32f401_af.csv, for AF definitions of F401 MCUs.
2015-04-18 21:40:59 +01:00
Damien George
9253e7bdf7
stmhal: Rename stm32f4xx_af.csv to stm32f405_af.csv.
...
Since this file is only valid for F405 MCUs, not generic F4xx.
2015-04-18 21:40:59 +01:00
Damien George
6be0bbb886
stmhal: Add support for flash filesystem on F401 MCUs.
...
It uses a 16k cache buffer and so the filesystem size is limited.
2015-04-18 21:40:59 +01:00
Damien George
5a11086d64
stmhal: Allow extint.c to compile without USB HS support.
2015-04-18 21:40:59 +01:00
Damien George
d15fe5a6b3
stmhal: Make I2C busses and their pins configurable in mpconfigboard.h.
2015-04-18 21:40:59 +01:00
Damien George
8892f71dd0
stmhal: Exclude code for UARTs that don't exist in hardware.
2015-04-18 21:40:58 +01:00
Damien George
73f1a49137
stmhal: Exclude USB HS code when USB HS mode not enabled.
2015-04-18 21:40:58 +01:00
Damien George
c92c7a69fd
stmhal: Exclude code for those timers that don't exist in the hardware.
2015-04-18 21:40:58 +01:00
Damien George
7d6595fd18
stmhal: Make LCD initialiser use board pin names instead of cpu names.
2015-04-18 21:40:58 +01:00
Damien George
50ea86fe8b
stmhal: For pins, define macros mapping board names to cpu names.
2015-04-18 21:40:58 +01:00
Damien George
2e5704d101
stmhal: Make a HW config option for LED4 being controlled by PWM.
2015-04-18 21:40:58 +01:00
Damien George
8bdbc20e74
stmhal: Make HSE PLL parameters configurable per board.
2015-04-18 21:40:58 +01:00