Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 1 month ago.
Nordic or RedBearLab/What is needed right now?
Which platform should one start with, the Nordic nRF51822 platform, RedBearLab nRF51822 platform, or both? Also, what is the greatest area of need right now if one wants to start contributing code to this project?
Thanks
Question relating to:
1 Answer
10 years, 1 month ago.
Hi,
Any of the Nordic nRF51822 family is a good starting point. The board from RedBearLab comes with an Arduino form-factor, so that might be suitable if you're going to work with shields. The mKit (from Nordic) is a mature platform, and has worked very well; so it could be a very reliable platform. The Nordic mKit has been around for quite some time, and it may be coming up for an update. You might do well to wait for a week or so before making your order.
Here are some of the areas which could receive help:
- Documentation.
- Lots of people would benefit from a little hand-holding when it comes to trying out there first BLE application using mbed. It would be nice to have a well written tutorial to capture the first BLE program.
- There is a great need for documenting the use of an open-source, offline toolchain to build mbed BLE applications. I use an offline toolchain, and I've been posting around CMake (CMakeLists.txt) files to interested people, but my toolchain uses arm-cc which doesn't come free. Perhaps someone could update my CMakeLists.txt file to build with an open-source toolchain such as llvm-arm or arm-gcc.
- Documenting the process of creating a product from one of the supported mbed-BLE platform could be an extremely useful contribution. Many people would like to know how to proceed from the use of an mbed platform to a real product.
- Extending the BLE API to support GATT client. The S110 soft-device already comes with support for GATT client; this means that we should be able to create applications which query GATT servers on a central after a connection has been established.
- Help with adding support for CSR1010 as a BLE co-processor. This is an ongoing project, but we'd be extremely pleased to receive help from external contributors.
Thanks for asking about contributing to mbed.
Hi Rohit,
I find the work on CMake very interesting. Is it only CMakeList.txt files that is needed, or do you also have .cmake files? AFAIK there is no support for armcc in CMake. Have you posted the files somewhere, or do you send them directly?
Eirik
posted by 22 Oct 2014here's one version of the CMakeLists.txt file I've been circulating; but it might be a bit old. I'll update you with the latest tomorrow.
posted by 22 Oct 2014Thanks Rohit,
In regards to extending the BLE API to support GATT client, I assume once I get the updated Nordic, I will have access to the S110 soft device api which I would wrap with mBed BLE api GATT client support for applications to use. Is my logic correct on this? If so, please refer me to the specific area of the BLE api one should focus on to add this support.
Also, please expand on the requirements for adding support for CSR1010 as a BLE co-processor. Would this require the purchase of the CSR1010 platform to work on this? What areas would you recommend focusing on first for this task?
FYI..In the old documentation around using cmake based build systems, the mbed-test/CMakeLists.txt link and the skeleton tree workspace links are broken. I will just wait for your latest CMakeLists.txt so I can update it to build with open source arm-gcc.
Rah
posted by 23 Oct 2014Here's my latest CMakeLists.txt file; which I use successfully to build the BLE_HeartRate demo.
posted by 23 Oct 2014Any help with tweaking the above CMakeLists.txt file to generate binaries with alternate toolchains would be greatly appreciated. If you additionally provide instructions to install/build the toolchain, you'll surely qualify for a lot of good karma.
@Eirik: only CMakeList.txt files (together with an installation of an alternate toolchain) should be needed. There have already been some forum posts regarding people using gcc (or similar); so it might be a matter of simply integrating those other projects into this CMakeLists.txt file and releasing good quality documentation.
posted by 23 Oct 2014Quote:
In regards to extending the BLE API to support GATT client, I assume once I get the updated Nordic, I will have access to the S110 soft device api which I would wrap with mBed BLE api GATT client support for applications to use. Is my logic correct on this? If so, please refer me to the specific area of the BLE api one should focus on to add this support.
Yes, you have grasped this correctly. The soft-device already has enough in its API to allow us to develop the GATT Client. I would begin with adding APIs for service discovery; but please consult with me about the design before going too far. Designing good APIs is the most critical part of the work.
Please refer to our informal todo list under the section: "peripheral as GATT client" to get some ideas. I'd begin with service discovery.
posted by 23 Oct 2014Regarding CSR1010, most of the work has already been done by CSR. Their code hasn't been released to the public, but I can fetch a private copy and share with those who're interested. I expect their code to require some review and cleanup. If anyone is seriously interested in helping out with API development or testing of the CSR1010, I can send them test hardware.
I would recommend that we get all the existing demos running on the CSR1010 as a start. Even getting the Beacon demo to run would be an excellent test of the API; and I suspect CSR would have tackled this already. But we should still check.
posted by 23 Oct 2014@Rah: You'll find the client APIs in the file ble_gattc.h within the Nordic SDK.
posted by 23 Oct 2014I'd like to move this discussion to https://developer.mbed.org/forum/team-63-Bluetooth-Low-Energy-community/topic/5231/
thanks.
posted by 23 Oct 2014Assigned to
10 years, 1 month ago.This means that the question has been accepted and is being worked on.