We are now one step closer to the production release (v1.0) of our new Bluetooth Smart desktop application. The development team has been hard at work adding new features and improving the existing functionality of the application.
Figure 1: Service discovery
It is important to note that the focus of this alpha release has been on adding new features and on internal architectural changes. It is still in the alpha stage, that means the application is in a finalized draft stage (but still not a full feature product) with rough edges and unaddressed corner cases. Features are also subject to change between releases. The application is code named Yggdrasil, but this will change to an official name by the time we hit production release.
Figure 2: Server setup
If you are not familiar with the product, please have a look at this previous blog post.
Release change log
New features
GAP
- Peripheral role
- Advertising, advertising setup
- Concurrent central & peripheral connections
- Connection parameter update
- Pairing (Just-Works)
GATT Client
- Read/Write
- Notification toggling and reception
GATT Server
- Server setup
- Save/restore server setup
Implementation of new JS Bluetooth Smart API
Early on in the project we decided that we wanted a higher level API on top of the SoftDevice API offered by the pc-ble-driver library. We first looked at existing APIs from iOS, Android, Chrome, etc., but decided that none of them completely matched our requirements. We wanted an API that abstracted away the verbose low level parts, but at the same time did not take away the GATT/GAP features we needed. At the time of this release, the major features of the API are in place. However, there is still work to be done in terms of documentation, stability, performance, and features. If you want a closer look you can find the API on GitHub inside the pc-ble-driver-js repository.
Next release
The next release is planned to be a production Release Candidate (RC1) and should be available in Q1 2016. The focus will be on the following:
- Improving overall quality and stability
- Feature freeze (no major new features added)
Roadmap
After the production release, we will again start adding new features. We can't wait to show what we have in store. The source code for the application is planned to be made available on GitHub when the application hits production release.
Known issues/limitations
- nRF51 support only, nRF52 is not supported yet.
- Board reset has to be done manually, and the application will need to be restarted (Ctrl-R) after a board reset.
- It is not possible to change adapter selection after an adapter has been connected to.
- It is only possible to apply server setup once per session. The board and the application will have to be reset before adding a new server setup.
The issues are being worked on and will be fixed in a later release.
Feedback
We would be happy to hear what you think about the release, and about any feature requests. Please leave your feeback in the comments section, send a PM, or if you have any issues, post a question on devzone.
File downloads
###Application installer/zip files
Download the file for your system, install or unpack and run the application:
Windows
OSX
Ubuntu Linux 64bit
###Development kit firmware
Program your nRF51 development kit (pca10028) or dongle (pca10031) with this firmware:
connectivity_115k2_with_s130_1.0.0.hex