void service_onmicro_dfu_init(void)
{
static const uint8_t serv_dfu[2] = {0x59, 0xFE};
static const uint8_t char1[16] = {0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, 0x60, 0x4F, 0x15, 0xF3, 0x01, 0x00, 0xC9, 0x8E};
static const uint8_t char2[16] = {0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, 0x60, 0x4F, 0x15, 0xF3, 0x02, 0x00, 0xC9, 0x8E};
static const uint8_t char3[2] = {0x03, 0x00};
static const ob_gatt_item_t atts_dfu[] = {
{ ob_att_char_def, OB_UUID_16BIT, OB_ATT_PROP_READ },
{ char1, OB_UUID_128BIT, OB_ATT_PROP_NTF | OB_ATT_PROP_WRITE},
{ ob_att_cccd_def, OB_UUID_16BIT, OB_ATT_PROP_READ | OB_ATT_PROP_WRITE},
{ ob_att_char_def, OB_UUID_16BIT, OB_ATT_PROP_READ },
{ char2, OB_UUID_128BIT, OB_ATT_PROP_WRITE_CMD },
{ ob_att_char_def, OB_UUID_16BIT, OB_ATT_PROP_READ },
{ char3, OB_UUID_128BIT, OB_ATT_PROP_READ | OB_ATT_PROP_WRITE | OB_ATT_PROP_NTF },
{ ob_att_cccd_def, OB_UUID_16BIT, OB_ATT_PROP_READ | OB_ATT_PROP_WRITE },
};
static const ob_gatt_serv_t att_serv_dfu = {
serv_dfu, OB_UUID_16BIT,
sizeof(atts_dfu) / sizeof(atts_dfu[0]), atts_dfu
};
ob_gatts_add_service(&att_serv_dfu, &m_start_handle);
}