@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/src/profile.js CHANGED
@@ -1,19 +1,19 @@
1
1
  /////////////////////////////////////////////////////////////////////////////////////////////
2
- // Copyright 2023 Garmin International, Inc.
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.126.0Release
9
- // Tag = production/release/21.126.0-0-g0576dfe
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: 126,
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: "m/s",
20586
+ units: "s",
19803
20587
  bits: [],
19804
20588
  components: [],
19805
20589
  isAccumulated: false,
19806
20590
  hasComponents: false,
19807
20591
  subFields: []
19808
20592
  },
19809
- 22: {
19810
- num: 22, // Average descent rate, not including ascents or stops
19811
- name: "avgDescentRate",
20593
+ 1: {
20594
+ num: 1, // Total accelerometer energy in the interval
20595
+ name: "energyTotal",
19812
20596
  type: "uint32",
19813
20597
  array: "false",
19814
- scale: 1000,
20598
+ scale: 1,
19815
20599
  offset: 0,
19816
- units: "m/s",
20600
+ units: "",
19817
20601
  bits: [],
19818
20602
  components: [],
19819
20603
  isAccumulated: false,
19820
20604
  hasComponents: false,
19821
20605
  subFields: []
19822
20606
  },
19823
- 23: {
19824
- num: 23, // Maximum ascent rate
19825
- name: "maxAscentRate",
19826
- type: "uint32",
20607
+ 2: {
20608
+ num: 2, // Count of zero crossings
20609
+ name: "zeroCrossCnt",
20610
+ type: "uint16",
19827
20611
  array: "false",
19828
- scale: 1000,
20612
+ scale: 1,
19829
20613
  offset: 0,
19830
- units: "m/s",
20614
+ units: "",
19831
20615
  bits: [],
19832
20616
  components: [],
19833
20617
  isAccumulated: false,
19834
20618
  hasComponents: false,
19835
20619
  subFields: []
19836
20620
  },
19837
- 24: {
19838
- num: 24, // Maximum descent rate
19839
- name: "maxDescentRate",
19840
- type: "uint32",
20621
+ 3: {
20622
+ num: 3, // Instance ID of zero crossing algorithm
20623
+ name: "instance",
20624
+ type: "uint8",
19841
20625
  array: "false",
19842
- scale: 1000,
20626
+ scale: 1,
19843
20627
  offset: 0,
19844
- units: "m/s",
20628
+ units: "",
19845
20629
  bits: [],
19846
20630
  components: [],
19847
20631
  isAccumulated: false,
19848
20632
  hasComponents: false,
19849
20633
  subFields: []
19850
20634
  },
19851
- 25: {
19852
- num: 25, // Time spent neither ascending nor descending
19853
- name: "hangTime",
19854
- type: "uint32",
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: 1000,
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,