Skip to main content

Platform reset, ble_pressure_sensor_bmp388.

DA14531

4 months ago

Posted by jackphan 170 points 4 replies
0 upvotes

Hello Group,

I'm running the example, ble_pressure_sensor_bmp388, without changing anything on the dev board Development Kit-Pro DA14531.

I got the process stuck at the below ASSERT_WARNING after connected and reading a couple of values of the temperature.

Do you know what causes this reset and to handle this problem?

Thanks a lot for your time,

Jack

 

// =====================

#if (!PRODUCTION_TEST)

    // Trigger assert if the reset reason is other than RESET_AFTER_SUOTA_UPDATE

    ASSERT_WARNING(error == RESET_AFTER_SUOTA_UPDATE);

#endif

    // Trigger SW reset

    tmp = GetWord16(SYS_CTRL_REG);

    tmp = (tmp & ~REMAP_ADR0) | 0; // Map ROM at address 0

    tmp |= SW_RESET;

    SetWord16(SYS_CTRL_REG, tmp);

}

4 months ago

PM_Dialog

Hi jackphan,

Thanks for your question online. Can you kindly check if you have the same DK configuration as described in the Readme file?

Please check section Hardware configuration DA14531 using DA145xxDEVKT-P PRO-Motherboard and the notes.

https://github.com/dialog-semiconductor/BLE_SDK6_examples/tree/main/connectivity/ble_pressure_sensor_bmp388

dk_config

Thanks, PM_Dialog

4 months ago

jackphan 170 points

Hi PM_Dialog,

I downloaded the example and checked my setup as shown in this github:

https://github.com/dialog-semiconductor/BLE_SDK6_examples/tree/main/connectivity/ble_pressure_sensor_bmp388

I want to detail about the state of this:

  1. The example, ble_pressure_sensor_bmp388, that I download from the above github and don't change any code.
  2. Run the example with the Dialog latest SDK6.0.14
  3. I bought a pressure bmp388 (Pressure 5 Click) that enables to plus on the DA14531 Kid-Pro Dev Board (see the below picture)
  4. I followed config for this example as described in the above github.
  5. The dev board can see and scan as the Dialog described. But the dev board is got the platform reset in two cases, when (in my experiments):

          a. It will get stuck (platform reset) for about 1.5 minutes when no client/central/smartphone get a connection

          b. Using the LightBlue app, and it will get stuck (platform reset) for about 1.0 minutes when the smartphone connected.

The below picture is my dev board setting up:

Dialog DA14531 Kit-Pro with the pressure sensor Bmp388.

 

Thanks,

Jack

accepted answer!

4 months ago

IM_Dialog

Hi Jack,

To fix the issue please change the user_app_on_db_init_complete function (found in the user_app.c file) to the following:

void user_app_on_db_init_complete(void)
{
  #ifdef CFG_PRINTF
    arch_printf("\n\r%s", __FUNCTION__);
  #endif

  /* Set initial values of pressure and temperature characteristics */
  set_pressure_char_value(0);
  set_temperature_char_value(0);

  /* Start timer that wil trigger periodic measurement of pressure and temperature */
  measure_timer = app_easy_timer(MEASURE_PERIOD, measure_timer_cb);

  default_app_on_db_init_complete();
}

Best regards

IM_Dialog
 

4 months ago

jackphan 170 points

Hi IM_Dialog,

I changed the code as you show. It worked fine now, and I have reset in both cases of discovering and connected.

Thanks a lot,

Jack