BluetoothDispatcher was added & reformatting
This commit is contained in:
42
RF/BluetoothDispatcher.hpp
Normal file
42
RF/BluetoothDispatcher.hpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "Arduino.h"
|
||||
#include "BluetoothSerial.h"
|
||||
#include "HardwareSerial.h"
|
||||
#include "Stream.h"
|
||||
|
||||
/* Check the ESP configuration */
|
||||
#if not defined(CONFIG_BT_ENABLED) || not defined(CONFIG_BLUEDROID_ENABLED)
|
||||
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
|
||||
#endif
|
||||
|
||||
|
||||
#if not defined(CONFIG_BT_SPP_ENABLED)
|
||||
#error Serial Port Profile for Bluetooth is not available or not enabled. It is only available for the ESP32 chip.
|
||||
#endif
|
||||
|
||||
|
||||
#if not defined(CONFIG_BT_SSP_ENABLED)
|
||||
#error Simple Secure Pairing for Bluetooth is not available or not enabled.
|
||||
#endif
|
||||
/* ************************* */
|
||||
|
||||
typedef std::function<void(esp_bd_addr_t bt_addr)> DeviceConnectedCb;
|
||||
|
||||
class BluetoothDispatcher {
|
||||
public:
|
||||
BluetoothDispatcher(BluetoothSerial *controller, const char *device_name = "Helicopter", HardwareSerial *serial = &Serial);
|
||||
bool initialize();
|
||||
void tick();
|
||||
~BluetoothDispatcher();
|
||||
|
||||
private:
|
||||
void _confirmRequestCallback(uint16_t pin);
|
||||
void _authCompleteCallback(boolean success);
|
||||
void _deviceConnectedCallback(esp_bd_addr_t bt_addr);
|
||||
|
||||
const char *_device_name = nullptr;
|
||||
bool _confirmRequestDone = false;
|
||||
BluetoothSerial *_controller = nullptr;
|
||||
HardwareSerial *_serial = nullptr;
|
||||
static constexpr int _buffer_size = 256;
|
||||
String _buffer;
|
||||
};
|
||||
Reference in New Issue
Block a user