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

Update characteristic when no device is connected and beeing notified on notification enabled.

I have several characteristics which are updated by a regular timer.

The characteristic property is notify. Due to memory issues I use as value location BLE_GATTS_VLOC_STACK.

In case I am connected I use the function sd_ble_gatts_hvx() to notify the connected device.

In case I am not connected I update the value via sd_ble_gatts_value_set(BLE_CONN_HANDLE_INVALID, pChara->handler.value_handle, &value); with value.p_value set to 0 and the buffer of the characteristic is updated via memcpy.

So my question:

If I connect to the nordic chip and set the notifiy property from the connected device, I do not get the current value of the characteristic. Only when a call to sd_ble_gatts_hvx() is done the connected device is notified. Do I need to do an explicte read on connection?