2 Replies Latest reply on Mar 26, 2018 1:07 PM by ionascu.marianemanuel_1654946

    OTA upgradeable stack with bonding and privacy support

    ionascu.marianemanuel_1654946

      Hello everybody,

       

      My last problem, discussed in this thread https://community.cypress.com/thread/32891, covered the issues that I encounter implementing the privacy feature. The last project attached contain a solution that works for 4.1 and 4.2 BLE phones with some problems on 4.0 and also on cypress dongle with 4.1 BLE.

       

      Now I would like to add the OTA upgradeable stack and application example. I had the example running on older boards that we had manufactured but without privacy so I believed everything was ok but now with privacy I found out that I was overconfident. My problem is that if a bonded device trigger an upgrade the code will go to the stack project ok but there the BLE component has public address and the bonding info is not present and also the phone will need to authenticate again which is not desirable since the user should not do anything only to approve the upgrade.

       

      My questions will be:

      1) in order to keep the privacy, after an initial bonding only the bonded phone to be able to connect, do I need to duplicate the privacy code on the stack as well?

      2) if I save the bonding with CyBle_StoreBondingData in application is the info available on stack if I retrieve it with CyBle_GapGetBondedDevicesList? (as I read the info should not be available) How can I pass this info from application to stack and back to application if the stack is not upgraded?

       

      Thanks in advance!

        • 1. Re: OTA upgradeable stack with bonding and privacy support
          Gyan Chand

          Hello,

           

          My questions will be:

          1) in order to keep the privacy, after an initial bonding only the bonded phone to be able to connect, do I need to duplicate the privacy code on the stack as well?

           

          Ans:  Yes, You have to enable the bonding and put the privacy code in Stack Project as well.

           

          2) if I save the bonding with CyBle_StoreBondingData in application is the info available on stack if I retrieve it with CyBle_GapGetBondedDevicesList? (as I read the info should not be available) How can I pass this info from application to stack and back to application if the stack is not upgraded?

           

          Ans: Bonding info ,corresponds to Application project will not be available for Stack Project. You have to enable the bonding flag in both Stack and Application Project.

           

          Regards,

          Gyan

          • 2. Re: OTA upgradeable stack with bonding and privacy support
            ionascu.marianemanuel_1654946

            Hello Gyan,

             

            Thank you for information! Meanwhile I have problems with some power supply issues on our custom boards that cause the software to get corrupted and always to get blocked on stack project, but on the dev board it seems to work.