summaryrefslogtreecommitdiff
path: root/src/ble.cpp
diff options
context:
space:
mode:
authoruvok2025-07-20 08:00:35 +0200
committeruvok2025-07-20 08:00:35 +0200
commitad7f1107328fdd69aa7b808c904df2b052807bbf (patch)
treef13ef2afefeff2afe5452a80e278bee9178ef25a /src/ble.cpp
parent12f19e6ac90513038d71a1e9018e8b40f8abfc68 (diff)
Separate BLE stuff
Diffstat (limited to 'src/ble.cpp')
-rw-r--r--src/ble.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/ble.cpp b/src/ble.cpp
new file mode 100644
index 0000000..4f98679
--- /dev/null
+++ b/src/ble.cpp
@@ -0,0 +1,38 @@
+#include "badge/ble.h"
+
+#include <NimBLEDevice.h>
+
+#include "badge/config.h"
+
+static NimBLEServer *server;
+static NimBLEAdvertising *pAdvertising;
+
+void de::uvok::badge::ble_init(void)
+{
+
+ NimBLEDevice::init("Espadge");
+ server = NimBLEDevice::createServer();
+ NimBLEService *service = new NimBLEService("ca260000-b4bb-46b2-bd06-b7b7a61ea990");
+ // read/write current
+ auto c = service->createCharacteristic("ca260001-b4bb-46b2-bd06-b7b7a61ea990",
+ NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE || NIMBLE_PROPERTY::NOTIFY);
+
+ // get pictures
+ service->createCharacteristic("ca260002-b4bb-46b2-bd06-b7b7a61ea990", NIMBLE_PROPERTY::READ);
+
+ service->start();
+
+ server->addService(service);
+
+ pAdvertising = NimBLEDevice::getAdvertising();
+ pAdvertising->setName("NimBLE");
+}
+
+void de::uvok::badge::ble_advertise(void)
+{
+ if (!pAdvertising->isAdvertising())
+ {
+ Serial.println("Long press detected. Starting advertising...");
+ pAdvertising->start(10000);
+ }
+}