Code: Select all
void notifyCallback(
BLERemoteCharacteristic* pBLERemoteCharacteristic,
uint8_t* pData,
size_t length,
bool isNotify) {
log_d("Notify callback for characteristic %s",
pBLERemoteCharacteristic->getUUID().toString().c_str());
if (pBLERemoteCharacteristic->getUUID().toString() != heightCharUUID.toString()) {
return;
}
PMotionData motion = (PMotionData) pData;
log_i("Height: %d, Speed: %d", motion->height, motion->speed);
curPosition = motion->height;
moveTo(targetPosition);
}
int16_t readHeight() {
if (pHeightCharacteristic == nullptr) return -1;
// std::string val = pHeightCharacteristic->readValue();
std::string val2 = pHeightCharacteristic->readValue();
PMotionData motion = (PMotionData) val2.c_str();
log_i("Height: %d, Speed: %d", motion->height, motion->speed);
return motion->height;
}
void moveUp() {
if (pMotionCharacteristic == nullptr) {
return;
}
log_d("Move Up.");
pMotionCharacteristic->writeValue(commandUp, 2);
}
void moveDown() {
if (pMotionCharacteristic == nullptr) {
return;
}
log_d("Move Down.");
pMotionCharacteristic->writeValue(commandDown, 2);
}
void stop() {
if (pMotionCharacteristic == nullptr) {
return;
}
log_d("Stop.");
pMotionCharacteristic->writeValue(commandStop, 2);
}
bool targetReached() {
if ((abs(curPosition - minPosition) < tolerance
&& movingDirection == DOWN) ||
(abs(curPosition - maxPosition) < tolerance
&& movingDirection == UP)
){
log_i("Max/Min position reached.");
return true;
}
if (targetPosition != -1) {
log_d("Current %d, target %d, diff %d, tol %d",
curPosition,
targetPosition,
abs(curPosition - targetPosition),
tolerance);
return abs(curPosition - targetPosition) < tolerance;
}
log_i("Target position not set.");
return true;
}
void moveTo(uint16_t targetPos) {
log_i("Move to %d", targetPos);
targetPosition = targetPos;
if (targetReached()) {
log_i("Target reached!");
targetPosition = -1;
movingDirection = STOP;
stop();
return;
}
if (targetPosition < curPosition) {
movingDirection = DOWN;
moveDown();
return;
}
if (targetPosition > curPosition) {
movingDirection = UP;
moveUp();
return;
}
}
class MyClientCallback : public BLEClientCallbacks {
void onConnect(BLEClient* pclient) {
connected = true;
digitalWrite(ledPin, HIGH);
}
void onDisconnect(BLEClient* pclient) {
connected = false;
digitalWrite(ledPin, LOW);
}
};
bool connectToServer() {
log_i("Forming a connection to %s", deskAddress.toString().c_str());
BLEClient* pClient = BLEDevice::createClient();
log_i("Created client");
pClient->setClientCallbacks(new MyClientCallback());
pClient->connect(deskAddress, BLE_ADDR_TYPE_RANDOM);
delay(1000);
log_i("Connected to server");
// Obtain a reference to the service we are after in the remote BLE server.
BLERemoteService* pHeightService = pClient->getService(heightServiceUUID);
BLERemoteService* pMotionService = pClient->getService(motionServiceUUID);
if (pHeightService == nullptr | pMotionService == nullptr) {
Serial.print("Failed to find our service UUID: ");
Serial.println(heightServiceUUID.toString().c_str());
pClient->disconnect();
return false;
}
log_i("Found height service");
// Obtain a reference to the characteristic in the service of the remote BLE server.
pHeightCharacteristic = pHeightService->getCharacteristic(heightCharUUID);
pMotionCharacteristic = pMotionService->getCharacteristic(motionCharUUID);
if (pHeightCharacteristic == nullptr) {
Serial.print("Failed to find our characteristic UUID: ");
Serial.println(heightCharUUID.toString().c_str());
pClient->disconnect();
return false;
}
log_i("Found height characteristic");
if(pHeightCharacteristic->canNotify()){
log_i("Set height characteristic notify");
pHeightCharacteristic->registerForNotify(notifyCallback);
}
log_i("Motion characteristic can write: %d, can write wo response: %d",
pMotionCharacteristic->canWrite(),
pMotionCharacteristic->canWriteNoResponse());
if (pHeightCharacteristic->canRead()) {
log_i("Can read Height");
int16_t height = readHeight();
Serial.print("Height: ");
Serial.println(height);
}
connected = true;
return true;
}
bool debouncedButtonPressed(int buttonPin) {
static uint8_t buttonState = HIGH;
static uint8_t lastReading = HIGH;
static uint32_t lastDebounceTime = 0;
uint8_t reading = digitalRead(buttonPin);
if (reading != lastReading) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
return true;
}
}
}
lastReading = reading;
return false;
}
void setup() {
Serial.begin(115200);
BLEDevice::init("");
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLDOWN);
digitalWrite(ledPin, LOW);
} // End of setup.
// This is the Arduino main loop function.
void loop() {
// read the state of the pushbutton value:
if (debouncedButtonPressed(buttonPin)) {
log_i("Button Pressed");
if (connected) {
digitalWrite(ledPin, HIGH);
moveTo(4000);
} else {
if(connectToServer()) {
digitalWrite(ledPin, HIGH);
moveTo(4000);
}
}
}
delay(20);
}
The logic has been tested to work on an iphone.
log
Code: Select all
[I][DeskController.ino:258] loop(): Button Pressed
[I][DeskController.ino:166] connectToServer(): Forming a connection to e2:70:5c:5b:d3:26
[V][BLEDevice.cpp:60] createClient(): >> createClient
[V][BLEDevice.cpp:66] createClient(): << createClient
[I][DeskController.ino:169] connectToServer(): Created client
[V][BLEClient.cpp:96] connect(): >> connect(e2:70:5c:5b:d3:26)
[I][BLEDevice.cpp:593] addPeerDevice(): add conn_id: 0, GATT role: client
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: RegEvt (0x3ffdd44c), owner: <N/A> for connect
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: RegEvt (0x3ffdd44c), owner: connect
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: RegEvt (0x3ffdd44c), owner: connect for connect
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 0
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 0
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 0
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: RegEvt (0x3ffdd44c), owner: connect
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: RegEvt (0x3ffdd44c), owner: <N/A>
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: OpenEvt (0x3ffdddc0), owner: <N/A> for connect
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: OpenEvt (0x3ffdddc0), owner: connect
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: OpenEvt (0x3ffdddc0), owner: connect for connect
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 40
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLEDevice.cpp:577] updatePeerDevice(): update conn_id: 4, GATT role: client
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 2
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: OpenEvt (0x3ffdddc0), owner: connect
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: OpenEvt (0x3ffdddc0), owner: <N/A>
[V][BLEClient.cpp:129] connect(): << connect(), rc=1
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 18
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 18
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 18
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[I][DeskController.ino:175] connectToServer(): Connected to server
[V][BLEClient.cpp:377] getService(): >> getService: uuid: 99fa0020-338a-1024-8a49-009c0215f78a
[V][BLEClient.cpp:413] getServices(): >> getServices
[V][BLEClient.cpp:71] clearServices(): >> clearServices
[V][BLEClient.cpp:78] clearServices(): << clearServices
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: SearchCmplEvt (0x3ffdde20), owner: <N/A> for getServices
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: SearchCmplEvt (0x3ffdde20), owner: getServices
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: SearchCmplEvt (0x3ffdde20), owner: getServices for getServices
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 7
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteService.cpp:26] BLERemoteService(): >> BLERemoteService()
[V][BLERemoteService.cpp:34] BLERemoteService(): << BLERemoteService()
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 6
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: SearchCmplEvt (0x3ffdde20), owner: getServices
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: SearchCmplEvt (0x3ffdde20), owner: <N/A>
[V][BLEClient.cpp:430] getServices(): << getServices
[V][BLEClient.cpp:390] getService(): << getService: found the service with uuid: 99fa0020-338a-1024-8a49-009c0215f78a
[V][BLEClient.cpp:377] getService(): >> getService: uuid: 99fa0001-338a-1024-8a49-009c0215f78a
[V][BLEClient.cpp:390] getService(): << getService: found the service with uuid: 99fa0001-338a-1024-8a49-009c0215f78a
[I][DeskController.ino:186] connectToServer(): Found height service
[V][BLERemoteService.cpp:162] retrieveCharacteristics(): >> getCharacteristics() for service: 99fa0020-338a-1024-8a49-009c0215f78a
[D][BLERemoteService.cpp:193] retrieveCharacteristics(): Found a characteristic: Handle: 26, UUID: 99fa0021-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:36] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 26 0x26, uuid: 99fa0021-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:250] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: 99fa0021-338a-1024-8a49-009c0215f78a
[D][BLERemoteCharacteristic.cpp:280] retrieveDescriptors(): Found a descriptor: Handle: 27, UUID: 00002902-0000-1000-8000-00805f9b34fb
[V][BLERemoteCharacteristic.cpp:294] retrieveDescriptors(): << retrieveDescriptors(): Found 1 descriptors.
[V][BLERemoteCharacteristic.cpp:45] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[D][BLERemoteService.cpp:193] retrieveCharacteristics(): Found a characteristic: Handle: 29, UUID: 99fa0029-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:36] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 29 0x29, uuid: 99fa0029-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:250] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: 99fa0029-338a-1024-8a49-009c0215f78a
[E][BLERemoteCharacteristic.cpp:274] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown
[V][BLERemoteCharacteristic.cpp:294] retrieveDescriptors(): << retrieveDescriptors(): Found 0 descriptors.
[V][BLERemoteCharacteristic.cpp:45] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[D][BLERemoteService.cpp:193] retrieveCharacteristics(): Found a characteristic: Handle: 31, UUID: 99fa002a-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:36] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 31 0x31, uuid: 99fa002a-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:250] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: 99fa002a-338a-1024-8a49-009c0215f78a
[E][BLERemoteCharacteristic.cpp:274] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown
[V][BLERemoteCharacteristic.cpp:294] retrieveDescriptors(): << retrieveDescriptors(): Found 0 descriptors.
[V][BLERemoteCharacteristic.cpp:45] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[V][BLERemoteService.cpp:209] retrieveCharacteristics(): << getCharacteristics()
[V][BLERemoteService.cpp:162] retrieveCharacteristics(): >> getCharacteristics() for service: 99fa0001-338a-1024-8a49-009c0215f78a
[D][BLERemoteService.cpp:193] retrieveCharacteristics(): Found a characteristic: Handle: 16, UUID: 99fa0002-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:36] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 16 0x16, uuid: 99fa0002-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:250] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: 99fa0002-338a-1024-8a49-009c0215f78a
[E][BLERemoteCharacteristic.cpp:274] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown
[V][BLERemoteCharacteristic.cpp:294] retrieveDescriptors(): << retrieveDescriptors(): Found 0 descriptors.
[V][BLERemoteCharacteristic.cpp:45] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[D][BLERemoteService.cpp:193] retrieveCharacteristics(): Found a characteristic: Handle: 18, UUID: 99fa0003-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:36] BLERemoteCharacteristic(): >> BLERemoteCharacteristic: handle: 18 0x18, uuid: 99fa0003-338a-1024-8a49-009c0215f78a
[V][BLERemoteCharacteristic.cpp:250] retrieveDescriptors(): >> retrieveDescriptors() for characteristic: 99fa0003-338a-1024-8a49-009c0215f78a
[D][BLERemoteCharacteristic.cpp:280] retrieveDescriptors(): Found a descriptor: Handle: 19, UUID: 00002902-0000-1000-8000-00805f9b34fb
[V][BLERemoteCharacteristic.cpp:294] retrieveDescriptors(): << retrieveDescriptors(): Found 1 descriptors.
[V][BLERemoteCharacteristic.cpp:45] BLERemoteCharacteristic(): << BLERemoteCharacteristic
[V][BLERemoteService.cpp:209] retrieveCharacteristics(): << getCharacteristics()
[I][DeskController.ino:198] connectToServer(): Found height characteristic
[I][DeskController.ino:201] connectToServer(): Set height characteristic notify
[V][BLERemoteCharacteristic.cpp:438] registerForNotify(): >> registerForNotify(): Characteristic: uuid: 99fa0021-338a-1024-8a49-009c0215f78a, handle: 26 0x001a, props: broadcast: 0, read: 1, write_nr: 0, write: 0, notify: 1, indicate: 0, auth: 0
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: RegForNotifyEvt (0x3ffdfd70), owner: <N/A> for registerForNotify
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: RegForNotifyEvt (0x3ffdfd70), owner: registerForNotify
[V][BLERemoteCharacteristic.cpp:323] getDescriptor(): >> getDescriptor: uuid: 00002902-0000-1000-8000-00805f9b34fb
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 38
[V][BLERemoteCharacteristic.cpp:327] getDescriptor(): << getDescriptor: found
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLERemoteDescriptor.cpp:132] writeValue(): >> writeValue: handle: 27, uuid: 00002902-0000-1000-8000-00805f9b34fb
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 38
[V][BLERemoteDescriptor.cpp:151] writeValue(): << writeValue
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: RegForNotifyEvt (0x3ffdfd70), owner: registerForNotify for registerForNotify
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 38
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: RegForNotifyEvt (0x3ffdfd70), owner: registerForNotify
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: RegForNotifyEvt (0x3ffdfd70), owner: <N/A>
[V][BLEUtils.cpp:1817] gapEventToString(): gapEventToString: Unknown event type 8 0x08
[V][BLERemoteCharacteristic.cpp:478] registerForNotify(): << registerForNotify()
[V][BLEUtils.cpp:1049] dumpGapEvent(): Received a GAP event: Unknown event type
[I][DeskController.ino:207] connectToServer(): Motion characteristic can write: 1, can write wo response: 1
[V][BLEUtils.cpp:1264] dumpGapEvent(): *** dumpGapEvent: Logger not coded ***
[I][DeskController.ino:210] connectToServer(): Can read Height
[I][BLEDevice.cpp:253] gapEventHandler(): ESP_GAP_BLE_AUTH_CMPL_EVT
[V][BLERemoteCharacteristic.cpp:398] readValue(): >> readValue(): uuid: 99fa0021-338a-1024-8a49-009c0215f78a, handle: 26 0x1a
[D][BLEClient.cpp:458] handleGAPEvent(): BLEClient ... handling GAP event!
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: ReadCharEvt (0x3ffdfd10), owner: <N/A> for readValue
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: ReadCharEvt (0x3ffdfd10), owner: readValue
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: ReadCharEvt (0x3ffdfd10), owner: readValue for readValue
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 9
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:1817] gapEventToString(): gapEventToString: Unknown event type 20 0x14
[V][BLEUtils.cpp:1049] dumpGapEvent(): Received a GAP event: Unknown event type
[V][BLEUtils.cpp:1264] dumpGapEvent(): *** dumpGapEvent: Logger not coded ***
[D][BLEClient.cpp:458] handleGAPEvent(): BLEClient ... handling GAP event!
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 3
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 3
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 3
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: ReadCharEvt (0x3ffdfd10), owner: readValue
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: ReadCharEvt (0x3ffdfd10), owner: <N/A>
[V][BLERemoteCharacteristic.cpp:426] readValue(): << readValue(): length: 4, content: o
[I][DeskController.ino:77] readHeight(): Height: 1647, Speed: 0
[I][DeskController.ino:130] moveTo(): Move to 4000
[D][DeskController.ino:120] targetReached(): Current 0, target 4000, diff 4000, tol 10
[D][DeskController.ino:85] moveUp(): Move Up.
[V][BLERemoteCharacteristic.cpp:549] writeValue(): >> writeValue(), length: 2
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: WriteCharEvt (0x3ffe0d70), owner: <N/A> for writeValue
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: WriteCharEvt (0x3ffe0d70), owner: writeValue
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: WriteCharEvt (0x3ffe0d70), owner: writeValue for writeValue
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 4
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][FreeRTOS.cpp:143] give(): Semaphore giving: name: WriteCharEvt (0x3ffe0d70), owner: writeValue
[V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: WriteCharEvt (0x3ffe0d70), owner: <N/A>
[V][BLERemoteCharacteristic.cpp:576] writeValue(): << writeValue
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 10
[D][BLEDevice.cpp:148] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 10
[V][BLEUtils.cpp:1283] dumpGattClientEvent(): GATT Event: Unknown
[V][BLEUtils.cpp:951] gattClientEventTypeToString(): Unknown GATT Client event type: 10
[D][BLEClient.cpp:158] gattClientEventHandler(): gattClientEventHandler [esp_gatt_if: 4] ... Unknown
[D][BLERemoteCharacteristic.cpp:163] gattClientEventHandler(): Invoking callback for notification on characteristic Characteristic: uuid: 99fa0021-338a-1024-8a49-009c0215f78a, handle: 26 0x001a, props: broadcast: 0, read: 1, write_nr: 0, write: 0, notify: 1, indicate: 0, auth: 0
[D][DeskController.ino:58] notifyCallback(): Notify callback for characteristic 99fa0021-338a-1024-8a49-009c0215f78a
[I][DeskController.ino:64] notifyCallback(): Height: 1648, Speed: 704
[I][DeskController.ino:130] moveTo(): Move to 4000
[D][DeskController.ino:120] targetReached(): Current 1648, target 4000, diff 2352, tol 10
[D][DeskController.ino:85] moveUp(): Move Up.
[V][BLERemoteCharacteristic.cpp:549] writeValue(): >> writeValue(), length: 2
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: WriteCharEvt (0x3ffe0d70), owner: <N/A> for writeValue
[D][FreeRTOS.cpp:199] take(): Semaphore taken: name: WriteCharEvt (0x3ffe0d70), owner: writeValue
[V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: WriteCharEvt (0x3ffe0d70), owner: writeValue for writeValue
[I][DeskController.ino:258] loop(): Button Pressed
[I][DeskController.ino:130] moveTo(): Move to 4000
[D][DeskController.ino:120] targetReached(): Current 1648, target 4000, diff 2352, tol 10
[D][DeskController.ino:85] moveUp(): Move Up.
[V][BLERemoteCharacteristic.cpp:549] writeValue(): >> writeValue(), length: 2
[D][FreeRTOS.cpp:189] take(): Semaphore taking: name: WriteCharEvt (0x3ffe0d70), owner: writeValue for writeValue
Any help will be appreciated.