@garmin/fitsdk 21.126.0 → 21.133.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 +3 -3
- package/src/bit-stream.js +3 -3
- package/src/crc-calculator.js +3 -3
- package/src/decoder.js +3 -3
- package/src/fit.js +3 -3
- package/src/index.js +3 -3
- package/src/profile.js +1116 -28
- package/src/stream.js +3 -3
- package/src/utils-hr-mesg.js +3 -3
- package/src/utils-internal.js +3 -3
- package/src/utils.js +3 -3
package/src/profile.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
// Copyright
|
|
2
|
+
// Copyright 2024 Garmin International, Inc.
|
|
3
3
|
// Licensed under the Flexible and Interoperable Data Transfer (FIT) Protocol License; you
|
|
4
4
|
// may not use this file except in compliance with the Flexible and Interoperable Data
|
|
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.133.0Release
|
|
9
|
+
// Tag = production/release/21.133.0-0-g6002091
|
|
10
10
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
const Profile = {
|
|
14
14
|
version: {
|
|
15
15
|
major: 21,
|
|
16
|
-
minor:
|
|
16
|
+
minor: 133,
|
|
17
17
|
patch: 0,
|
|
18
18
|
type: "Release"
|
|
19
19
|
},
|
|
@@ -18834,6 +18834,699 @@ const Profile = {
|
|
|
18834
18834
|
subFields: []
|
|
18835
18835
|
},
|
|
18836
18836
|
},
|
|
18837
|
+
},
|
|
18838
|
+
314: {
|
|
18839
|
+
num: 314, // Body battery data used for HSA custom data logging
|
|
18840
|
+
name: "hsaBodyBatteryData",
|
|
18841
|
+
messagesKey: "hsaBodyBatteryDataMesgs",
|
|
18842
|
+
fields: {
|
|
18843
|
+
253: {
|
|
18844
|
+
num: 253,
|
|
18845
|
+
name: "timestamp",
|
|
18846
|
+
type: "dateTime",
|
|
18847
|
+
array: "false",
|
|
18848
|
+
scale: 1,
|
|
18849
|
+
offset: 0,
|
|
18850
|
+
units: "s",
|
|
18851
|
+
bits: [],
|
|
18852
|
+
components: [],
|
|
18853
|
+
isAccumulated: false,
|
|
18854
|
+
hasComponents: false,
|
|
18855
|
+
subFields: []
|
|
18856
|
+
},
|
|
18857
|
+
0: {
|
|
18858
|
+
num: 0, // Processing interval length in seconds
|
|
18859
|
+
name: "processingInterval",
|
|
18860
|
+
type: "uint16",
|
|
18861
|
+
array: "false",
|
|
18862
|
+
scale: 1,
|
|
18863
|
+
offset: 0,
|
|
18864
|
+
units: "s",
|
|
18865
|
+
bits: [],
|
|
18866
|
+
components: [],
|
|
18867
|
+
isAccumulated: false,
|
|
18868
|
+
hasComponents: false,
|
|
18869
|
+
subFields: []
|
|
18870
|
+
},
|
|
18871
|
+
1: {
|
|
18872
|
+
num: 1, // Body battery level
|
|
18873
|
+
name: "level",
|
|
18874
|
+
type: "sint8",
|
|
18875
|
+
array: "true",
|
|
18876
|
+
scale: 1,
|
|
18877
|
+
offset: 0,
|
|
18878
|
+
units: "percent",
|
|
18879
|
+
bits: [],
|
|
18880
|
+
components: [],
|
|
18881
|
+
isAccumulated: false,
|
|
18882
|
+
hasComponents: false,
|
|
18883
|
+
subFields: []
|
|
18884
|
+
},
|
|
18885
|
+
2: {
|
|
18886
|
+
num: 2, // Body battery charged value
|
|
18887
|
+
name: "charged",
|
|
18888
|
+
type: "sint16",
|
|
18889
|
+
array: "true",
|
|
18890
|
+
scale: 1,
|
|
18891
|
+
offset: 0,
|
|
18892
|
+
units: "",
|
|
18893
|
+
bits: [],
|
|
18894
|
+
components: [],
|
|
18895
|
+
isAccumulated: false,
|
|
18896
|
+
hasComponents: false,
|
|
18897
|
+
subFields: []
|
|
18898
|
+
},
|
|
18899
|
+
3: {
|
|
18900
|
+
num: 3, // Body battery uncharged value
|
|
18901
|
+
name: "uncharged",
|
|
18902
|
+
type: "sint16",
|
|
18903
|
+
array: "true",
|
|
18904
|
+
scale: 1,
|
|
18905
|
+
offset: 0,
|
|
18906
|
+
units: "",
|
|
18907
|
+
bits: [],
|
|
18908
|
+
components: [],
|
|
18909
|
+
isAccumulated: false,
|
|
18910
|
+
hasComponents: false,
|
|
18911
|
+
subFields: []
|
|
18912
|
+
},
|
|
18913
|
+
},
|
|
18914
|
+
},
|
|
18915
|
+
315: {
|
|
18916
|
+
num: 315, // HSA events
|
|
18917
|
+
name: "hsaEvent",
|
|
18918
|
+
messagesKey: "hsaEventMesgs",
|
|
18919
|
+
fields: {
|
|
18920
|
+
253: {
|
|
18921
|
+
num: 253,
|
|
18922
|
+
name: "timestamp",
|
|
18923
|
+
type: "dateTime",
|
|
18924
|
+
array: "false",
|
|
18925
|
+
scale: 1,
|
|
18926
|
+
offset: 0,
|
|
18927
|
+
units: "s",
|
|
18928
|
+
bits: [],
|
|
18929
|
+
components: [],
|
|
18930
|
+
isAccumulated: false,
|
|
18931
|
+
hasComponents: false,
|
|
18932
|
+
subFields: []
|
|
18933
|
+
},
|
|
18934
|
+
0: {
|
|
18935
|
+
num: 0, // Event ID
|
|
18936
|
+
name: "eventId",
|
|
18937
|
+
type: "uint8",
|
|
18938
|
+
array: "false",
|
|
18939
|
+
scale: 1,
|
|
18940
|
+
offset: 0,
|
|
18941
|
+
units: "",
|
|
18942
|
+
bits: [],
|
|
18943
|
+
components: [],
|
|
18944
|
+
isAccumulated: false,
|
|
18945
|
+
hasComponents: false,
|
|
18946
|
+
subFields: []
|
|
18947
|
+
},
|
|
18948
|
+
},
|
|
18949
|
+
},
|
|
18950
|
+
302: {
|
|
18951
|
+
num: 302, // Raw accelerometer data used for HSA custom data logging
|
|
18952
|
+
name: "hsaAccelerometerData",
|
|
18953
|
+
messagesKey: "hsaAccelerometerDataMesgs",
|
|
18954
|
+
fields: {
|
|
18955
|
+
253: {
|
|
18956
|
+
num: 253,
|
|
18957
|
+
name: "timestamp",
|
|
18958
|
+
type: "dateTime",
|
|
18959
|
+
array: "false",
|
|
18960
|
+
scale: 1,
|
|
18961
|
+
offset: 0,
|
|
18962
|
+
units: "s",
|
|
18963
|
+
bits: [],
|
|
18964
|
+
components: [],
|
|
18965
|
+
isAccumulated: false,
|
|
18966
|
+
hasComponents: false,
|
|
18967
|
+
subFields: []
|
|
18968
|
+
},
|
|
18969
|
+
0: {
|
|
18970
|
+
num: 0, // Millisecond resolution of the timestamp
|
|
18971
|
+
name: "timestampMs",
|
|
18972
|
+
type: "uint16",
|
|
18973
|
+
array: "false",
|
|
18974
|
+
scale: 1,
|
|
18975
|
+
offset: 0,
|
|
18976
|
+
units: "ms",
|
|
18977
|
+
bits: [],
|
|
18978
|
+
components: [],
|
|
18979
|
+
isAccumulated: false,
|
|
18980
|
+
hasComponents: false,
|
|
18981
|
+
subFields: []
|
|
18982
|
+
},
|
|
18983
|
+
1: {
|
|
18984
|
+
num: 1, // Sampling Interval in Milliseconds
|
|
18985
|
+
name: "samplingInterval",
|
|
18986
|
+
type: "uint16",
|
|
18987
|
+
array: "false",
|
|
18988
|
+
scale: 1,
|
|
18989
|
+
offset: 0,
|
|
18990
|
+
units: "ms",
|
|
18991
|
+
bits: [],
|
|
18992
|
+
components: [],
|
|
18993
|
+
isAccumulated: false,
|
|
18994
|
+
hasComponents: false,
|
|
18995
|
+
subFields: []
|
|
18996
|
+
},
|
|
18997
|
+
2: {
|
|
18998
|
+
num: 2, // X-Axis Measurement
|
|
18999
|
+
name: "accelX",
|
|
19000
|
+
type: "sint16",
|
|
19001
|
+
array: "true",
|
|
19002
|
+
scale: 1.024,
|
|
19003
|
+
offset: 0,
|
|
19004
|
+
units: "mG",
|
|
19005
|
+
bits: [],
|
|
19006
|
+
components: [],
|
|
19007
|
+
isAccumulated: false,
|
|
19008
|
+
hasComponents: false,
|
|
19009
|
+
subFields: []
|
|
19010
|
+
},
|
|
19011
|
+
3: {
|
|
19012
|
+
num: 3, // Y-Axis Measurement
|
|
19013
|
+
name: "accelY",
|
|
19014
|
+
type: "sint16",
|
|
19015
|
+
array: "true",
|
|
19016
|
+
scale: 1.024,
|
|
19017
|
+
offset: 0,
|
|
19018
|
+
units: "mG",
|
|
19019
|
+
bits: [],
|
|
19020
|
+
components: [],
|
|
19021
|
+
isAccumulated: false,
|
|
19022
|
+
hasComponents: false,
|
|
19023
|
+
subFields: []
|
|
19024
|
+
},
|
|
19025
|
+
4: {
|
|
19026
|
+
num: 4, // Z-Axis Measurement
|
|
19027
|
+
name: "accelZ",
|
|
19028
|
+
type: "sint16",
|
|
19029
|
+
array: "true",
|
|
19030
|
+
scale: 1.024,
|
|
19031
|
+
offset: 0,
|
|
19032
|
+
units: "mG",
|
|
19033
|
+
bits: [],
|
|
19034
|
+
components: [],
|
|
19035
|
+
isAccumulated: false,
|
|
19036
|
+
hasComponents: false,
|
|
19037
|
+
subFields: []
|
|
19038
|
+
},
|
|
19039
|
+
5: {
|
|
19040
|
+
num: 5, // 32 kHz timestamp
|
|
19041
|
+
name: "timestamp32k",
|
|
19042
|
+
type: "uint32",
|
|
19043
|
+
array: "false",
|
|
19044
|
+
scale: 1,
|
|
19045
|
+
offset: 0,
|
|
19046
|
+
units: "",
|
|
19047
|
+
bits: [],
|
|
19048
|
+
components: [],
|
|
19049
|
+
isAccumulated: false,
|
|
19050
|
+
hasComponents: false,
|
|
19051
|
+
subFields: []
|
|
19052
|
+
},
|
|
19053
|
+
},
|
|
19054
|
+
},
|
|
19055
|
+
376: {
|
|
19056
|
+
num: 376,
|
|
19057
|
+
name: "hsaGyroscopeData",
|
|
19058
|
+
messagesKey: "hsaGyroscopeDataMesgs",
|
|
19059
|
+
fields: {
|
|
19060
|
+
253: {
|
|
19061
|
+
num: 253,
|
|
19062
|
+
name: "timestamp",
|
|
19063
|
+
type: "dateTime",
|
|
19064
|
+
array: "false",
|
|
19065
|
+
scale: 1,
|
|
19066
|
+
offset: 0,
|
|
19067
|
+
units: "s",
|
|
19068
|
+
bits: [],
|
|
19069
|
+
components: [],
|
|
19070
|
+
isAccumulated: false,
|
|
19071
|
+
hasComponents: false,
|
|
19072
|
+
subFields: []
|
|
19073
|
+
},
|
|
19074
|
+
0: {
|
|
19075
|
+
num: 0, // Millisecond resolution of the timestamp
|
|
19076
|
+
name: "timestampMs",
|
|
19077
|
+
type: "uint16",
|
|
19078
|
+
array: "false",
|
|
19079
|
+
scale: 1,
|
|
19080
|
+
offset: 0,
|
|
19081
|
+
units: "ms",
|
|
19082
|
+
bits: [],
|
|
19083
|
+
components: [],
|
|
19084
|
+
isAccumulated: false,
|
|
19085
|
+
hasComponents: false,
|
|
19086
|
+
subFields: []
|
|
19087
|
+
},
|
|
19088
|
+
1: {
|
|
19089
|
+
num: 1, // Sampling Interval in 32 kHz timescale
|
|
19090
|
+
name: "samplingInterval",
|
|
19091
|
+
type: "uint16",
|
|
19092
|
+
array: "false",
|
|
19093
|
+
scale: 1,
|
|
19094
|
+
offset: 0,
|
|
19095
|
+
units: "1/32768 s",
|
|
19096
|
+
bits: [],
|
|
19097
|
+
components: [],
|
|
19098
|
+
isAccumulated: false,
|
|
19099
|
+
hasComponents: false,
|
|
19100
|
+
subFields: []
|
|
19101
|
+
},
|
|
19102
|
+
2: {
|
|
19103
|
+
num: 2, // X-Axis Measurement
|
|
19104
|
+
name: "gyroX",
|
|
19105
|
+
type: "sint16",
|
|
19106
|
+
array: "true",
|
|
19107
|
+
scale: 28.57143,
|
|
19108
|
+
offset: 0,
|
|
19109
|
+
units: "deg/s",
|
|
19110
|
+
bits: [],
|
|
19111
|
+
components: [],
|
|
19112
|
+
isAccumulated: false,
|
|
19113
|
+
hasComponents: false,
|
|
19114
|
+
subFields: []
|
|
19115
|
+
},
|
|
19116
|
+
3: {
|
|
19117
|
+
num: 3, // Y-Axis Measurement
|
|
19118
|
+
name: "gyroY",
|
|
19119
|
+
type: "sint16",
|
|
19120
|
+
array: "true",
|
|
19121
|
+
scale: 28.57143,
|
|
19122
|
+
offset: 0,
|
|
19123
|
+
units: "deg/s",
|
|
19124
|
+
bits: [],
|
|
19125
|
+
components: [],
|
|
19126
|
+
isAccumulated: false,
|
|
19127
|
+
hasComponents: false,
|
|
19128
|
+
subFields: []
|
|
19129
|
+
},
|
|
19130
|
+
4: {
|
|
19131
|
+
num: 4, // Z-Axis Measurement
|
|
19132
|
+
name: "gyroZ",
|
|
19133
|
+
type: "sint16",
|
|
19134
|
+
array: "true",
|
|
19135
|
+
scale: 28.57143,
|
|
19136
|
+
offset: 0,
|
|
19137
|
+
units: "deg/s",
|
|
19138
|
+
bits: [],
|
|
19139
|
+
components: [],
|
|
19140
|
+
isAccumulated: false,
|
|
19141
|
+
hasComponents: false,
|
|
19142
|
+
subFields: []
|
|
19143
|
+
},
|
|
19144
|
+
5: {
|
|
19145
|
+
num: 5, // 32 kHz timestamp
|
|
19146
|
+
name: "timestamp32k",
|
|
19147
|
+
type: "uint32",
|
|
19148
|
+
array: "false",
|
|
19149
|
+
scale: 1,
|
|
19150
|
+
offset: 0,
|
|
19151
|
+
units: "1/32768 s",
|
|
19152
|
+
bits: [],
|
|
19153
|
+
components: [],
|
|
19154
|
+
isAccumulated: false,
|
|
19155
|
+
hasComponents: false,
|
|
19156
|
+
subFields: []
|
|
19157
|
+
},
|
|
19158
|
+
},
|
|
19159
|
+
},
|
|
19160
|
+
304: {
|
|
19161
|
+
num: 304, // User's current daily step data used for HSA custom data logging
|
|
19162
|
+
name: "hsaStepData",
|
|
19163
|
+
messagesKey: "hsaStepDataMesgs",
|
|
19164
|
+
fields: {
|
|
19165
|
+
253: {
|
|
19166
|
+
num: 253,
|
|
19167
|
+
name: "timestamp",
|
|
19168
|
+
type: "dateTime",
|
|
19169
|
+
array: "false",
|
|
19170
|
+
scale: 1,
|
|
19171
|
+
offset: 0,
|
|
19172
|
+
units: "s",
|
|
19173
|
+
bits: [],
|
|
19174
|
+
components: [],
|
|
19175
|
+
isAccumulated: false,
|
|
19176
|
+
hasComponents: false,
|
|
19177
|
+
subFields: []
|
|
19178
|
+
},
|
|
19179
|
+
0: {
|
|
19180
|
+
num: 0, // Processing interval length in seconds
|
|
19181
|
+
name: "processingInterval",
|
|
19182
|
+
type: "uint16",
|
|
19183
|
+
array: "false",
|
|
19184
|
+
scale: 1,
|
|
19185
|
+
offset: 0,
|
|
19186
|
+
units: "s",
|
|
19187
|
+
bits: [],
|
|
19188
|
+
components: [],
|
|
19189
|
+
isAccumulated: false,
|
|
19190
|
+
hasComponents: false,
|
|
19191
|
+
subFields: []
|
|
19192
|
+
},
|
|
19193
|
+
1: {
|
|
19194
|
+
num: 1, // Total step sum
|
|
19195
|
+
name: "steps",
|
|
19196
|
+
type: "uint32",
|
|
19197
|
+
array: "true",
|
|
19198
|
+
scale: 1,
|
|
19199
|
+
offset: 0,
|
|
19200
|
+
units: "steps",
|
|
19201
|
+
bits: [],
|
|
19202
|
+
components: [],
|
|
19203
|
+
isAccumulated: false,
|
|
19204
|
+
hasComponents: false,
|
|
19205
|
+
subFields: []
|
|
19206
|
+
},
|
|
19207
|
+
},
|
|
19208
|
+
},
|
|
19209
|
+
305: {
|
|
19210
|
+
num: 305, // User's current SpO2 data used for HSA custom data logging
|
|
19211
|
+
name: "hsaSpo2Data",
|
|
19212
|
+
messagesKey: "hsaSpo2DataMesgs",
|
|
19213
|
+
fields: {
|
|
19214
|
+
253: {
|
|
19215
|
+
num: 253,
|
|
19216
|
+
name: "timestamp",
|
|
19217
|
+
type: "dateTime",
|
|
19218
|
+
array: "false",
|
|
19219
|
+
scale: 1,
|
|
19220
|
+
offset: 0,
|
|
19221
|
+
units: "s",
|
|
19222
|
+
bits: [],
|
|
19223
|
+
components: [],
|
|
19224
|
+
isAccumulated: false,
|
|
19225
|
+
hasComponents: false,
|
|
19226
|
+
subFields: []
|
|
19227
|
+
},
|
|
19228
|
+
0: {
|
|
19229
|
+
num: 0, // Processing interval length in seconds
|
|
19230
|
+
name: "processingInterval",
|
|
19231
|
+
type: "uint16",
|
|
19232
|
+
array: "false",
|
|
19233
|
+
scale: 1,
|
|
19234
|
+
offset: 0,
|
|
19235
|
+
units: "s",
|
|
19236
|
+
bits: [],
|
|
19237
|
+
components: [],
|
|
19238
|
+
isAccumulated: false,
|
|
19239
|
+
hasComponents: false,
|
|
19240
|
+
subFields: []
|
|
19241
|
+
},
|
|
19242
|
+
1: {
|
|
19243
|
+
num: 1, // SpO2 Reading
|
|
19244
|
+
name: "readingSpo2",
|
|
19245
|
+
type: "uint8",
|
|
19246
|
+
array: "true",
|
|
19247
|
+
scale: 1,
|
|
19248
|
+
offset: 0,
|
|
19249
|
+
units: "percent",
|
|
19250
|
+
bits: [],
|
|
19251
|
+
components: [],
|
|
19252
|
+
isAccumulated: false,
|
|
19253
|
+
hasComponents: false,
|
|
19254
|
+
subFields: []
|
|
19255
|
+
},
|
|
19256
|
+
2: {
|
|
19257
|
+
num: 2, // SpO2 Confidence
|
|
19258
|
+
name: "confidence",
|
|
19259
|
+
type: "uint8",
|
|
19260
|
+
array: "true",
|
|
19261
|
+
scale: 1,
|
|
19262
|
+
offset: 0,
|
|
19263
|
+
units: "",
|
|
19264
|
+
bits: [],
|
|
19265
|
+
components: [],
|
|
19266
|
+
isAccumulated: false,
|
|
19267
|
+
hasComponents: false,
|
|
19268
|
+
subFields: []
|
|
19269
|
+
},
|
|
19270
|
+
},
|
|
19271
|
+
},
|
|
19272
|
+
306: {
|
|
19273
|
+
num: 306, // User's current stress data used for HSA custom data logging
|
|
19274
|
+
name: "hsaStressData",
|
|
19275
|
+
messagesKey: "hsaStressDataMesgs",
|
|
19276
|
+
fields: {
|
|
19277
|
+
253: {
|
|
19278
|
+
num: 253,
|
|
19279
|
+
name: "timestamp",
|
|
19280
|
+
type: "dateTime",
|
|
19281
|
+
array: "false",
|
|
19282
|
+
scale: 1,
|
|
19283
|
+
offset: 0,
|
|
19284
|
+
units: "",
|
|
19285
|
+
bits: [],
|
|
19286
|
+
components: [],
|
|
19287
|
+
isAccumulated: false,
|
|
19288
|
+
hasComponents: false,
|
|
19289
|
+
subFields: []
|
|
19290
|
+
},
|
|
19291
|
+
0: {
|
|
19292
|
+
num: 0, // Processing interval length in seconds
|
|
19293
|
+
name: "processingInterval",
|
|
19294
|
+
type: "uint16",
|
|
19295
|
+
array: "false",
|
|
19296
|
+
scale: 1,
|
|
19297
|
+
offset: 0,
|
|
19298
|
+
units: "s",
|
|
19299
|
+
bits: [],
|
|
19300
|
+
components: [],
|
|
19301
|
+
isAccumulated: false,
|
|
19302
|
+
hasComponents: false,
|
|
19303
|
+
subFields: []
|
|
19304
|
+
},
|
|
19305
|
+
1: {
|
|
19306
|
+
num: 1, // Stress Level ( 0 - 100 ) -300 indicates invalid -200 indicates large motion -100 indicates off wrist
|
|
19307
|
+
name: "stressLevel",
|
|
19308
|
+
type: "sint8",
|
|
19309
|
+
array: "true",
|
|
19310
|
+
scale: 1,
|
|
19311
|
+
offset: 0,
|
|
19312
|
+
units: "s",
|
|
19313
|
+
bits: [],
|
|
19314
|
+
components: [],
|
|
19315
|
+
isAccumulated: false,
|
|
19316
|
+
hasComponents: false,
|
|
19317
|
+
subFields: []
|
|
19318
|
+
},
|
|
19319
|
+
},
|
|
19320
|
+
},
|
|
19321
|
+
307: {
|
|
19322
|
+
num: 307, // User's current respiration data used for HSA custom data logging
|
|
19323
|
+
name: "hsaRespirationData",
|
|
19324
|
+
messagesKey: "hsaRespirationDataMesgs",
|
|
19325
|
+
fields: {
|
|
19326
|
+
253: {
|
|
19327
|
+
num: 253,
|
|
19328
|
+
name: "timestamp",
|
|
19329
|
+
type: "dateTime",
|
|
19330
|
+
array: "false",
|
|
19331
|
+
scale: 1,
|
|
19332
|
+
offset: 0,
|
|
19333
|
+
units: "s",
|
|
19334
|
+
bits: [],
|
|
19335
|
+
components: [],
|
|
19336
|
+
isAccumulated: false,
|
|
19337
|
+
hasComponents: false,
|
|
19338
|
+
subFields: []
|
|
19339
|
+
},
|
|
19340
|
+
0: {
|
|
19341
|
+
num: 0, // Processing interval length in seconds
|
|
19342
|
+
name: "processingInterval",
|
|
19343
|
+
type: "uint16",
|
|
19344
|
+
array: "false",
|
|
19345
|
+
scale: 1,
|
|
19346
|
+
offset: 0,
|
|
19347
|
+
units: "s",
|
|
19348
|
+
bits: [],
|
|
19349
|
+
components: [],
|
|
19350
|
+
isAccumulated: false,
|
|
19351
|
+
hasComponents: false,
|
|
19352
|
+
subFields: []
|
|
19353
|
+
},
|
|
19354
|
+
1: {
|
|
19355
|
+
num: 1, // Breaths * 100 /min -300 indicates invalid -200 indicates large motion -100 indicates off wrist
|
|
19356
|
+
name: "respirationRate",
|
|
19357
|
+
type: "sint16",
|
|
19358
|
+
array: "true",
|
|
19359
|
+
scale: 100,
|
|
19360
|
+
offset: 0,
|
|
19361
|
+
units: "breaths/min",
|
|
19362
|
+
bits: [],
|
|
19363
|
+
components: [],
|
|
19364
|
+
isAccumulated: false,
|
|
19365
|
+
hasComponents: false,
|
|
19366
|
+
subFields: []
|
|
19367
|
+
},
|
|
19368
|
+
},
|
|
19369
|
+
},
|
|
19370
|
+
308: {
|
|
19371
|
+
num: 308, // User's current heart rate data used for HSA custom data logging
|
|
19372
|
+
name: "hsaHeartRateData",
|
|
19373
|
+
messagesKey: "hsaHeartRateDataMesgs",
|
|
19374
|
+
fields: {
|
|
19375
|
+
253: {
|
|
19376
|
+
num: 253,
|
|
19377
|
+
name: "timestamp",
|
|
19378
|
+
type: "dateTime",
|
|
19379
|
+
array: "false",
|
|
19380
|
+
scale: 1,
|
|
19381
|
+
offset: 0,
|
|
19382
|
+
units: "s",
|
|
19383
|
+
bits: [],
|
|
19384
|
+
components: [],
|
|
19385
|
+
isAccumulated: false,
|
|
19386
|
+
hasComponents: false,
|
|
19387
|
+
subFields: []
|
|
19388
|
+
},
|
|
19389
|
+
0: {
|
|
19390
|
+
num: 0, // Processing interval length in seconds
|
|
19391
|
+
name: "processingInterval",
|
|
19392
|
+
type: "uint16",
|
|
19393
|
+
array: "false",
|
|
19394
|
+
scale: 1,
|
|
19395
|
+
offset: 0,
|
|
19396
|
+
units: "s",
|
|
19397
|
+
bits: [],
|
|
19398
|
+
components: [],
|
|
19399
|
+
isAccumulated: false,
|
|
19400
|
+
hasComponents: false,
|
|
19401
|
+
subFields: []
|
|
19402
|
+
},
|
|
19403
|
+
1: {
|
|
19404
|
+
num: 1, // Status of measurements in buffer - 0 indicates SEARCHING 1 indicates LOCKED
|
|
19405
|
+
name: "status",
|
|
19406
|
+
type: "uint8",
|
|
19407
|
+
array: "false",
|
|
19408
|
+
scale: 1,
|
|
19409
|
+
offset: 0,
|
|
19410
|
+
units: "",
|
|
19411
|
+
bits: [],
|
|
19412
|
+
components: [],
|
|
19413
|
+
isAccumulated: false,
|
|
19414
|
+
hasComponents: false,
|
|
19415
|
+
subFields: []
|
|
19416
|
+
},
|
|
19417
|
+
2: {
|
|
19418
|
+
num: 2, // Beats / min
|
|
19419
|
+
name: "heartRate",
|
|
19420
|
+
type: "uint8",
|
|
19421
|
+
array: "true",
|
|
19422
|
+
scale: 1,
|
|
19423
|
+
offset: 0,
|
|
19424
|
+
units: "bpm",
|
|
19425
|
+
bits: [],
|
|
19426
|
+
components: [],
|
|
19427
|
+
isAccumulated: false,
|
|
19428
|
+
hasComponents: false,
|
|
19429
|
+
subFields: []
|
|
19430
|
+
},
|
|
19431
|
+
},
|
|
19432
|
+
},
|
|
19433
|
+
389: {
|
|
19434
|
+
num: 389, // Configuration data for HSA custom data logging
|
|
19435
|
+
name: "hsaConfigurationData",
|
|
19436
|
+
messagesKey: "hsaConfigurationDataMesgs",
|
|
19437
|
+
fields: {
|
|
19438
|
+
253: {
|
|
19439
|
+
num: 253, // Encoded configuration data
|
|
19440
|
+
name: "timestamp",
|
|
19441
|
+
type: "dateTime",
|
|
19442
|
+
array: "false",
|
|
19443
|
+
scale: 1,
|
|
19444
|
+
offset: 0,
|
|
19445
|
+
units: "s",
|
|
19446
|
+
bits: [],
|
|
19447
|
+
components: [],
|
|
19448
|
+
isAccumulated: false,
|
|
19449
|
+
hasComponents: false,
|
|
19450
|
+
subFields: []
|
|
19451
|
+
},
|
|
19452
|
+
0: {
|
|
19453
|
+
num: 0,
|
|
19454
|
+
name: "data",
|
|
19455
|
+
type: "byte",
|
|
19456
|
+
array: "true",
|
|
19457
|
+
scale: 1,
|
|
19458
|
+
offset: 0,
|
|
19459
|
+
units: "",
|
|
19460
|
+
bits: [],
|
|
19461
|
+
components: [],
|
|
19462
|
+
isAccumulated: false,
|
|
19463
|
+
hasComponents: false,
|
|
19464
|
+
subFields: []
|
|
19465
|
+
},
|
|
19466
|
+
1: {
|
|
19467
|
+
num: 1, // Size in bytes of data field
|
|
19468
|
+
name: "dataSize",
|
|
19469
|
+
type: "uint8",
|
|
19470
|
+
array: "false",
|
|
19471
|
+
scale: 1,
|
|
19472
|
+
offset: 0,
|
|
19473
|
+
units: "",
|
|
19474
|
+
bits: [],
|
|
19475
|
+
components: [],
|
|
19476
|
+
isAccumulated: false,
|
|
19477
|
+
hasComponents: false,
|
|
19478
|
+
subFields: []
|
|
19479
|
+
},
|
|
19480
|
+
},
|
|
19481
|
+
},
|
|
19482
|
+
409: {
|
|
19483
|
+
num: 409, // Wrist temperature data used for HSA custom data logging
|
|
19484
|
+
name: "hsaWristTemperatureData",
|
|
19485
|
+
messagesKey: "hsaWristTemperatureDataMesgs",
|
|
19486
|
+
fields: {
|
|
19487
|
+
253: {
|
|
19488
|
+
num: 253,
|
|
19489
|
+
name: "timestamp",
|
|
19490
|
+
type: "dateTime",
|
|
19491
|
+
array: "false",
|
|
19492
|
+
scale: 1,
|
|
19493
|
+
offset: 0,
|
|
19494
|
+
units: "s",
|
|
19495
|
+
bits: [],
|
|
19496
|
+
components: [],
|
|
19497
|
+
isAccumulated: false,
|
|
19498
|
+
hasComponents: false,
|
|
19499
|
+
subFields: []
|
|
19500
|
+
},
|
|
19501
|
+
0: {
|
|
19502
|
+
num: 0, // Processing interval length in seconds
|
|
19503
|
+
name: "processingInterval",
|
|
19504
|
+
type: "uint16",
|
|
19505
|
+
array: "false",
|
|
19506
|
+
scale: 1,
|
|
19507
|
+
offset: 0,
|
|
19508
|
+
units: "s",
|
|
19509
|
+
bits: [],
|
|
19510
|
+
components: [],
|
|
19511
|
+
isAccumulated: false,
|
|
19512
|
+
hasComponents: false,
|
|
19513
|
+
subFields: []
|
|
19514
|
+
},
|
|
19515
|
+
1: {
|
|
19516
|
+
num: 1, // Wrist temperature reading
|
|
19517
|
+
name: "value",
|
|
19518
|
+
type: "uint16",
|
|
19519
|
+
array: "true",
|
|
19520
|
+
scale: 1000,
|
|
19521
|
+
offset: 0,
|
|
19522
|
+
units: "degC",
|
|
19523
|
+
bits: [],
|
|
19524
|
+
components: [],
|
|
19525
|
+
isAccumulated: false,
|
|
19526
|
+
hasComponents: false,
|
|
19527
|
+
subFields: []
|
|
19528
|
+
},
|
|
19529
|
+
},
|
|
18837
19530
|
},
|
|
18838
19531
|
145: {
|
|
18839
19532
|
num: 145,
|
|
@@ -19797,63 +20490,154 @@ const Profile = {
|
|
|
19797
20490
|
name: "avgAscentRate",
|
|
19798
20491
|
type: "sint32",
|
|
19799
20492
|
array: "false",
|
|
19800
|
-
scale: 1000,
|
|
20493
|
+
scale: 1000,
|
|
20494
|
+
offset: 0,
|
|
20495
|
+
units: "m/s",
|
|
20496
|
+
bits: [],
|
|
20497
|
+
components: [],
|
|
20498
|
+
isAccumulated: false,
|
|
20499
|
+
hasComponents: false,
|
|
20500
|
+
subFields: []
|
|
20501
|
+
},
|
|
20502
|
+
22: {
|
|
20503
|
+
num: 22, // Average descent rate, not including ascents or stops
|
|
20504
|
+
name: "avgDescentRate",
|
|
20505
|
+
type: "uint32",
|
|
20506
|
+
array: "false",
|
|
20507
|
+
scale: 1000,
|
|
20508
|
+
offset: 0,
|
|
20509
|
+
units: "m/s",
|
|
20510
|
+
bits: [],
|
|
20511
|
+
components: [],
|
|
20512
|
+
isAccumulated: false,
|
|
20513
|
+
hasComponents: false,
|
|
20514
|
+
subFields: []
|
|
20515
|
+
},
|
|
20516
|
+
23: {
|
|
20517
|
+
num: 23, // Maximum ascent rate
|
|
20518
|
+
name: "maxAscentRate",
|
|
20519
|
+
type: "uint32",
|
|
20520
|
+
array: "false",
|
|
20521
|
+
scale: 1000,
|
|
20522
|
+
offset: 0,
|
|
20523
|
+
units: "m/s",
|
|
20524
|
+
bits: [],
|
|
20525
|
+
components: [],
|
|
20526
|
+
isAccumulated: false,
|
|
20527
|
+
hasComponents: false,
|
|
20528
|
+
subFields: []
|
|
20529
|
+
},
|
|
20530
|
+
24: {
|
|
20531
|
+
num: 24, // Maximum descent rate
|
|
20532
|
+
name: "maxDescentRate",
|
|
20533
|
+
type: "uint32",
|
|
20534
|
+
array: "false",
|
|
20535
|
+
scale: 1000,
|
|
20536
|
+
offset: 0,
|
|
20537
|
+
units: "m/s",
|
|
20538
|
+
bits: [],
|
|
20539
|
+
components: [],
|
|
20540
|
+
isAccumulated: false,
|
|
20541
|
+
hasComponents: false,
|
|
20542
|
+
subFields: []
|
|
20543
|
+
},
|
|
20544
|
+
25: {
|
|
20545
|
+
num: 25, // Time spent neither ascending nor descending
|
|
20546
|
+
name: "hangTime",
|
|
20547
|
+
type: "uint32",
|
|
20548
|
+
array: "false",
|
|
20549
|
+
scale: 1000,
|
|
20550
|
+
offset: 0,
|
|
20551
|
+
units: "s",
|
|
20552
|
+
bits: [],
|
|
20553
|
+
components: [],
|
|
20554
|
+
isAccumulated: false,
|
|
20555
|
+
hasComponents: false,
|
|
20556
|
+
subFields: []
|
|
20557
|
+
},
|
|
20558
|
+
},
|
|
20559
|
+
},
|
|
20560
|
+
289: {
|
|
20561
|
+
num: 289, // Number of acclerometer zero crossings summed over the specified time interval
|
|
20562
|
+
name: "aadAccelFeatures",
|
|
20563
|
+
messagesKey: "aadAccelFeaturesMesgs",
|
|
20564
|
+
fields: {
|
|
20565
|
+
253: {
|
|
20566
|
+
num: 253,
|
|
20567
|
+
name: "timestamp",
|
|
20568
|
+
type: "dateTime",
|
|
20569
|
+
array: "false",
|
|
20570
|
+
scale: 1,
|
|
20571
|
+
offset: 0,
|
|
20572
|
+
units: "",
|
|
20573
|
+
bits: [],
|
|
20574
|
+
components: [],
|
|
20575
|
+
isAccumulated: false,
|
|
20576
|
+
hasComponents: false,
|
|
20577
|
+
subFields: []
|
|
20578
|
+
},
|
|
20579
|
+
0: {
|
|
20580
|
+
num: 0, // Time interval length in seconds
|
|
20581
|
+
name: "time",
|
|
20582
|
+
type: "uint16",
|
|
20583
|
+
array: "false",
|
|
20584
|
+
scale: 1,
|
|
19801
20585
|
offset: 0,
|
|
19802
|
-
units: "
|
|
20586
|
+
units: "s",
|
|
19803
20587
|
bits: [],
|
|
19804
20588
|
components: [],
|
|
19805
20589
|
isAccumulated: false,
|
|
19806
20590
|
hasComponents: false,
|
|
19807
20591
|
subFields: []
|
|
19808
20592
|
},
|
|
19809
|
-
|
|
19810
|
-
num:
|
|
19811
|
-
name: "
|
|
20593
|
+
1: {
|
|
20594
|
+
num: 1, // Total accelerometer energy in the interval
|
|
20595
|
+
name: "energyTotal",
|
|
19812
20596
|
type: "uint32",
|
|
19813
20597
|
array: "false",
|
|
19814
|
-
scale:
|
|
20598
|
+
scale: 1,
|
|
19815
20599
|
offset: 0,
|
|
19816
|
-
units: "
|
|
20600
|
+
units: "",
|
|
19817
20601
|
bits: [],
|
|
19818
20602
|
components: [],
|
|
19819
20603
|
isAccumulated: false,
|
|
19820
20604
|
hasComponents: false,
|
|
19821
20605
|
subFields: []
|
|
19822
20606
|
},
|
|
19823
|
-
|
|
19824
|
-
num:
|
|
19825
|
-
name: "
|
|
19826
|
-
type: "
|
|
20607
|
+
2: {
|
|
20608
|
+
num: 2, // Count of zero crossings
|
|
20609
|
+
name: "zeroCrossCnt",
|
|
20610
|
+
type: "uint16",
|
|
19827
20611
|
array: "false",
|
|
19828
|
-
scale:
|
|
20612
|
+
scale: 1,
|
|
19829
20613
|
offset: 0,
|
|
19830
|
-
units: "
|
|
20614
|
+
units: "",
|
|
19831
20615
|
bits: [],
|
|
19832
20616
|
components: [],
|
|
19833
20617
|
isAccumulated: false,
|
|
19834
20618
|
hasComponents: false,
|
|
19835
20619
|
subFields: []
|
|
19836
20620
|
},
|
|
19837
|
-
|
|
19838
|
-
num:
|
|
19839
|
-
name: "
|
|
19840
|
-
type: "
|
|
20621
|
+
3: {
|
|
20622
|
+
num: 3, // Instance ID of zero crossing algorithm
|
|
20623
|
+
name: "instance",
|
|
20624
|
+
type: "uint8",
|
|
19841
20625
|
array: "false",
|
|
19842
|
-
scale:
|
|
20626
|
+
scale: 1,
|
|
19843
20627
|
offset: 0,
|
|
19844
|
-
units: "
|
|
20628
|
+
units: "",
|
|
19845
20629
|
bits: [],
|
|
19846
20630
|
components: [],
|
|
19847
20631
|
isAccumulated: false,
|
|
19848
20632
|
hasComponents: false,
|
|
19849
20633
|
subFields: []
|
|
19850
20634
|
},
|
|
19851
|
-
|
|
19852
|
-
num:
|
|
19853
|
-
name: "
|
|
19854
|
-
type: "
|
|
20635
|
+
4: {
|
|
20636
|
+
num: 4, // Total accelerometer time above threshold in the interval
|
|
20637
|
+
name: "timeAboveThreshold",
|
|
20638
|
+
type: "uint16",
|
|
19855
20639
|
array: "false",
|
|
19856
|
-
scale:
|
|
20640
|
+
scale: 25,
|
|
19857
20641
|
offset: 0,
|
|
19858
20642
|
units: "s",
|
|
19859
20643
|
bits: [],
|
|
@@ -20087,6 +20871,97 @@ const Profile = {
|
|
|
20087
20871
|
subFields: []
|
|
20088
20872
|
},
|
|
20089
20873
|
},
|
|
20874
|
+
},
|
|
20875
|
+
372: {
|
|
20876
|
+
num: 372, // Raw Beat-to-Beat Interval values
|
|
20877
|
+
name: "rawBbi",
|
|
20878
|
+
messagesKey: "rawBbiMesgs",
|
|
20879
|
+
fields: {
|
|
20880
|
+
253: {
|
|
20881
|
+
num: 253,
|
|
20882
|
+
name: "timestamp",
|
|
20883
|
+
type: "dateTime",
|
|
20884
|
+
array: "false",
|
|
20885
|
+
scale: 1,
|
|
20886
|
+
offset: 0,
|
|
20887
|
+
units: "",
|
|
20888
|
+
bits: [],
|
|
20889
|
+
components: [],
|
|
20890
|
+
isAccumulated: false,
|
|
20891
|
+
hasComponents: false,
|
|
20892
|
+
subFields: []
|
|
20893
|
+
},
|
|
20894
|
+
0: {
|
|
20895
|
+
num: 0, // ms since last overnight_raw_bbi message
|
|
20896
|
+
name: "timestampMs",
|
|
20897
|
+
type: "uint16",
|
|
20898
|
+
array: "false",
|
|
20899
|
+
scale: 1,
|
|
20900
|
+
offset: 0,
|
|
20901
|
+
units: "ms",
|
|
20902
|
+
bits: [],
|
|
20903
|
+
components: [],
|
|
20904
|
+
isAccumulated: false,
|
|
20905
|
+
hasComponents: false,
|
|
20906
|
+
subFields: []
|
|
20907
|
+
},
|
|
20908
|
+
1: {
|
|
20909
|
+
num: 1, // 1 bit for gap indicator, 1 bit for quality indicator, and 14 bits for Beat-to-Beat interval values in whole-integer millisecond resolution
|
|
20910
|
+
name: "data",
|
|
20911
|
+
type: "uint16",
|
|
20912
|
+
array: "true",
|
|
20913
|
+
scale: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
|
|
20914
|
+
offset: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
|
20915
|
+
units: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ],
|
|
20916
|
+
bits: [14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,],
|
|
20917
|
+
components: ["2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", "2", "3", "4", ],
|
|
20918
|
+
isAccumulated: false,
|
|
20919
|
+
hasComponents: true,
|
|
20920
|
+
subFields: []
|
|
20921
|
+
},
|
|
20922
|
+
2: {
|
|
20923
|
+
num: 2, // Array of millisecond times between beats
|
|
20924
|
+
name: "time",
|
|
20925
|
+
type: "uint16",
|
|
20926
|
+
array: "true",
|
|
20927
|
+
scale: 1,
|
|
20928
|
+
offset: 0,
|
|
20929
|
+
units: "ms",
|
|
20930
|
+
bits: [],
|
|
20931
|
+
components: [],
|
|
20932
|
+
isAccumulated: false,
|
|
20933
|
+
hasComponents: false,
|
|
20934
|
+
subFields: []
|
|
20935
|
+
},
|
|
20936
|
+
3: {
|
|
20937
|
+
num: 3,
|
|
20938
|
+
name: "quality",
|
|
20939
|
+
type: "uint8",
|
|
20940
|
+
array: "true",
|
|
20941
|
+
scale: 1,
|
|
20942
|
+
offset: 0,
|
|
20943
|
+
units: "",
|
|
20944
|
+
bits: [],
|
|
20945
|
+
components: [],
|
|
20946
|
+
isAccumulated: false,
|
|
20947
|
+
hasComponents: false,
|
|
20948
|
+
subFields: []
|
|
20949
|
+
},
|
|
20950
|
+
4: {
|
|
20951
|
+
num: 4,
|
|
20952
|
+
name: "gap",
|
|
20953
|
+
type: "uint8",
|
|
20954
|
+
array: "true",
|
|
20955
|
+
scale: 1,
|
|
20956
|
+
offset: 0,
|
|
20957
|
+
units: "",
|
|
20958
|
+
bits: [],
|
|
20959
|
+
components: [],
|
|
20960
|
+
isAccumulated: false,
|
|
20961
|
+
hasComponents: false,
|
|
20962
|
+
subFields: []
|
|
20963
|
+
},
|
|
20964
|
+
},
|
|
20090
20965
|
},
|
|
20091
20966
|
297: {
|
|
20092
20967
|
num: 297,
|
|
@@ -20122,6 +20997,160 @@ const Profile = {
|
|
|
20122
20997
|
subFields: []
|
|
20123
20998
|
},
|
|
20124
20999
|
},
|
|
21000
|
+
},
|
|
21001
|
+
387: {
|
|
21002
|
+
num: 387, // Specifically used for XERO products.
|
|
21003
|
+
name: "chronoShotSession",
|
|
21004
|
+
messagesKey: "chronoShotSessionMesgs",
|
|
21005
|
+
fields: {
|
|
21006
|
+
253: {
|
|
21007
|
+
num: 253,
|
|
21008
|
+
name: "timestamp",
|
|
21009
|
+
type: "dateTime",
|
|
21010
|
+
array: "false",
|
|
21011
|
+
scale: 1,
|
|
21012
|
+
offset: 0,
|
|
21013
|
+
units: "",
|
|
21014
|
+
bits: [],
|
|
21015
|
+
components: [],
|
|
21016
|
+
isAccumulated: false,
|
|
21017
|
+
hasComponents: false,
|
|
21018
|
+
subFields: []
|
|
21019
|
+
},
|
|
21020
|
+
0: {
|
|
21021
|
+
num: 0,
|
|
21022
|
+
name: "minSpeed",
|
|
21023
|
+
type: "uint32",
|
|
21024
|
+
array: "false",
|
|
21025
|
+
scale: 1000,
|
|
21026
|
+
offset: 0,
|
|
21027
|
+
units: "m/s",
|
|
21028
|
+
bits: [],
|
|
21029
|
+
components: [],
|
|
21030
|
+
isAccumulated: false,
|
|
21031
|
+
hasComponents: false,
|
|
21032
|
+
subFields: []
|
|
21033
|
+
},
|
|
21034
|
+
1: {
|
|
21035
|
+
num: 1,
|
|
21036
|
+
name: "maxSpeed",
|
|
21037
|
+
type: "uint32",
|
|
21038
|
+
array: "false",
|
|
21039
|
+
scale: 1000,
|
|
21040
|
+
offset: 0,
|
|
21041
|
+
units: "m/s",
|
|
21042
|
+
bits: [],
|
|
21043
|
+
components: [],
|
|
21044
|
+
isAccumulated: false,
|
|
21045
|
+
hasComponents: false,
|
|
21046
|
+
subFields: []
|
|
21047
|
+
},
|
|
21048
|
+
2: {
|
|
21049
|
+
num: 2,
|
|
21050
|
+
name: "avgSpeed",
|
|
21051
|
+
type: "uint32",
|
|
21052
|
+
array: "false",
|
|
21053
|
+
scale: 1000,
|
|
21054
|
+
offset: 0,
|
|
21055
|
+
units: "m/s",
|
|
21056
|
+
bits: [],
|
|
21057
|
+
components: [],
|
|
21058
|
+
isAccumulated: false,
|
|
21059
|
+
hasComponents: false,
|
|
21060
|
+
subFields: []
|
|
21061
|
+
},
|
|
21062
|
+
3: {
|
|
21063
|
+
num: 3,
|
|
21064
|
+
name: "shotCount",
|
|
21065
|
+
type: "uint16",
|
|
21066
|
+
array: "false",
|
|
21067
|
+
scale: 1,
|
|
21068
|
+
offset: 0,
|
|
21069
|
+
units: "",
|
|
21070
|
+
bits: [],
|
|
21071
|
+
components: [],
|
|
21072
|
+
isAccumulated: false,
|
|
21073
|
+
hasComponents: false,
|
|
21074
|
+
subFields: []
|
|
21075
|
+
},
|
|
21076
|
+
4: {
|
|
21077
|
+
num: 4,
|
|
21078
|
+
name: "projectileType",
|
|
21079
|
+
type: "projectileType",
|
|
21080
|
+
array: "false",
|
|
21081
|
+
scale: 1,
|
|
21082
|
+
offset: 0,
|
|
21083
|
+
units: "",
|
|
21084
|
+
bits: [],
|
|
21085
|
+
components: [],
|
|
21086
|
+
isAccumulated: false,
|
|
21087
|
+
hasComponents: false,
|
|
21088
|
+
subFields: []
|
|
21089
|
+
},
|
|
21090
|
+
5: {
|
|
21091
|
+
num: 5,
|
|
21092
|
+
name: "grainWeight",
|
|
21093
|
+
type: "uint32",
|
|
21094
|
+
array: "false",
|
|
21095
|
+
scale: 10,
|
|
21096
|
+
offset: 0,
|
|
21097
|
+
units: "gr",
|
|
21098
|
+
bits: [],
|
|
21099
|
+
components: [],
|
|
21100
|
+
isAccumulated: false,
|
|
21101
|
+
hasComponents: false,
|
|
21102
|
+
subFields: []
|
|
21103
|
+
},
|
|
21104
|
+
},
|
|
21105
|
+
},
|
|
21106
|
+
388: {
|
|
21107
|
+
num: 388, // Specifically used for XERO products.
|
|
21108
|
+
name: "chronoShotData",
|
|
21109
|
+
messagesKey: "chronoShotDataMesgs",
|
|
21110
|
+
fields: {
|
|
21111
|
+
253: {
|
|
21112
|
+
num: 253,
|
|
21113
|
+
name: "timestamp",
|
|
21114
|
+
type: "dateTime",
|
|
21115
|
+
array: "false",
|
|
21116
|
+
scale: 1,
|
|
21117
|
+
offset: 0,
|
|
21118
|
+
units: "",
|
|
21119
|
+
bits: [],
|
|
21120
|
+
components: [],
|
|
21121
|
+
isAccumulated: false,
|
|
21122
|
+
hasComponents: false,
|
|
21123
|
+
subFields: []
|
|
21124
|
+
},
|
|
21125
|
+
0: {
|
|
21126
|
+
num: 0,
|
|
21127
|
+
name: "shotSpeed",
|
|
21128
|
+
type: "uint32",
|
|
21129
|
+
array: "false",
|
|
21130
|
+
scale: 1000,
|
|
21131
|
+
offset: 0,
|
|
21132
|
+
units: "m/s",
|
|
21133
|
+
bits: [],
|
|
21134
|
+
components: [],
|
|
21135
|
+
isAccumulated: false,
|
|
21136
|
+
hasComponents: false,
|
|
21137
|
+
subFields: []
|
|
21138
|
+
},
|
|
21139
|
+
1: {
|
|
21140
|
+
num: 1,
|
|
21141
|
+
name: "shotNum",
|
|
21142
|
+
type: "uint16",
|
|
21143
|
+
array: "false",
|
|
21144
|
+
scale: 1,
|
|
21145
|
+
offset: 0,
|
|
21146
|
+
units: "",
|
|
21147
|
+
bits: [],
|
|
21148
|
+
components: [],
|
|
21149
|
+
isAccumulated: false,
|
|
21150
|
+
hasComponents: false,
|
|
21151
|
+
subFields: []
|
|
21152
|
+
},
|
|
21153
|
+
},
|
|
20125
21154
|
},
|
|
20126
21155
|
319: {
|
|
20127
21156
|
num: 319,
|
|
@@ -20576,18 +21605,33 @@ types: {
|
|
|
20576
21605
|
269: "spo2Data",
|
|
20577
21606
|
275: "sleepLevel",
|
|
20578
21607
|
285: "jump",
|
|
21608
|
+
289: "aadAccelFeatures",
|
|
20579
21609
|
290: "beatIntervals",
|
|
20580
21610
|
297: "respirationRate",
|
|
21611
|
+
302: "hsaAccelerometerData",
|
|
21612
|
+
304: "hsaStepData",
|
|
21613
|
+
305: "hsaSpo2Data",
|
|
21614
|
+
306: "hsaStressData",
|
|
21615
|
+
307: "hsaRespirationData",
|
|
21616
|
+
308: "hsaHeartRateData",
|
|
20581
21617
|
312: "split",
|
|
20582
21618
|
313: "splitSummary",
|
|
21619
|
+
314: "hsaBodyBatteryData",
|
|
21620
|
+
315: "hsaEvent",
|
|
20583
21621
|
317: "climbPro",
|
|
20584
21622
|
319: "tankUpdate",
|
|
20585
21623
|
323: "tankSummary",
|
|
20586
21624
|
346: "sleepAssessment",
|
|
20587
21625
|
370: "hrvStatusSummary",
|
|
20588
21626
|
371: "hrvValue",
|
|
21627
|
+
372: "rawBbi",
|
|
20589
21628
|
375: "deviceAuxBatteryInfo",
|
|
21629
|
+
376: "hsaGyroscopeData",
|
|
21630
|
+
387: "chronoShotSession",
|
|
21631
|
+
388: "chronoShotData",
|
|
21632
|
+
389: "hsaConfigurationData",
|
|
20590
21633
|
393: "diveApneaAlarm",
|
|
21634
|
+
409: "hsaWristTemperatureData", // Message number for the HSA wrist temperature data message
|
|
20591
21635
|
0xFF00: "mfgRangeMin", // 0xFF00 - 0xFFFE reserved for manufacturer specific messages
|
|
20592
21636
|
0xFFFE: "mfgRangeMax", // 0xFF00 - 0xFFFE reserved for manufacturer specific messages
|
|
20593
21637
|
},
|
|
@@ -20933,14 +21977,25 @@ types: {
|
|
|
20933
21977
|
46: "jumpmaster",
|
|
20934
21978
|
47: "boxing",
|
|
20935
21979
|
48: "floorClimbing",
|
|
21980
|
+
49: "baseball",
|
|
20936
21981
|
53: "diving",
|
|
20937
21982
|
62: "hiit",
|
|
20938
21983
|
64: "racket",
|
|
20939
21984
|
65: "wheelchairPushWalk",
|
|
20940
21985
|
66: "wheelchairPushRun",
|
|
20941
21986
|
67: "meditation",
|
|
21987
|
+
69: "discGolf",
|
|
21988
|
+
71: "cricket",
|
|
21989
|
+
72: "rugby",
|
|
21990
|
+
73: "hockey",
|
|
21991
|
+
74: "lacrosse",
|
|
21992
|
+
75: "volleyball",
|
|
20942
21993
|
76: "waterTubing",
|
|
20943
21994
|
77: "wakesurfing",
|
|
21995
|
+
80: "mixedMartialArts",
|
|
21996
|
+
82: "snorkeling",
|
|
21997
|
+
83: "dance",
|
|
21998
|
+
84: "jumpRope",
|
|
20944
21999
|
254: "all", // All is for goals only to include all sports.
|
|
20945
22000
|
},
|
|
20946
22001
|
sportBits0: {
|
|
@@ -21081,6 +22136,10 @@ types: {
|
|
|
21081
22136
|
86: "indoorWheelchairWalk",
|
|
21082
22137
|
87: "indoorWheelchairRun",
|
|
21083
22138
|
88: "indoorHandCycling",
|
|
22139
|
+
94: "squash",
|
|
22140
|
+
95: "badminton",
|
|
22141
|
+
96: "racquetball",
|
|
22142
|
+
97: "tableTennis",
|
|
21084
22143
|
110: "flyCanopy", // Flying
|
|
21085
22144
|
111: "flyParaglide", // Flying
|
|
21086
22145
|
112: "flyParamotor", // Flying
|
|
@@ -21616,6 +22675,7 @@ types: {
|
|
|
21616
22675
|
325: "aeroSensor",
|
|
21617
22676
|
326: "nike",
|
|
21618
22677
|
327: "magicshine",
|
|
22678
|
+
328: "ictrainer",
|
|
21619
22679
|
5759: "actigraphcorp",
|
|
21620
22680
|
},
|
|
21621
22681
|
garminProduct: {
|
|
@@ -21635,6 +22695,7 @@ types: {
|
|
|
21635
22695
|
14: "fr225SingleByteProductId", // fr225 model for HRM ANT+ messaging
|
|
21636
22696
|
15: "gen3BsmSingleByteProductId", // gen3_bsm model for Bike Speed ANT+ messaging
|
|
21637
22697
|
16: "gen3BcmSingleByteProductId", // gen3_bcm model for Bike Cadence ANT+ messaging
|
|
22698
|
+
22: "hrmFitSingleByteProductId",
|
|
21638
22699
|
255: "oHR", // Garmin Wearable Optical Heart Rate Sensor for ANT+ HR Profile Broadcasting
|
|
21639
22700
|
473: "fr301China",
|
|
21640
22701
|
474: "fr301Japan",
|
|
@@ -22003,6 +23064,8 @@ types: {
|
|
|
22003
23064
|
4135: "tactix7",
|
|
22004
23065
|
4155: "instinctCrossover",
|
|
22005
23066
|
4169: "edgeExplore2",
|
|
23067
|
+
4222: "descentMk3",
|
|
23068
|
+
4223: "descentMk3i",
|
|
22006
23069
|
4233: "approachS70",
|
|
22007
23070
|
4257: "fr265Large",
|
|
22008
23071
|
4258: "fr265Small",
|
|
@@ -22029,9 +23092,11 @@ types: {
|
|
|
22029
23092
|
4374: "fenix7sProSolar",
|
|
22030
23093
|
4375: "fenix7ProSolar",
|
|
22031
23094
|
4376: "fenix7xProSolar",
|
|
23095
|
+
4380: "lily2",
|
|
22032
23096
|
4394: "instinct2x",
|
|
22033
23097
|
4426: "vivoactive5",
|
|
22034
23098
|
4442: "descentT2",
|
|
23099
|
+
4446: "hrmFit",
|
|
22035
23100
|
4472: "marqGen2Commander",
|
|
22036
23101
|
4556: "d2Mach1Pro",
|
|
22037
23102
|
10007: "sdm4", // SDM4 footpod
|
|
@@ -24342,6 +25407,14 @@ types: {
|
|
|
24342
25407
|
0: "openCircuit",
|
|
24343
25408
|
1: "closedCircuitDiluent",
|
|
24344
25409
|
},
|
|
25410
|
+
projectileType: {
|
|
25411
|
+
0: "arrow", // Arrow projectile type
|
|
25412
|
+
1: "rifleCartridge", // Rifle cartridge projectile type
|
|
25413
|
+
2: "pistolCartridge", // Pistol cartridge projectile type
|
|
25414
|
+
3: "shotshell", // Shotshell projectile type
|
|
25415
|
+
4: "airRiflePellet", // Air rifle pellet projectile type
|
|
25416
|
+
5: "other", // Other projectile type
|
|
25417
|
+
},
|
|
24345
25418
|
faveroProduct: {
|
|
24346
25419
|
10: "assiomaUno",
|
|
24347
25420
|
12: "assiomaDuo",
|
|
@@ -24498,6 +25571,17 @@ MesgNum : {
|
|
|
24498
25571
|
HR: 132,
|
|
24499
25572
|
STRESS_LEVEL: 227,
|
|
24500
25573
|
MAX_MET_DATA: 229,
|
|
25574
|
+
HSA_BODY_BATTERY_DATA: 314,
|
|
25575
|
+
HSA_EVENT: 315,
|
|
25576
|
+
HSA_ACCELEROMETER_DATA: 302,
|
|
25577
|
+
HSA_GYROSCOPE_DATA: 376,
|
|
25578
|
+
HSA_STEP_DATA: 304,
|
|
25579
|
+
HSA_SPO2_DATA: 305,
|
|
25580
|
+
HSA_STRESS_DATA: 306,
|
|
25581
|
+
HSA_RESPIRATION_DATA: 307,
|
|
25582
|
+
HSA_HEART_RATE_DATA: 308,
|
|
25583
|
+
HSA_CONFIGURATION_DATA: 389,
|
|
25584
|
+
HSA_WRIST_TEMPERATURE_DATA: 409,
|
|
24501
25585
|
MEMO_GLOB: 145,
|
|
24502
25586
|
SLEEP_LEVEL: 275,
|
|
24503
25587
|
ANT_CHANNEL_ID: 82,
|
|
@@ -24507,11 +25591,15 @@ MesgNum : {
|
|
|
24507
25591
|
EXD_DATA_FIELD_CONFIGURATION: 201,
|
|
24508
25592
|
EXD_DATA_CONCEPT_CONFIGURATION: 202,
|
|
24509
25593
|
DIVE_SUMMARY: 268,
|
|
25594
|
+
AAD_ACCEL_FEATURES: 289,
|
|
24510
25595
|
HRV: 78,
|
|
24511
25596
|
BEAT_INTERVALS: 290,
|
|
24512
25597
|
HRV_STATUS_SUMMARY: 370,
|
|
24513
25598
|
HRV_VALUE: 371,
|
|
25599
|
+
RAW_BBI: 372,
|
|
24514
25600
|
RESPIRATION_RATE: 297,
|
|
25601
|
+
CHRONO_SHOT_SESSION: 387,
|
|
25602
|
+
CHRONO_SHOT_DATA: 388,
|
|
24515
25603
|
TANK_UPDATE: 319,
|
|
24516
25604
|
TANK_SUMMARY: 323,
|
|
24517
25605
|
SLEEP_ASSESSMENT: 346,
|