Skip to content

Commit 002b761

Browse files
committed
Start HRSensor implementation
1 parent 7f45c41 commit 002b761

File tree

2 files changed

+50
-8
lines changed

2 files changed

+50
-8
lines changed

src/Profiles/HeartRate/Sensor/ANTPLUS_ProfileHeartRateSensor.cpp

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,51 @@
1-
// TODO
2-
/*
3-
Code accidentally implemented in monitor, storing here for later
1+
#include <Profiles/HeartRate/Sensor/ANTPLUS_ProfileHeartRateSensor.h>
2+
#include <Profiles/HeartRate/ANTPLUS_HeartRatePrivateDefines.h>
3+
#include <CommonDataPages/ANTPLUS_CommonDataPageDefines.h>
4+
5+
void ProfileHeartRateSensor::onBroadcastData(BroadcastData& msg) {
6+
HeartRateBaseMainDataPage dp = HeartRateBaseMainDataPage(msg);
7+
uint8_t dataPage = dp.getDataPageNumber();
8+
bool called = false;
9+
10+
BaseProfile::onBroadcastData(msg);
11+
12+
switch (dataPage) {
413

514
case ANTPLUS_HEARTRATE_DATAPAGE_CAPABILITIES_NUMBER:
615
called = handleCapabilities(dp);
716
break;
17+
}
18+
19+
if (!called) {
20+
callOnOtherDataPage(msg);
21+
}
22+
}
23+
24+
void ProfileHeartRateSensor::onAcknowledgedData(AcknowledgedData& msg) {
25+
HeartRateBaseMainDataPage dp = HeartRateBaseMainDataPage(msg);
26+
uint8_t dataPage = dp.getDataPageNumber();
27+
bool called = false;
28+
29+
BaseProfile::onAcknowledgedData(msg);
30+
31+
switch (dataPage) {
32+
33+
case ANTPLUS_COMMON_DATAPAGE_REQUESTDATAPAGE_NUMBER:
34+
called = handleRequestDataPage(dp);
35+
break;
36+
}
37+
38+
if (!called) {
39+
callOnOtherDataPage(msg);
40+
}
41+
}
842

9-
bool ProfileHeartRateMonitor::handleCapabilities(HeartRateBaseMainDataPage& dataPage) {
10-
// TODO
43+
bool ProfileHeartRateSensor::handleCapabilities(HeartRateBaseMainDataPage& dataPage) {
44+
HeartRateCapabilities dp = HeartRateCapabilities(dataPage);
45+
return _onHeartRateCapabilities.call(dp);
1146
}
1247

13-
bool ProfileHeartRateMonitor::handleRequestDataPage(HeartRateBaseMainDataPage& dataPage) {
14-
// TODO
48+
bool ProfileHeartRateSensor::handleRequestDataPage(HeartRateBaseMainDataPage& dataPage) {
49+
RequestDataPage dp = RequestDataPage(dataPage);
50+
return _onRequestDataPage.call(dp);
1551
}
16-
*/

src/Profiles/HeartRate/Sensor/ANTPLUS_ProfileHeartRateSensor.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@
22
#define ANTPLUS_PROFILEHEARTRATESENSOR_h
33

44
#include <BaseClasses/ANTPLUS_BaseMasterProfile.h>
5+
#include <Profiles/HeartRate/DataPages/ANTPLUS_ProfileHeartRateDataPages.h>
6+
#include <CommonDataPages/ANTPLUS_CommonDataPages.h>
57

68
class ProfileHeartRateSensor : BaseMasterProfile {
79
public:
810
void onHeartRateCapabilities(void (*func)(HeartRateCapabilities&, uintptr_t), uintptr_t data = 0) { _onHeartRateCapabilities.set(func, data); }
911
void onRequestDataPage(void (*func)(RequestDataPage&, uintptr_t), uintptr_t data = 0) { _onRequestDataPage.set(func, data); }
1012
void begin();
1113
void stop();
14+
/******************************************
15+
*LIBRARY INTERNAL ONLY FUNCTIONS BELOW
16+
******************************************/
17+
void onAcknowledgedData(AcknowledgedData& msg);
18+
void onBroadcastData(BroadcastData& msg);
1219
protected:
1320
void transmitNextDataPage();
1421
private:

0 commit comments

Comments
 (0)