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, Aryan. Thank you very much for your reply. I found that Immediate Alert event isn't received even though pstorage capability isn't used. I changed PSTORAGE_MAX_APPLICATIONS in pstorage_platform.h from 1 to 2 for ble_app_proximity application. The application cannot receive Immediate Alert event. The followings are printf trace.

    1) PSTORAGE_MAX_APPLICATIONS = 1
     0>  main: ble_evt_dispatch: ble_evt=0x01
     0>  main: on_ble_evt evt=1
     0>  main: ble_evt_dispatch: ble_evt=0x01
     0>  main: on_ble_evt evt=1
     0>  main: ble_evt_dispatch: ble_evt=0x50
     0>  main: on_isa_evt
     0>  main: alert_signal MILD_ALERT
    2) PSTORAGE_MAX_APPLICATIONS = 2
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
     0>  main: ble_evt_dispatch: ble_evt=0x14
     0>  main: on_ble_evt evt=20
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
    

    In case 1), ble_evt_dispatch() receives periodically event(0x01, what is this?), but in case 2) it seems the function doesn't receive the periodical event. Has my application any incorrect setting? Could you please give me your advice on the workaround? Thanks.

Reply
  • Hi, Aryan. Thank you very much for your reply. I found that Immediate Alert event isn't received even though pstorage capability isn't used. I changed PSTORAGE_MAX_APPLICATIONS in pstorage_platform.h from 1 to 2 for ble_app_proximity application. The application cannot receive Immediate Alert event. The followings are printf trace.

    1) PSTORAGE_MAX_APPLICATIONS = 1
     0>  main: ble_evt_dispatch: ble_evt=0x01
     0>  main: on_ble_evt evt=1
     0>  main: ble_evt_dispatch: ble_evt=0x01
     0>  main: on_ble_evt evt=1
     0>  main: ble_evt_dispatch: ble_evt=0x50
     0>  main: on_isa_evt
     0>  main: alert_signal MILD_ALERT
    2) PSTORAGE_MAX_APPLICATIONS = 2
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
     0>  main: ble_evt_dispatch: ble_evt=0x14
     0>  main: on_ble_evt evt=20
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
     0>  main: ble_evt_dispatch: ble_evt=0x12
     0>  main: on_ble_evt evt=18
    

    In case 1), ble_evt_dispatch() receives periodically event(0x01, what is this?), but in case 2) it seems the function doesn't receive the periodical event. Has my application any incorrect setting? Could you please give me your advice on the workaround? Thanks.

Children
No Data
Related