Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is JustWorks LESC bonding possible with 52810

If LESC is not possible I'll settle for legacy.

I'm not able to find any document or sample code to help me get started. What i need is a pointer to document and hopefully working sample code.

I have a 52810. As you know this has no HW encryption Engine and no GPU. All encryption has to be done in SW. Among the oodles of examples and libraries in v15.3 I can''t figure out where to start. The app is simple.

Peripheral has no I/O more than a single button. Bonding is initiated by an app on Android. Because of no I/O, I can only use JustWorks. There is a button on the peripheral I intend to use to accept a bonding request. This gives some very basic MITM protection (obviously not fool proof). I have the whole BLE app including button handling working, so the only thing I need to do is to add bonding support. Of course I also want to save the bonding state in flash.

Do you have any example that is totally SW based so I can run it on 52810 with a minimal amount of libraries I need to link in. What is the most basic SW encryption for LESC you support (if any)? I would prefer an example that just handles basic connectivity with bonding so I don't have to keep guessing which source files and libraries I have to build with the app.

thanks!

Knut

Parents
  • Hi, 

    You can start from the Heart Rate Application example support nRF52810 (pca10040e) and LESC and take a look at the Peer Manager.

    -Amanda H.   

  • Thanks Amanda,

    that was the one I already tried with. It depends on HW for rng and uses an Oberon library. I tried to merge it into the emproject and apply the same settings to sdk_config.h, but what happens is that one library depends on another that depends on another ad infinitum… I spent 10 hours just getting myself deeper into the rabbit hole. It can probably work if you know exactly what you're doing but I had to give up and do without bonding this time. Delivery deadlines, you know...

    I guess what I could wish for is a configuration tool where you can select the features you want and the tool takes the capacities of the chip into account and creates the proper build configuration. It would be very helpful for us mere mortals who don't know the Nordic code as well as you do. Put it on my "Dear Santa list". Slight smile

  • Hi Odman, 

    Sorry to hear about the situation you have now. I hope we could assist you again in the feature.

    Odman said:
    I could wish for is a configuration tool where you can select the features you want and the tool takes the capacities of the chip into account and creates the proper build configuration.

    The SDK configuration header file (sdk_config.h) helps to manage the static configuration of an application that is built on top of nRF5 SDK. The configuration options included in this file can be quickly edited in a GUI wizard that is generated from the CMSIS Configuration Wizard Annotations. This annotation standard is supported natively by ARM Keil uVision (versions 4 and 5) or can be parsed using an open-source Java tool - CMSIS Configuration Wizard.

    • For "Importing files and drivers" please check out this tutorial.
    • For "How to use the CMSIS Configuration Wizard" please check out this tutorial.

    I hope the above information can help you develop the project smoothly. Slight smile

    -Amanda H.

  • Ok, thanks for the info. I will make sure to try this out next time. I did manual editing but I'm sure the tool will help. Let me ask a more general methodology question before we close this out.

    In my case I had an existing project using uart and a few other features. I wanted to add bonding.

    In essence I needed to merge your bonding Project (HRS), but only the bonding and security features with my Project. I can think of three strategies.

    1) Start with my Project. Add HRS. Strip out not needed features like heart rate profile.

    2) Start with HRS. Strip out not needed features. Add my project.

    3) start with my project. Use configuration tool to add only needed features. This would of course rely on me knowing which features exactly i need to add bonding to the project.

    I understand this is a very broad question, but do you have any recommendation as to which strategy would be the better choise?

Reply
  • Ok, thanks for the info. I will make sure to try this out next time. I did manual editing but I'm sure the tool will help. Let me ask a more general methodology question before we close this out.

    In my case I had an existing project using uart and a few other features. I wanted to add bonding.

    In essence I needed to merge your bonding Project (HRS), but only the bonding and security features with my Project. I can think of three strategies.

    1) Start with my Project. Add HRS. Strip out not needed features like heart rate profile.

    2) Start with HRS. Strip out not needed features. Add my project.

    3) start with my project. Use configuration tool to add only needed features. This would of course rely on me knowing which features exactly i need to add bonding to the project.

    I understand this is a very broad question, but do you have any recommendation as to which strategy would be the better choise?

Children
Related