Dear MT_Dialog,
According to your tutorial "Training_05_ble_security_example_v1.1" I've selected authorization on connection. Our device is without display and keyboard. I've replaced the 'system generated' PIN-code (app_sec_gen_tk() function) with a fixed value, and this is functioning OK. The smarthone-app presents the PIN-code dialog. So far, so good. But I wonder if there is a better way to solve this problem (without having to edit one of the SDK's files) ?
But the real question I've encountered is about 'retaining' the bonding info from multiple peer's, even while totally switching off the DA14580's power supply. In the above mentioned tutorial the procedure to store the info into persistent memory is given. But I do not fully understand the memory layout from the DA14580. Retention RAM saves the info while in sleep condition, but it doesn't when the power is lost ?
Does the DA1450 perhaps contain internal EEPROM (like uC's from various manufacturers) or is an external memory mandatory in this case ?
I'm looking forward to your info :-)
Peter
Hi,
If i got this correctly, the app_sec_gen_tk() is a function that is called in the default_app_on_tk_exch_nomitm() callback, which in turn gets called from the user_app_on_tk_exch_nomitm() which is not an SDK function but an example function. In the user_callback_config.h file in the .app_on_tk_exch_nomitm callback you can attach whatever custom fuction you would like.
There is no actual persistant memory in 580 (yes the retention memory is only retained when the device falls to sleep so besides the OTP which you cannot use for that kind of purpose there is no memory retaining the data when there is power), if the device is powered down all the data will be lost. The only way to store data permanently with no data loss when power down, is to use an external flash or an EEPROM. A few devices supported by dialog can be found in AN-B-023:Interfacing DA14580 with External Memory.
Thanks MT_dialog
Thanks for the clear and super quick response :-)
Peter