SDK 15.1 API 6.1 and i use SES
I removed previous as i was trying ot use fstorage. I switched to fds calls and it seems to work better.
However, does the fds calls take time or work in unison.
Using the flash_fds example, i made a function to return the boot_count. I changed its variable name to stored_keys. I also made a function to update the stored_keys value. I also could not figure out how the delete all function worked so i just manually did delete_record for all the keys i will use.
If i call the delete_all function, it deletes all the records, and the last thing done in the function call is to set the stored_keys value to 0.
After the first call to delete_all after calling the function to store the new value, i try and print using NRF_LOG_INFO the value of stored keys using the get stored_keys value function, it returns the old stored value. If i had 2 stored keys it would return 2. However, if i run the delete_all function a second time, it returns 0.
is there some timing issues i am running into?
I tried to setup variables like pending, and it seems to not work. This while loop becomes an infinite loop and never releases.
m_fds_oper_status.update_pending = true; tb_fds_update_mlock_user_count(0); while(m_fds_oper_status.update_pending){ sd_app_evt_wait(); } NRF_LOG_INFO("delete_all_process_COUNT: %d", tb_fds_get_mlock_user_count()); ... case FDS_EVT_UPDATE: { m_fds_oper_status.update_pending = false; if (p_evt->result == FDS_SUCCESS) { if(p_evt->write.record_key == TB_REC_KEY_CONFIG){ NRF_LOG_INFO("FDS_EVT_UPDATE COUNT: %d", tb_fds_get_mlock_user_count()); } }
If i comment out while(m_fds_oper_status.update_pending){} it will print out delete_all_process INFO and the FDS_EVT_UPDATE INFO lines. but i need it to process the update before going on.