Fix BLE service duplication bug on nRF52
This commit is contained in:
		
							parent
							
								
									55c6bd06a2
								
							
						
					
					
						commit
						ef80c2638c
					
				| @ -32,6 +32,7 @@ | |||||||
|   BLEUart SerialBT; |   BLEUart SerialBT; | ||||||
|   BLEDis  bledis; |   BLEDis  bledis; | ||||||
|   BLEBas  blebas; |   BLEBas  blebas; | ||||||
|  |   bool SerialBT_init = false; | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #define BT_PAIRING_TIMEOUT 35000 | #define BT_PAIRING_TIMEOUT 35000 | ||||||
| @ -502,10 +503,14 @@ void bt_disconnect_callback(uint16_t conn_handle, uint8_t reason) { | |||||||
|       // start device information service
 |       // start device information service
 | ||||||
|       bledis.begin(); |       bledis.begin(); | ||||||
| 
 | 
 | ||||||
|  |       // Guard to ensure SerialBT service is not duplicated through BT being power cycled
 | ||||||
|  |       if (!SerialBT_init) { | ||||||
|           SerialBT.bufferTXD(true); // enable buffering
 |           SerialBT.bufferTXD(true); // enable buffering
 | ||||||
| 
 | 
 | ||||||
|           SerialBT.setPermission(SECMODE_ENC_WITH_MITM, SECMODE_ENC_WITH_MITM); // enable encryption for BLE serial
 |           SerialBT.setPermission(SECMODE_ENC_WITH_MITM, SECMODE_ENC_WITH_MITM); // enable encryption for BLE serial
 | ||||||
|           SerialBT.begin(); |           SerialBT.begin(); | ||||||
|  |           SerialBT_init = true; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|       blebas.begin(); |       blebas.begin(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user