3#ifdef ARDUINO_ARCH_ESP32
4#if __has_include("BindUserConfig.h")
5#include "BindUserConfig.h"
8#ifndef BIND_DISABLE_BLE
18class BleCallbacks :
public BLEServerCallbacks
21 bool *_deviceConnected;
24 BleCallbacks(
bool &deviceConnected) : _deviceConnected(&deviceConnected){}
26 void onConnect(BLEServer *pServer)
28 *this->_deviceConnected =
true;
31 void onDisconnect(BLEServer *pServer)
33 *this->_deviceConnected =
false;
35 pServer->startAdvertising();
39class BleRXCallbacks :
public BLECharacteristicCallbacks
45 BleRXCallbacks(
Bind &bind)
50 void onWrite(BLECharacteristic *pCharacteristic)
override;
59class BleStream :
public Stream
62 BLEServer *pServer = NULL;
63 BLECharacteristic *pTxCharacteristic;
64 bool deviceConnected =
false;
65 bool oldDeviceConnected =
false;
66 BleRXCallbacks *rxCallbacks = NULL;
67 BleCallbacks *bleCallbacks = NULL;
81 bool begin(
const char *deviceName,
Bind &bind);
84 bool begin(
Bind &bind,
const char *deviceName);
85 size_t write(
const uint8_t *buffer,
size_t size)
override;
86 int available()
override {
return 0; }
87 int read()
override {
return 0; }
88 int peek()
override {
return 0; }
89 void flush()
override {}
90 size_t write(uint8_t)
override {
return 0; }
The Bind class provides a framework for creating interactive applications with BindCanvas.
Definition Bind.h:62