Commit Graph

767 Commits

Author SHA1 Message Date
Glenn Ruben Bakke
3d503cf7a8 nrf5/bluetooth: Moving stack download script to drivers/bluetooth folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
bdaa714f85 nrf5/bluetooth: Move bluetooth driver files to drivers/bluetooth. Move bluetooth stack download script to root folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
e69e47bc24 nrf5/bluetooth: Guarding implementation against being linked in by surrounding it with BLUETOOTH_SD flag. Flag is only set if SD=<sdname> parameter is provided during make. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
4676e5900b nrf5/bluetooth: Moving makefile include folder and source files of bluetooth driver, ble uart and ble module to main Makefile. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
d61dcf18fb nrf5/bluetooth: Moving help_sd.h and modble.c to modules/ble. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
b245011259 nrf5/modules/machine: bugfix after changing to MP_ROM_PTR in machine module local dict. 2017-05-11 00:08:44 +02:00
Glenn Ruben Bakke
54656044f7 nrf5: Syncing code with upstream master and converting all module and method tables to use MP_ROM macros. Also adding explicit casting of local dicts to (mp_obj_dict_t*). 2017-05-09 22:54:58 +02:00
Glenn Ruben Bakke
00d96f5695 nrf5/modules/timer: Fixing bug in timer_find(). Function allowed to locate index out of range and started to look up in config pointer (index == size of array). 2017-05-08 23:32:42 +02:00
Glenn Ruben Bakke
1063a44ec6 nrf5/modules/timer: Remove test which is covered by timer_find() function in the line below. 2017-05-08 23:31:14 +02:00
Glenn Ruben Bakke
2cf9e3e625 nrf5/modules/timer: Adding locals dict table and adding start/stop template functions. Also adding constants for oneshot and periodic to locals dict. 2017-05-08 23:24:15 +02:00
Glenn Ruben Bakke
9e6cca66b4 nrf5/modules/timer: Adding timer module to modmachine. 2017-05-08 23:09:15 +02:00
Glenn Ruben Bakke
bf79699810 nrf5/boards: Adding micro:bit default music pin definition. Also adding config flag for enabling pwm machine module. 2017-05-08 22:16:59 +02:00
Glenn Ruben Bakke
130a00fdeb nrf5/hal/timer: Adding start/stop template functions to hal_timer.h/.c 2017-05-08 22:10:02 +02:00
Glenn Ruben Bakke
64f91e01ac nrf5/Makefile: Adding drivers/pwm.c and modules/music files to the source file list. 2017-05-08 22:06:25 +02:00
Glenn Ruben Bakke
d3509517f5 nrf5/modules/music: Adding config guard in musictunes.c and adding import of mphal.h. 2017-05-08 22:05:23 +02:00
Glenn Ruben Bakke
a84ed760b5 nrf5/modules/music: Including mphal.h before config guard in modmusic.c. Also changed name on config guard to MICROPY_PY_MUSIC. Missing PWM functions during linkage will show up if PWM module has not not configured. 2017-05-08 22:03:33 +02:00
Glenn Ruben Bakke
24e902aa8f nrf5/drivers/pwm: Including mphal.h before config guard in pwm.c. 2017-05-08 22:01:47 +02:00
Glenn Ruben Bakke
cf1c6939ea nrf5: Updating mpconfigport.h to include music module as builtin. Adding new configuration for enabling music module. Activating MODULE_BUILTIN_INIT in order to run music module init function on import. 2017-05-08 22:01:05 +02:00
Glenn Ruben Bakke
c3ccef800d nrf5/modules/music: Backing up progress in music module. 2017-05-08 21:22:53 +02:00
Glenn Ruben Bakke
8d06dd3281 nrf5/drivers/pwm: Updating soft PWM driver to only be included if SOFT_PWM config is set. 2017-05-08 21:21:57 +02:00
Glenn Ruben Bakke
a4513f0159 nrf5/hal/gpio: Add function to clear output register using a pin mask. 2017-05-08 21:20:08 +02:00
Glenn Ruben Bakke
94efa02084 nrf5: Adding new configuration called MICROPY_PY_MACHINE_SOFT_PWM to mpconfigport.h. This config will enable software defined PWM using timer instead of using dedicated PWM hardware. Aimed to be used in nrf51 targets. 2017-05-08 21:14:34 +02:00
Glenn Ruben Bakke
ad6a1d9136 nrf5/boards: Removing PWM config set to 0 from pca10001 board. Config will later be re-introduced as SOFT_PWM variant. 2017-05-08 21:11:21 +02:00
Glenn Ruben Bakke
10cbc83cf0 nrf5/pwm: Updating config name of PWM to hardware PWM to prepare for introduction of soft variant. 2017-05-08 21:10:18 +02:00
Glenn Ruben Bakke
311ae77dc0 nrf5/modules/music: Backing up progress in modmusic. 2017-05-04 00:18:05 +02:00
Glenn Ruben Bakke
a7f10336e1 nrf5/modules/music: backing up porting progress in modmusic.c. 2017-05-02 22:40:31 +02:00
Glenn Ruben Bakke
d170ca5d03 nrf5/modules/music: Commenting out backend function calls in modmusic.c to make module compile for now. 2017-05-02 21:50:54 +02:00
Glenn Ruben Bakke
57442c2b25 nrf5/modules/music: Updating music module to use pin_obj_t instad of microbit_pin_obj_t. Update include to drivers/pwm.h to resolve some undefined functions. 2017-05-02 01:09:59 +02:00
Glenn Ruben Bakke
40b37227a0 nrf5/drivers/pwm: Work in progress commit of soft PWM from microbit repo. 2017-05-02 01:07:52 +02:00
Glenn Ruben Bakke
10e6b4309b nrf5/modules/music: Removing c++ extern definition. Updating include list in modmusic.c. Removing module name from module struct. 2017-05-01 19:55:43 +02:00
Glenn Ruben Bakke
01441c8f59 nrf5/modules/music: Removing include of modmicrobit.h in musictunes.c. 2017-05-01 19:52:40 +02:00
Glenn Ruben Bakke
e766c7ebbe nrf5/modules/music: Adding header to expose extern structs defined in musictunes.c 2017-05-01 19:51:47 +02:00
Glenn Ruben Bakke
5c6fc791e3 nrf5/drivers: Adding copy of microbit soft pwm. 2017-05-01 19:13:50 +02:00
Glenn Ruben Bakke
eedd9eabe9 nrf5/modules/music: Renaming microbitmusic files to modmusic/music. 2017-05-01 19:11:44 +02:00
Glenn Ruben Bakke
20bdb7dc90 nrf5/modules/music: Renaming microbit module to music. 2017-05-01 19:08:36 +02:00
Glenn Ruben Bakke
f9b9d59434 nrf5/modules/microbit: Copying microbit music module to the port. 2017-05-01 19:06:49 +02:00
Glenn Ruben Bakke
1c756af9a4 nrf5/modules/timer: Adding timer3 and timer4 to timer object in case of nrf52 target. 2017-04-30 20:18:46 +02:00
Glenn Ruben Bakke
a0638880b3 nrf5/modules/timer: Optimizing timer object structure and updating the module to use new hal_timer_init structures and parameters. 2017-04-30 20:15:03 +02:00
Glenn Ruben Bakke
0437fafaac nrf5/hal/timer: Adding empty IRQ handlers for all timers. 2017-04-30 19:42:54 +02:00
Glenn Ruben Bakke
7449f8d861 nrf5/hal/timer: Changing hardcoded hal timer instance base to a lookup, so that IRQ num can be detected automatically without the need of using struct param on it. Size of binary does not increase when using Os. 2017-04-30 19:42:19 +02:00
Glenn Ruben Bakke
7aa7bad78a nrf5: Updating example in main.c on how to execute string before REPL is set up, to allow for boards with two leds. Todo for later is to update this code such that it will skip this LED toggle when there are no leds defined. Or use an example not depending on LEDs. 2017-04-29 19:50:50 +02:00
Glenn Ruben Bakke
976785e1d5 nrf5/bluetooth: Updating Bluetooth LE stack download script to allow to be invoked from any parent folder. No need to change directory to bluetooth/ in order to get the correct download target folder position. Using the script location to determine the target folder. 2017-04-26 19:18:27 +02:00
Glenn Ruben Bakke
7bcc61b0c1 nrf5/boards: Adding board target for feather52 using s132 v.2.0.1 application offset even if the device is not using softdevice. To be worked on later. 2017-04-26 00:18:10 +02:00
Glenn Ruben Bakke
97d46bae6a nrf5/boards: decrease size of ISR region from 4k to 1k in custom feather52 linker script to get some more flash space. 2017-04-26 00:16:19 +02:00
Glenn Ruben Bakke
3286d81a48 nrf5/boards: Updating feather52 mpconfigboard.h to use correct uart pins, flow control disabled. Also adjusting leds down to two leds. 2017-04-26 00:15:14 +02:00
Glenn Ruben Bakke
5f4798b0f2 nrf5/boards: Updating path to custom linker script for feather52 board. 2017-04-25 21:55:50 +02:00
Glenn Ruben Bakke
50bb18015a nrf5/boards: Renaming bluefruit_nrf52_feather to feather52 to shorten down the name quite drastically. 2017-04-25 21:54:35 +02:00
Glenn Ruben Bakke
6f6c5d30e8 nrf5/boards: Updating path to custom bluefruit feather linker script after renaming board folder. 2017-04-25 21:51:10 +02:00
Glenn Ruben Bakke
4ae600be8a nrf5/boards: Renaming bluefruit_feather to bluefruit_nrf52_feather as it also exist a m0 variant of the board name. 2017-04-25 21:49:17 +02:00
Glenn Ruben Bakke
8aa6e0388e nrf5/boards: Updating mpconfigboard.h for bluefruit nrf52 feather with correct board, mcu and platform name. 2017-04-25 21:48:01 +02:00
Glenn Ruben Bakke
195c492419 nrf5/boards: Updating adafruit bluefruit nrf52 feather linker script to use 0x1c000 application offset. 2017-04-25 21:44:01 +02:00
Glenn Ruben Bakke
8429d022e1 nrf5/boards: Renaming custom linker script for bluefruit feather to reflect that the purpose of the custom linker script is DFU. The script is diverging from the generic s132 v2 linker script in the offset of the application. 2017-04-25 08:53:52 +02:00
Glenn Ruben Bakke
7043680f1f nrf5/boards: Adding custom linker script for adafruit nrf52 bluefruit feather to be able to detect application upper boundry in flash. Pointing s132 mk file to use this new custom linker script instead of the generic s132 v2 linker script. 2017-04-25 08:49:18 +02:00
Glenn Ruben Bakke
ec6502c1ea nrf5/boards: Adding linker script for nrf52832 s132 v.2.0.1. 2017-04-24 23:29:05 +02:00
Glenn Ruben Bakke
0ba9c62940 nrf5/boards: Adding template board makefiles and configs for bluefruit nrf52 feather. Copied from pca10040 target board. Linker script reference updated to use s132 v2.0.1. Non-BLE enable build disabled for now. Board configuration for leds, uart etc has not been updated yet from pca10040 layout. 2017-04-24 23:25:25 +02:00
Glenn Ruben Bakke
44fc96c8a9 nrf5/bluetooth: Correcting typo in test where s132 API version is settled. 2017-04-24 23:14:04 +02:00
Glenn Ruben Bakke
f68fb8499d nrf5/bluetooth: Updating bluetooth le driver to compile with s132 v.2.0.1 stack. 2017-04-24 23:05:08 +02:00
Glenn Ruben Bakke
2adad5f2a6 nrf5/bluetooth: Add new compiler flag to signal API variants of the s132 bluetooth le stack. The version is derived from the major number of the stack name. 2017-04-24 23:03:54 +02:00
Glenn Ruben Bakke
9abd38a3f2 nrf5/bluetooth: Remove hardcoded softdevice version as this now comes as parameter from board makefile. 2017-04-24 22:29:48 +02:00
Glenn Ruben Bakke
3c8323aff4 nrf5/boards: Updating makefiles using bluetooth stack to use updated linker script file names. 2017-04-24 22:28:08 +02:00
Glenn Ruben Bakke
f4fd45bef3 nrf5/boards: Renaming bluetooth stack linker scripts to reflect version of the stack. 2017-04-24 22:22:17 +02:00
Glenn Ruben Bakke
bccfc7262d nrf5/boards: adding some spaces in s132 makefile for pca10040. 2017-04-24 22:18:46 +02:00
Glenn Ruben Bakke
582db669b6 nrf5/boards: Renaming linker script for nrf52832 using bluetooth stack such that it also holds the version number of the stack. Updating linkerscript using the target linker script. 2017-04-24 22:02:41 +02:00
Glenn Ruben Bakke
39d3d7bb28 nrf5/bluetooth: Add support for downloading s132_2.0.1 bluetooth stack. 2017-04-24 21:56:28 +02:00
Glenn Ruben Bakke
3f96532952 nrf5/bluetooth: Switch over to downloaded bluetooth stacks from nordicsemi.com instead of getting them through the SDK's. This will facilitate download of s132 v2.0.0 later. 2017-04-24 21:46:28 +02:00
Glenn Ruben Bakke
ca43f42b78 nrf5/bluetooth: Fixing bug found when testing microbit. Newly introduced advertisment data pointer was not cleared on nrf51 targets. Explicit set to NULL as no additional advertisment data is set. Raises a question on why the nrf51 static variable was not zero initialized. To be checked up. 2017-04-23 18:35:31 +02:00
Glenn Ruben Bakke
f6e612f7d7 nrf5: Removing SDK_ROOT parameter to Makefile. Bluetooth stacks should be downloaded using the download_ble_stack.sh. The script should be run inside the bluetooth folder to work properly. 2017-04-21 18:58:57 +02:00
Glenn Ruben Bakke
a76ff755e3 nrf5/bluetooth: Adding back SOFTDEV_HEX as flash tools in main Makefile uses this to locate hex file. 2017-04-21 18:55:59 +02:00
Glenn Ruben Bakke
10b7f3ef83 nrf5/bluetooth: Including bluetooth stack version in folder name after download to be able to detect if stack has been updated. 2017-04-21 18:46:32 +02:00
Glenn Ruben Bakke
7501ecec8e nrf5/bluetooth: Updating Bluetooth LE stack download script. 2017-04-21 18:23:48 +02:00
Glenn Ruben Bakke
f6f8097f77 nrf5/bluetooth: Adding bash script to automate download of bluetooth le stacks 2017-04-20 23:54:28 +02:00
Glenn Ruben Bakke
aa32dcd0fd nrf5/examples: Adding example to show how to use current PWM module to control servo motors. 2017-04-18 21:03:14 +02:00
Glenn Ruben Bakke
071e551b79 nrf5/modules/machine: Updating PWM module with two new kwargs parameters. One for setting pulse with more fine grained. This value should not exceed the period value. Also, adding support for setting PWM mode, whether it is LOW duty cycle or HIGH duty cycle. By default, high to low is set (this could be changed). 2017-04-18 21:00:52 +02:00
Glenn Ruben Bakke
d0d350da16 nrf5/hal/pwm: Updating PWM implementation to support manually set duty cycle period. Pulse width has precidence over duty cycle percentage. Also adding support for the two configurable modes, high to low, and low to high, duty cycles. 2017-04-18 20:56:19 +02:00
Glenn Ruben Bakke
4d56f2a76d nrf5/hal/pwm: Adding more configuration options to the PWM peripheral wrapper. Possibility to set pulse with manually, and also mode. The mode indicates whether duty cycle is low and then goes high, or if it is high and then go low. Added new type to describe the two modes. 2017-04-18 20:53:55 +02:00
Glenn Ruben Bakke
2d7f39855b nrf5: Adding hal_gpio.c to Makefile's source list. 2017-04-11 13:59:54 +02:00
Glenn Ruben Bakke
1e79bdf0b4 nrf5/modules/machine: Updating Pin module to register a IRQ callback upon GPIO polarity change events. 2017-04-11 13:58:58 +02:00
Glenn Ruben Bakke
81aaf6e906 nrf5/hal/gpio: Adding initial gpiote implementation to handle IRQ on polarity change on a gpio. 2017-04-11 13:57:44 +02:00
Glenn Ruben Bakke
fb53bdf07c nrf5: Moving initialization of pin til after uart has been initialized for debugging purposes. This will make it possible to use uart to print out debug data when adding gpio irq handlers. 2017-04-11 13:55:01 +02:00
Glenn Ruben Bakke
adf316afaa nrf5/hal/gpio: Adding some new structures and functions to register irq channels to gpio's using GPIOTE peripheral 2017-04-11 13:53:37 +02:00
Glenn Ruben Bakke
f8c0a51f5e nrf5/hal/gpio: Adding missing include. 2017-04-09 23:47:44 +02:00
Glenn Ruben Bakke
c7c2285ab9 nrf5/modules/machine: Style fix in pin object, indention. 2017-04-09 23:19:26 +02:00
Glenn Ruben Bakke
320b9ecde7 nrf5/modules/machine: Adding placeholder for irq method to pin object class. 2017-04-09 23:18:00 +02:00
Glenn Ruben Bakke
2c90d94dc7 nrf5/modules/machine: Adding pin irq type and basic functions and structures. 2017-04-09 23:16:07 +02:00
Glenn Ruben Bakke
a93d462dfd nrf5/hal/gpio: Reintroducing gpio polarity toggle event to be able to reference the short form of adding high_to_low and low_to_high together. 2017-04-09 23:02:37 +02:00
Glenn Ruben Bakke
435bc5a3d4 nrf5/hal/gpio: Updating hal_gpio.h with some tab-fixes in order to make the file a bit consistent in style. 2017-04-09 21:56:28 +02:00
Glenn Ruben Bakke
8c45aca8d2 nrf5/hal/gpio: Removing toggle event from the enumeration as that will be a combination of the rising and falling together. 2017-04-09 21:54:09 +02:00
Glenn Ruben Bakke
6446105689 nrf5/modules/machine: Removing toggle event trigger as that will be a combination of the rising and falling together. 2017-04-09 21:52:57 +02:00
Glenn Ruben Bakke
32083a9443 nrf5/modules/machine: Adding new constants to pin object for polarity change triggers using the enumerated values in hal_gpio.h. 2017-04-09 21:50:11 +02:00
Glenn Ruben Bakke
07edf4f26d nrf5/hal/gpio: Adding new enumeration for input polarity change events. 2017-04-09 21:49:02 +02:00
Glenn Ruben Bakke
3b15d33809 nrf5/hal: Moving hal_gpio functions, types and defines from mphalport.h to a new hal_gpio.h. 2017-04-09 21:39:15 +02:00
Glenn Ruben Bakke
35f9c8f37f nrf5: Removing leftover reference to deleted display module. 2017-04-09 18:55:53 +02:00
Glenn Ruben Bakke
d7cfae3639 nrf5/usocket: Removing network modules related to Bluetooth 6lowpan implementation as it depends on SDK libraries for now. Will be moved to seperate working branch. 2017-04-09 18:53:58 +02:00
Glenn Ruben Bakke
4dd86178bc nrf5: Removing custom display, framebuffer and graphics module to make branch contain core components instead of playground modules. 2017-04-09 18:25:15 +02:00
Glenn Ruben Bakke
a026d3475f nrf5/modules/usocket: Updating import of netutils.h after upmerge with upstream master. 2017-04-09 17:48:48 +02:00
Glenn Ruben Bakke
5d06aa3260 nrf5/bluetooth: Add some comment on the destination of the eddystone short-url. 2017-04-09 15:52:21 +02:00
Glenn Ruben Bakke
b92b55bdd0 nrf5/bluetooth: Updating Eddystone URL to point to https://goo.gl/x46FES which hosts the MicroPython WebBluetooth application which will be able to connect to the Bluetooth LE UART service of the device and create the REPL. 2017-04-09 15:36:34 +02:00
Glenn Ruben Bakke
a4173c467f nrf5/bluetooth: Adding webbluetooth REPL template. Alternating advertisment of eddystone URL and UART BLE service every 500 ms. Adding new config parameter to bluetooth_conf.h to enable webbluetooth repl. Has to be configured in combination with BLE_NUS. Eddystone URL not pointing to a valid WebBluetooth application at the moment, but rather to micropython.org as a placeholder for now. 2017-04-04 22:31:17 +02:00
Glenn Ruben Bakke
587c6277c4 nrf5/modules/ubluepy: Adding method Peripheral object to stop any ongoing advertisment. Adding compile guard to only include advertise and advertise_stop if peripheral role is compiled in. 2017-04-04 21:25:28 +02:00
Glenn Ruben Bakke
31feea4511 nrf5/bluetooth: Adding function to stop advertisment if onging 2017-04-04 21:22:49 +02:00
Glenn Ruben Bakke
46c21ff6ba nrf5/modules/ubluepy: Adding support for starting advertisment from BLE UART REPL, by delaying registration of gatt/gatts and gattc handlers until needed in advertise or connect. If non connectable advertisment is selected, handlers in peripheral new is not anymore overriding the other peripheral instances which has set the callbacks. 2017-04-04 20:24:43 +02: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
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
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
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
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
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
Glenn Ruben Bakke
a139d5e8f7 nrf5/modules/ubluepy: Adding some work in progress on service discovery. 2017-03-28 23:40:28 +02:00
Glenn Ruben Bakke
8966c68b92 nrf5/bluetooth: Adding implementation to the discover service function. Adding handler for gatt client primary service discovery response events, and passing this to the ubluepy upon reception. 2017-03-28 23:37:19 +02:00
Glenn Ruben Bakke
61b825d75e nrf5/bluetooth: Adding function parameters and return type to service and characteristic discovery template functions. 2017-03-28 21:20:20 +02:00
Glenn Ruben Bakke
06af64a78a nrf5/bluetooth: Adding template functions for service discovery in bluetooth driver. 2017-03-26 22:59:30 +02:00
Glenn Ruben Bakke
0914b34193 nrf5/bluetooth: Adding function to register gattc event handler (central). 2017-03-26 22:57:07 +02:00
Glenn Ruben Bakke
025f07dbab nrf5/bluetooth: Adding intermediate gattc callback function type in bluetooth driver. 2017-03-26 22:51:10 +02:00
Glenn Ruben Bakke
49cce723a9 nrf5/bluetooth: Turning off debug logging in bluetooth driver, which does not work well with bluetooth REPL mode. 2017-03-26 21:06:17 +02:00
Glenn Ruben Bakke
2f2e67e9bd nrf5/bluetooth: Fixing some smaller tab errors in the bluetooth driver. 2017-03-26 21:05:06 +02:00
Glenn Ruben Bakke
cd2149a47f nrf5/bluetooth: Updating bluetooth le driver to handle GAP conn param update request. Also updating minor syntax in previous switch case. 2017-03-26 21:02:25 +02:00
Glenn Ruben Bakke
fb983c7692 nrf5/boards: Inrease heap size in the nrf52832 w/s132 bluetooth stack linker script. 2017-03-26 20:46:23 +02:00
Glenn Ruben Bakke
c230bc021a nrf5/modules/ubluepy: Update connect method to parse dev_addr parameter and pass it to the bluetooth driver, going through a allocated heap buffer. Adding call to the bluetooth driver to issue a connect. Hardcoding address type for now. 2017-03-26 20:45:21 +02:00
Glenn Ruben Bakke
bcf4631e0a nrf5/bluetooth: Updating connect function in the bluetooth driver to do a successful connect to a peripheral device. 2017-03-26 20:43:43 +02:00
Glenn Ruben Bakke
4d147beedb nrf5/modules/ubluepy: Adding template function for central connect() in peripheral object. 2017-03-25 17:51:52 +01:00
Glenn Ruben Bakke
098e64b122 nrf5/modules/ubluepy: Adding locals dict to Scan Entry introducing function to retreive Scan Data. Not working as expected together with .attr. It looks like locals dict functions are treated to be attributes and cannot be resolved. 2017-03-25 17:39:44 +01:00
Glenn Ruben Bakke
f38b0ba037 nrf5/bluetooth: Adding function for connecting to a device (in central role). Not yet tested. 2017-03-23 21:03:40 +01:00