Ну и вежливость все же соблюдать надо. :) Справедливости ради, в тамошнем примере, который "хорошо", приветствие присутствует, просто не вынесено в отдельное сообщение, что, в целом, правильно.
а, там оставил как в примере, esp_ble_gatts_add_char(gl_profile_tab[PROFILE_A_APP_ID].service_handle, &gl_profile_tab[PROFILE_A_APP_ID].char_uuid[i], gl_profile_tab[PROFILE_A_APP_ID].perm, gl_profile_tab[PROFILE_A_APP_ID].property, NULL, NULL);
короче за один запрос записать все данные и прочитать их не получилось. В итоге передаю в первом запросе размер файла в блоках по 20 байт , потом шлю блоки как на запись, так и на чтение
это странновато, надо разбираться, mtu максимальный 517 байт, а максимальный размер характеристики 512, если верить документации, 256 у меня точно работает, больше пока не пробовал
короч, я тестирую через приложение nrf connect, там включил авто запрос максимального mtu (517) , в коде щас выставил 500. В итоге по 256 приложение читает, по 500 не читает, вылетает ошибка
mtu это не размер данных в пакете, а размер пакета при передаче между устройствами, там же еще описатели передаются, если выставить mtu 500 и пытаться считать 500, то реальный размер пакета будет больше 500 байт