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

Hardfault with sd_ecb_block_encrypt sending mesh packet

Hi, 

I'm attemping send TWI sensor data to mesh client. The program is modified from lightswitch example and I implement TWI event handler based on twi_sensor example:

/*TWI Event handler*/
static void twi_handler(nrf_drv_twi_evt_t const * p_event, void * p_context)
{
    switch (p_event->type)
    {
        case  NRF_DRV_TWI_EVT_DONE:
         if (p_event->xfer_desc.type == NRF_DRV_TWI_XFER_RX)
            {
                data_handler(&sht3x_data);
                send_reliable_message(&m_generic_server, GENERIC_OPCODE_SEND_DATA, (uint8_t*)&sht3x_data, sizeof(sht3x_data_t));
            }
            m_xfer_done = true;
            break;
        default:
            break;
    }
}

I created a app timer to send command and get the SHT30 sensor data periodically, it works properly but when I tring to send the data via reliable message to client I got Hardfault at SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));:

I also use send_reliable_message in other handlers and all work good except this one. Any help?

Setup
nRF52840-DK
SDK v16.0.0
Mesh v4.0.0
S140 v7.0.1

Parents Reply Children
No Data
Related