Ersa Wearable Platform
Embedded smartwatch firmware and application framework
Loading...
Searching...
No Matches
esp32_bluetooth.h
Go to the documentation of this file.
1#pragma once
2
5#include <atomic>
6
7namespace ersa {
8namespace hal {
9
21public:
25 ~Esp32Bluetooth() override;
26
27 Result<void> init() override;
28 void startAdvertising() override;
29 void stopAdvertising() override;
30 bool isConnected() const override;
31 bool isAdvertising() const override;
32 uint32_t nextWakeDelayMs(uint32_t nowMs) const override;
33 void tick() override;
34 const char* getDeviceName() const override;
35 const char* getDeviceAddress() const override;
36
37 const char* sourceId() const override;
38 bool pauseForMaintenance() override;
39 void resumeFromMaintenance() override;
40 bool suspendForMaintenance() override;
41 void resumeAfterMaintenance() override;
42 bool isAvailable() const override;
43 CompanionCapabilities capabilities() const override;
44 void setCallCallback(CompanionCallCallback cb, void* userData) override;
45 void setMediaCallback(CompanionMediaCallback cb, void* userData) override;
46 void setConnectionCallback(BleConnectionCallback cb, void* userData) override;
47 void setNotificationCallback(CompanionNotificationCallback cb, void* userData) override;
48 void setTimeCallback(CompanionTimeCallback cb, void* userData) override;
49 void setAvailabilityCallback(CompanionAvailabilityCallback cb, void* userData) override;
50 bool acceptCall() override;
51 bool rejectCall() override;
52 bool hangupCall() override;
53 bool dial(const char* number) override;
54 bool mediaCommand(CompanionMediaAction action) override;
55 bool dismissNotification(uint32_t uid) override;
56
57private:
58 void beginAdvertising();
59 class Impl;
60 Impl* pImpl_{nullptr};
61
63 void* callUserData_{nullptr};
64
66 void* mediaUserData_{nullptr};
67
69 void* connUserData_{nullptr};
70
72 void* notifUserData_{nullptr};
74 void* timeUserData_{nullptr};
76 void* availabilityUserData_{nullptr};
79 std::atomic<uint32_t> tickUsers_{0};
80};
81
82} // namespace hal
83} // namespace ersa
Definition types.h:52
Definition esp32_bluetooth.h:20
BleConnectionCallback connCb_
Definition esp32_bluetooth.h:68
Result< void > init() override
Definition esp32_bluetooth.cpp:750
void * mediaUserData_
Definition esp32_bluetooth.h:66
CompanionNotificationCallback notifCb_
Definition esp32_bluetooth.h:71
bool rejectCall() override
Definition esp32_bluetooth.cpp:790
void * timeUserData_
Definition esp32_bluetooth.h:74
const char * getDeviceName() const override
Return the local BLE device name.
Definition esp32_bluetooth.cpp:760
void startAdvertising() override
Definition esp32_bluetooth.cpp:751
bool isAdvertising() const override
Definition esp32_bluetooth.cpp:756
bool lastSourceAvailability_
Definition esp32_bluetooth.h:77
void * connUserData_
Definition esp32_bluetooth.h:69
bool isConnected() const override
Definition esp32_bluetooth.cpp:755
const char * getDeviceAddress() const override
Definition esp32_bluetooth.cpp:764
Impl * pImpl_
Definition esp32_bluetooth.h:60
void setConnectionCallback(BleConnectionCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:779
bool mediaCommand(CompanionMediaAction action) override
Definition esp32_bluetooth.cpp:793
bool dial(const char *number) override
Definition esp32_bluetooth.cpp:792
bool pauseForMaintenance() override
CompanionCapabilities capabilities() const override
Definition esp32_bluetooth.cpp:768
const char * sourceId() const override
Definition esp32_bluetooth.cpp:766
void * notifUserData_
Definition esp32_bluetooth.h:72
bool suspendForMaintenance() override
Release radio resources before memory-intensive maintenance.
Definition esp32_bluetooth.cpp:753
std::atomic< uint32_t > tickUsers_
Definition esp32_bluetooth.h:79
bool acceptCall() override
Definition esp32_bluetooth.cpp:789
void * callUserData_
Definition esp32_bluetooth.h:63
void tick() override
Definition esp32_bluetooth.cpp:758
void setAvailabilityCallback(CompanionAvailabilityCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:786
CompanionMediaCallback mediaCb_
Definition esp32_bluetooth.h:65
void beginAdvertising()
Definition esp32_bluetooth.cpp:759
void resumeAfterMaintenance() override
Resume advertising after maintenance completes.
Definition esp32_bluetooth.cpp:754
void * availabilityUserData_
Definition esp32_bluetooth.h:76
void setTimeCallback(CompanionTimeCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:785
CompanionCallCallback callCb_
Definition esp32_bluetooth.h:62
bool hangupCall() override
Definition esp32_bluetooth.cpp:791
uint32_t nextWakeDelayMs(uint32_t nowMs) const override
Definition esp32_bluetooth.cpp:757
void setMediaCallback(CompanionMediaCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:774
void setNotificationCallback(CompanionNotificationCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:784
CompanionAvailabilityCallback availabilityCb_
Definition esp32_bluetooth.h:75
bool isAvailable() const override
Definition esp32_bluetooth.cpp:767
bool maintenanceSuspended_
Definition esp32_bluetooth.h:78
bool dismissNotification(uint32_t uid) override
Definition esp32_bluetooth.cpp:794
CompanionTimeCallback timeCb_
Definition esp32_bluetooth.h:73
void setCallCallback(CompanionCallCallback cb, void *userData) override
Definition esp32_bluetooth.cpp:769
void resumeFromMaintenance() override
void stopAdvertising() override
Definition esp32_bluetooth.cpp:752
Definition bluetooth.h:20
Definition companion_source.h:49
void(*)(bool, void *) CompanionAvailabilityCallback
Definition companion_source.h:26
void(*)(const char *, const char *, const char *, uint32_t, bool, void *) CompanionNotificationCallback
Definition companion_source.h:28
void(*)(uint32_t, void *) CompanionTimeCallback
Definition companion_source.h:25
void(*)(bool connected, void *userData) BleConnectionCallback
Definition bluetooth.h:10
void(*)(bool, const char *, const char *, void *) CompanionMediaCallback
Definition companion_source.h:24
CompanionMediaAction
Definition companion_source.h:15
void(*)(CompanionCallAction, const char *, const char *, void *) CompanionCallCallback
Definition companion_source.h:23
Definition application.h:10
Definition companion_source.h:31