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?