Commit Graph

8403 Commits

Author SHA1 Message Date
Paul Sokolovsky 5b2db4bb51 tests/run-tests: Be sure to close Pyboard object on completion.
So underlying device was properly closed too.
2017-04-02 20:49:16 +03:00
Paul Sokolovsky 9b3f423c14 tools/pyboard: Tighten up Pyboard object closure on errors.
Some "device" implementations may be sensitive to this.
2017-04-02 20:48:53 +03:00
Glenn Ruben Bakke 0559be4ffc nrf5/bluetooth: Adding possibility to configure whether advertisment should be connectable or not. 2017-04-02 18:34:56 +02:00
Glenn Ruben Bakke ce6221ef61 nrf5/bluetooth: Removing legacy advertise function in the bluetooth driver, which only did a hardcoded eddystone beacone advertisment. 2017-04-02 16:55:47 +02:00
Glenn Ruben Bakke e5fc082366 nrf5/help: Updating ble module help description to also include the address method. 2017-04-02 16:44:37 +02:00
Glenn Ruben Bakke 6fcb0a40e9 nrf5/bluetooth: Renaming the ble module method address_print() to address(), as it will now return a string of the resolved local address. Updating the function to create a string out the local address and return this. 2017-04-02 16:43:16 +02:00
Glenn Ruben Bakke 7e52da7ccb nrf5/bluetooth: Update ble_drv_address_get to new api which pass in a address struct to fill by reference. Updating implementation to copy the address data. Also ensuring that the bluetooth stack has been enabled before fetching the address from the bluetooth stack. 2017-04-02 16:41:08 +02:00
Glenn Ruben Bakke 1402574b7d nrf5/bluetooth: Adding new structure which can hold local address. Updating api prototype for ble_drv_address_get with a address structure by reference. 2017-04-02 16:39:14 +02:00
Glenn Ruben Bakke e3773e899f nrf5/bluetooth: Updating help text for ble module to also list up enabled() function which queries the bluetooth stack on whether it is enabled or not. 2017-04-02 16:17:39 +02:00
Glenn Ruben Bakke c7f0069aac nrf5/bluetooth: Removing advertise from ble module. Removing help text as well. 2017-04-02 16:14:48 +02:00
Glenn Ruben Bakke c8097eb470 nrf5/examples: Adding python eddystone example using ubluepy api. 2017-04-02 15:51:00 +02:00
Glenn Ruben Bakke f7fbf55a45 nrf5/modules/ubluepy: Open up Peripheral advertise method to pass custom data to the bluetooth driver. Allowing method to allow kwargs only if no args is set. To support setting data kwarg only. 2017-04-02 15:50:07 +02:00
Glenn Ruben Bakke 58238a43b3 nrf5/modules/ubluepy: Adding new members to the ublupy advertisment parameters, to hold custom data payload if set. 2017-04-02 15:48:32 +02:00
Glenn Ruben Bakke 52c07e7cb2 nrf5/bluetooth: Cleaning up stack enable function, to not set device name twice. Also, adding support for setting custom advertisment data. 2017-04-02 15:45:02 +02:00
Paul Sokolovsky ca81c3ab0b zephyr/modusocket: Implement recv() for TCP sockets.
Short read approach is taken - at most, the remaining data in the current
fragment will be returned.
2017-04-02 16:27:09 +03:00
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