NimBLE-Arduino icon indicating copy to clipboard operation
NimBLE-Arduino copied to clipboard

suppressing some serial output from the scan whitelist example

Open linxcow opened this issue 1 year ago • 3 comments

How can i suppress following output to my serial monitor ? 20:50:32.829 -> Service Data: 20:50:32.829 -> UUID: 0xfe2c, Data:

I just want to see the advertised lines.: 20:50:25.525 -> Advertised Device: Name: < snipped >

      class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks {
        void onResult(BLEAdvertisedDevice* advertisedDevice) {
          if (!advertisedDevice->getName().empty()) {
             Serial.printf("Advertised Device: %s \n", advertisedDevice->toString().c_str());
          }
        }
      };

I've noticed only a few specific devices adds those extra lines , maybe something to do with the toString().c_str() conversion

      20:51:21.565 -> Advertised Device: Name: LE-SRS-XB13, Address: 70:0b:1f:d6:xx:xx, txPower: -10
      20:51:21.565 -> Service Data:
      20:51:21.565 -> UUID: 0xfe2c, Data:  

linxcow avatar Feb 15 '24 19:02 linxcow

You could just call getName and print the value. The toString method dumps more data.

h2zero avatar Feb 18 '24 00:02 h2zero

Yes , but this was not my question. I want to see all data on 1 line when name is not empty , some devices print on several lines.

linxcow avatar Feb 18 '24 08:02 linxcow

You'll need to implement your own version of toString to accomplish this.

h2zero avatar Feb 19 '24 19:02 h2zero