Commit Graph

7327 Commits

Author SHA1 Message Date
Rami Ali
44cb2ff7ab stmhal: Port of f4 hal commit 1d7fb82 to updated f7 hal. 2016-12-07 17:31:07 +11:00
Rami Ali
821863751f stmhal: Port of f4 hal commit 09de030 to updated f7 hal. 2016-12-07 17:31:05 +11:00
Rami Ali
e1c6ed634f stmhal: Port of f4 hal commit c568a2b to updated f7 hal. 2016-12-07 17:30:44 +11:00
Rami Ali
b9741cd8f8 stmhal/hal: Update ST32CubeF7 HAL files to V1.1.2.
These files originate from the STM32Cube_FW_F7_V1.5.0 software package
from ST.  Newlines are unixified and trailing whitespace is removed.
2016-12-07 17:28:33 +11:00
Rami Ali
d9677f4098 stmhal/cmsis: Update STM32F7 CMSIS device include files to V1.1.2. 2016-12-07 17:27:40 +11:00
Damien George
080a78b15e py/compile: Simplify configuration of native emitter. 2016-12-07 11:17:17 +11:00
Scott Shawcroft
bb9c751b50 atmel-samd: Correct fake date for FAT. Hopefully it'll be in 2016 now. 2016-12-05 11:15:46 -08:00
Scott Shawcroft
0ba9aee428 atmel-samd: Update Trinket and Gemma boards for rev B. 2016-12-05 11:14:36 -08:00
Damien George
4c7d799b82 stmhal/uart: Add check that UART id is valid for the given board.
Previous to this patch trying to construct, but not init, a UART that
didn't exist on the target board would actually succeed.  Only when
initialising the UART would it then raise an exception that the UART does
not exist.

This patch adds an explicit check that the constructed UART does in fact
exist for the given board.
2016-12-05 15:31:16 +11:00
Damien George
aaab6a9921 stmhal/uart: Add support for UART7 and UART8 on F7 MCUs. 2016-12-05 15:14:22 +11:00
Rami Ali
27a503f632 stmhal: Refactor UART configuration to use pin objects.
This follows the pattern of other peripherals (I2C, SPI) to specify the
pins using pin objects instead of a pair of GPIO port and pin number.  It
makes it easier to customise the UART pins for a particular board.
2016-12-05 14:26:41 +11:00
puuu
4fc607a1d7 esp8266: Move websocket_helper.py from scripts to modules for frozen BC.
websocket_helper.py is used by webrepl.  If webrepl is enabled and
websocket_helper.py is not frozen bytecode it leads to heap
fragmentation.
2016-12-05 13:01:08 +11:00
Damien George
042d5f24d6 tests/extmod/framebuf1: Add basics tests for hline, vline, rect, line. 2016-12-05 11:55:43 +11:00
Damien George
374ed317c5 extmod/modframebuf: Add hline, vline, rect and line methods.
These are basic drawing primitives.  They work in a generic way on all
framebuf formats by calling the underlying setpixel or fill_rect C-level
primitives.
2016-12-05 11:52:51 +11:00
Damien George
0db3a41f02 travis: Build STM32 F7 and L4 boards under Travis CI.
The STM32 F7 and L4 boards use significantly different code to the F4
boards so it's important to test them with CI.  To keep CI build times
within a reasonable limit the STM32F4DISC board is no longer built, it's
anyway very similar to the standard F4 build for PYBv1.0.
2016-12-05 11:25:37 +11:00
Damien George
fcd10882bd stmhal/adc: Use constants from new HAL version. 2016-12-05 10:51:00 +11:00
Paul Sokolovsky
e44b236ce2 tests/extmod/btree1: Exercise btree.flush(). 2016-12-05 01:55:05 +03:00
Paul Sokolovsky
4463d8a910 extmod/modbtree: Rename "sync" method to "flush" for consistency.
Rename recently introduced "sync" method to "flush" for consistency with
usual files.
2016-12-05 01:50:55 +03:00
Paul Sokolovsky
1779a62085 zephyr: Switch to Zephyr 1.6 unified kernel API.
In 1.6, Zephyr switched to "unified kernel" and new API set. Older kernel
API is supported, but marked as deprecated and leads to warnings.
2016-12-04 00:47:20 +03:00
Scott Shawcroft
26229efe78 Add try_lock and unlock to I2C and SPI classes to make sure things
are shared well between threads and underlying MicroPython (SPI Flash
for example.)

It is recommended to use the bus device classes to manage the locks
and other transaction state.

https://github.com/adafruit/Adafruit_MicroPython_BusDevice

Fixed #58
Fixed #59
Fixed #60
2016-12-02 15:46:12 -08:00
Peter Hinch
46e59c52af docs/library/pyb.Accel: Add hardware note about pins used by accel. 2016-12-02 17:39:13 +11:00
w4kpm
ec22d1739d extmod/modbtree: Add method to sync the database.
If you have longish operations on the db (such as logging data) it may
be desirable to periodically sync the database to the disk.  The added
btree.sync() method merely exposes the berkley __bt_sync function to the
user.
2016-12-02 17:30:53 +11:00
w4kpm
bd476acd41 extmod/vfs_fat_file: Allow file obj to respond to ioctl flush request. 2016-12-02 17:26:37 +11:00
Damien George
e50cb73b7a esp8266: Enable uselect module.
Select and poll will now work on socket objects.
2016-12-02 16:44:31 +11:00
Damien George
cb53226b0c extmod/modlwip: Add ioctl method to socket, with poll implementation.
Implementation of polling may need further fine tuning, but basic
functionality works (tested on esp8266).
2016-12-02 16:41:51 +11:00
Damien George
2d329c4a56 extmod/moduselect: Use configurable EVENT_POLL_HOOK instead of WFI.
To make moduselect be usable by any port.
2016-12-02 16:40:39 +11:00
Damien George
ebc8d730f1 extmod/moduselect: Use stream helper function instead of ad-hoc code. 2016-12-02 16:39:50 +11:00
Damien George
304cfda8c4 py/stream: Move ad-hoc ioctl constants to stream.h and rename them.
The constants MP_IOCTL_POLL_xxx, which were stmhal-specific, are moved
from stmhal/pybioctl.h (now deleted) to py/stream.h.  And they are renamed
to MP_STREAM_POLL_xxx to be consistent with other such constants.

All uses of these constants have been updated.
2016-12-02 16:37:29 +11:00
Damien George
6194336d81 tests/extmod/vfs_fat_fileio: Add test for constructor of FileIO type. 2016-12-02 15:37:58 +11:00
Damien George
f7545b200e stmhal/moduos: Implement POSIX behaviour of rename, allow to overwrite. 2016-12-02 15:13:29 +11:00
Damien George
b7df3e541a extmod/vfs_fat: Implement POSIX behaviour of rename, allow to overwrite.
If the destination of os.rename() exists then it will be overwritten if it
is a file.  This is the POSIX behaviour, which is also the CPython
behaviour, and so we follow suit.

See issue #2598 for discussion.
2016-12-02 15:06:09 +11:00
Jean-François Milants
08bd7d1d31 stmhal/sdcard: Clean/invalidate cache before DMA transfers with SD card.
Add 2 macros in mphalport.h that clean and invalidate data caches only on
STM32F7 MCUs.  They are needed to ensure the cache coherency before/after
DMA transferts.

* MP_HAL_CLEANINVALIDATE_DCACHE cleans and invalidate the data cache. It
  must be called before starting a DMA transfer from the peripheral to the
  RAM memory.

* MP_HAL_CLEAN_DCACHE cleans the data cache.  It must be called before
  starting a DMA transfert from the RAM memory to the peripheral.

These macros are called in sdcard.c, before reading from and writing to
the SDCard, when DMA is used.
2016-12-02 13:51:09 +11:00
Scott Shawcroft
03f49f8209 atmel-samd: Slim down the pin struct to save ~1200 bytes. 2016-12-01 13:47:18 -08:00
Scott Shawcroft
f4a1da4be9 atmel-samd: Only include bitbangio on boards with flash. 2016-12-01 13:46:44 -08:00
Scott Shawcroft
8ef0dd095a Fix two bugs found by clang:
* PWMOut enter and exit weren't hooked up.
* end couldn't be negative in I2C.
2016-12-01 10:33:50 -08:00
Damien George
a081b49d55 extmod/modframebuf: Optimise fill and fill_rect methods.
Fill is a very common operation (eg to clear the screen) and it is worth
optimising it, by providing a specialised fill_rect function for each
framebuffer format.

This patch improved the speed of fill by 10 times for a 16-bit display
with 160*128 pixels.
2016-12-01 16:51:31 +11:00
Damien George
81e171b7bb extmod/modframebuf: Add back legacy FrameBuffer1 "class".
For backwards compatibility.  It simple creates a frame buffer with the
MVLSB format.
2016-12-01 16:43:25 +11:00
Radomir Dopieralski
eb09336e99 drivers/display/ssd1306.py: Update to use FrameBuffer not FrameBuffer1 2016-12-01 16:43:25 +11:00
Radomir Dopieralski
225e22b287 extmod/modframebuf: Make FrameBuffer handle 16bit depth.
Rename FrameBuffer1 into FrameBuffer and make it handle different bit
depths via a method table that has getpixel and setpixel.  Currently
supported formats are MVLSB (monochrome, vertical, LSB) and RGB565.

Also add blit() and fill_rect() methods.
2016-12-01 16:43:25 +11:00
Scott Shawcroft
915e1e5603 atmel-samd: Move the README text out of ROM to save space. We can still ship with it on flash. 2016-11-30 09:50:19 -08:00
Scott Shawcroft
3628a1ae48 atmel-samd: Fix FLASH_ROOT_POINTERS for internal flash builds. 2016-11-30 09:49:39 -08:00
Damien George
8b8242954e extmod/modurandom: Allow to build with float disabled. 2016-11-30 12:58:54 +11:00
Damien George
c19a395cac stmhal/adc: Make channel "16" always map to the temperature sensor.
The temperature sensor on F4 and F7 MCUs is mostly, but not always, on
channel 16.  To retain compatibility across all these MCUs this patch
maps the user-facing channel 16 to the internal temperature sensor.
2016-11-30 12:58:54 +11:00
Damien George
390ce86a30 stmhal/adc: Add support for F767 MCU. 2016-11-30 12:58:54 +11:00
Damien George
52dfad0879 stmhal/adc: Add ADCAll.read_vref method, returning "3.3v" value. 2016-11-30 12:58:54 +11:00
Damien George
e72353cc48 stmhal/adc: Make ADCAll.read_core_temp return accurate float value.
It now uses factory calibration values to get a more accurate value, and
returns a float instead of an integer.
2016-11-30 12:58:53 +11:00
Damien George
87215a0f04 stmhal/adc: Provide more accurate measure of VBAT and VREFINT.
By using factory calibration values.
2016-11-30 12:58:53 +11:00
Scott Shawcroft
9b3afc7b37 shared-bindings: Make MOSI and MISO optional for SPI. 2016-11-29 16:54:20 -08:00
Scott Shawcroft
4933fa1c27 shared-bindings: Ensure pin objects are actually pins.
Fixes #12
2016-11-29 15:50:01 -08:00
Scott Shawcroft
72455e441f atmel-samd: Use MICROPY_VM_HOOK_LOOP to make sure the mass storage handling code is called even in tight Python loops. Fixes #51 2016-11-29 14:58:37 -08:00