Damien George
7693ef3bd6
stmhal: Allow ADC.read_timed to take Timer object in place of freq.
...
This allows a user-specified Timer for the triggering of the ADC read,
mirroring the new behaviour of DAC.write_timed.
Addresses issue #1129 .
2015-07-22 19:41:13 +01:00
Damien George
99a21dc05d
stmhal: Add stm32fxxx_hal_i2s_ex.c to hal/f2 (dummy) and hal/f4.
2015-07-21 23:49:19 +01:00
Damien George
abc24c1876
stmhal: Allow DAC.write_timed to take Timer object in place of freq.
...
This allows the DAC to use a user-specified Timer for the triggering
(instead of the default Timer(6)), while still supporting original
behaviour.
Addresses issues #1129 and #1388 .
2015-07-21 23:39:49 +01:00
Damien George
6f5e0fe955
stmhal: Clean up DAC code a little.
2015-07-21 22:05:56 +01:00
blmorris
2af846e711
stmhal/boards/stm32fxx_prefix.c: Fix alt function number calculation
...
This prevented pin_find_af* functions from being able to find some
of the alternate functions in the pin struct
2015-07-20 16:19:12 +01:00
Damien George
f576057274
stmhal: Add CMSIS device header files for STM32F2xx series.
2015-07-20 12:33:05 +01:00
Wojtek Siudzinski
0621eca05e
stmhal: Add STM32CubeF2 version 1.1.0, in hal/f2 directory.
...
Only those files which are needed by the stmhal port are added.
Also includes a dummy file (stm32f2xx_hal_pcd_ex.c) to keep the build
system the same for f4 and f2 MCU series.
2015-07-20 12:32:09 +01:00
Damien George
a39df51d8a
stmhal: Update Makefile and board configs to compile with relocated hal.
2015-07-20 12:30:18 +01:00
Damien George
e4d43401eb
stmhal: Move HAL Cube files to f4/ subdir, keeping only those we use.
...
This is in preparation for supporting other MCU series, such as
STM32F2xx. Directory structure for the HAL is now hal/f4/{inc,src},
where "f4" will in the future be different for other series.
HAL source/header files that are not use are removed to reduce the size
of the code.
2015-07-20 12:30:18 +01:00
Dave Hylands
9309e609cd
stmhal: Add qstr definition for ifconfig when building for WizNet
2015-07-14 23:00:29 +01:00
Dave Hylands
11115e4d23
stmhal: Add I2S support to make-pins.py
2015-07-07 10:15:37 +01:00
Damien George
0807139c1d
stmhal: Add config option for storage to use second flash segment.
...
When enabled this allows the internal storage to be split over 2
contiguous regions of flash (two segments), and so the storage can be
increased.
This option is disabled by default, giving original behaviour.
2015-06-27 23:27:23 +01:00
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