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

PSTORAGE_MAX_APPLICATIONS

Hi Nordic, I am adding pstorage capability to ble_app_proximity example. Before adding pstorage, the example could receive Immediate Alert from a central and set on/off to a led. As referring to ble_app_template_with_pstorage_operations, I added pstorage functions to the example. The result was that pstorage_register() retuned NRF_ERROR_INVALID_PARAM. So I modified PSTORAGE_MAX_APPLICATIONS definition in pstorage_platform.h from 1 to 2. pstorage_register() returns no error, but Immediate Alert event cannot be received. Why does the modification of PSTORAGE_MAX_APPLICATIONS have a influence to Immediate Alert Service? It looks like that ble event does't occurs periodically after the modification. Please let me know the workaround. Thanks.

Parents
  • There is no direct link with the pstorage_register function with Alert event. Anyhow it seems that the pstorage_register function now succeeded after your change but after the program moved ahead there are some other failures in your code. It is difficult to say what it is without debugging. Did you verify that your program is running normally and still there are problems with Immediate Alert events?

  • Hi. When PSTORAGE_MAX_APPLICATIONS is 2, event though pstorage capability is no used, it seems that calling pstorage_init() is needed. When the calling is removed, it seems that NVIC_SystemReset() is called from somewhere before calling device_manager_init(). That is, main is called repeatedly. I uses the following code: static void device_manager_init(void) { err_code = pstorage_init(); APP_ERROR_CHECK(err_code); .... }

    int main(void) { ble_stack_init(); adc_configure(); timers_init(); APP_GPIOTE_INIT(1); bsp_init(....); device_manager_init(); .... } I am not sure that this phenomenon is related with Immediate Alert problem. Thanks.

Reply
  • Hi. When PSTORAGE_MAX_APPLICATIONS is 2, event though pstorage capability is no used, it seems that calling pstorage_init() is needed. When the calling is removed, it seems that NVIC_SystemReset() is called from somewhere before calling device_manager_init(). That is, main is called repeatedly. I uses the following code: static void device_manager_init(void) { err_code = pstorage_init(); APP_ERROR_CHECK(err_code); .... }

    int main(void) { ble_stack_init(); adc_configure(); timers_init(); APP_GPIOTE_INIT(1); bsp_init(....); device_manager_init(); .... } I am not sure that this phenomenon is related with Immediate Alert problem. Thanks.

Children
No Data
Related