fit-file-parser 2.2.5 → 2.3.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/dist/binary.js +43 -18
- package/dist/cjs/binary.js +43 -18
- package/dist/cjs/fit-parser.js +5 -0
- package/dist/cjs/fit.js +118 -9
- package/dist/cjs/fit_types.d.ts +20 -5
- package/dist/cjs/type_generator.js +1 -0
- package/dist/fit-parser.js +5 -0
- package/dist/fit.js +118 -9
- package/dist/fit_types.d.ts +20 -5
- package/dist/type_generator.js +1 -0
- package/package.json +1 -1
- package/debug_output.json +0 -413301
package/dist/fit.js
CHANGED
|
@@ -3103,7 +3103,7 @@ export const FIT = {
|
|
|
3103
3103
|
},
|
|
3104
3104
|
1: {
|
|
3105
3105
|
field: 'device_type',
|
|
3106
|
-
type: '
|
|
3106
|
+
type: 'uint8',
|
|
3107
3107
|
scale: null,
|
|
3108
3108
|
offset: 0,
|
|
3109
3109
|
units: '',
|
|
@@ -4187,6 +4187,93 @@ export const FIT = {
|
|
|
4187
4187
|
},
|
|
4188
4188
|
0: { field: 'enabled', type: 'byte', scale: null, offset: 0, units: '' },
|
|
4189
4189
|
},
|
|
4190
|
+
140: {
|
|
4191
|
+
name: 'activity_metrics',
|
|
4192
|
+
1: {
|
|
4193
|
+
field: 'new_max_heart_rate',
|
|
4194
|
+
type: 'uint8',
|
|
4195
|
+
scale: null,
|
|
4196
|
+
offset: 0,
|
|
4197
|
+
units: 'bpm',
|
|
4198
|
+
},
|
|
4199
|
+
4: {
|
|
4200
|
+
field: 'aerobic_training_effect',
|
|
4201
|
+
type: 'uint8',
|
|
4202
|
+
scale: 10,
|
|
4203
|
+
offset: 0,
|
|
4204
|
+
units: '',
|
|
4205
|
+
},
|
|
4206
|
+
7: {
|
|
4207
|
+
field: 'vo2_max',
|
|
4208
|
+
type: 'uint32',
|
|
4209
|
+
scale: 65536 / 3.5,
|
|
4210
|
+
offset: 0,
|
|
4211
|
+
units: 'ml/kg/min',
|
|
4212
|
+
},
|
|
4213
|
+
9: {
|
|
4214
|
+
field: 'recovery_time',
|
|
4215
|
+
type: 'uint16',
|
|
4216
|
+
scale: null,
|
|
4217
|
+
offset: 0,
|
|
4218
|
+
units: 'min',
|
|
4219
|
+
},
|
|
4220
|
+
11: {
|
|
4221
|
+
field: 'sport',
|
|
4222
|
+
type: 'sport',
|
|
4223
|
+
scale: null,
|
|
4224
|
+
offset: 0,
|
|
4225
|
+
units: '',
|
|
4226
|
+
},
|
|
4227
|
+
20: {
|
|
4228
|
+
field: 'anaerobic_training_effect',
|
|
4229
|
+
type: 'uint8',
|
|
4230
|
+
scale: 10,
|
|
4231
|
+
offset: 0,
|
|
4232
|
+
units: '',
|
|
4233
|
+
},
|
|
4234
|
+
29: {
|
|
4235
|
+
field: 'first_vo2_max',
|
|
4236
|
+
type: 'uint32',
|
|
4237
|
+
scale: 65536 / 3.5,
|
|
4238
|
+
offset: 0,
|
|
4239
|
+
units: 'ml/kg/min',
|
|
4240
|
+
},
|
|
4241
|
+
41: {
|
|
4242
|
+
field: 'primary_benefit',
|
|
4243
|
+
type: 'uint8',
|
|
4244
|
+
scale: null,
|
|
4245
|
+
offset: 0,
|
|
4246
|
+
units: '',
|
|
4247
|
+
},
|
|
4248
|
+
60: {
|
|
4249
|
+
field: 'total_ascent',
|
|
4250
|
+
type: 'uint16',
|
|
4251
|
+
scale: null,
|
|
4252
|
+
offset: 0,
|
|
4253
|
+
units: 'm',
|
|
4254
|
+
},
|
|
4255
|
+
61: {
|
|
4256
|
+
field: 'total_descent',
|
|
4257
|
+
type: 'uint16',
|
|
4258
|
+
scale: null,
|
|
4259
|
+
offset: 0,
|
|
4260
|
+
units: 'm',
|
|
4261
|
+
},
|
|
4262
|
+
62: {
|
|
4263
|
+
field: 'avg_power',
|
|
4264
|
+
type: 'uint16',
|
|
4265
|
+
scale: null,
|
|
4266
|
+
offset: 0,
|
|
4267
|
+
units: 'watts',
|
|
4268
|
+
},
|
|
4269
|
+
63: {
|
|
4270
|
+
field: 'avg_heart_rate',
|
|
4271
|
+
type: 'uint8',
|
|
4272
|
+
scale: null,
|
|
4273
|
+
offset: 0,
|
|
4274
|
+
units: 'bpm',
|
|
4275
|
+
},
|
|
4276
|
+
},
|
|
4190
4277
|
206: {
|
|
4191
4278
|
name: 'field_description',
|
|
4192
4279
|
0: {
|
|
@@ -4702,11 +4789,11 @@ export const FIT = {
|
|
|
4702
4789
|
units: 's',
|
|
4703
4790
|
},
|
|
4704
4791
|
5: {
|
|
4705
|
-
field: '
|
|
4706
|
-
type: '
|
|
4707
|
-
scale:
|
|
4792
|
+
field: 'time_in_power_zone',
|
|
4793
|
+
type: 'uint32_array',
|
|
4794
|
+
scale: 1000,
|
|
4708
4795
|
offset: 0,
|
|
4709
|
-
units: '',
|
|
4796
|
+
units: 's',
|
|
4710
4797
|
},
|
|
4711
4798
|
6: {
|
|
4712
4799
|
field: 'hr_zone_high_boundary',
|
|
@@ -4730,11 +4817,11 @@ export const FIT = {
|
|
|
4730
4817
|
units: 'watts',
|
|
4731
4818
|
},
|
|
4732
4819
|
9: {
|
|
4733
|
-
field: '
|
|
4734
|
-
type: '
|
|
4820
|
+
field: 'power_zone_high_boundary',
|
|
4821
|
+
type: 'uint16_array',
|
|
4735
4822
|
scale: null,
|
|
4736
4823
|
offset: 0,
|
|
4737
|
-
units: '',
|
|
4824
|
+
units: 'watts',
|
|
4738
4825
|
},
|
|
4739
4826
|
10: {
|
|
4740
4827
|
field: 'max_heart_rate_deprecated',
|
|
@@ -4852,6 +4939,7 @@ export const FIT = {
|
|
|
4852
4939
|
129: 'weather_alert',
|
|
4853
4940
|
131: 'cadence_zone',
|
|
4854
4941
|
132: 'hr',
|
|
4942
|
+
140: 'activity_metrics',
|
|
4855
4943
|
142: 'segment_lap',
|
|
4856
4944
|
145: 'memo_glob',
|
|
4857
4945
|
148: 'segment_id',
|
|
@@ -5975,7 +6063,6 @@ export const FIT = {
|
|
|
5975
6063
|
65534: 'connect',
|
|
5976
6064
|
},
|
|
5977
6065
|
antplus_device_type: {
|
|
5978
|
-
0: 0,
|
|
5979
6066
|
1: 'antfs',
|
|
5980
6067
|
11: 'bike_power',
|
|
5981
6068
|
12: 'environment_sensor_legacy',
|
|
@@ -5989,10 +6076,12 @@ export const FIT = {
|
|
|
5989
6076
|
26: 'racquet',
|
|
5990
6077
|
27: 'control_hub',
|
|
5991
6078
|
31: 'muscle_oxygen',
|
|
6079
|
+
34: 'shifting',
|
|
5992
6080
|
35: 'bike_light_main',
|
|
5993
6081
|
36: 'bike_light_shared',
|
|
5994
6082
|
38: 'exd',
|
|
5995
6083
|
40: 'bike_radar',
|
|
6084
|
+
46: 'bike_aero',
|
|
5996
6085
|
119: 'weight_scale',
|
|
5997
6086
|
120: 'heart_rate',
|
|
5998
6087
|
121: 'bike_speed_cadence',
|
|
@@ -6000,6 +6089,26 @@ export const FIT = {
|
|
|
6000
6089
|
123: 'bike_speed',
|
|
6001
6090
|
124: 'stride_speed_distance',
|
|
6002
6091
|
},
|
|
6092
|
+
local_device_type: {
|
|
6093
|
+
0: 'gps',
|
|
6094
|
+
1: 'glonass',
|
|
6095
|
+
2: 'gps_glonass',
|
|
6096
|
+
3: 'accelerometer',
|
|
6097
|
+
4: 'barometer',
|
|
6098
|
+
5: 'temperature',
|
|
6099
|
+
10: 'whr',
|
|
6100
|
+
12: 'sensor_hub',
|
|
6101
|
+
},
|
|
6102
|
+
ble_device_type: {
|
|
6103
|
+
0: 'connected_gps',
|
|
6104
|
+
1: 'heart_rate',
|
|
6105
|
+
2: 'bike_power',
|
|
6106
|
+
3: 'bike_speed_cadence',
|
|
6107
|
+
4: 'bike_speed',
|
|
6108
|
+
5: 'bike_cadence',
|
|
6109
|
+
6: 'footpod',
|
|
6110
|
+
7: 'bike_trainer',
|
|
6111
|
+
},
|
|
6003
6112
|
ant_network: {
|
|
6004
6113
|
0: 'public',
|
|
6005
6114
|
1: 'antplus',
|
package/dist/fit_types.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface MessageIndex {
|
|
|
16
16
|
selected: boolean;
|
|
17
17
|
}
|
|
18
18
|
export type File = 'device' | 'settings' | 'sport' | 'activity' | 'workout' | 'course' | 'schedules' | 'weight' | 'totals' | 'goals' | 'blood_pressure' | 'monitoring_a' | 'activity_summary' | 'monitoring_daily' | 'monitoring_b' | 'segment' | 'segment_list' | 'exd_configuration' | 'mfg_range_min' | 'mfg_range_max';
|
|
19
|
-
export type MesgNum = 'file_id' | 'capabilities' | 'device_settings' | 'user_profile' | 'hrm_profile' | 'sdm_profile' | 'bike_profile' | 'zones_target' | 'hr_zone' | 'power_zone' | 'met_zone' | 'sport' | 'goal' | 'session' | 'lap' | 'record' | 'event' | 'device_info' | 'workout' | 'workout_step' | 'schedule' | 'weight_scale' | 'course' | 'course_point' | 'totals' | 'activity' | 'software' | 'file_capabilities' | 'mesg_capabilities' | 'field_capabilities' | 'file_creator' | 'blood_pressure' | 'speed_zone' | 'monitoring' | 'training_file' | 'hrv' | 'ant_rx' | 'ant_tx' | 'ant_channel_id' | 'length' | 'monitoring_info' | 'pad' | 'slave_device' | 'connectivity' | 'weather_conditions' | 'weather_alert' | 'cadence_zone' | 'hr' | 'segment_lap' | 'memo_glob' | 'segment_id' | 'segment_leaderboard_entry' | 'segment_point' | 'segment_file' | 'workout_session' | 'watchface_settings' | 'gps_metadata' | 'camera_event' | 'timestamp_correlation' | 'gyroscope_data' | 'accelerometer_data' | 'three_d_sensor_calibration' | 'video_frame' | 'obdii_data' | 'nmea_sentence' | 'aviation_attitude' | 'video' | 'video_title' | 'video_description' | 'video_clip' | 'exd_screen_configuration' | 'exd_data_field_configuration' | 'exd_data_concept_configuration' | 'field_description' | 'developer_data_id' | 'magnetometer_data' | 'barometer_data' | 'one_d_sensor_calibration' | 'time_in_zone' | 'set' | 'stress_level' | 'dive_settings' | 'dive_gas' | 'dive_alarm' | 'exercise_title' | 'dive_summary' | 'jump' | 'climb_pro' | 'tank_update' | 'tank_summary' | 'o_hr_settings' | 'mfg_range_min' | 'mfg_range_max' | 'definition';
|
|
19
|
+
export type MesgNum = 'file_id' | 'capabilities' | 'device_settings' | 'user_profile' | 'hrm_profile' | 'sdm_profile' | 'bike_profile' | 'zones_target' | 'hr_zone' | 'power_zone' | 'met_zone' | 'sport' | 'goal' | 'session' | 'lap' | 'record' | 'event' | 'device_info' | 'workout' | 'workout_step' | 'schedule' | 'weight_scale' | 'course' | 'course_point' | 'totals' | 'activity' | 'software' | 'file_capabilities' | 'mesg_capabilities' | 'field_capabilities' | 'file_creator' | 'blood_pressure' | 'speed_zone' | 'monitoring' | 'training_file' | 'hrv' | 'ant_rx' | 'ant_tx' | 'ant_channel_id' | 'length' | 'monitoring_info' | 'pad' | 'slave_device' | 'connectivity' | 'weather_conditions' | 'weather_alert' | 'cadence_zone' | 'hr' | 'activity_metrics' | 'segment_lap' | 'memo_glob' | 'segment_id' | 'segment_leaderboard_entry' | 'segment_point' | 'segment_file' | 'workout_session' | 'watchface_settings' | 'gps_metadata' | 'camera_event' | 'timestamp_correlation' | 'gyroscope_data' | 'accelerometer_data' | 'three_d_sensor_calibration' | 'video_frame' | 'obdii_data' | 'nmea_sentence' | 'aviation_attitude' | 'video' | 'video_title' | 'video_description' | 'video_clip' | 'exd_screen_configuration' | 'exd_data_field_configuration' | 'exd_data_concept_configuration' | 'field_description' | 'developer_data_id' | 'magnetometer_data' | 'barometer_data' | 'one_d_sensor_calibration' | 'time_in_zone' | 'set' | 'stress_level' | 'dive_settings' | 'dive_gas' | 'dive_alarm' | 'exercise_title' | 'dive_summary' | 'jump' | 'climb_pro' | 'tank_update' | 'tank_summary' | 'o_hr_settings' | 'mfg_range_min' | 'mfg_range_max' | 'definition';
|
|
20
20
|
export type Checksum = 'clear' | 'ok';
|
|
21
21
|
export type FileFlags = '0' | 'read' | 'write' | 'erase';
|
|
22
22
|
export type MesgCount = 'num_per_file' | 'max_per_file' | 'max_per_file_type';
|
|
@@ -72,7 +72,9 @@ export type Schedule = 'workout' | 'course';
|
|
|
72
72
|
export type CoursePoint = 'generic' | 'summit' | 'valley' | 'water' | 'food' | 'danger' | 'left' | 'right' | 'straight' | 'first_aid' | 'fourth_category' | 'third_category' | 'second_category' | 'first_category' | 'hors_category' | 'sprint' | 'left_fork' | 'right_fork' | 'middle_fork' | 'slight_left' | 'sharp_left' | 'slight_right' | 'sharp_right' | 'u_turn' | 'segment_start' | 'segment_end';
|
|
73
73
|
export type Manufacturer = '0' | 'garmin' | 'garmin_fr405_antfs' | 'zephyr' | 'dayton' | 'idt' | 'srm' | 'quarq' | 'ibike' | 'saris' | 'spark_hk' | 'tanita' | 'echowell' | 'dynastream_oem' | 'nautilus' | 'dynastream' | 'timex' | 'metrigear' | 'xelic' | 'beurer' | 'cardiosport' | 'a_and_d' | 'hmm' | 'suunto' | 'thita_elektronik' | 'gpulse' | 'clean_mobile' | 'pedal_brain' | 'peaksware' | 'saxonar' | 'lemond_fitness' | 'dexcom' | 'wahoo_fitness' | 'octane_fitness' | 'archinoetics' | 'the_hurt_box' | 'citizen_systems' | 'magellan' | 'osynce' | 'holux' | 'concept2' | 'one_giant_leap' | 'ace_sensor' | 'brim_brothers' | 'xplova' | 'perception_digital' | 'bf1systems' | 'pioneer' | 'spantec' | 'metalogics' | '4iiiis' | 'seiko_epson' | 'seiko_epson_oem' | 'ifor_powell' | 'maxwell_guider' | 'star_trac' | 'breakaway' | 'alatech_technology_ltd' | 'mio_technology_europe' | 'rotor' | 'geonaute' | 'id_bike' | 'specialized' | 'wtek' | 'physical_enterprises' | 'north_pole_engineering' | 'bkool' | 'cateye' | 'stages_cycling' | 'sigmasport' | 'tomtom' | 'peripedal' | 'wattbike' | 'moxy' | 'ciclosport' | 'powerbahn' | 'acorn_projects_aps' | 'lifebeam' | 'bontrager' | 'wellgo' | 'scosche' | 'magura' | 'woodway' | 'elite' | 'nielsen_kellerman' | 'dk_city' | 'tacx' | 'direction_technology' | 'magtonic' | '1partcarbon' | 'inside_ride_technologies' | 'sound_of_motion' | 'stryd' | 'icg' | 'mipulse' | 'bsx_athletics' | 'look' | 'campagnolo_srl' | 'body_bike_smart' | 'praxisworks' | 'limits_technology' | 'topaction_technology' | 'cosinuss' | 'fitcare' | 'magene' | 'giant_manufacturing_co' | 'tigrasport' | 'salutron' | 'technogym' | 'bryton_sensors' | 'latitude_limited' | 'soaring_technology' | 'igpsport' | 'thinkrider' | 'gopher_sport' | 'waterrower' | 'orangetheory' | 'inpeak' | 'kinetic' | 'johnson_health_tech' | 'polar_electro' | 'seesense' | 'nci_technology' | 'development' | 'healthandlife' | 'lezyne' | 'scribe_labs' | 'zwift' | 'watteam' | 'recon' | 'favero_electronics' | 'dynovelo' | 'strava' | 'precor' | 'bryton' | 'sram' | 'navman' | 'cobi' | 'spivi' | 'mio_magellan' | 'evesports' | 'sensitivus_gauge' | 'podoon' | 'life_time_fitness' | 'falco_e_motors' | 'minoura' | 'cycliq' | 'luxottica' | 'trainer_road' | 'the_sufferfest' | 'fullspeedahead' | 'virtualtraining' | 'feedbacksports' | 'omata' | 'vdo' | 'magneticdays' | 'hammerhead' | 'kinetic_by_kurt' | 'shapelog' | 'dabuziduo' | 'jetblack' | 'coros' | 'virtugo' | 'velosense' | 'actigraphcorp';
|
|
74
74
|
export type GarminProduct = 'hrm_bike' | 'hrm1' | 'axh01' | 'axb01' | 'axb02' | 'hrm2ss' | 'dsi_alf02' | 'hrm3ss' | 'hrm_run_single_byte_product_id' | 'bsm' | 'bcm' | 'axs01' | 'hrm_tri_single_byte_product_id' | 'fr225_single_byte_product_id' | 'fr301_china' | 'fr301_japan' | 'fr301_korea' | 'fr301_taiwan' | 'fr405' | 'fr50' | 'fr405_japan' | 'fr60' | 'dsi_alf01' | 'fr310xt' | 'edge500' | 'fr110' | 'edge800' | 'edge500_taiwan' | 'edge500_japan' | 'chirp' | 'fr110_japan' | 'edge200' | 'fr910xt' | 'edge800_taiwan' | 'edge800_japan' | 'alf04' | 'fr610' | 'fr210_japan' | 'vector_ss' | 'vector_cp' | 'edge800_china' | 'edge500_china' | 'fr610_japan' | 'edge500_korea' | 'fr70' | 'fr310xt_4t' | 'amx' | 'fr10' | 'edge800_korea' | 'swim' | 'fr910xt_china' | 'fenix' | 'edge200_taiwan' | 'edge510' | 'edge810' | 'tempe' | 'fr910xt_japan' | 'fr620' | 'fr220' | 'fr910xt_korea' | 'fr10_japan' | 'edge810_japan' | 'virb_elite' | 'edge_touring' | 'edge510_japan' | 'hrm_tri' | 'hrm_run' | 'fr920xt' | 'edge510_asia' | 'edge810_china' | 'edge810_taiwan' | 'edge1000' | 'vivo_fit' | 'virb_remote' | 'vivo_ki' | 'fr15' | 'vivo_active' | 'edge510_korea' | 'fr620_japan' | 'fr620_china' | 'fr220_japan' | 'fr220_china' | 'approach_s6' | 'vivo_smart' | 'fenix2' | 'epix' | 'fenix3' | 'edge1000_taiwan' | 'edge1000_japan' | 'fr15_japan' | 'edge520' | 'edge1000_china' | 'fr620_russia' | 'fr220_russia' | 'vector_s' | 'edge1000_korea' | 'fr920xt_taiwan' | 'fr920xt_china' | 'fr920xt_japan' | 'virbx' | 'vivo_smart_apac' | 'etrex_touch' | 'edge25' | 'fr25' | 'vivo_fit2' | 'fr225' | 'fr630' | 'fr230' | 'fr735xt' | 'vivo_active_apac' | 'vector_2' | 'vector_2s' | 'virbxe' | 'fr620_taiwan' | 'fr220_taiwan' | 'truswing' | 'fenix3_china' | 'fenix3_twn' | 'varia_headlight' | 'varia_taillight_old' | 'edge_explore_1000' | 'fr225_asia' | 'varia_radar_taillight' | 'varia_radar_display' | 'edge20' | 'd2_bravo' | 'approach_s20' | 'varia_remote' | 'hrm4_run' | 'vivo_active_hr' | 'vivo_smart_hr' | 'vivo_move' | 'varia_vision' | 'vivo_fit3' | 'fenix3_hr' | 'virb_ultra_30' | 'index_smart_scale' | 'fr235' | 'fenix3_chronos' | 'oregon7xx' | 'rino7xx' | 'nautix' | 'edge_820' | 'edge_explore_820' | 'fenix5s' | 'd2_bravo_titanium' | 'varia_ut800' | 'running_dynamics_pod' | 'fenix5x' | 'vivo_fit_jr' | 'fr935' | 'fenix5' | 'descent' | 'sdm4' | 'edge_remote' | 'training_center' | 'connectiq_simulator' | 'android_antplus_plugin' | 'connect';
|
|
75
|
-
export type AntplusDeviceType = '
|
|
75
|
+
export type AntplusDeviceType = 'antfs' | 'bike_power' | 'environment_sensor_legacy' | 'multi_sport_speed_distance' | 'control' | 'fitness_equipment' | 'blood_pressure' | 'geocache_node' | 'light_electric_vehicle' | 'env_sensor' | 'racquet' | 'control_hub' | 'muscle_oxygen' | 'shifting' | 'bike_light_main' | 'bike_light_shared' | 'exd' | 'bike_radar' | 'bike_aero' | 'weight_scale' | 'heart_rate' | 'bike_speed_cadence' | 'bike_cadence' | 'bike_speed' | 'stride_speed_distance';
|
|
76
|
+
export type LocalDeviceType = 'gps' | 'glonass' | 'gps_glonass' | 'accelerometer' | 'barometer' | 'temperature' | 'whr' | 'sensor_hub';
|
|
77
|
+
export type BleDeviceType = 'connected_gps' | 'heart_rate' | 'bike_power' | 'bike_speed_cadence' | 'bike_speed' | 'bike_cadence' | 'footpod' | 'bike_trainer';
|
|
76
78
|
export type AntNetwork = 'public' | 'antplus' | 'antfs' | 'private';
|
|
77
79
|
export type WorkoutCapabilities = '0' | 'interval' | 'custom' | 'fitness_equipment' | 'firstbeat' | 'new_leaf' | 'tcx' | 'speed' | 'heart_rate' | 'distance' | 'cadence' | 'power' | 'grade' | 'resistance' | 'protected';
|
|
78
80
|
export type BatteryStatus = '0' | 'new' | 'good' | 'ok' | 'low' | 'critical' | 'charging' | 'unknown';
|
|
@@ -665,7 +667,7 @@ export interface ParsedEvent {
|
|
|
665
667
|
}
|
|
666
668
|
export interface ParsedDeviceInfo {
|
|
667
669
|
device_index?: number;
|
|
668
|
-
device_type?:
|
|
670
|
+
device_type?: number;
|
|
669
671
|
manufacturer?: Manufacturer;
|
|
670
672
|
serial_number?: number;
|
|
671
673
|
product?: number;
|
|
@@ -871,6 +873,20 @@ export interface ParsedOHrSettings {
|
|
|
871
873
|
enabled?: number;
|
|
872
874
|
timestamp: string;
|
|
873
875
|
}
|
|
876
|
+
export interface ParsedActivityMetrics {
|
|
877
|
+
new_max_heart_rate?: number;
|
|
878
|
+
aerobic_training_effect?: number;
|
|
879
|
+
vo2_max?: number;
|
|
880
|
+
recovery_time?: number;
|
|
881
|
+
sport?: Sport;
|
|
882
|
+
anaerobic_training_effect?: number;
|
|
883
|
+
first_vo2_max?: number;
|
|
884
|
+
primary_benefit?: number;
|
|
885
|
+
total_ascent?: number;
|
|
886
|
+
total_descent?: number;
|
|
887
|
+
avg_power?: number;
|
|
888
|
+
avg_heart_rate?: number;
|
|
889
|
+
}
|
|
874
890
|
export interface ParsedFieldDescription {
|
|
875
891
|
developer_data_index?: number;
|
|
876
892
|
field_definition_number?: number;
|
|
@@ -894,11 +910,9 @@ export interface ParsedTimeInZone {
|
|
|
894
910
|
time_in_hr_zone?: number[];
|
|
895
911
|
time_in_speed_zone?: number[];
|
|
896
912
|
time_in_power_zone?: number[];
|
|
897
|
-
hr_zone_high_boundary_deprecated?: number[];
|
|
898
913
|
hr_zone_high_boundary?: number[];
|
|
899
914
|
speed_zone_high_boundary?: number[];
|
|
900
915
|
power_zone_high_boundary?: number[];
|
|
901
|
-
hr_calc_type?: HrZoneCalc;
|
|
902
916
|
max_heart_rate_deprecated?: number;
|
|
903
917
|
max_heart_rate?: number;
|
|
904
918
|
resting_heart_rate?: number;
|
|
@@ -1025,4 +1039,5 @@ export interface ParsedFit {
|
|
|
1025
1039
|
tank_summaries?: ParsedTankSummary[];
|
|
1026
1040
|
jumps?: ParsedJump[];
|
|
1027
1041
|
time_in_zone?: ParsedTimeInZone[];
|
|
1042
|
+
activity_metrics?: ParsedActivityMetrics[];
|
|
1028
1043
|
}
|
package/dist/type_generator.js
CHANGED
|
@@ -190,6 +190,7 @@ export function generateFitType() {
|
|
|
190
190
|
tank_summaries: 'parsed_tank_summary',
|
|
191
191
|
jumps: 'parsed_jump',
|
|
192
192
|
time_in_zone: 'parsed_time_in_zone',
|
|
193
|
+
activity_metrics: 'parsed_activity_metrics',
|
|
193
194
|
};
|
|
194
195
|
const referenceProperties = {
|
|
195
196
|
file_creator: 'parsed_file_creator',
|