diff options
author | uvok | 2025-07-20 08:00:35 +0200 |
---|---|---|
committer | uvok | 2025-07-20 08:00:35 +0200 |
commit | ad7f1107328fdd69aa7b808c904df2b052807bbf (patch) | |
tree | f13ef2afefeff2afe5452a80e278bee9178ef25a /src/ble.cpp | |
parent | 12f19e6ac90513038d71a1e9018e8b40f8abfc68 (diff) |
Separate BLE stuff
Diffstat (limited to 'src/ble.cpp')
-rw-r--r-- | src/ble.cpp | 38 |
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); + } +} |