Fix bug, local BT client name
The local BT name was set to the remote server as well by mistake
This commit is contained in:
		
							parent
							
								
									89731d5def
								
							
						
					
					
						commit
						7187d1f82a
					
				|  | @ -30,8 +30,8 @@ static void scanCompleteCB(BLEScanResults scanResults) | |||
|     { | ||||
|         scanResults.dump(); | ||||
|         if (doScan) | ||||
|         { | ||||
|              pBLEScan->start(10, scanCompleteCB); | ||||
|         {    | ||||
|         } | ||||
|     } | ||||
|    | ||||
|  | @ -54,12 +54,13 @@ public: | |||
|         void * p = heap_caps_malloc(size, MALLOC_CAP_SPIRAM);    | ||||
|         return p;                                                | ||||
|     }       | ||||
|      | ||||
|     // callbacks
 | ||||
|     void(*_connectedCallback)() = NULL; | ||||
|     void(*_disconnectedCallback)() = NULL; | ||||
|     char _deviceName[32]; | ||||
|     bool _doConnect; | ||||
|     BLEAdvertisedDevice * _advertising; | ||||
|     BLEAdvertisedDevice * _advertising = NULL; | ||||
|     BLERemoteService* pRemoteService; | ||||
|     BLERemoteCharacteristic* pRemoteCharacteristic; | ||||
|     bool _connected; | ||||
|  | @ -158,6 +159,7 @@ protected: | |||
| 
 | ||||
|    bool connectToServer()  | ||||
|     { | ||||
|         const uint8_t bothOn[] = {0x3, 0x0}; | ||||
|         // Connect to the remote BLE Server.
 | ||||
|         pClient->connect(_advertising);  // if you pass BLEAdvertisedDevice instead of address, it will be recognized type of peer device address (public or private)
 | ||||
|      | ||||
|  | @ -177,6 +179,7 @@ protected: | |||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         pRemoteCharacteristic->getDescriptor(BLEUUID((uint16_t)0x2902))->writeValue((uint8_t*)bothOn, 2, true); | ||||
|         return true; | ||||
|     };  | ||||
| 
 | ||||
|  | @ -192,7 +195,7 @@ public: | |||
|      | ||||
|     // TODO why must these functions be inline??
 | ||||
|      | ||||
|     inline bool begin(const char* deviceName); | ||||
|     inline bool begin(const char* thisDeviceName, const char *remoteDeviceName); | ||||
|      | ||||
|     inline void read() | ||||
|     { | ||||
|  | @ -311,10 +314,18 @@ class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { | |||
|       return; | ||||
|     }  | ||||
| 
 | ||||
| 
 | ||||
|     // We have found a device, let us now see if it contains the service we are looking for.
 | ||||
|     if (advertisedDevice.haveServiceUUID() && advertisedDevice.isAdvertisingService(BLEUUID(SERVICE_UUID))) | ||||
|      { | ||||
|        | ||||
|       BLEDevice::getScan()->stop(); | ||||
| 
 | ||||
|       if (_BleMidiInterfaceClient->_advertising != NULL) | ||||
|       { | ||||
|           delete(_BleMidiInterfaceClient->_advertising); | ||||
|           _BleMidiInterfaceClient->_advertising = NULL; | ||||
|       } | ||||
|       _BleMidiInterfaceClient->_advertising = new BLEAdvertisedDevice(advertisedDevice); | ||||
|       _BleMidiInterfaceClient->_doConnect = true; | ||||
|       doScan = false; | ||||
|  | @ -327,11 +338,11 @@ protected: | |||
|   | ||||
| }; // MyAdvertisedDeviceCallbacks
 | ||||
| 
 | ||||
| bool BleMidiInterfaceClient::begin(const char* deviceName) | ||||
| bool BleMidiInterfaceClient::begin(const char* thisDeviceName, const char *remoteDeviceName) | ||||
| { | ||||
|     BLEDevice::init(deviceName); | ||||
|     BLEDevice::init(thisDeviceName); | ||||
|      | ||||
|     strncpy(_deviceName, deviceName, 32); | ||||
|     strncpy(_deviceName, remoteDeviceName, 32); | ||||
| 
 | ||||
|     pClient  = BLEDevice::createClient(); | ||||
|     pClient->setClientCallbacks(new MyClientCallbacks(this)); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Arik Caspi
						Arik Caspi