forked from espressif/arduino-esp32
[2.0.0] BtClassic Discovery with info without connect (#4811)
Hey guys, so I wanted to do a BtClassic Discovery without the need to call connect and to list all found devices on a display and continue work with that list. I wasn't capable to test the example code with my file structure, but I did use the discovery already in some different situations. However when I noted that the Bluedroid stack won't let me enforce an RfComm SPP connection to a GPS Device (Skytraxx 2 plus, I guess its interface is built so simple that it doesn't advertise its SPP over SDP), I will probably have to switch to BtStack (BlueKitchen) and stop on this side meanwhile
This commit is contained in:
65
libraries/BluetoothSerial/src/BTAdvertisedDevice.h
Normal file
65
libraries/BluetoothSerial/src/BTAdvertisedDevice.h
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* BTAdvertisedDevice.h
|
||||
*
|
||||
* Created on: Feb 5, 2021
|
||||
* Author: Thomas M. (ArcticSnowSky)
|
||||
*/
|
||||
|
||||
#ifndef __BTADVERTISEDDEVICE_H__
|
||||
#define __BTADVERTISEDDEVICE_H__
|
||||
|
||||
#include "BTAddress.h"
|
||||
|
||||
|
||||
class BTAdvertisedDevice {
|
||||
public:
|
||||
virtual ~BTAdvertisedDevice() = default;
|
||||
|
||||
virtual BTAddress getAddress();
|
||||
virtual uint32_t getCOD();
|
||||
virtual std::string getName();
|
||||
virtual int8_t getRSSI();
|
||||
|
||||
|
||||
virtual bool haveCOD();
|
||||
virtual bool haveName();
|
||||
virtual bool haveRSSI();
|
||||
|
||||
virtual std::string toString();
|
||||
};
|
||||
|
||||
class BTAdvertisedDeviceSet : public virtual BTAdvertisedDevice {
|
||||
public:
|
||||
BTAdvertisedDeviceSet();
|
||||
//~BTAdvertisedDeviceSet() = default;
|
||||
|
||||
|
||||
BTAddress getAddress();
|
||||
uint32_t getCOD();
|
||||
std::string getName();
|
||||
int8_t getRSSI();
|
||||
|
||||
|
||||
bool haveCOD();
|
||||
bool haveName();
|
||||
bool haveRSSI();
|
||||
|
||||
std::string toString();
|
||||
|
||||
void setAddress(BTAddress address);
|
||||
void setCOD(uint32_t cod);
|
||||
void setName(std::string name);
|
||||
void setRSSI(int8_t rssi);
|
||||
|
||||
bool m_haveCOD;
|
||||
bool m_haveName;
|
||||
bool m_haveRSSI;
|
||||
|
||||
|
||||
BTAddress m_address = BTAddress((uint8_t*)"\0\0\0\0\0\0");
|
||||
uint32_t m_cod;
|
||||
std::string m_name;
|
||||
int8_t m_rssi;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user