summaryrefslogtreecommitdiff
path: root/src/BLEDevice.h
diff options
context:
space:
mode:
authorkolban <kolban1@kolban.com>2017-09-10 13:41:31 -0500
committerkolban <kolban1@kolban.com>2017-09-10 13:41:31 -0500
commit0eecee13a75bf13fd1752d3d9b6bc60709a265d2 (patch)
tree7d1492d47841ffa8b103cc9e111772af77b35481 /src/BLEDevice.h
parent0.1.0 release (diff)
downloadthermostat-0eecee13a75bf13fd1752d3d9b6bc60709a265d2.tar.gz
thermostat-0eecee13a75bf13fd1752d3d9b6bc60709a265d2.tar.bz2
thermostat-0eecee13a75bf13fd1752d3d9b6bc60709a265d2.zip
0.2.0
Diffstat (limited to 'src/BLEDevice.h')
-rw-r--r--src/BLEDevice.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/BLEDevice.h b/src/BLEDevice.h
new file mode 100644
index 0000000..9d767c1
--- /dev/null
+++ b/src/BLEDevice.h
@@ -0,0 +1,54 @@
+/*
+ * BLEDevice.h
+ *
+ * Created on: Mar 16, 2017
+ * Author: kolban
+ */
+
+#ifndef MAIN_BLEDevice_H_
+#define MAIN_BLEDevice_H_
+#include "sdkconfig.h"
+#if defined(CONFIG_BT_ENABLED)
+#include <esp_gap_ble_api.h> // ESP32 BLE
+#include <esp_gattc_api.h> // ESP32 BLE
+#include <map> // Part of C++ STL
+#include <string>
+
+#include "BLEServer.h"
+#include "BLEClient.h"
+#include "BLEUtils.h"
+#include "BLEScan.h"
+#include "BLEAddress.h"
+/**
+ * @brief %BLE functions.
+ */
+class BLEDevice {
+public:
+ static void dumpDevices();
+ static BLEClient *createClient();
+
+ static void init(std::string deviceName);
+ //static void scan(int duration, esp_ble_scan_type_t scan_type = BLE_SCAN_TYPE_PASSIVE);
+ static BLEScan *getScan();
+ static BLEServer *m_bleServer;
+ static BLEScan *m_pScan;
+ static BLEClient *m_pClient;
+
+private:
+ static esp_gatt_if_t getGattcIF();
+
+ static void gattClientEventHandler(
+ esp_gattc_cb_event_t event,
+ esp_gatt_if_t gattc_if,
+ esp_ble_gattc_cb_param_t *param);
+ static void gattServerEventHandler(
+ esp_gatts_cb_event_t event,
+ esp_gatt_if_t gatts_if,
+ esp_ble_gatts_cb_param_t *param);
+ static void gapEventHandler(
+ esp_gap_ble_cb_event_t event,
+ esp_ble_gap_cb_param_t *param);
+}; // class BLE
+
+#endif // CONFIG_BT_ENABLED
+#endif /* MAIN_BLEDevice_H_ */