Have created a fix for that https://github.com/espressif/arduino-esp32/pull/3297
But along the way I became derailed because it appeared that the BLECharacteristic UUID and any BLECharacteristic longer than 15 chars would become corrupted. It turns out they don't get corrupted, but my confusion stems from different output from each of:
Code: Select all
const char* uuid_str = (const char*) characteristic->getUUID().toString().c_str();
ESP_LOGD(TAG, "#onRead uuid='%s'", uuid_str);
ESP_LOGD(TAG, "#onRead uuid='%s'", characteristic->getUUID().toString().c_str());
Code: Select all
D (7452) issue_3153: #onRead uuid='?485f-43ab-42fc-99a6-e0b8eb2a3159'
D (7462) issue_3153: #onRead uuid='fcb7485f-43ab-42fc-99a6-e0b8eb2a3159'