3#ifdef ARDUINO_ARCH_ESP32
13class BleCallbacks :
public BLEServerCallbacks
16 bool *_deviceConnected;
19 BleCallbacks(
bool &deviceConnected) : _deviceConnected(&deviceConnected){}
21 void onConnect(BLEServer *pServer)
23 *this->_deviceConnected =
true;
26 void onDisconnect(BLEServer *pServer)
28 *this->_deviceConnected =
false;
30 pServer->startAdvertising();
34class BleRXCallbacks :
public BLECharacteristicCallbacks
40 BleRXCallbacks(
Bind &bind)
45 void onWrite(BLECharacteristic *pCharacteristic)
override;
54class BleStream :
public Stream
57 BLEServer *pServer = NULL;
58 BLECharacteristic *pTxCharacteristic;
59 bool deviceConnected =
false;
60 bool oldDeviceConnected =
false;
61 BleRXCallbacks *rxCallbacks = NULL;
62 BleCallbacks *bleCallbacks = NULL;
76 bool begin(
const char *deviceName,
Bind &bind);
79 bool begin(
Bind &bind,
const char *deviceName);
80 size_t write(
const uint8_t *buffer,
size_t size)
override;
81 int available()
override {
return 0; }
82 int read()
override {
return 0; }
83 int peek()
override {
return 0; }
84 void flush()
override {}
85 size_t write(uint8_t)
override {
return 0; }
The Bind class provides a framework for creating interactive applications with BindCanvas.
Definition Bind.h:62