Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 173 additions & 3 deletions fitparse/profile.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

# ***************** BEGIN AUTOMATICALLY GENERATED FIT PROFILE ******************
# *************************** DO NOT EDIT THIS FILE ****************************
# ************ EXPORTED PROFILE FROM SDK VERSION 20.8 ON 2019-03-05 ************
# ********* PARSED 161 TYPES (2985 VALUES), 85 MESSAGES (1038 FIELDS) **********
# *********** EXPORTED PROFILE FROM SDK VERSION 20.88 ON 2019-04-25 ************
# ********* PARSED 162 TYPES (3083 VALUES), 85 MESSAGES (1039 FIELDS) **********

from fitparse.records import (
ComponentField,
Expand Down Expand Up @@ -126,6 +126,7 @@
36: 'bike_light_shared',
38: 'exd',
40: 'bike_radar',
46: 'bike_aero',
119: 'weight_scale',
120: 'heart_rate',
121: 'bike_speed_cadence',
Expand Down Expand Up @@ -585,6 +586,33 @@
43: 'overhead_walk',
44: 'inchworm',
45: 'weighted_modified_front_lever',
46: 'russian_twist',
47: 'abdominal_leg_rotations',
48: 'arm_and_leg_extension_on_knees',
49: 'bicycle',
50: 'bicep_curl_with_leg_extension',
51: 'cat_cow',
52: 'corkscrew',
53: 'criss_cross',
54: 'criss_cross_with_ball',
55: 'double_leg_stretch',
56: 'knee_folds',
57: 'lower_lift',
58: 'neck_pull',
59: 'pelvic_clocks',
60: 'roll_over',
61: 'roll_up',
62: 'rolling',
63: 'rowing_1',
64: 'rowing_2',
65: 'scissors',
66: 'single_leg_circles',
67: 'single_leg_stretch',
68: 'snake_twist_1_and_2',
69: 'swan',
70: 'swimming',
71: 'teaser',
72: 'the_hundred',
},
),
'course_capabilities': FieldType(
Expand Down Expand Up @@ -724,6 +752,7 @@
81: 'toes_to_bar',
82: 'weighted_toes_to_bar',
83: 'crunch',
84: 'straight_leg_crunch_with_ball',
},
),
'curl_exercise_name': FieldType(
Expand Down Expand Up @@ -1290,6 +1319,14 @@
65534: 'unknown',
},
),
'favero_product': FieldType(
name='favero_product',
base_type=BASE_TYPES[0x84], # uint16
values={
10: 'assioma_uno',
12: 'assioma_duo',
},
),
'file': FieldType(
name='file',
base_type=BASE_TYPES[0x00], # enum
Expand Down Expand Up @@ -1379,6 +1416,8 @@
5: 'kneeling_rear_flye',
6: 'single_arm_standing_cable_reverse_flye',
7: 'swiss_ball_dumbbell_flye',
8: 'arm_rotations',
9: 'hug_a_tree',
},
),
'garmin_product': FieldType(
Expand Down Expand Up @@ -1492,6 +1531,7 @@
2153: 'fr225',
2156: 'fr630',
2157: 'fr230',
2158: 'fr735xt',
2160: 'vivo_active_apac',
2161: 'vector_2',
2162: 'vector_2s',
Expand All @@ -1511,6 +1551,7 @@
2262: 'd2_bravo',
2266: 'approach_s20',
2276: 'varia_remote',
2292: 'approach_x40',
2327: 'hrm4_run',
2337: 'vivo_active_hr',
2347: 'vivo_smart_gps_hr',
Expand All @@ -1528,14 +1569,44 @@
2496: 'nautix',
2530: 'edge_820',
2531: 'edge_explore_820',
2533: 'fr735xt_apac',
2534: 'fr735xt_japan',
2544: 'fenix5s',
2547: 'd2_bravo_titanium',
2567: 'varia_ut800', # Varia UT 800 SW
2593: 'running_dynamics_pod',
2604: 'fenix5x',
2606: 'vivo_fit_jr',
2622: 'vivo_smart3',
2623: 'vivo_sport',
2656: 'approach_s60',
2687: 'virb_360',
2691: 'fr935',
2697: 'fenix5',
2700: 'vivoactive3',
2713: 'edge_1030',
2769: 'foretrex_601_701',
2772: 'vivo_move_hr',
2806: 'approach_z80',
2831: 'vivo_smart3_apac',
2832: 'vivo_sport_apac',
2859: 'descent',
2886: 'fr645',
2888: 'fr645m',
2900: 'fenix5s_plus',
2909: 'Edge_130',
2927: 'vivosmart_4',
2962: 'approach_x10',
2988: 'vivoactive3m_w',
3011: 'edge_explore',
3028: 'gpsmap66',
3049: 'approach_s10',
3066: 'vivoactive3m_l',
3085: 'approach_g80',
3110: 'fenix5_plus',
3111: 'fenix5x_plus',
3112: 'edge_520_plus',
3299: 'hrm_dual', # HRM-Dual
10007: 'sdm4', # SDM4 footpod
10014: 'edge_remote',
20119: 'training_center',
Expand Down Expand Up @@ -1633,6 +1704,13 @@
40: 'single_leg_hip_raise_with_head_on_bosu_ball',
41: 'weighted_single_leg_hip_raise_with_head_on_bosu_ball',
42: 'weighted_clam_bridge',
43: 'single_leg_swiss_ball_hip_raise_and_leg_curl',
44: 'clams',
45: 'inner_thigh_circles',
46: 'inner_thigh_side_lift',
47: 'leg_circles',
48: 'leg_lift',
49: 'leg_lift_in_external_rotation',
},
),
'hip_stability_exercise_name': FieldType(
Expand Down Expand Up @@ -1742,6 +1820,9 @@
34: 'weighted_swiss_ball_hyperextension',
35: 'swiss_ball_opposite_arm_and_leg_lift',
36: 'weighted_swiss_ball_opposite_arm_and_leg_lift',
37: 'superman_on_swiss_ball',
38: 'cobra',
39: 'supine_floor_barre',
},
),
'intensity': FieldType(
Expand Down Expand Up @@ -1918,6 +1999,8 @@
29: 'underhand_grip_rear_lateral_raise',
30: 'wall_slide',
31: 'weighted_wall_slide',
32: 'arm_circles',
33: 'shaving_the_head',
},
),
'left_right_balance': FieldType(
Expand Down Expand Up @@ -2217,6 +2300,9 @@
122: 'johnson_health_tech',
123: 'polar_electro',
124: 'seesense',
125: 'nci_technology',
126: 'iqsquare',
127: 'leomo',
255: 'development',
257: 'healthandlife',
258: 'lezyne',
Expand Down Expand Up @@ -2255,6 +2341,11 @@
291: 'shapelog',
292: 'dabuziduo',
293: 'jetblack',
294: 'coros',
295: 'virtugo',
296: 'velosense',
297: 'cycligentinc',
298: 'trailforks',
5759: 'actigraphcorp',
},
),
Expand Down Expand Up @@ -2527,6 +2618,13 @@
125: 'weighted_mountain_climber_with_hands_on_bench',
126: 'weighted_swiss_ball_plank_leg_lift_and_hold',
127: 'weighted_wide_stance_plank_with_opposite_arm_and_leg_lift',
128: 'plank_with_feet_on_swiss_ball',
129: 'side_plank_to_plank_with_reach_under',
130: 'bridge_with_glute_lower_lift',
131: 'bridge_one_leg_bridge',
132: 'plank_with_arm_variations',
133: 'plank_with_leg_lift',
134: 'reverse_plank_with_leg_pull',
},
),
'plyo_exercise_name': FieldType(
Expand Down Expand Up @@ -2705,6 +2803,7 @@
75: 'ring_push_up',
76: 'weighted_ring_push_up',
77: 'push_up',
78: 'pilates_pushup',
},
),
'pwr_zone_calc': FieldType(
Expand Down Expand Up @@ -3262,6 +3361,11 @@
84: 'wide_stance_barbell_squat',
85: 'wide_stance_goblet_squat',
86: 'zercher_squat',
87: 'kbs_overhead',
88: 'squat_and_side_kick',
89: 'squat_jumps_in_n_out',
90: 'pilates_plie_squats_parallel_turned_out_flat_and_heels',
91: 'releve_straight_leg_and_knee_bent_with_one_leg_variation',
},
),
'stroke_type': FieldType(
Expand Down Expand Up @@ -3324,7 +3428,7 @@
41: 'whitewater', # Kayaking/Rafting
42: 'skate_skiing', # Cross Country Skiing
43: 'yoga', # Training
44: 'pilates', # Training
44: 'pilates', # Fitness Equipment
45: 'indoor_running', # Run
46: 'gravel_cycling', # Cycling
47: 'e_bike_mountain', # Cycling
Expand Down Expand Up @@ -3987,6 +4091,19 @@
type=BASE_TYPES[0x84], # uint16
def_num=2,
subfields=(
SubField(
name='favero_product',
def_num=2,
type=FIELD_TYPES['favero_product'],
ref_fields=(
ReferenceField(
name='manufacturer',
def_num=1,
value='favero_electronics',
raw_value=263,
),
),
),
SubField(
name='garmin_product',
def_num=2,
Expand Down Expand Up @@ -7053,6 +7170,19 @@
type=BASE_TYPES[0x84], # uint16
def_num=4,
subfields=(
SubField(
name='favero_product',
def_num=4,
type=FIELD_TYPES['favero_product'],
ref_fields=(
ReferenceField(
name='manufacturer',
def_num=2,
value='favero_electronics',
raw_value=263,
),
),
),
SubField(
name='garmin_product',
def_num=4,
Expand Down Expand Up @@ -8156,6 +8286,19 @@
type=BASE_TYPES[0x84], # uint16
def_num=2,
subfields=(
SubField(
name='favero_product',
def_num=2,
type=FIELD_TYPES['favero_product'],
ref_fields=(
ReferenceField(
name='manufacturer',
def_num=1,
value='favero_electronics',
raw_value=263,
),
),
),
SubField(
name='garmin_product',
def_num=2,
Expand Down Expand Up @@ -8556,6 +8699,19 @@
type=BASE_TYPES[0x84], # uint16
def_num=1,
subfields=(
SubField(
name='favero_product',
def_num=1,
type=FIELD_TYPES['favero_product'],
ref_fields=(
ReferenceField(
name='manufacturer',
def_num=0,
value='favero_electronics',
raw_value=263,
),
),
),
SubField(
name='garmin_product',
def_num=1,
Expand Down Expand Up @@ -10286,6 +10442,7 @@
type=FIELD_TYPES['switch'],
def_num=0,
),
253: FIELD_TYPE_TIMESTAMP,
},
),
200: MessageType(
Expand Down Expand Up @@ -11422,6 +11579,19 @@
type=BASE_TYPES[0x84], # uint16
def_num=1,
subfields=(
SubField(
name='favero_product',
def_num=1,
type=FIELD_TYPES['favero_product'],
ref_fields=(
ReferenceField(
name='manufacturer',
def_num=0,
value='favero_electronics',
raw_value=263,
),
),
),
SubField(
name='garmin_product',
def_num=1,
Expand Down