Skip to content

Commit f3d15fb

Browse files
committed
CommonDataPages: Add ProductInformationMsg
Add datapage 81 to the mix
1 parent 59a5074 commit f3d15fb

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed
Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,43 @@
1-
// TODO
1+
#include <CommonDataPages/TX/ANTPLUS_ProductInformationMsg.h>
2+
#include <CommonDataPages/ANTPLUS_CommonDataPagePrivateDefines.h>
3+
#include <CommonDataPages/ANTPLUS_CommonDataPageDefines.h>
4+
#include <ANTPLUS_PrivateDefines.h>
5+
6+
ProductInformationMsg::ProductInformationMsg() : BaseDataPageMsg() {
7+
// TODO set default values
8+
setDataBuffer(_buffer);
9+
_buffer[0] = 81;
10+
_buffer[1] = 0xFF;
11+
}
12+
13+
// TODO remove magic numbers
14+
uint8_t ProductInformationMsg::getSWRevisionSupplemental() {
15+
return _buffer[2];
16+
}
17+
18+
uint8_t ProductInformationMsg::getSWRevisionMain() {
19+
return _buffer[3];
20+
}
21+
22+
uint32_t ProductInformationMsg::getSerialNumber() {
23+
uint32_t temp = _buffer[7] << 24;
24+
temp |= _buffer[6] << 16;
25+
temp |= _buffer[5] << 8;
26+
temp |= _buffer[4];
27+
return temp;
28+
}
29+
30+
void ProductInformationMsg::setSWRevisionSupplemental(uint8_t revision) {
31+
_buffer[2] = revision;
32+
}
33+
34+
void ProductInformationMsg::setSWRevisionMain(uint8_t revision) {
35+
_buffer[3] = revision;
36+
}
37+
38+
void ProductInformationMsg::setSerialNumber(uint32_t serialNumber) {
39+
_buffer[7] = (serialNumber >> 24) & 0xFF;
40+
_buffer[6] = (serialNumber >> 16) & 0xFF;
41+
_buffer[5] = (serialNumber >> 8) & 0xFF;
42+
_buffer[4] = serialNumber & 0xFF;
43+
}

src/CommonDataPages/TX/ANTPLUS_ProductInformationMsg.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,16 @@
88
// Common page 81
99

1010
class ProductInformationMsg : public BaseDataPageMsg<BroadcastDataMsg> {
11-
// TODO
11+
public:
12+
ProductInformationMsg();
13+
uint8_t getSWRevisionSupplemental();
14+
uint8_t getSWRevisionMain();
15+
uint32_t getSerialNumber();
16+
void setSWRevisionSupplemental(uint8_t revision);
17+
void setSWRevisionMain(uint8_t revision);
18+
void setSerialNumber(uint32_t serialNumber);
19+
private:
20+
uint8_t _buffer[MESSAGE_SIZE];
1221
};
1322

1423
#endif // ANTPLUS_PRODUCTINFORMATIONMSG_h

0 commit comments

Comments
 (0)