advertising a version number

This commit is contained in:
2025-11-12 18:07:54 +00:00
parent 8a992787df
commit f7dd083992
2 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
#include "BLEOTA.h"
BLEOTAClass::BLEOTAClass(){
_pVersionNumber = new BLECharacteristic(VERSION_NUMBER_UUID, BLECharacteristic::PROPERTY_NOTIFY);
_pVersionNumberDescriptor = new BLEDescriptor(VERSION_NUMBER_DESCRIPTOR_UUID);
};
void BLEOTAClass::begin(BLEServer* server, char* versionNumber = "1.0.0") {
// set internal versionNumber
_vNum = versionNumber;
// set internal server
_pServer = server;
// create service
BLEService* otaService = _pServer->createService(OTA_SERVICE_UUID);
// version number property
otaService->addCharacteristic(_pVersionNumber);
_pVersionNumber->setValue(_vNum);
_pVersionNumberDescriptor->setValue("Version Number");
_pVersionNumber->addDescriptor(_pVersionNumberDescriptor);
otaService->start();
}

View File

@@ -1,4 +1,22 @@
#ifndef BLEOTA
#define BLEOTA
#include <Arduino.h>
#include <BLEServer.h>
#define OTA_SERVICE_UUID "71a4438e-fd52-4b15-b3d2-ec0e3e56193b"
#define VERSION_NUMBER_UUID "1978a3df-c009-4837-b295-57ef429dde8c"
#define VERSION_NUMBER_DESCRIPTOR_UUID "1e0c35d1-ba03-4f4d-a99c-bac7664d95ed"
class BLEOTAClass {
public:
BLEOTAClass();
void begin(BLEServer* server, char* versionNumber = "1.0.0");
private:
BLEServer* _pServer;
char* _vNum;
BLECharacteristic* _pVersionNumber;
BLEDescriptor* _pVersionNumberDescriptor;
};
#endif /* BLEOTA */