@garmin/fitsdk 21.178.0 → 21.188.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/accumulator.js +2 -2
- package/src/bit-stream.js +2 -2
- package/src/crc-calculator.js +2 -2
- package/src/decoder.js +25 -12
- package/src/encoder.js +2 -2
- package/src/fit.js +33 -30
- package/src/index.js +2 -2
- package/src/mesg-definition.js +6 -5
- package/src/output-stream.js +2 -2
- package/src/profile.js +16 -6
- package/src/stream.js +2 -2
- package/src/utils-hr-mesg.js +2 -2
- package/src/utils-internal.js +2 -2
- package/src/utils-memo-glob.js +2 -2
- package/src/utils.js +2 -2
package/package.json
CHANGED
package/src/accumulator.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/bit-stream.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/crc-calculator.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/decoder.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
|
@@ -30,6 +30,7 @@ const LOCAL_MESG_NUM_MASK = 0x0F;
|
|
|
30
30
|
const HEADER_WITH_CRC_SIZE = 14;
|
|
31
31
|
const HEADER_WITHOUT_CRC_SIZE = 12;
|
|
32
32
|
const CRC_SIZE = 2;
|
|
33
|
+
const PROFILE_VERSION_SCALE_CHANGE_VALUE = 2199;
|
|
33
34
|
|
|
34
35
|
const DecodeMode = Object.freeze({
|
|
35
36
|
NORMAL: "normal",
|
|
@@ -43,6 +44,7 @@ class Decoder {
|
|
|
43
44
|
#stream = null;
|
|
44
45
|
#accumulator = new Accumulator();
|
|
45
46
|
#messages = {};
|
|
47
|
+
#profileVersion = null;
|
|
46
48
|
#fieldsWithSubFields = [];
|
|
47
49
|
#fieldsToExpand = [];
|
|
48
50
|
|
|
@@ -200,7 +202,7 @@ class Decoder {
|
|
|
200
202
|
mergeHeartRates = true,
|
|
201
203
|
decodeMemoGlobs = false,
|
|
202
204
|
skipHeader = false,
|
|
203
|
-
dataOnly = false,} = {}) {
|
|
205
|
+
dataOnly = false, } = {}) {
|
|
204
206
|
|
|
205
207
|
this.#mesgListener = mesgListener;
|
|
206
208
|
this.#mesgDefinitionListener = mesgDefinitionListener;
|
|
@@ -217,6 +219,7 @@ class Decoder {
|
|
|
217
219
|
this.#localMessageDefinitions = [];
|
|
218
220
|
this.#developerDataDefinitions = {};
|
|
219
221
|
this.#messages = {};
|
|
222
|
+
this.#profileVersion = null;
|
|
220
223
|
|
|
221
224
|
const errors = [];
|
|
222
225
|
|
|
@@ -247,7 +250,7 @@ class Decoder {
|
|
|
247
250
|
errors.push(error);
|
|
248
251
|
}
|
|
249
252
|
finally {
|
|
250
|
-
return { messages: this.#messages, errors: errors };
|
|
253
|
+
return { messages: this.#messages, profileVersion: this.#profileVersion, errors: errors };
|
|
251
254
|
}
|
|
252
255
|
}
|
|
253
256
|
|
|
@@ -260,7 +263,8 @@ class Decoder {
|
|
|
260
263
|
|
|
261
264
|
this.#stream.crcCalculator = new CrcCalculator();
|
|
262
265
|
|
|
263
|
-
const { headerSize, dataSize } = Decoder.#readFileHeader(this.#stream, { decodeMode: this.#decodeMode });
|
|
266
|
+
const { headerSize, dataSize, profileVersion, } = Decoder.#readFileHeader(this.#stream, { decodeMode: this.#decodeMode });
|
|
267
|
+
this.#profileVersion ??= profileVersion;
|
|
264
268
|
|
|
265
269
|
// Read data messages and definitions
|
|
266
270
|
while (this.#stream.position < (position + headerSize + dataSize)) {
|
|
@@ -313,7 +317,7 @@ class Decoder {
|
|
|
313
317
|
const fieldDefinition = {
|
|
314
318
|
fieldDefinitionNumber: this.#stream.readByte(),
|
|
315
319
|
size: this.#stream.readByte(),
|
|
316
|
-
baseType: this.#stream.readByte()
|
|
320
|
+
baseType: this.#stream.readByte() & FIT.BaseTypeMask,
|
|
317
321
|
};
|
|
318
322
|
|
|
319
323
|
if (!(fieldDefinition.baseType in FIT.BaseTypeDefinitions)) {
|
|
@@ -515,7 +519,7 @@ class Decoder {
|
|
|
515
519
|
this.#developerDataDefinitions[message.developerDataIndex.rawFieldValue].fields.push({
|
|
516
520
|
developerDataIndex: message.developerDataIndex?.rawFieldValue,
|
|
517
521
|
fieldDefinitionNumber: message.fieldDefinitionNumber?.rawFieldValue,
|
|
518
|
-
fitBaseTypeId: message.fitBaseTypeId?.rawFieldValue ?? null,
|
|
522
|
+
fitBaseTypeId: message.fitBaseTypeId?.rawFieldValue & FIT.BaseTypeMask ?? null,
|
|
519
523
|
fieldName: message.fieldName?.rawFieldValue ?? null,
|
|
520
524
|
array: message.array?.rawFieldValue ?? null,
|
|
521
525
|
components: message.components?.rawFieldValue ?? null,
|
|
@@ -799,26 +803,27 @@ class Decoder {
|
|
|
799
803
|
static #readFileHeader(stream, { resetPosition = false, decodeMode = DecodeMode.NORMAL }) {
|
|
800
804
|
const position = stream.position;
|
|
801
805
|
|
|
802
|
-
if(decodeMode !== DecodeMode.NORMAL) {
|
|
803
|
-
if(decodeMode === DecodeMode.SKIP_HEADER) {
|
|
806
|
+
if (decodeMode !== DecodeMode.NORMAL) {
|
|
807
|
+
if (decodeMode === DecodeMode.SKIP_HEADER) {
|
|
804
808
|
stream.seek(HEADER_WITH_CRC_SIZE);
|
|
805
809
|
}
|
|
806
810
|
|
|
807
811
|
const headerSize = decodeMode === DecodeMode.SKIP_HEADER ? HEADER_WITH_CRC_SIZE : 0;
|
|
812
|
+
const dataSize = stream.length - headerSize - CRC_SIZE;
|
|
808
813
|
|
|
809
814
|
return {
|
|
810
815
|
headerSize,
|
|
811
|
-
dataSize
|
|
816
|
+
dataSize,
|
|
812
817
|
};
|
|
813
818
|
}
|
|
814
819
|
|
|
815
820
|
const fileHeader = {
|
|
816
821
|
headerSize: stream.readByte(),
|
|
817
822
|
protocolVersion: stream.readByte(),
|
|
818
|
-
profileVersion: stream.readUInt16(),
|
|
823
|
+
profileVersion: this.#expandProfileVersion(stream.readUInt16()),
|
|
819
824
|
dataSize: stream.readUInt32(),
|
|
820
825
|
dataType: stream.readString(4),
|
|
821
|
-
headerCRC:
|
|
826
|
+
headerCRC: null
|
|
822
827
|
};
|
|
823
828
|
|
|
824
829
|
if (fileHeader.headerSize === 14) {
|
|
@@ -835,6 +840,14 @@ class Decoder {
|
|
|
835
840
|
#throwError(error = "") {
|
|
836
841
|
throw Error(`FIT Runtime Error at byte ${this.#stream.position} ${error}`.trimEnd());
|
|
837
842
|
}
|
|
843
|
+
|
|
844
|
+
static #expandProfileVersion = (profileVersion) => {
|
|
845
|
+
const scale = profileVersion > PROFILE_VERSION_SCALE_CHANGE_VALUE ? 1000 : 100
|
|
846
|
+
return {
|
|
847
|
+
major: Math.floor(profileVersion / scale),
|
|
848
|
+
minor: profileVersion % scale
|
|
849
|
+
}
|
|
850
|
+
}
|
|
838
851
|
}
|
|
839
852
|
|
|
840
853
|
export default Decoder;
|
package/src/encoder.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/fit.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
|
@@ -17,40 +17,42 @@ const BaseType = {
|
|
|
17
17
|
ENUM: 0x00,
|
|
18
18
|
SINT8: 0x01,
|
|
19
19
|
UINT8: 0x02,
|
|
20
|
-
SINT16:
|
|
21
|
-
UINT16:
|
|
22
|
-
SINT32:
|
|
23
|
-
UINT32:
|
|
20
|
+
SINT16: 0x03,
|
|
21
|
+
UINT16: 0x04,
|
|
22
|
+
SINT32: 0x05,
|
|
23
|
+
UINT32: 0x06,
|
|
24
24
|
STRING: 0x07,
|
|
25
|
-
FLOAT32:
|
|
26
|
-
FLOAT64:
|
|
25
|
+
FLOAT32: 0x08,
|
|
26
|
+
FLOAT64: 0x09,
|
|
27
27
|
UINT8Z: 0x0A,
|
|
28
|
-
UINT16Z:
|
|
29
|
-
UINT32Z:
|
|
28
|
+
UINT16Z: 0x0B,
|
|
29
|
+
UINT32Z: 0x0C,
|
|
30
30
|
BYTE: 0x0D,
|
|
31
|
-
SINT64:
|
|
32
|
-
UINT64:
|
|
33
|
-
UINT64Z:
|
|
31
|
+
SINT64: 0x0E,
|
|
32
|
+
UINT64: 0x0F,
|
|
33
|
+
UINT64Z: 0x10
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
+
const BaseTypeMask = 0x1F;
|
|
37
|
+
|
|
36
38
|
const BaseTypeDefinitions = {
|
|
37
|
-
0x00: { size: 1, type: BaseType.ENUM, invalid: 0xFF },
|
|
38
|
-
0x01: { size: 1, type: BaseType.SINT8, invalid: 0x7F },
|
|
39
|
-
0x02: { size: 1, type: BaseType.UINT8, invalid: 0xFF },
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
0x07: { size: 1, type: BaseType.STRING, invalid: 0x00 },
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
0x0A: { size: 1, type: BaseType.UINT8Z, invalid: 0x00 },
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
0x0D: { size: 1, type: BaseType.BYTE, invalid: 0xFF },
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
0x00: { size: 1, type: BaseType.ENUM, baseTypeEndianFlag: 0x00, invalid: 0xFF },
|
|
40
|
+
0x01: { size: 1, type: BaseType.SINT8, baseTypeEndianFlag: 0x00, invalid: 0x7F },
|
|
41
|
+
0x02: { size: 1, type: BaseType.UINT8, baseTypeEndianFlag: 0x00, invalid: 0xFF },
|
|
42
|
+
0x03: { size: 2, type: BaseType.SINT16, baseTypeEndianFlag: 0x80, invalid: 0x7FFF },
|
|
43
|
+
0x04: { size: 2, type: BaseType.UINT16, baseTypeEndianFlag: 0x80, invalid: 0xFFFF },
|
|
44
|
+
0x05: { size: 4, type: BaseType.SINT32, baseTypeEndianFlag: 0x80, invalid: 0x7FFFFFFF },
|
|
45
|
+
0x06: { size: 4, type: BaseType.UINT32, baseTypeEndianFlag: 0x80, invalid: 0xFFFFFFFF },
|
|
46
|
+
0x07: { size: 1, type: BaseType.STRING, baseTypeEndianFlag: 0x00, invalid: 0x00 },
|
|
47
|
+
0x08: { size: 4, type: BaseType.FLOAT32, baseTypeEndianFlag: 0x80, invalid: 0xFFFFFFFF },
|
|
48
|
+
0x09: { size: 8, type: BaseType.FLOAT64, baseTypeEndianFlag: 0x80, invalid: 0xFFFFFFFFFFFFFFFF },
|
|
49
|
+
0x0A: { size: 1, type: BaseType.UINT8Z, baseTypeEndianFlag: 0x00, invalid: 0x00 },
|
|
50
|
+
0x0B: { size: 2, type: BaseType.UINT16Z, baseTypeEndianFlag: 0x80, invalid: 0x0000 },
|
|
51
|
+
0x0C: { size: 4, type: BaseType.UINT32Z, baseTypeEndianFlag: 0x80, invalid: 0x00000000 },
|
|
52
|
+
0x0D: { size: 1, type: BaseType.BYTE, baseTypeEndianFlag: 0x00, invalid: 0xFF },
|
|
53
|
+
0x0E: { size: 8, type: BaseType.SINT64, baseTypeEndianFlag: 0x80, invalid: 0x7FFFFFFFFFFFFFFF },
|
|
54
|
+
0x0F: { size: 8, type: BaseType.UINT64, baseTypeEndianFlag: 0x80, invalid: 0xFFFFFFFFFFFFFFFF },
|
|
55
|
+
0x10: { size: 8, type: BaseType.UINT64Z, baseTypeEndianFlag: 0x80, invalid: 0x0000000000000000 },
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
const NumericFieldTypes = [
|
|
@@ -158,6 +160,7 @@ const isNumberStringDateOrBoolean = (obj) => {
|
|
|
158
160
|
|
|
159
161
|
export default {
|
|
160
162
|
BaseType,
|
|
163
|
+
BaseTypeMask,
|
|
161
164
|
BaseTypeDefinitions,
|
|
162
165
|
NumericFieldTypes,
|
|
163
166
|
FloatingPointFieldTypes,
|
package/src/index.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/mesg-definition.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
|
@@ -67,6 +67,7 @@ class MesgDefinition {
|
|
|
67
67
|
num: fieldProfile[1].num,
|
|
68
68
|
size: this.#fieldSize(mesg[fieldName], baseTypeDef),
|
|
69
69
|
baseType: baseType,
|
|
70
|
+
baseTypeEndianFlag: baseTypeDef.baseTypeEndianFlag,
|
|
70
71
|
type: fieldProfile[1].type,
|
|
71
72
|
scale,
|
|
72
73
|
offset,
|
|
@@ -77,11 +78,11 @@ class MesgDefinition {
|
|
|
77
78
|
Object.keys(mesg.developerFields ?? {})?.sort()?.forEach((key) => {
|
|
78
79
|
const { developerDataIdMesg, fieldDescriptionMesg, } = this.#fieldDescriptionForKey(fieldDescriptions, key);
|
|
79
80
|
|
|
80
|
-
const baseTypeDef = FIT.BaseTypeDefinitions[fieldDescriptionMesg.fitBaseTypeId];
|
|
81
|
+
const baseTypeDef = FIT.BaseTypeDefinitions[fieldDescriptionMesg.fitBaseTypeId & FIT.BaseTypeMask];
|
|
81
82
|
|
|
82
83
|
this.developerFieldDefinitions.push({
|
|
83
84
|
key,
|
|
84
|
-
baseType: fieldDescriptionMesg.fitBaseTypeId,
|
|
85
|
+
baseType: fieldDescriptionMesg.fitBaseTypeId & FIT.BaseTypeMask,
|
|
85
86
|
fieldDefinitionNumber: fieldDescriptionMesg.fieldDefinitionNumber,
|
|
86
87
|
size: this.#fieldSize(mesg.developerFields[key], baseTypeDef),
|
|
87
88
|
developerDataIndex: developerDataIdMesg.developerDataIndex,
|
|
@@ -137,7 +138,7 @@ class MesgDefinition {
|
|
|
137
138
|
this.fieldDefinitions.forEach((fieldDefinition) => {
|
|
138
139
|
outputStream.writeUInt8(fieldDefinition.num);
|
|
139
140
|
outputStream.writeUInt8(fieldDefinition.size);
|
|
140
|
-
outputStream.writeUInt8(fieldDefinition.baseType);
|
|
141
|
+
outputStream.writeUInt8(fieldDefinition.baseType | fieldDefinition.baseTypeEndianFlag);
|
|
141
142
|
});
|
|
142
143
|
|
|
143
144
|
// Developer Field Definitions
|
package/src/output-stream.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/profile.js
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
const Profile = {
|
|
14
14
|
version: {
|
|
15
15
|
major: 21,
|
|
16
|
-
minor:
|
|
16
|
+
minor: 188,
|
|
17
17
|
patch: 0,
|
|
18
18
|
type: "Release"
|
|
19
19
|
},
|
|
@@ -4763,7 +4763,7 @@ const Profile = {
|
|
|
4763
4763
|
subFields: []
|
|
4764
4764
|
},
|
|
4765
4765
|
253: {
|
|
4766
|
-
num: 253,
|
|
4766
|
+
num: 253,
|
|
4767
4767
|
name: "timestamp",
|
|
4768
4768
|
type: "dateTime",
|
|
4769
4769
|
baseType: "uint32",
|
|
@@ -7170,7 +7170,7 @@ const Profile = {
|
|
|
7170
7170
|
subFields: []
|
|
7171
7171
|
},
|
|
7172
7172
|
253: {
|
|
7173
|
-
num: 253,
|
|
7173
|
+
num: 253,
|
|
7174
7174
|
name: "timestamp",
|
|
7175
7175
|
type: "dateTime",
|
|
7176
7176
|
baseType: "uint32",
|
|
@@ -15771,7 +15771,7 @@ const Profile = {
|
|
|
15771
15771
|
subFields: []
|
|
15772
15772
|
},
|
|
15773
15773
|
253: {
|
|
15774
|
-
num: 253,
|
|
15774
|
+
num: 253,
|
|
15775
15775
|
name: "timestamp",
|
|
15776
15776
|
type: "dateTime",
|
|
15777
15777
|
baseType: "uint32",
|
|
@@ -24796,6 +24796,7 @@ types: {
|
|
|
24796
24796
|
4446: "hrmFit",
|
|
24797
24797
|
4472: "marqGen2Commander",
|
|
24798
24798
|
4477: "lilyAthlete", // aka the Lily 2 Active
|
|
24799
|
+
4525: "rallyX10", // Rally 110/210
|
|
24799
24800
|
4532: "fenix8Solar",
|
|
24800
24801
|
4533: "fenix8SolarLarge",
|
|
24801
24802
|
4534: "fenix8Small",
|
|
@@ -24811,13 +24812,22 @@ types: {
|
|
|
24811
24812
|
4603: "venuX1",
|
|
24812
24813
|
4606: "hrm200",
|
|
24813
24814
|
4625: "vivoactive6",
|
|
24815
|
+
4631: "fenix8Pro",
|
|
24816
|
+
4633: "edge550",
|
|
24817
|
+
4634: "edge850",
|
|
24818
|
+
4643: "venu4",
|
|
24819
|
+
4644: "venu4s",
|
|
24814
24820
|
4647: "approachS44",
|
|
24815
24821
|
4655: "edgeMtb",
|
|
24816
24822
|
4656: "approachS50",
|
|
24817
24823
|
4666: "fenixE",
|
|
24824
|
+
4745: "bounce2",
|
|
24818
24825
|
4759: "instinct3Solar50mm",
|
|
24819
24826
|
4775: "tactix8Amoled",
|
|
24820
24827
|
4776: "tactix8Solar",
|
|
24828
|
+
4879: "d2Mach2",
|
|
24829
|
+
4678: "instinctCrossoverAmoled",
|
|
24830
|
+
4944: "d2AirX15",
|
|
24821
24831
|
10007: "sdm4", // SDM4 footpod
|
|
24822
24832
|
10014: "edgeRemote",
|
|
24823
24833
|
20533: "tacxTrainingAppWin",
|
package/src/stream.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/utils-hr-mesg.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/utils-internal.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
package/src/utils-memo-glob.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
import Profile from "./profile.js";
|
package/src/utils.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// Transfer (FIT) Protocol License.
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
|
8
|
-
// Profile Version = 21.
|
|
9
|
-
// Tag = production/release/21.
|
|
8
|
+
// Profile Version = 21.188.0Release
|
|
9
|
+
// Tag = production/release/21.188.0-0-g55050f8
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|