Skip to content

Commit 4634a4b

Browse files
committed
Restructure base profile channel config
1 parent 37939c6 commit 4634a4b

9 files changed

+27
-12
lines changed

src/ANTPLUS_PrivateDefines.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
#ifndef ANTPLUS_PRIVATEDEFINES_h
22
#define ANTPLUS_PRIVATEDEFINES_h
33

4+
/* Channel config stuff */
45
#define ANTPLUS_CHANNEL_FREQUENCY 57
6+
#define ANTPLUS_DEVICENUMBER_WILDCARD 0
7+
#define ANTPLUS_TRANSMISSIONTYPE_WILDCARD 0
58

69
#define ANTPLUS_DEFAULT_DATAPAGE_BYTE 0
710

811
#define ANTPLUS_DEFAULT_BYTE_MASK 0xFF
912

13+
#define ANTPLUS_PAIRING_BIT_MASK 0x80
14+
1015
#endif // ANTPLUS_PRIVATEDEFINES_h

src/BaseClasses/ANTPLUS_BaseMasterProfile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include <BaseClasses/ANTPLUS_BaseMasterProfile.h>
22

3-
BaseMasterProfile::BaseMasterProfile(uint16_t deviceNumber) : BaseProfile(deviceNumber) {
3+
BaseMasterProfile::BaseMasterProfile(uint16_t deviceNumber, uint8_t transmissionType) : BaseProfile(deviceNumber, transmissionType) {
44

55
}
66

src/BaseClasses/ANTPLUS_BaseMasterProfile.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
class BaseMasterProfile : public BaseProfile {
77
public:
8-
BaseMasterProfile(uint16_t deviceNumber);
8+
BaseMasterProfile(uint16_t deviceNumber, uint8_t transmissionType);
99
/******************************************
1010
*LIBRARY INTERNAL ONLY FUNCTIONS BELOW
1111
******************************************/

src/BaseClasses/ANTPLUS_BaseProfile.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#include <BaseClasses/ANTPLUS_BaseProfile.h>
22
#include <ANTPLUS_PrivateDefines.h>
33

4-
BaseProfile::BaseProfile(uint8_t deviceNumber) {
5-
4+
BaseProfile::BaseProfile(uint16_t deviceNumber, uint8_t transmissionType) {
5+
setDeviceNumber(deviceNumber);
6+
setTransmissionType(transmissionType);
67
}
78

89
uint8_t BaseProfile::getChannelStatus() {
@@ -47,8 +48,7 @@ void BaseProfile::setChannelPeriod(uint16_t channelPeriod) {
4748

4849
void BaseProfile::pushChannelConfig() {
4950
AssignChannel ac = AssignChannel(_channel, _channelType, ANTPLUS_NETWORKKEY_INDEX);
50-
// TODO deal with magic numbers
51-
ChannelId ci = ChannelId(_channel, _deviceNumber, _deviceType, 0x80 & _deviceType, _transmissionType);
51+
ChannelId ci = ChannelId(_channel, _deviceNumber, _deviceType, ANTPLUS_PAIRING_BIT_MASK & _deviceType, _transmissionType);
5252
ChannelPeriod cp = ChannelPeriod(_channel, _channelPeriod);
5353
ChannelRfFrequency crf = ChannelRfFrequency(_channel, ANTPLUS_CHANNEL_FREQUENCY);
5454
SearchTimeout st = SearchTimeout(_channel, _searchTimeout);

src/BaseClasses/ANTPLUS_BaseProfile.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ class AntPlusRouter;
99

1010
class BaseProfile {
1111
public:
12-
BaseProfile();
13-
BaseProfile(uint8_t deviceNumber);
14-
BaseProfile(uint8_t deviceNumber, uint8_t transmissionType);
12+
BaseProfile(uint16_t deviceNumber, uint8_t transmissionType);
1513
/**
1614
* Called on every message incoming before any other predefined callback is called
1715
*/
@@ -26,6 +24,7 @@ class BaseProfile {
2624
* Callback when an even on the radio occurs
2725
*/
2826
void onChannelEvent(void (*func)(ChannelEventResponse&, uintptr_t), uintptr_t data = 0) { _onChannelEvent.set(func, data); }
27+
// TODO on channel config change callback (used for when wildcarding to identify when actual information has been found)
2928
/**
3029
* Set the channel deviceNumber, wildcard for searching is 0
3130
*/
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
#include <BaseClasses/ANTPLUS_BaseSlaveProfile.h>
2+
#include <ANTPLUS_PrivateDefines.h>
23

3-
BaseSlaveProfile::BaseSlaveProfile(uint16_t deviceNumber) : BaseProfile(deviceNumber) {
4+
BaseSlaveProfile::BaseSlaveProfile() : BaseProfile(ANTPLUS_DEVICENUMBER_WILDCARD, ANTPLUS_TRANSMISSIONTYPE_WILDCARD) {
5+
6+
}
7+
8+
BaseSlaveProfile::BaseSlaveProfile(uint16_t deviceNumber) : BaseProfile(deviceNumber, ANTPLUS_TRANSMISSIONTYPE_WILDCARD) {
9+
10+
}
11+
12+
BaseSlaveProfile::BaseSlaveProfile(uint16_t deviceNumber, uint8_t transmissionType) : BaseProfile(deviceNumber, transmissionType) {
413

514
}

src/BaseClasses/ANTPLUS_BaseSlaveProfile.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class BaseSlaveProfile : public BaseProfile {
77
public:
88
BaseSlaveProfile();
99
BaseSlaveProfile(uint16_t deviceNumber);
10+
BaseSlaveProfile(uint16_t deviceNumber, uint8_t transmissionType);
1011

1112
private:
1213
};

src/BaseClasses/ANTPLUS_CoreDataPage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <BaseClasses/ANTPLUS_CoreDataPage.h>
2+
#include <ANTPLUS_PrivateDefines.h>
23

34
#include "ANT.h"
45

@@ -9,9 +10,8 @@ CoreDataPage<T>::CoreDataPage() : T() {
910

1011
template<class T>
1112
uint8_t CoreDataPage<T>::getDataPageNumber() {
12-
// TODO remove magic number
1313
// TODO handle shared channels
14-
return this->getData(0);
14+
return this->getData(ANTPLUS_DEFAULT_DATAPAGE_BYTE);
1515
}
1616

1717
template class CoreDataPage<BroadcastData>;

src/Profiles/HeartRate/Monitor/ANTPLUS_ProfileHeartRateMonitor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class ProfileHeartRateMonitor : public BaseSlaveProfile {
1111
public:
1212
ProfileHeartRateMonitor();
1313
ProfileHeartRateMonitor(uint16_t deviceNumber);
14+
ProfileHeartRateMonitor(uint16_t deviceNumber, uint8_t transmissionType);
1415
void onHeartRateBatteryStatus(void (*func)(HeartRateBatteryStatus&, uintptr_t), uintptr_t data = 0) { _onHeartRateBatteryStatus.set(func, data); }
1516
void onHeartRateCapabilities(void (*func)(HeartRateCapabilities&, uintptr_t), uintptr_t data = 0) { _onHeartRateCapabilities.set(func, data); }
1617
void onHeartRateCumulativeOperatingTime(void (*func)(HeartRateCumulativeOperatingTime&, uintptr_t), uintptr_t data = 0) { _onHeartRateCumulativeOperatingTime.set(func, data); }

0 commit comments

Comments
 (0)