Fixed multi_heap_free failed during setting the value of the characteristic in BLE Library. (#2789)

This commit is contained in:
HanCheol Cho 2019-06-05 20:37:06 +09:00 committed by Me No Dev
parent fd5a2f08f9
commit e57de64a3c
2 changed files with 3 additions and 0 deletions

View File

@ -628,7 +628,9 @@ void BLECharacteristic::setValue(uint8_t* data, size_t length) {
log_e("Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN); log_e("Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN);
return; return;
} }
m_semaphoreSetValue.take();
m_value.setValue(data, length); m_value.setValue(data, length);
m_semaphoreSetValue.give();
log_v("<< setValue"); log_v("<< setValue");
} // setValue } // setValue

View File

@ -117,6 +117,7 @@ private:
void setHandle(uint16_t handle); void setHandle(uint16_t handle);
FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt");
FreeRTOS::Semaphore m_semaphoreConfEvt = FreeRTOS::Semaphore("ConfEvt"); FreeRTOS::Semaphore m_semaphoreConfEvt = FreeRTOS::Semaphore("ConfEvt");
FreeRTOS::Semaphore m_semaphoreSetValue = FreeRTOS::Semaphore("SetValue");
}; // BLECharacteristic }; // BLECharacteristic