Commit Graph

8009 Commits

Author SHA1 Message Date
Paul Sokolovsky
9ffc3ae0e7 tests/heapalloc_str: Test for alloc-free string operations.
Starts with concatenation with an empty string.
2017-01-27 00:49:39 +03:00
Paul Sokolovsky
e2e663291d py/objstr: Optimize string concatenation with empty string.
In this, don't allocate copy, just return non-empty string. This helps
with a standard pattern of buffering data in case of short reads:

    buf = b""
    while ...:
        s = f.read(...)
        buf += s
        ...

For a typical case when single read returns all data needed, there won't
be extra allocation. This optimization helps uasyncio.
2017-01-27 00:49:39 +03:00
Glenn Ruben Bakke
87e7ab8862 nrf5/hal: Fixing nrf51 SPI pin configuration to use pin member of struct. 2017-01-26 22:31:23 +01:00
Glenn Ruben Bakke
9009ad67b0 nrf5/boards: Updating boards to comply to new style of configuring pins for uart and spi. 2017-01-26 22:29:58 +01:00
Glenn Ruben Bakke
6387490e4a nrf5/boards: Updating board configuration for pca10056 (nrf52840) with new pin configuration scheme for SPI and UART. 2017-01-26 22:15:35 +01:00
Glenn Ruben Bakke
0b0cb19608 nrf5/hal: Updating hal QSPI header with define guard to filter out usage of undefined structures and names when compiling against non-52840 targets. 2017-01-26 22:10:36 +01:00
Glenn Ruben Bakke
b4d53ad560 nrf5/drivers: Updating display objects to use new SPI pin configuration in print function. 2017-01-26 22:08:39 +01:00
Glenn Ruben Bakke
0254cab228 nrf5/hal: Updating SPI DMA variant with more frequencies, and allowing rx and tx buffers to be NULL. 2017-01-26 22:01:43 +01:00
Glenn Ruben Bakke
632afd1fa8 nrf5/uart: Updating uart module to use new config hal config structure members for pins. Changing board config provided pins to use const pointers from generated pins instead of pin name. 2017-01-26 21:59:37 +01:00
Glenn Ruben Bakke
d87d0141b3 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:58:12 +01:00
Glenn Ruben Bakke
3c6c6c6d05 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:57:38 +01:00
Glenn Ruben Bakke
afcf07ca76 nrf5: Updating modmachine to add SPI in globals dict when MICROPY_PY_MACHINE_HW_SPI define is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixes missing SPI in the machine module after renaming port SPI enable define. 2017-01-26 21:31:24 +01:00
Glenn Ruben Bakke
f94836ef74 nrf5: Updating main.c to enable SPI if MICROPY_PY_MACHINE_HW_SPI is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixing missing init of SPI after renaming port SPI enable define. 2017-01-26 21:29:24 +01:00
Glenn Ruben Bakke
8653ac9ef8 nrf5/spi: Adding multiple instances of machine SPI depending on which chip is targeted (nrf51/nrf52832/nrf52540). Updating board config requirement to give variable name of const pointer to Pin instead of a Pin name. Adding support of giving keyword set mosi/miso/clk pin through constructor. 2017-01-26 21:27:59 +01:00
Glenn Ruben Bakke
437f3d2477 nrf5/hal: Updating SPI hal with full list of SPI interfaces as lookup tables for all devices. Updating init struct to pass Pin instance pointers instead of uint pin number and ports. 2017-01-26 21:24:31 +01:00
Damien George
221f88d1f3 tests/extmod: Add test for ure debug printing when compiling a regex. 2017-01-26 23:45:51 +11:00
Damien George
e9cb1f8077 py/objmodule: Move module init/deinit code into runtime functions.
They are one-line functions and having them inline in mp_init/mp_deinit
eliminates the overhead of a function call, and matches how other state
is initialised in mp_init.
2017-01-26 23:30:38 +11:00
Glenn Ruben Bakke
197c052ca6 nrf5/drivers: Activate ssd1289 object in the display module. 2017-01-25 19:52:18 +01:00
Glenn Ruben Bakke
0fdcd2eac7 nrf5/boards: Adding ssd1289 lcd module in pca10040 (nrf52832) board. 2017-01-25 19:51:14 +01:00
Glenn Ruben Bakke
83b234f878 nrf5: Adding ssd1289 driver and python module into build. 2017-01-25 19:49:30 +01:00
Glenn Ruben Bakke
c442588b92 nrf5/drivers: Adding ssd1289 lcd tft driver and python module. 2017-01-25 19:47:25 +01:00
Damien George
bf51200bc1 tests/extmod/framebuf1: Fix test for framebuf invalid constructor. 2017-01-25 23:23:50 +11:00
Oleg Korsak
406fb3cb60 tests/extmod/framebuf4: Add tests for GS4_HMSB framebuf format. 2017-01-25 23:20:19 +11:00
Oleg Korsak
fd99690f18 extmod/modframebuf: Add GS4_HMSB format. 2017-01-25 23:19:28 +11:00
Damien George
eaa77455c3 py/objint: Fix left-shift overflow in checking for large int. 2017-01-25 14:39:13 +11:00
Damien George
b32a38e373 esp8266: Factor out common linker code to esp8266_common.ld. 2017-01-25 09:49:55 +11:00
Damien George
246f607a92 stmhal/mpconfigport.h: Reorganise the config options into groups.
The order now follows that in py/mpconfig.h and is a bit cleaner and easier
to maintain.  No options were changed/added/removed with this patch, it's
just a reordering.
2017-01-24 23:51:54 +11:00
Damien George
f8a022bc11 stmhal/boards/STM32L476DISC: Use external SPI flash for filesystem. 2017-01-24 17:01:53 +11:00
Damien George
d6a2d00167 stmhal: Add ability to have filesystem stored on external SPI flash.
To use this feature a port should define MICROPY_HW_SPIFLASH_SIZE_BITS
along with x_CS, x_SCK, x_MOSI, x_MISO (x=MICROPY_HW_SPIFLASH).  This will
then use external SPI flash on those pins instead of the internal flash.

The SPI is done using the software implementation.  There is currently only
support for standard SPI (ie not dual or quad mode).
2017-01-24 16:58:50 +11:00
Damien George
784e023a26 drivers/memory: Add SPI flash driver, written in C. 2017-01-24 16:56:03 +11:00
Pavol Rusnak
bdcca42390 stmhal: Fix examples in openocd configs to include addresses. 2017-01-24 00:34:36 +11:00
stijn
533129f835 tests: Make sure special tests can be skipped as well.
Fixes #2806.
2017-01-24 00:30:55 +11:00
Damien George
c707668d9e docs/library/lcd160cr: Fix set_brightness range, should be 0..31. 2017-01-24 00:17:39 +11:00
Damien George
7d08bc27e2 docs/pyboard/tutorial: Add tutorial for LCD160CR. 2017-01-23 15:50:37 +11:00
Damien George
cffe00d6ab stmhal: Add default frozen-bytecode directory and link lcd160cr driver.
stmhal will now be built by default with frozen bytecode from scripts
stored in the stmhal/modules/ directory.  This can be disabled or
changed to another directory by overridding the make variable
FROZEN_MPY_DIR.
2017-01-23 14:37:49 +11:00
Damien George
e72e343908 docs: Add documentation for lcd160cr module. 2017-01-23 14:37:10 +11:00
Damien George
43d9f9916a drivers/display: Add driver and test for uPy LCD160CR display. 2017-01-23 14:36:19 +11:00
Damien George
e2d13d934a extmod/modframebuf: Clip pixels drawn by line method. 2017-01-23 14:35:00 +11:00
Glenn Ruben Bakke
5cc4890119 nrf5/hal: Fixing compile issues in quad SPI driver. 2017-01-23 00:33:27 +01:00
Glenn Ruben Bakke
fcd9ce2015 nrf5/hal: Updating Quad SPI hal driver. 2017-01-23 00:11:50 +01:00
Glenn Ruben Bakke
0662e1ccf5 nrf5/hal: Aligning assignment in hal_adc.c 2017-01-23 00:10:04 +01:00
Glenn Ruben Bakke
1bd9003338 nrf5/hal: Adding more types to quad SPI header. 2017-01-22 23:04:25 +01:00
Glenn Ruben Bakke
e40c385c6a nrf5: Syncing code after upmerge with master. 2017-01-22 22:18:44 +01:00
Glenn Ruben Bakke
93a245136d Merge branch 'nrf52' into nrf5_no_sdk 2017-01-22 19:34:32 +01:00
Glenn Ruben Bakke
9397583f6c Merge branch 'master' into nrf52 2017-01-22 19:33:25 +01:00
Glenn Ruben Bakke
e02c90dca5 nrf5/hal: Updating clock frequency enums and lookup table for quad spi. 2017-01-22 19:15:24 +01:00
Glenn Ruben Bakke
a7f3217c95 nrf5/hal: Adding QSPI base and IRQ num in c-file. 2017-01-22 18:31:42 +01:00
Damien George
211244d1f3 lib/utils/pyexec: Only print help prompt if HELP feature is enabled. 2017-01-22 12:33:19 +11:00
Damien George
c594cf12ed stmhal: Enable help('modules') feature. 2017-01-22 12:30:53 +11:00
Damien George
20fc620327 tests/basics/builtin_help: Add test for help('modules'). 2017-01-22 12:14:56 +11:00