Damien George
bf51e2ff98
tests/basics: Add tests for list and bytearray growing using themselves.
2017-04-02 17:31:32 +10:00
Damien George
a5500a8aad
py/obj.h: Make sequence grow more efficient and support overlapping.
...
The first memmove now copies less bytes in some cases (because len_adj <=
slice_len), and the memcpy is replaced with memmove to support the
possibility that dest and slice regions are overlapping.
2017-04-02 17:28:24 +10:00
Glenn Ruben Bakke
5f645b6c8e
nrf5/modules/ubluepy: Adding compile guard for UBLUEPY_CENTRAL around the char_read() call to ble_drv_attr_c_read().
2017-04-02 00:31:28 +02:00
Glenn Ruben Bakke
84e5b828ea
nrf5/bluetooth: Moving central code inside central bluetooth stack defines to make peripheral only code compile again.
2017-04-02 00:30:16 +02:00
Glenn Ruben Bakke
460f6dee50
nrf5/examples: Updating ubluepy scan example to use constant value from ubluepy instead of hardcoded value.
2017-04-01 22:50:37 +02:00
Glenn Ruben Bakke
9568e07159
nrf5/examples: Adding example on how to use the ubluepy Scanner object in order to scan for a device name and find the address of the device. This can subsequently be used to perform a Central role connect() using the Peripheral object.
2017-04-01 22:45:11 +02:00
Glenn Ruben Bakke
33b1028b50
nrf5/modules/ubluepy: Turn all attributes (addr, addr_type and rssi) to method calls instead of using common .attr callback. Adding getScanData implementation, which parses the advertisment data and returns a list of tuples containing (ad_type, desc, value). Description is generated by peeking into the ad_types local dicts map table, and do a reverse lookup on the value to find the QSTR.
2017-04-01 22:43:54 +02:00
Glenn Ruben Bakke
bb196a2b09
nrf5/modules/ubluepy: Adding ad_types constants in new object. Linking in ad_types object into the ubluepy.constants local dict.
2017-04-01 22:37:39 +02:00
Glenn Ruben Bakke
0887b95bb9
nrf5/modules/ubluepy: Expose ubluepy constant objects as externs in modubluepy.h to be able to get access to the local dict tables in order to do a reverse lookup on value to resolve QSTR from external modules in c.
2017-04-01 22:34:51 +02:00
Glenn Ruben Bakke
706bc97c92
nrf5/modules/ubluepy: Upon advertisment event, also store the advertisment data.
2017-04-01 22:32:55 +02:00
Glenn Ruben Bakke
276073b494
nrf5/modules/ubluepy: Adding callback function to handle read response if gatt client has issued a read request. Also adding method for returning the uuid instance from the object.
2017-04-01 16:39:51 +02:00
Glenn Ruben Bakke
5a7ab4686c
nrf5/modules/ubluepy: Adding value data member to the characteristic object. This can hold the value data when gatt client perform a read and value has to be transferred between interrupt and main thread.
2017-04-01 16:36:15 +02:00
Glenn Ruben Bakke
c88358d84b
nrf5/bluetooth: Updating bluetooth driver to support GATT client read of a characteristic value. Data passed to caller in interrupt context, and copy has to be performed. The function call is itself blocking.
2017-04-01 16:34:26 +02:00
Paul Sokolovsky
3df65e9bae
zephyr/modusocket: Implement recv() for UDP sockets.
...
The foundation of recv() support is per-socket queue of incoming packets,
implemented using Zephyr FIFO object. This patch implements just recv()
for UDP, because TCP recv() requires much more fine-grained control of
network fragments and handling other issues, like EOF condition, etc.
2017-04-01 09:20:17 +03:00
Damien George
4c307bfba1
all: Move BYTES_PER_WORD definition from ports to py/mpconfig.h
...
It can still be overwritten by a port in mpconfigport.h but for almost
all cases one can use the provided default.
2017-04-01 11:39:38 +11:00
Paul Sokolovsky
64d00511e1
zephyr/modusocket: Implement send().
2017-03-31 23:14:39 +03:00
Paul Sokolovsky
88582e33cc
zephyr/modusocket: Implement bind() and connect().
2017-03-31 23:02:41 +03:00
Glenn Ruben Bakke
bb7130a813
nrf5/modules/ubluepy: Adding uuid() function to service object to return UUID instance of the service.
2017-03-31 21:52:59 +02:00
Glenn Ruben Bakke
f9a351d527
nrf5/modules/ubluepy: Adding binVal() function to the ubluepy UUID object. For now returning the uint16_t value of the UUID as a small integer.
2017-03-31 21:51:57 +02:00
Damien George
b6c7e4b143
all: Use full path name when including mp-readline/timeutils/netutils.
...
This follows the pattern of how all other headers are now included, and
makes it explicit where the header file comes from. This patch also
removes -I options from Makefile's that specify the mp-readline/timeutils/
netutils directories, which are no longer needed.
2017-03-31 22:29:39 +11:00
Pavol Rusnak
6e6c01b971
unix: Convert mp_uint_t to size_t in alloc.c.
2017-03-31 13:18:47 +11:00
Damien George
2460888c74
stmhal/i2c: Clean the cache so that I2C DMA works on F7 MCUs.
2017-03-31 12:56:18 +11:00
Damien George
aa7de3ff67
stmhal: Move L4/F7 I2C timing constants from mpconfigboard.h to i2c.c.
...
Such constants are MCU specific so shouldn't be specified in the board
config file (else it leads to too much duplication of code).
This patch also adds I2C timing values for the F767/F769 for 100k, 400k
and 1MHz I2C bus frequencies.
2017-03-31 12:53:56 +11:00
Glenn Ruben Bakke
7c6f041b8c
nrf5/modules/ubluepy: Adding dummy function call to ble_drv_attr_c_read.
2017-03-30 23:44:00 +02:00
Glenn Ruben Bakke
d24809a2aa
nrf5/bluetooth: Adding new api for reading attribute as gatt client. Renaming old ble_drv_attr_read function to ble_drv_attr_s_read to indicate the server role.
2017-03-30 23:43:44 +02:00
Glenn Ruben Bakke
93b76a66d3
nrf5/bluetooth: Adding event handling cases for gatt client read, write and hvx events.
2017-03-30 23:18:49 +02:00
Paul Sokolovsky
6cc1a7a214
zephyr: Integrate modusocket into build.
2017-03-31 00:06:31 +03:00
Paul Sokolovsky
d1015f0e0d
zephyr/modusocket: Initial version of usocket module for Zephyr.
...
So far, socket creation and closure is implemented.
2017-03-31 00:04:31 +03:00
Glenn Ruben Bakke
ebb7925a16
nrf5/modules/ubluepy: Tab-fix
2017-03-30 22:53:25 +02:00
Glenn Ruben Bakke
bd2981681f
nrf5/modules/ubluepy: Updating peripheral object to handle characteristic discovery (central mode).
2017-03-30 22:47:14 +02:00
Glenn Ruben Bakke
31a71517ab
nrf5/modules/ubluepy: Adding start and end handle to service object.
2017-03-30 22:42:08 +02:00
Glenn Ruben Bakke
2200c4c084
nrf5/bluetooth: Adding support for central characteristic service discovery. Updating primary service discovery to block until all services has been created in the peripheral object before returning from the bluetooth driver. This pattern is also applied to the characteristic discovery.
2017-03-30 22:41:19 +02:00
Paul Sokolovsky
344bfbb71c
zephyr: Fix NLR segfault in minimal build.
...
Requires inclusion of zephyr.h to properly detect that we're building for
Zephyr.
2017-03-30 22:17:18 +03:00
Paul Sokolovsky
df48f4645d
zephyr/Makefile: Add workaround (fix?) for broken builds for DTS targets.
2017-03-30 15:16:55 +03:00
Damien George
4b753515c7
py/objzip: Convert mp_uint_t to size_t.
2017-03-30 22:58:08 +11:00
Damien George
00b1a3e4d2
stmhal/dma: Don't include SDMMC2 struct if SDMMC2 is not available.
...
Not all F7 MCUs have SDMMC2.
2017-03-30 18:24:31 +11:00
Damien George
81e19eaf05
stmhal/boards: Remove F769 alt function table, it's same as for F767.
2017-03-30 18:00:31 +11:00
Damien George
41cbe8045e
stmhal/boards/STM32F769DISC: Fix user switch pin, and document stlink.
2017-03-30 17:59:36 +11:00
Damien George
c74fa7f58e
stmhal/boards/STM32F769DISC: Get SD card working by using SDMMC2.
2017-03-30 17:58:45 +11:00
Damien George
9818c0db43
stmhal/boards: Update F76x alternate function table to add SDMMC2.
2017-03-30 17:57:18 +11:00
Damien George
7876e54aa5
stmhal/sdcard: Add support for SDMMC2 on F7 MCUs.
...
By default the SDIO (F4) or SDMMC1 (L4, F7) is used as the SD card
peripheral, but if a board config defines MICROPY_HW_SDMMC2_CK and other
pins then the SD card driver will use SDMMC2.
2017-03-30 17:55:21 +11:00
Damien George
43defc9e98
stmhal: Support SDMMC alternate functions in pin generation.
2017-03-30 17:52:20 +11:00
Glenn Ruben Bakke
75148ee6ca
nrf5/modules/ubluepy: Updating ubluepy peripheral object to new bluetooth driver API. Starting to populate service objects and uuid objects. Also adding the service to the peripheral object throught the regular static function for adding services. Handle value for the primary service is assuming that it is the first element in the handle range; start_handle reported by the service discovery.
2017-03-29 23:37:32 +02:00
Glenn Ruben Bakke
5b778790ae
nrf5/bluetooth: Updating bluetooth driver to do service discovery, doing callbacks to ubluepy upon each individual primary service discovered. Using intermediate structure defined by the driver, to abstract bluetooth stack specific data in ubluepy.
2017-03-29 23:34:33 +02:00
Paul Sokolovsky
29dd92c82a
zephyr/Makefile: Rework to use modern, official build integration.
...
Build happens in 3 stages:
1. Zephyr config header and make vars are generated from prj.conf.
2. libmicropython is built using them.
3. Zephyr is built and final link happens.
2017-03-30 00:08:27 +03:00
Jan Pochyla
e9d7c3ea0e
modutimeq: Add peektime() function (provisional).
...
Allows to get event time for a head item in the queue. The usecase
if waiting for the next event *OR* I/O completion. I/O completion may
happen before event triggers, and then wait should continue for the
remaining event time (or I/O completion may schedule another earlier
event altogether).
The new function has a strongly provisional status - it may be converted
to e.g. peek() function returning all of the event fields, not just time.
2017-03-29 18:18:35 +03:00
Damien George
6bfb344a80
cc3200/mods/pybi2c: Raise OSError if readfrom_mem fails to write addr.
2017-03-29 16:09:46 +11:00
Damien George
22e2f4a0e8
stmhal/spi: Increase SPI transfer timeout, proportional to num bytes.
...
With the existing timeout of 100ms the transfer would end prematurely if
the baudrate was low and the number of bytes to send was high. This patch
fixes the problem by making the timeout proportional to the number of bytes
that are being transferred.
2017-03-29 16:02:43 +11:00
Damien George
3a77342719
cc3200: Update for changes to mp_obj_str_get_data.
2017-03-29 12:56:45 +11:00
Damien George
1145dd35f2
esp8266: Update for changes to mp_obj_str_get_data.
2017-03-29 12:56:45 +11:00