mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-05 04:10:07 +00:00
34 lines
864 B
C
34 lines
864 B
C
|
#pragma once
|
||
|
#include "PowerFSM.h" // FIXME - someday I want to make this OTA thing a separate lb at at that point it can't touch this
|
||
|
#include "BLECharacteristic.h"
|
||
|
|
||
|
/**
|
||
|
* This mixin just lets the power management state machine know the phone is still talking to us
|
||
|
*/
|
||
|
class BLEKeepAliveCallbacks : public BLECharacteristicCallbacks
|
||
|
{
|
||
|
public:
|
||
|
void onRead(BLECharacteristic *c)
|
||
|
{
|
||
|
powerFSM.trigger(EVENT_CONTACT_FROM_PHONE);
|
||
|
}
|
||
|
|
||
|
void onWrite(BLECharacteristic *c)
|
||
|
{
|
||
|
powerFSM.trigger(EVENT_CONTACT_FROM_PHONE);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* A characterstic with a set of overridable callbacks
|
||
|
*/
|
||
|
class CallbackCharacteristic : public BLECharacteristic, public BLEKeepAliveCallbacks
|
||
|
{
|
||
|
public:
|
||
|
CallbackCharacteristic(const char *uuid, uint32_t btprops)
|
||
|
: BLECharacteristic(uuid, btprops)
|
||
|
{
|
||
|
setCallbacks(this);
|
||
|
}
|
||
|
};
|