Glenn Ruben Bakke
d412241143
nrf5/modules/music: Update modmusic to use updated includes. Add extern ticks. Add function which implements initialization of pwm and ticker, register ticker callback, and start the pwm and ticker. This corresponds to microbit port main.cpp init.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
a0ad7ce0b4
nrf5/drivers/softpwm: Enable use of ticker in softpwm driver.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
cab515a022
nrf5/drivers/ticker: Adding ticker.c/.h from microbit port.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
3bc8309dab
nrf5/drivers/pwm: Renaming pwm.c/.h to softpwm.c/.h
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
226d872d11
nrf5/drivers/pwm: Expose pwm_init() as public function.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
02e215dc59
nrf5/modules/ubluepy: Making peripheral conn_handle volatile. Upon connection event, the variable is accessed in thread mode. However, the main-loop is blocking on conn_handle != 0xFFFF. If this is not volatile, optimized code will not exit the loop.
2017-05-15 23:01:29 +02:00
Glenn Ruben Bakke
36d9c0cb83
nrf5/drivers/bluetooth: As callback functions are in most usecases are set to NULL upon last event to get public API function out of blocking mode, these function pointers has to be set as volatile, as they are updated to NULL in interrupt context, but read in blocking main-thread.
2017-05-15 23:01:10 +02:00
Glenn Ruben Bakke
e6b49af27e
nrf5/examples: Fixing overlapping function names and variable names inside the object. Also removing some print statements. Tuning max angle from -7/7 to -25/25.
2017-05-15 21:59:00 +02:00
glennrub
9b76983af9
Powerup ( #26 )
...
* nrf5/examples: Adding python example template for PowerUp 3.0 Bluetooth LE controlled Paper Airplane.
* nrf5: Enable bluetooth le central while developing powerup 3.0 example.
* nrf5/examples: Backing up powerup 3.0 progress.
* nrf5/examples: Adding working example on how to control PowerUp 3.0 paper airplane using bluetooth le.
* nrf5/bluetooth: Disable central role.
2017-05-14 23:02:10 +02:00
Glenn Ruben Bakke
63805bac9c
nrf5/modules/ubluepy: Correcting alignment of enum values in modubluepy.h.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
d96e2a3e08
nrf5/drivers/bluetooth: Add implementation of client attribute write without response.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
8f423c26d0
nrf5/modules/ubluepy: Pass on buffer to write in characteristic write central mode.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
ceb2602005
nrf5/modules/ubluepy: Updating characteristic object write function to be role aware. Either peripheral or central (gatts or gattc). Adding dummy call to attr_c_write if central is compiled in. Still in progress to be implemented.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
1f8ceaa6fb
nrf5/drivers/bluetooth: Adding template function for attr_c_write.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
fd52691f02
nrf5/drivers/bluetooth: Renaming attr_write and attr_notify to attr_s_write and attr_s_notify to prepare for introduction of attribute write for gatt client.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
5d9c191a19
nrf5/modules/ubluepy: Fixing type in ubluepy_peripheral.c.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
cf0d2bb457
nrf5/modules/ubluepy: Setting peripheral role upon advertise() or connect().
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
f8c0ff6413
nrf5/drivers/bluetooth: Adding role member to peripheral object to indicate whether Peripheral object is Peripheral or Central role.
2017-05-14 19:58:10 +02:00
Glenn Ruben Bakke
78c0821216
nrf5/modules/ubluepy: Continue characteristic discovery until nothing more is found during connect proceedure.
2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
653f4a86d5
nrf5/drivers/bluetooth: Refactoring code to group statics for s130 and s132 into the same ifdef. Also adding two empty lines in discovery functions to make it more easy to read.
2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
e8cd010f59
nrf5/drivers/bluetooth: Updating characteristic discovery to signal whether anything was found or not.
2017-05-14 18:06:42 +02:00
Glenn Ruben Bakke
370c20ff6c
nrf5/modules/ubluepy: Continue primary service discovery until nothing more is found in connect proceedure.
2017-05-13 18:12:15 +02:00
Glenn Ruben Bakke
b4f96a1dc3
nrf5/drivers/bluetooth: Updating primary service discovery api to take in start handle from where to start the service discovery. Also adjusting return parameter to signal whether anything was found or not.
2017-05-13 18:12:15 +02:00
Glenn Ruben Bakke
3420843774
nrf5/modules/ubluepy: Remove duplication GAP event handler registration in peripheral.connect().
2017-05-13 16:17:03 +02:00
glennrub
4584ef4ace
Support address types ( #18 )
...
* nrf5/modules/ubluepy: Adding new enumeration of address types.
* nrf5/modules/ubluepy: Adding constants that can be used from micropython for public and random static address types.
* nrf5/modules/ubluepy: Adding support for optionally setting address type in Peripheral.connect(). Public address is used as default. Address types can be retrieved from 'constants'. Either constants.ADDR_TYPE_PUBLIC or constants.ADDR_TYPE_RANDOM_STATIC.
* nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed.
* nrf5/modules/ubluepy: Removing duplicate setting of GAP event handler in connect().
2017-05-13 16:12:14 +02:00
Glenn Ruben Bakke
0865fbd92d
nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed.
2017-05-13 15:06:58 +02:00
Glenn Ruben Bakke
18e73d4214
nrf5/modules/ubluepy: Fixing compilation bug of wrong variable name when registering gattc event handler in ublupy peripheral connect function (central mode).
2017-05-12 20:11:30 +02:00
Glenn Ruben Bakke
96b203b729
nrf5/bluetooth: Updating makefiles with updated paths to bluetooth le components after moving files.
2017-05-11 19:13:20 +02:00
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