I am following ble_peripheral example of nrf51822 SDK 8.0. I have found ble_gatts_char_md_t
, ble_gatts_attr_md_t
and ble_gatts_attr_t
confusing. I want to know the difference between them and why do we need these three struct to register a characteristic in ble?