16
16
#include < sstream>
17
17
#include " BLEAdvertisedDevice.h"
18
18
#include " BLEUtils.h"
19
+ #if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG)
19
20
#include " esp32-hal-log.h"
21
+ #define LOG_TAG " "
22
+ #else
23
+ #include " esp_log.h"
24
+ static const char * LOG_TAG=" BLEAdvertisedDevice" ;
25
+ #endif
20
26
21
27
BLEAdvertisedDevice::BLEAdvertisedDevice () {
22
28
m_adFlag = 0 ;
@@ -243,7 +249,7 @@ void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len)
243
249
length--;
244
250
245
251
char * pHex = BLEUtils::buildHexData (nullptr , payload, length);
246
- log_d ( " Type: 0x%.2x (%s), length: %d, data: %s" ,
252
+ ESP_LOGD (LOG_TAG, " Type: 0x%.2x (%s), length: %d, data: %s" ,
247
253
ad_type, BLEUtils::advTypeToString (ad_type), length, pHex);
248
254
free (pHex);
249
255
@@ -302,7 +308,7 @@ void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len)
302
308
303
309
case ESP_BLE_AD_TYPE_SERVICE_DATA: { // Adv Data Type: 0x16 (Service Data) - 2 byte UUID
304
310
if (length < 2 ) {
305
- log_e ( " Length too small for ESP_BLE_AD_TYPE_SERVICE_DATA" );
311
+ ESP_LOGE (LOG_TAG, " Length too small for ESP_BLE_AD_TYPE_SERVICE_DATA" );
306
312
break ;
307
313
}
308
314
uint16_t uuid = *(uint16_t *)payload;
@@ -315,7 +321,7 @@ void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len)
315
321
316
322
case ESP_BLE_AD_TYPE_32SERVICE_DATA: { // Adv Data Type: 0x20 (Service Data) - 4 byte UUID
317
323
if (length < 4 ) {
318
- log_e ( " Length too small for ESP_BLE_AD_TYPE_32SERVICE_DATA" );
324
+ ESP_LOGE (LOG_TAG, " Length too small for ESP_BLE_AD_TYPE_32SERVICE_DATA" );
319
325
break ;
320
326
}
321
327
uint32_t uuid = *(uint32_t *) payload;
@@ -328,7 +334,7 @@ void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len)
328
334
329
335
case ESP_BLE_AD_TYPE_128SERVICE_DATA: { // Adv Data Type: 0x21 (Service Data) - 16 byte UUID
330
336
if (length < 16 ) {
331
- log_e ( " Length too small for ESP_BLE_AD_TYPE_128SERVICE_DATA" );
337
+ ESP_LOGE (LOG_TAG, " Length too small for ESP_BLE_AD_TYPE_128SERVICE_DATA" );
332
338
break ;
333
339
}
334
340
@@ -340,7 +346,7 @@ void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len)
340
346
} // ESP_BLE_AD_TYPE_32SERVICE_DATA
341
347
342
348
default : {
343
- log_d ( " Unhandled type: adType: %d - 0x%.2x" , ad_type, ad_type);
349
+ ESP_LOGD (LOG_TAG, " Unhandled type: adType: %d - 0x%.2x" , ad_type, ad_type);
344
350
break ;
345
351
}
346
352
} // switch
@@ -380,7 +386,7 @@ void BLEAdvertisedDevice::setAdFlag(uint8_t adFlag) {
380
386
void BLEAdvertisedDevice::setAppearance (uint16_t appearance) {
381
387
m_appearance = appearance;
382
388
m_haveAppearance = true ;
383
- log_d ( " - appearance: %d" , m_appearance);
389
+ ESP_LOGD (LOG_TAG, " - appearance: %d" , m_appearance);
384
390
} // setAppearance
385
391
386
392
@@ -392,7 +398,7 @@ void BLEAdvertisedDevice::setManufacturerData(std::string manufacturerData) {
392
398
m_manufacturerData = manufacturerData;
393
399
m_haveManufacturerData = true ;
394
400
char * pHex = BLEUtils::buildHexData (nullptr , (uint8_t *) m_manufacturerData.data (), (uint8_t ) m_manufacturerData.length ());
395
- log_d ( " - manufacturer data: %s" , pHex);
401
+ ESP_LOGD (LOG_TAG, " - manufacturer data: %s" , pHex);
396
402
free (pHex);
397
403
} // setManufacturerData
398
404
@@ -404,7 +410,7 @@ void BLEAdvertisedDevice::setManufacturerData(std::string manufacturerData) {
404
410
void BLEAdvertisedDevice::setName (std::string name) {
405
411
m_name = name;
406
412
m_haveName = true ;
407
- log_d ( " - setName(): name: %s" , m_name.c_str ());
413
+ ESP_LOGD (LOG_TAG, " - setName(): name: %s" , m_name.c_str ());
408
414
} // setName
409
415
410
416
@@ -415,7 +421,7 @@ void BLEAdvertisedDevice::setName(std::string name) {
415
421
void BLEAdvertisedDevice::setRSSI (int rssi) {
416
422
m_rssi = rssi;
417
423
m_haveRSSI = true ;
418
- log_d ( " - setRSSI(): rssi: %d" , m_rssi);
424
+ ESP_LOGD (LOG_TAG, " - setRSSI(): rssi: %d" , m_rssi);
419
425
} // setRSSI
420
426
421
427
@@ -444,7 +450,7 @@ void BLEAdvertisedDevice::setServiceUUID(const char* serviceUUID) {
444
450
void BLEAdvertisedDevice::setServiceUUID (BLEUUID serviceUUID) {
445
451
m_serviceUUIDs.push_back (serviceUUID);
446
452
m_haveServiceUUID = true ;
447
- log_d ( " - addServiceUUID(): serviceUUID: %s" , serviceUUID.toString ().c_str ());
453
+ ESP_LOGD (LOG_TAG, " - addServiceUUID(): serviceUUID: %s" , serviceUUID.toString ().c_str ());
448
454
} // setServiceUUID
449
455
450
456
@@ -475,7 +481,7 @@ void BLEAdvertisedDevice::setServiceDataUUID(BLEUUID uuid) {
475
481
void BLEAdvertisedDevice::setTXPower (int8_t txPower) {
476
482
m_txPower = txPower;
477
483
m_haveTXPower = true ;
478
- log_d ( " - txPower: %d" , m_txPower);
484
+ ESP_LOGD (LOG_TAG, " - txPower: %d" , m_txPower);
479
485
} // setTXPower
480
486
481
487
@@ -484,29 +490,23 @@ void BLEAdvertisedDevice::setTXPower(int8_t txPower) {
484
490
* @return A string representation of this device.
485
491
*/
486
492
std::string BLEAdvertisedDevice::toString () {
487
- std::string res = " Name: " + getName () + " , Address: " + getAddress ().toString ();
493
+ std::stringstream ss;
494
+ ss << " Name: " << getName () << " , Address: " << getAddress ().toString ();
488
495
if (haveAppearance ()) {
489
- char val[6 ];
490
- snprintf (val, sizeof (val), " %d" , getAppearance ());
491
- res += " , appearance: " ;
492
- res += val;
496
+ ss << " , appearance: " << getAppearance ();
493
497
}
494
498
if (haveManufacturerData ()) {
495
499
char *pHex = BLEUtils::buildHexData (nullptr , (uint8_t *)getManufacturerData ().data (), getManufacturerData ().length ());
496
- res += " , manufacturer data: " ;
497
- res += pHex;
500
+ ss << " , manufacturer data: " << pHex;
498
501
free (pHex);
499
502
}
500
503
if (haveServiceUUID ()) {
501
- res += " , serviceUUID: " + getServiceUUID ().toString ();
504
+ ss << " , serviceUUID: " << getServiceUUID ().toString ();
502
505
}
503
506
if (haveTXPower ()) {
504
- char val[4 ];
505
- snprintf (val, sizeof (val), " %d" , getTXPower ());
506
- res += " , txPower: " ;
507
- res += val;
507
+ ss << " , txPower: " << (int )getTXPower ();
508
508
}
509
- return res ;
509
+ return ss. str () ;
510
510
} // toString
511
511
512
512
uint8_t * BLEAdvertisedDevice::getPayload () {
0 commit comments