I see this in the documentation for this method
uint32_t sd_ble_gatts_value_set | ( | uint16_t | conn_handle, |
uint16_t | handle, | ||
ble_gatts_value_t * | p_value | ||
) |
with this note:
Values other than system attributes can be set at any time, regardless of whether any active connections exist.
But what is a system attribute? Why is one attribute have preference over another? They are, after all, attributes. Is a system attribute any attribute that has no characteristic value, for example, a characteristic declaration? How about a descriptor?