Glenn Ruben Bakke
d580fa4088
nrf5: Update Makefile to add c-implementation of startup scripts instead of the .s files.
2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke
d7145339aa
nrf5/device: Adding startup files in .c to replace current asm versions.
2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke
d877e0e533
nrf5/examples: Tuning Bluetooth LE example controller python script after testing out the example live. Motor speed of 100 was not enought to lift the airplane. Also turning was hard without setting higher angle values. The new values are just guessed values. However, the flying experience was good.
2017-05-21 18:14:08 +02:00
Glenn Ruben Bakke
003f43b5c9
nrf5/hal/irq: Adding include of nrf_nvic.h if s132 bluetooth stack is used to resolve IRQ function wrappers on newer bluetooth stacks.
2017-05-18 23:20:25 +02:00
Glenn Ruben Bakke
1192981d24
nrf5/drivers/ticker: Removing unused code.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
0fa70ec988
nrf5/examples: Adding music example. Only working if bluetooth stack is not enabled.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
1ff44dd5b8
nrf5/boards/microbit: Disable music and softPWM as there are some issues with the ticker.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d06c6f4587
nrf5: Adding -fstack-usage flag to gcc CFLAGS to be able to trace stack usage on modules.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c921bbd9ac
nrf5/drivers/ticker: Removing LowPriority callback from nrf51 as there is only one SoftwareIRQ free if bluetooth stack is enabled. Also setting new IRQ priority on SlowTicker to 3 instead of 2, to interleave with bluetooth stack if needed. Updating all NVIC calls to use hal_irq.h defined static inlines instead of direct access.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
981b3e61dd
nrf5/hal/irq: Adding IRQ wrappers if Bluetooth Stack is present.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d1a4b19dc5
nrf5: Facilitate option to configure away the modble if needed. Enabled if MICROPY_PY_BLE config is enabled in bluetooth_conf.h.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
147d03feff
nrf5/boards/microbit: Enable music module by default. However, timer and rtc module has to be disabled. Bluetooth support broken. Optimization needed.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
952c14c4bf
nrf5/modules/machine: Quickfix. Update timer object to not allow instanciation of Timer(0) if SOFT_PWM is enabled by board.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6f72e73137
nrf5/hal/timer: Quickfix. Disable IRQ handler if SOFT_PWM is configured to be enabled. Ticker driver has in current driver a seperate IRQ handler for this timer instance.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
086d79fbad
nrf5/drivers/ticker: Add compile config guard in ticker.c to only include the driver if SOFT_PWM is configured in by board.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
234c9f3688
nrf5/drivers/softpwm: Renaming pwm_init to softpwm_init to not collide on symbol name with pwm_init in nrf52 machine PWM object.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
2584684e06
nrf5: Add modmusic QSTR definition of notes to qstrdefsport.h.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c6b36ad4ca
nrf5: Update Makefile to include ticker.c and renamed softpwm. Updating also include paths to include modules/music and drivers/.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
52be9eec9d
nrf5: Adding include of modmusic.h in main.c.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
4c5c83567e
nrf5: Call microbit_music_init0() if enabled in main.c.
2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6330fd4f31
nrf5/modules/music: Expose public init function for music module.
2017-05-18 23:11:41 +02:00
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