This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Issue about FDS

Hi,

     I'm developing a project with nrf52832 sdk 16.0.0. I have some issue about the fds. peer_manager had used the fds modul, as we knew. And I would call fds_record_write or fds_record_open in the main method. Just like below.what will happen when  I had  called the fds_record_write in main method , and then  the intertupt function of peer_manager  call the fds_record_write too.

     I need to advertising and scan in my project. The  advertising or scan will be affected  when I call ble_advertising_start or nrf_ble_scan_start with the condition that the fds_record_write had been called and not finish yet?

int main(void)
{

    ...............

    for (;;)

    {

      ...............
      
      if( main_code != 0 )
       {
          ...............
          if( data_write_flash_flag )
           {
             data_write_flash_flag = false;
             write_err = write_err = fds_record_update( &desc, &data_record );
             APP_ERROR_CHECK(write_err);
           }
          ...............
       }
      else
       {
          idle_state_handle( );
       }

    }

}

Parents
  • Hi,

    You can safely use both the peer manager and the FDS at the same time. FDS is an asynchronous module that uses a queue for scheduling operations. The peer manager will use the same queue for scheduling FDS operations and you can therefore use both modules simultaneously. 

         I need to advertising and scan in my project. The  advertising or scan will be affected  when I call ble_advertising_start or nrf_ble_scan_start with the condition that the fds_record_write had been called and not finish yet?

    FDS use fstorage which again if present uses the Softdevice to schedule flash operations. Using the Softdevice and FDS is not a problem.

    regards

    Jared

Reply
  • Hi,

    You can safely use both the peer manager and the FDS at the same time. FDS is an asynchronous module that uses a queue for scheduling operations. The peer manager will use the same queue for scheduling FDS operations and you can therefore use both modules simultaneously. 

         I need to advertising and scan in my project. The  advertising or scan will be affected  when I call ble_advertising_start or nrf_ble_scan_start with the condition that the fds_record_write had been called and not finish yet?

    FDS use fstorage which again if present uses the Softdevice to schedule flash operations. Using the Softdevice and FDS is not a problem.

    regards

    Jared

Children
Related