"FIELDS":[

    { "message":"file_id","num":2,"name":"product","type":"uint16" },
    { "message":"file_id","num":3,"name":"serial_number","type":"uint32z" },
    { "message":"file_id","num":4,"name":"time_created","type":"date_time" },
    { "message":"file_id","num":5,"name":"number","type":"uint16" },
    { "message":"file_id","num":8,"name":"product_name","type":"string" },
    { "message":"file_creator","num":0,"name":"software_version","type":"uint16" },
    { "message":"file_creator","num":1,"name":"hardware_version","type":"uint8" },
    { "message":"timestamp_correlation","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"timestamp_correlation","num":0,"name":"fractional_timestamp","type":"uint16","scale":32768,"units":"s" },
    { "message":"timestamp_correlation","num":1,"name":"system_timestamp","type":"date_time","units":"s" },
    { "message":"timestamp_correlation","num":2,"name":"fractional_system_timestamp","type":"uint16","scale":32768,"units":"s" },
    { "message":"timestamp_correlation","num":3,"name":"local_timestamp","type":"local_date_time","units":"s" },
    { "message":"timestamp_correlation","num":4,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"timestamp_correlation","num":5,"name":"system_timestamp_ms","type":"uint16","units":"ms" },
    { "message":"software","num":254,"name":"message_index","type":"message_index" },
    { "message":"software","num":3,"name":"version","type":"uint16","scale":100 },
    { "message":"software","num":5,"name":"part_number","type":"string" },
    { "message":"slave_device","num":1,"name":"product","type":"uint16" },
    { "message":"capabilities","num":0,"name":"languages","type":"uint8z","array":"[N]" },
    { "message":"capabilities","num":1,"name":"sports","type":"sport_bits_0","array":"[N]" },
    { "message":"capabilities","num":21,"name":"workouts_supported","type":"workout_capabilities" },
    { "message":"capabilities","num":23,"name":"connectivity_supported","type":"connectivity_capabilities" },
    { "message":"file_capabilities","num":254,"name":"message_index","type":"message_index" },
    { "message":"file_capabilities","num":0,"name":"type","type":"file" },
    { "message":"file_capabilities","num":1,"name":"flags","type":"file_flags" },
    { "message":"file_capabilities","num":2,"name":"directory","type":"string" },
    { "message":"file_capabilities","num":3,"name":"max_count","type":"uint16" },
    { "message":"file_capabilities","num":4,"name":"max_size","type":"uint32","units":"bytes" },
    { "message":"mesg_capabilities","num":254,"name":"message_index","type":"message_index" },
    { "message":"mesg_capabilities","num":0,"name":"file","type":"file" },
    { "message":"mesg_capabilities","num":1,"name":"mesg_num","type":"mesg_num" },
    { "message":"mesg_capabilities","num":2,"name":"count_type","type":"mesg_count" },
    { "message":"mesg_capabilities","num":3,"name":"count","type":"uint16" },
    { "message":"field_capabilities","num":254,"name":"message_index","type":"message_index" },
    { "message":"field_capabilities","num":0,"name":"file","type":"file" },
    { "message":"field_capabilities","num":1,"name":"mesg_num","type":"mesg_num" },
    { "message":"field_capabilities","num":2,"name":"field_num","type":"uint8" },
    { "message":"field_capabilities","num":3,"name":"count","type":"uint16" },
    { "message":"device_settings","num":0,"name":"active_time_zone","type":"uint8" },
    { "message":"device_settings","num":1,"name":"utc_offset","type":"uint32" },
    { "message":"device_settings","num":2,"name":"time_offset","type":"uint32","array":"[N]","units":"s" },
    { "message":"device_settings","num":4,"name":"time_mode","type":"time_mode","array":"[N]" },
    { "message":"device_settings","num":5,"name":"time_zone_offset","type":"sint8","array":"[N]","scale":4,"units":"hr" },
    { "message":"device_settings","num":12,"name":"backlight_mode","type":"backlight_mode" },
    { "message":"device_settings","num":36,"name":"activity_tracker_enabled","type":"bool" },
    { "message":"device_settings","num":39,"name":"clock_time","type":"date_time" },
    { "message":"device_settings","num":40,"name":"pages_enabled","type":"uint16","array":"[N]" },
    { "message":"device_settings","num":46,"name":"move_alert_enabled","type":"bool" },
    { "message":"device_settings","num":47,"name":"date_mode","type":"date_mode" },
    { "message":"device_settings","num":55,"name":"display_orientation","type":"display_orientation" },
    { "message":"device_settings","num":56,"name":"mounting_side","type":"side" },
    { "message":"device_settings","num":57,"name":"default_page","type":"uint16","array":"[N]" },
    { "message":"device_settings","num":58,"name":"autosync_min_steps","type":"uint16","units":"steps" },
    { "message":"device_settings","num":59,"name":"autosync_min_time","type":"uint16","units":"minutes" },
    { "message":"device_settings","num":80,"name":"lactate_threshold_autodetect_enabled","type":"bool" },
    { "message":"device_settings","num":86,"name":"ble_auto_upload_enabled","type":"bool" },
    { "message":"device_settings","num":89,"name":"auto_sync_frequency","type":"auto_sync_frequency" },
    { "message":"device_settings","num":90,"name":"auto_activity_detect","type":"auto_activity_detect" },
    { "message":"device_settings","num":94,"name":"number_of_screens","type":"uint8" },
    { "message":"device_settings","num":95,"name":"smart_notification_display_orientation","type":"display_orientation" },
    { "message":"device_settings","num":134,"name":"tap_interface","type":"switch" },
    { "message":"device_settings","num":174,"name":"tap_sensitivity","type":"tap_sensitivity" },
    { "message":"user_profile","num":254,"name":"message_index","type":"message_index" },
    { "message":"user_profile","num":0,"name":"friendly_name","type":"string" },
    { "message":"user_profile","num":1,"name":"gender","type":"gender" },
    { "message":"user_profile","num":2,"name":"age","type":"uint8","units":"years" },
    { "message":"user_profile","num":3,"name":"height","type":"uint8","scale":100,"units":"m" },
    { "message":"user_profile","num":4,"name":"weight","type":"uint16","scale":10,"units":"kg" },
    { "message":"user_profile","num":5,"name":"language","type":"language" },
    { "message":"user_profile","num":6,"name":"elev_setting","type":"display_measure" },
    { "message":"user_profile","num":7,"name":"weight_setting","type":"display_measure" },
    { "message":"user_profile","num":8,"name":"resting_heart_rate","type":"uint8","units":"bpm" },
    { "message":"user_profile","num":9,"name":"default_max_running_heart_rate","type":"uint8","units":"bpm" },
    { "message":"user_profile","num":10,"name":"default_max_biking_heart_rate","type":"uint8","units":"bpm" },
    { "message":"user_profile","num":11,"name":"default_max_heart_rate","type":"uint8","units":"bpm" },
    { "message":"user_profile","num":12,"name":"hr_setting","type":"display_heart" },
    { "message":"user_profile","num":13,"name":"speed_setting","type":"display_measure" },
    { "message":"user_profile","num":14,"name":"dist_setting","type":"display_measure" },
    { "message":"user_profile","num":16,"name":"power_setting","type":"display_power" },
    { "message":"user_profile","num":17,"name":"activity_class","type":"activity_class" },
    { "message":"user_profile","num":18,"name":"position_setting","type":"display_position" },
    { "message":"user_profile","num":21,"name":"temperature_setting","type":"display_measure" },
    { "message":"user_profile","num":22,"name":"local_id","type":"user_local_id" },
    { "message":"user_profile","num":23,"name":"global_id","type":"byte","array":"[6]" },
    { "message":"user_profile","num":28,"name":"wake_time","type":"localtime_into_day" },
    { "message":"user_profile","num":29,"name":"sleep_time","type":"localtime_into_day" },
    { "message":"user_profile","num":30,"name":"height_setting","type":"display_measure" },
    { "message":"user_profile","num":31,"name":"user_running_step_length","type":"uint16","scale":1000,"units":"m" },
    { "message":"user_profile","num":32,"name":"user_walking_step_length","type":"uint16","scale":1000,"units":"m" },
    { "message":"user_profile","num":47,"name":"depth_setting","type":"display_measure" },
    { "message":"user_profile","num":49,"name":"dive_count","type":"uint32" },
    { "message":"hrm_profile","num":254,"name":"message_index","type":"message_index" },
    { "message":"hrm_profile","num":0,"name":"enabled","type":"bool" },
    { "message":"hrm_profile","num":1,"name":"hrm_ant_id","type":"uint16z" },
    { "message":"hrm_profile","num":2,"name":"log_hrv","type":"bool" },
    { "message":"hrm_profile","num":3,"name":"hrm_ant_id_trans_type","type":"uint8z" },
    { "message":"sdm_profile","num":254,"name":"message_index","type":"message_index" },
    { "message":"sdm_profile","num":0,"name":"enabled","type":"bool" },
    { "message":"sdm_profile","num":1,"name":"sdm_ant_id","type":"uint16z" },
    { "message":"sdm_profile","num":2,"name":"sdm_cal_factor","type":"uint16","scale":10,"units":"%" },
    { "message":"sdm_profile","num":3,"name":"odometer","type":"uint32","scale":100,"units":"m" },
    { "message":"sdm_profile","num":4,"name":"speed_source","type":"bool" },
    { "message":"sdm_profile","num":5,"name":"sdm_ant_id_trans_type","type":"uint8z" },
    { "message":"sdm_profile","num":7,"name":"odometer_rollover","type":"uint8" },
    { "message":"bike_profile","num":254,"name":"message_index","type":"message_index" },
    { "message":"bike_profile","num":0,"name":"name","type":"string" },
    { "message":"bike_profile","num":1,"name":"sport","type":"sport" },
    { "message":"bike_profile","num":2,"name":"sub_sport","type":"sub_sport" },
    { "message":"bike_profile","num":3,"name":"odometer","type":"uint32","scale":100,"units":"m" },
    { "message":"bike_profile","num":4,"name":"bike_spd_ant_id","type":"uint16z" },
    { "message":"bike_profile","num":5,"name":"bike_cad_ant_id","type":"uint16z" },
    { "message":"bike_profile","num":6,"name":"bike_spdcad_ant_id","type":"uint16z" },
    { "message":"bike_profile","num":7,"name":"bike_power_ant_id","type":"uint16z" },
    { "message":"bike_profile","num":8,"name":"custom_wheelsize","type":"uint16","scale":1000,"units":"m" },
    { "message":"bike_profile","num":9,"name":"auto_wheelsize","type":"uint16","scale":1000,"units":"m" },
    { "message":"bike_profile","num":10,"name":"bike_weight","type":"uint16","scale":10,"units":"kg" },
    { "message":"bike_profile","num":11,"name":"power_cal_factor","type":"uint16","scale":10,"units":"%" },
    { "message":"bike_profile","num":12,"name":"auto_wheel_cal","type":"bool" },
    { "message":"bike_profile","num":13,"name":"auto_power_zero","type":"bool" },
    { "message":"bike_profile","num":14,"name":"id","type":"uint8" },
    { "message":"bike_profile","num":15,"name":"spd_enabled","type":"bool" },
    { "message":"bike_profile","num":16,"name":"cad_enabled","type":"bool" },
    { "message":"bike_profile","num":17,"name":"spdcad_enabled","type":"bool" },
    { "message":"bike_profile","num":18,"name":"power_enabled","type":"bool" },
    { "message":"bike_profile","num":19,"name":"crank_length","type":"uint8","scale":2,"offset":"-110","units":"mm" },
    { "message":"bike_profile","num":20,"name":"enabled","type":"bool" },
    { "message":"bike_profile","num":21,"name":"bike_spd_ant_id_trans_type","type":"uint8z" },
    { "message":"bike_profile","num":22,"name":"bike_cad_ant_id_trans_type","type":"uint8z" },
    { "message":"bike_profile","num":23,"name":"bike_spdcad_ant_id_trans_type","type":"uint8z" },
    { "message":"bike_profile","num":24,"name":"bike_power_ant_id_trans_type","type":"uint8z" },
    { "message":"bike_profile","num":37,"name":"odometer_rollover","type":"uint8" },
    { "message":"bike_profile","num":38,"name":"front_gear_num","type":"uint8z" },
    { "message":"bike_profile","num":39,"name":"front_gear","type":"uint8z","array":"[N]" },
    { "message":"bike_profile","num":40,"name":"rear_gear_num","type":"uint8z" },
    { "message":"bike_profile","num":41,"name":"rear_gear","type":"uint8z","array":"[N]" },
    { "message":"bike_profile","num":44,"name":"shimano_di2_enabled","type":"bool" },
    { "message":"connectivity","num":0,"name":"bluetooth_enabled","type":"bool" },
    { "message":"connectivity","num":1,"name":"bluetooth_le_enabled","type":"bool" },
    { "message":"connectivity","num":2,"name":"ant_enabled","type":"bool" },
    { "message":"connectivity","num":3,"name":"name","type":"string" },
    { "message":"connectivity","num":4,"name":"live_tracking_enabled","type":"bool" },
    { "message":"connectivity","num":5,"name":"weather_conditions_enabled","type":"bool" },
    { "message":"connectivity","num":6,"name":"weather_alerts_enabled","type":"bool" },
    { "message":"connectivity","num":7,"name":"auto_activity_upload_enabled","type":"bool" },
    { "message":"connectivity","num":8,"name":"course_download_enabled","type":"bool" },
    { "message":"connectivity","num":9,"name":"workout_download_enabled","type":"bool" },
    { "message":"connectivity","num":10,"name":"gps_ephemeris_download_enabled","type":"bool" },
    { "message":"connectivity","num":11,"name":"incident_detection_enabled","type":"bool" },
    { "message":"connectivity","num":12,"name":"grouptrack_enabled","type":"bool" },
    { "message":"watchface_settings","num":254,"name":"message_index","type":"message_index" },
    { "message":"watchface_settings","num":0,"name":"mode","type":"watchface_mode" },
    { "message":"watchface_settings","num":1,"name":"layout","type":"byte" },
    { "message":"ohr_settings","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"ohr_settings","num":0,"name":"enabled","type":"switch" },
    { "message":"time_in_zone","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"time_in_zone","num":0,"name":"reference_mesg","type":"mesg_num" },
    { "message":"time_in_zone","num":1,"name":"reference_index","type":"message_index" },
    { "message":"time_in_zone","num":2,"name":"time_in_hr_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"time_in_zone","num":3,"name":"time_in_speed_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"time_in_zone","num":4,"name":"time_in_cadence_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"time_in_zone","num":5,"name":"time_in_power_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"time_in_zone","num":6,"name":"hr_zone_high_boundary","type":"uint8","array":"[N]","units":"bpm" },
    { "message":"time_in_zone","num":7,"name":"speed_zone_high_boundary","type":"uint16","array":"[N]","scale":1000,"units":"m/s" },
    { "message":"time_in_zone","num":8,"name":"cadence_zone_high_bondary","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"time_in_zone","num":9,"name":"power_zone_high_boundary","type":"uint16","array":"[N]","units":"watts" },
    { "message":"time_in_zone","num":10,"name":"hr_calc_type","type":"hr_zone_calc" },
    { "message":"time_in_zone","num":11,"name":"max_heart_rate","type":"uint8" },
    { "message":"time_in_zone","num":12,"name":"resting_heart_rate","type":"uint8" },
    { "message":"time_in_zone","num":13,"name":"threshold_heart_rate","type":"uint8" },
    { "message":"time_in_zone","num":14,"name":"pwr_calc_type","type":"pwr_zone_calc" },
    { "message":"time_in_zone","num":15,"name":"functional_threshold_power","type":"uint16" },
    { "message":"zones_target","num":1,"name":"max_heart_rate","type":"uint8" },
    { "message":"zones_target","num":2,"name":"threshold_heart_rate","type":"uint8" },
    { "message":"zones_target","num":3,"name":"functional_threshold_power","type":"uint16" },
    { "message":"zones_target","num":5,"name":"hr_calc_type","type":"hr_zone_calc" },
    { "message":"zones_target","num":7,"name":"pwr_calc_type","type":"pwr_zone_calc" },
    { "message":"sport","num":0,"name":"sport","type":"sport" },
    { "message":"sport","num":1,"name":"sub_sport","type":"sub_sport" },
    { "message":"sport","num":3,"name":"name","type":"string" },
    { "message":"hr_zone","num":254,"name":"message_index","type":"message_index" },
    { "message":"hr_zone","num":1,"name":"high_bpm","type":"uint8","units":"bpm" },
    { "message":"hr_zone","num":2,"name":"name","type":"string" },
    { "message":"speed_zone","num":254,"name":"message_index","type":"message_index" },
    { "message":"speed_zone","num":0,"name":"high_value","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"speed_zone","num":1,"name":"name","type":"string" },
    { "message":"cadence_zone","num":254,"name":"message_index","type":"message_index" },
    { "message":"cadence_zone","num":0,"name":"high_value","type":"uint8","units":"rpm" },
    { "message":"cadence_zone","num":1,"name":"name","type":"string" },
    { "message":"power_zone","num":254,"name":"message_index","type":"message_index" },
    { "message":"power_zone","num":1,"name":"high_value","type":"uint16","units":"watts" },
    { "message":"power_zone","num":2,"name":"name","type":"string" },
    { "message":"met_zone","num":254,"name":"message_index","type":"message_index" },
    { "message":"met_zone","num":1,"name":"high_bpm","type":"uint8" },
    { "message":"met_zone","num":2,"name":"calories","type":"uint16","scale":10,"units":"kcal / min" },
    { "message":"met_zone","num":3,"name":"fat_calories","type":"uint8","scale":10,"units":"kcal / min" },
    { "message":"dive_settings","num":253,"name":"timestamp","type":"date_time" },
    { "message":"dive_settings","num":254,"name":"message_index","type":"message_index" },
    { "message":"dive_settings","num":0,"name":"name","type":"string" },
    { "message":"dive_settings","num":1,"name":"model","type":"tissue_model_type" },
    { "message":"dive_settings","num":2,"name":"gf_low","type":"uint8","units":"percent" },
    { "message":"dive_settings","num":3,"name":"gf_high","type":"uint8","units":"percent" },
    { "message":"dive_settings","num":4,"name":"water_type","type":"water_type" },
    { "message":"dive_settings","num":5,"name":"water_density","type":"float32","units":"kg/m^3" },
    { "message":"dive_settings","num":6,"name":"po2_warn","type":"uint8","scale":100,"units":"percent" },
    { "message":"dive_settings","num":7,"name":"po2_critical","type":"uint8","scale":100,"units":"percent" },
    { "message":"dive_settings","num":8,"name":"po2_deco","type":"uint8","scale":100,"units":"percent" },
    { "message":"dive_settings","num":9,"name":"safety_stop_enabled","type":"bool" },
    { "message":"dive_settings","num":10,"name":"bottom_depth","type":"float32" },
    { "message":"dive_settings","num":11,"name":"bottom_time","type":"uint32" },
    { "message":"dive_settings","num":12,"name":"apnea_countdown_enabled","type":"bool" },
    { "message":"dive_settings","num":13,"name":"apnea_countdown_time","type":"uint32" },
    { "message":"dive_settings","num":14,"name":"backlight_mode","type":"dive_backlight_mode" },
    { "message":"dive_settings","num":15,"name":"backlight_brightness","type":"uint8" },
    { "message":"dive_settings","num":16,"name":"backlight_timeout","type":"backlight_timeout" },
    { "message":"dive_settings","num":17,"name":"repeat_dive_interval","type":"uint16","scale":1,"units":"s" },
    { "message":"dive_settings","num":18,"name":"safety_stop_time","type":"uint16","scale":1,"units":"s" },
    { "message":"dive_settings","num":19,"name":"heart_rate_source_type","type":"source_type" },
    { "message":"dive_settings","num":20,"name":"heart_rate_source","type":"uint8" },
    { "message":"dive_settings","num":21,"name":"travel_gas","type":"message_index" },
    { "message":"dive_settings","num":22,"name":"ccr_low_setpoint_switch_mode","type":"ccr_setpoint_switch_mode" },
    { "message":"dive_settings","num":23,"name":"ccr_low_setpoint","type":"uint8","scale":100,"units":"percent" },
    { "message":"dive_settings","num":24,"name":"ccr_low_setpoint_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_settings","num":25,"name":"ccr_high_setpoint_switch_mode","type":"ccr_setpoint_switch_mode" },
    { "message":"dive_settings","num":26,"name":"ccr_high_setpoint","type":"uint8","scale":100,"units":"percent" },
    { "message":"dive_settings","num":27,"name":"ccr_high_setpoint_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_settings","num":29,"name":"gas_consumption_display","type":"gas_consumption_rate_type" },
    { "message":"dive_settings","num":30,"name":"up_key_enabled","type":"bool" },
    { "message":"dive_settings","num":35,"name":"dive_sounds","type":"tone" },
    { "message":"dive_settings","num":36,"name":"last_stop_multiple","type":"uint8","scale":10 },
    { "message":"dive_settings","num":37,"name":"no_fly_time_mode","type":"no_fly_time_mode" },
    { "message":"dive_alarm","num":254,"name":"message_index","type":"message_index" },
    { "message":"dive_alarm","num":0,"name":"depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_alarm","num":1,"name":"time","type":"sint32","scale":1,"units":"s" },
    { "message":"dive_alarm","num":2,"name":"enabled","type":"bool" },
    { "message":"dive_alarm","num":3,"name":"alarm_type","type":"dive_alarm_type" },
    { "message":"dive_alarm","num":4,"name":"sound","type":"tone" },
    { "message":"dive_alarm","num":5,"name":"dive_types","type":"sub_sport","array":"[N]" },
    { "message":"dive_alarm","num":6,"name":"id","type":"uint32" },
    { "message":"dive_alarm","num":7,"name":"popup_enabled","type":"bool" },
    { "message":"dive_alarm","num":8,"name":"trigger_on_descent","type":"bool" },
    { "message":"dive_alarm","num":9,"name":"trigger_on_ascent","type":"bool" },
    { "message":"dive_alarm","num":10,"name":"repeating","type":"bool" },
    { "message":"dive_alarm","num":11,"name":"speed","type":"sint32","scale":1000,"units":"mps" },
    { "message":"dive_apnea_alarm","num":254,"name":"message_index","type":"message_index" },
    { "message":"dive_apnea_alarm","num":0,"name":"depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_apnea_alarm","num":1,"name":"time","type":"sint32","scale":1,"units":"s" },
    { "message":"dive_apnea_alarm","num":2,"name":"enabled","type":"bool" },
    { "message":"dive_apnea_alarm","num":3,"name":"alarm_type","type":"dive_alarm_type" },
    { "message":"dive_apnea_alarm","num":4,"name":"sound","type":"tone" },
    { "message":"dive_apnea_alarm","num":5,"name":"dive_types","type":"sub_sport","array":"[N]" },
    { "message":"dive_apnea_alarm","num":6,"name":"id","type":"uint32" },
    { "message":"dive_apnea_alarm","num":7,"name":"popup_enabled","type":"bool" },
    { "message":"dive_apnea_alarm","num":8,"name":"trigger_on_descent","type":"bool" },
    { "message":"dive_apnea_alarm","num":9,"name":"trigger_on_ascent","type":"bool" },
    { "message":"dive_apnea_alarm","num":10,"name":"repeating","type":"bool" },
    { "message":"dive_apnea_alarm","num":11,"name":"speed","type":"sint32","scale":1000,"units":"mps" },
    { "message":"dive_gas","num":254,"name":"message_index","type":"message_index" },
    { "message":"dive_gas","num":0,"name":"helium_content","type":"uint8","units":"percent" },
    { "message":"dive_gas","num":1,"name":"oxygen_content","type":"uint8","units":"percent" },
    { "message":"dive_gas","num":2,"name":"status","type":"dive_gas_status" },
    { "message":"dive_gas","num":3,"name":"mode","type":"dive_gas_mode" },
    { "message":"goal","num":254,"name":"message_index","type":"message_index" },
    { "message":"goal","num":0,"name":"sport","type":"sport" },
    { "message":"goal","num":1,"name":"sub_sport","type":"sub_sport" },
    { "message":"goal","num":2,"name":"start_date","type":"date_time" },
    { "message":"goal","num":3,"name":"end_date","type":"date_time" },
    { "message":"goal","num":4,"name":"type","type":"goal" },
    { "message":"goal","num":5,"name":"value","type":"uint32" },
    { "message":"goal","num":6,"name":"repeat","type":"bool" },
    { "message":"goal","num":7,"name":"target_value","type":"uint32" },
    { "message":"goal","num":8,"name":"recurrence","type":"goal_recurrence" },
    { "message":"goal","num":9,"name":"recurrence_value","type":"uint16" },
    { "message":"goal","num":10,"name":"enabled","type":"bool" },
    { "message":"goal","num":11,"name":"source","type":"goal_source" },
    { "message":"activity","num":253,"name":"timestamp","type":"date_time" },
    { "message":"activity","num":0,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"activity","num":1,"name":"num_sessions","type":"uint16" },
    { "message":"activity","num":2,"name":"type","type":"activity" },
    { "message":"activity","num":3,"name":"event","type":"event" },
    { "message":"activity","num":4,"name":"event_type","type":"event_type" },
    { "message":"activity","num":5,"name":"local_timestamp","type":"local_date_time" },
    { "message":"activity","num":6,"name":"event_group","type":"uint8" },
    { "message":"session","num":254,"name":"message_index","type":"message_index" },
    { "message":"session","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"session","num":0,"name":"event","type":"event" },
    { "message":"session","num":1,"name":"event_type","type":"event_type" },
    { "message":"session","num":2,"name":"start_time","type":"date_time" },
    { "message":"session","num":3,"name":"start_position_lat","type":"sint32","units":"semicircles" },
    { "message":"session","num":4,"name":"start_position_long","type":"sint32","units":"semicircles" },
    { "message":"session","num":5,"name":"sport","type":"sport" },
    { "message":"session","num":6,"name":"sub_sport","type":"sub_sport" },
    { "message":"session","num":7,"name":"total_elapsed_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"session","num":8,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"session","num":9,"name":"total_distance","type":"uint32","scale":100,"units":"m" },
    { "message":"session","num":10,"name":"total_cycles","type":"uint32","units":"cycles" },
    { "message":"session","num":11,"name":"total_calories","type":"uint16","units":"kcal" },
    { "message":"session","num":13,"name":"total_fat_calories","type":"uint16","units":"kcal" },
    { "message":"session","num":14,"name":"avg_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"session","num":15,"name":"max_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"session","num":16,"name":"avg_heart_rate","type":"uint8","units":"bpm" },
    { "message":"session","num":17,"name":"max_heart_rate","type":"uint8","units":"bpm" },
    { "message":"session","num":18,"name":"avg_cadence","type":"uint8","units":"rpm" },
    { "message":"session","num":19,"name":"max_cadence","type":"uint8","units":"rpm" },
    { "message":"session","num":20,"name":"avg_power","type":"uint16","units":"watts" },
    { "message":"session","num":21,"name":"max_power","type":"uint16","units":"watts" },
    { "message":"session","num":22,"name":"total_ascent","type":"uint16","units":"m" },
    { "message":"session","num":23,"name":"total_descent","type":"uint16","units":"m" },
    { "message":"session","num":24,"name":"total_training_effect","type":"uint8","scale":10 },
    { "message":"session","num":25,"name":"first_lap_index","type":"uint16" },
    { "message":"session","num":26,"name":"num_laps","type":"uint16" },
    { "message":"session","num":27,"name":"event_group","type":"uint8" },
    { "message":"session","num":28,"name":"trigger","type":"session_trigger" },
    { "message":"session","num":29,"name":"nec_lat","type":"sint32","units":"semicircles" },
    { "message":"session","num":30,"name":"nec_long","type":"sint32","units":"semicircles" },
    { "message":"session","num":31,"name":"swc_lat","type":"sint32","units":"semicircles" },
    { "message":"session","num":32,"name":"swc_long","type":"sint32","units":"semicircles" },
    { "message":"session","num":33,"name":"num_lengths","type":"uint16","units":"lengths" },
    { "message":"session","num":34,"name":"normalized_power","type":"uint16","units":"watts" },
    { "message":"session","num":35,"name":"training_stress_score","type":"uint16","scale":10,"units":"tss" },
    { "message":"session","num":36,"name":"intensity_factor","type":"uint16","scale":1000,"units":"if" },
    { "message":"session","num":37,"name":"left_right_balance","type":"left_right_balance_100" },
    { "message":"session","num":38,"name":"end_position_lat","type":"sint32","units":"semicircles" },
    { "message":"session","num":39,"name":"end_position_long","type":"sint32","units":"semicircles" },
    { "message":"session","num":41,"name":"avg_stroke_count","type":"uint32","scale":10,"units":"strokes/lap" },
    { "message":"session","num":42,"name":"avg_stroke_distance","type":"uint16","scale":100,"units":"m" },
    { "message":"session","num":43,"name":"swim_stroke","type":"swim_stroke","units":"swim_stroke" },
    { "message":"session","num":44,"name":"pool_length","type":"uint16","scale":100,"units":"m" },
    { "message":"session","num":45,"name":"threshold_power","type":"uint16","units":"watts" },
    { "message":"session","num":46,"name":"pool_length_unit","type":"display_measure" },
    { "message":"session","num":47,"name":"num_active_lengths","type":"uint16","units":"lengths" },
    { "message":"session","num":48,"name":"total_work","type":"uint32","units":"J" },
    { "message":"session","num":49,"name":"avg_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":50,"name":"max_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":51,"name":"gps_accuracy","type":"uint8","units":"m" },
    { "message":"session","num":52,"name":"avg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"session","num":53,"name":"avg_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"session","num":54,"name":"avg_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"session","num":55,"name":"max_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"session","num":56,"name":"max_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"session","num":57,"name":"avg_temperature","type":"sint8","units":"C" },
    { "message":"session","num":58,"name":"max_temperature","type":"sint8","units":"C" },
    { "message":"session","num":59,"name":"total_moving_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"session","num":60,"name":"avg_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"session","num":61,"name":"avg_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"session","num":62,"name":"max_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"session","num":63,"name":"max_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"session","num":64,"name":"min_heart_rate","type":"uint8","units":"bpm" },
    { "message":"session","num":65,"name":"time_in_hr_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"session","num":66,"name":"time_in_speed_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"session","num":67,"name":"time_in_cadence_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"session","num":68,"name":"time_in_power_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"session","num":69,"name":"avg_lap_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"session","num":70,"name":"best_lap_index","type":"uint16" },
    { "message":"session","num":71,"name":"min_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":82,"name":"player_score","type":"uint16" },
    { "message":"session","num":83,"name":"opponent_score","type":"uint16" },
    { "message":"session","num":84,"name":"opponent_name","type":"string" },
    { "message":"session","num":85,"name":"stroke_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"session","num":86,"name":"zone_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"session","num":87,"name":"max_ball_speed","type":"uint16","scale":100,"units":"m/s" },
    { "message":"session","num":88,"name":"avg_ball_speed","type":"uint16","scale":100,"units":"m/s" },
    { "message":"session","num":89,"name":"avg_vertical_oscillation","type":"uint16","scale":10,"units":"mm" },
    { "message":"session","num":90,"name":"avg_stance_time_percent","type":"uint16","scale":100,"units":"percent" },
    { "message":"session","num":91,"name":"avg_stance_time","type":"uint16","scale":10,"units":"ms" },
    { "message":"session","num":92,"name":"avg_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"session","num":93,"name":"max_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"session","num":94,"name":"total_fractional_cycles","type":"uint8","scale":128,"units":"cycles" },
    { "message":"session","num":95,"name":"avg_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"session","num":96,"name":"min_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"session","num":97,"name":"max_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"session","num":98,"name":"avg_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"session","num":99,"name":"min_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"session","num":100,"name":"max_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"session","num":101,"name":"avg_left_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":102,"name":"avg_right_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":103,"name":"avg_left_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":104,"name":"avg_right_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":105,"name":"avg_combined_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":110,"name":"sport_profile_name","type":"string" },
    { "message":"session","num":111,"name":"sport_index","type":"uint8" },
    { "message":"session","num":112,"name":"time_standing","type":"uint32","scale":1000,"units":"s" },
    { "message":"session","num":113,"name":"stand_count","type":"uint16" },
    { "message":"session","num":114,"name":"avg_left_pco","type":"sint8","units":"mm" },
    { "message":"session","num":115,"name":"avg_right_pco","type":"sint8","units":"mm" },
    { "message":"session","num":116,"name":"avg_left_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"session","num":117,"name":"avg_left_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"session","num":118,"name":"avg_right_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"session","num":119,"name":"avg_right_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"session","num":120,"name":"avg_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"session","num":121,"name":"max_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"session","num":122,"name":"avg_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"session","num":123,"name":"max_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"session","num":124,"name":"enhanced_avg_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"session","num":125,"name":"enhanced_max_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"session","num":126,"name":"enhanced_avg_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":127,"name":"enhanced_min_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":128,"name":"enhanced_max_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"session","num":129,"name":"avg_lev_motor_power","type":"uint16","units":"watts" },
    { "message":"session","num":130,"name":"max_lev_motor_power","type":"uint16","units":"watts" },
    { "message":"session","num":131,"name":"lev_battery_consumption","type":"uint8","scale":2,"units":"percent" },
    { "message":"session","num":132,"name":"avg_vertical_ratio","type":"uint16","scale":100,"units":"percent" },
    { "message":"session","num":133,"name":"avg_stance_time_balance","type":"uint16","scale":100,"units":"percent" },
    { "message":"session","num":134,"name":"avg_step_length","type":"uint16","scale":10,"units":"mm" },
    { "message":"session","num":137,"name":"total_anaerobic_training_effect","type":"uint8","scale":10 },
    { "message":"session","num":139,"name":"avg_vam","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"session","num":140,"name":"avg_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"session","num":141,"name":"max_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"session","num":142,"name":"surface_interval","type":"uint32","scale":1,"units":"s" },
    { "message":"session","num":143,"name":"start_cns","type":"uint8","scale":1,"units":"percent" },
    { "message":"session","num":144,"name":"end_cns","type":"uint8","scale":1,"units":"percent" },
    { "message":"session","num":145,"name":"start_n2","type":"uint16","scale":1,"units":"percent" },
    { "message":"session","num":146,"name":"end_n2","type":"uint16","scale":1,"units":"percent" },
    { "message":"session","num":147,"name":"avg_respiration_rate","type":"uint8" },
    { "message":"session","num":148,"name":"max_respiration_rate","type":"uint8" },
    { "message":"session","num":149,"name":"min_respiration_rate","type":"uint8" },
    { "message":"session","num":150,"name":"min_temperature","type":"sint8","units":"C" },
    { "message":"session","num":155,"name":"o2_toxicity","type":"uint16","units":"OTUs" },
    { "message":"session","num":156,"name":"dive_number","type":"uint32" },
    { "message":"session","num":168,"name":"training_load_peak","type":"sint32","scale":65536 },
    { "message":"session","num":169,"name":"enhanced_avg_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"session","num":170,"name":"enhanced_max_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"session","num":180,"name":"enhanced_min_respiration_rate","type":"uint16","scale":100 },
    { "message":"session","num":181,"name":"total_grit","type":"float32","units":"kGrit" },
    { "message":"session","num":182,"name":"total_flow","type":"float32","units":"Flow" },
    { "message":"session","num":183,"name":"jump_count","type":"uint16" },
    { "message":"session","num":186,"name":"avg_grit","type":"float32","units":"kGrit" },
    { "message":"session","num":187,"name":"avg_flow","type":"float32","units":"Flow" },
    { "message":"session","num":194,"name":"avg_spo2","type":"uint8","units":"percent" },
    { "message":"session","num":195,"name":"avg_stress","type":"uint8","units":"percent" },
    { "message":"session","num":197,"name":"sdrr_hrv","type":"uint8","units":"mS" },
    { "message":"session","num":198,"name":"rmssd_hrv","type":"uint8","units":"mS" },
    { "message":"session","num":199,"name":"total_fractional_ascent","type":"uint8","scale":100,"units":"m" },
    { "message":"session","num":200,"name":"total_fractional_descent","type":"uint8","scale":100,"units":"m" },
    { "message":"session","num":208,"name":"avg_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"session","num":209,"name":"min_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"session","num":210,"name":"max_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"lap","num":254,"name":"message_index","type":"message_index" },
    { "message":"lap","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"lap","num":0,"name":"event","type":"event" },
    { "message":"lap","num":1,"name":"event_type","type":"event_type" },
    { "message":"lap","num":2,"name":"start_time","type":"date_time" },
    { "message":"lap","num":3,"name":"start_position_lat","type":"sint32","units":"semicircles" },
    { "message":"lap","num":4,"name":"start_position_long","type":"sint32","units":"semicircles" },
    { "message":"lap","num":5,"name":"end_position_lat","type":"sint32","units":"semicircles" },
    { "message":"lap","num":6,"name":"end_position_long","type":"sint32","units":"semicircles" },
    { "message":"lap","num":7,"name":"total_elapsed_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"lap","num":8,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"lap","num":9,"name":"total_distance","type":"uint32","scale":100,"units":"m" },
    { "message":"lap","num":10,"name":"total_cycles","type":"uint32","units":"cycles" },
    { "message":"lap","num":11,"name":"total_calories","type":"uint16","units":"kcal" },
    { "message":"lap","num":12,"name":"total_fat_calories","type":"uint16","units":"kcal" },
    { "message":"lap","num":13,"name":"avg_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":14,"name":"max_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":15,"name":"avg_heart_rate","type":"uint8","units":"bpm" },
    { "message":"lap","num":16,"name":"max_heart_rate","type":"uint8","units":"bpm" },
    { "message":"lap","num":17,"name":"avg_cadence","type":"uint8","units":"rpm" },
    { "message":"lap","num":18,"name":"max_cadence","type":"uint8","units":"rpm" },
    { "message":"lap","num":19,"name":"avg_power","type":"uint16","units":"watts" },
    { "message":"lap","num":20,"name":"max_power","type":"uint16","units":"watts" },
    { "message":"lap","num":21,"name":"total_ascent","type":"uint16","units":"m" },
    { "message":"lap","num":22,"name":"total_descent","type":"uint16","units":"m" },
    { "message":"lap","num":23,"name":"intensity","type":"intensity" },
    { "message":"lap","num":24,"name":"lap_trigger","type":"lap_trigger" },
    { "message":"lap","num":25,"name":"sport","type":"sport" },
    { "message":"lap","num":26,"name":"event_group","type":"uint8" },
    { "message":"lap","num":32,"name":"num_lengths","type":"uint16","units":"lengths" },
    { "message":"lap","num":33,"name":"normalized_power","type":"uint16","units":"watts" },
    { "message":"lap","num":34,"name":"left_right_balance","type":"left_right_balance_100" },
    { "message":"lap","num":35,"name":"first_length_index","type":"uint16" },
    { "message":"lap","num":37,"name":"avg_stroke_distance","type":"uint16","scale":100,"units":"m" },
    { "message":"lap","num":38,"name":"swim_stroke","type":"swim_stroke" },
    { "message":"lap","num":39,"name":"sub_sport","type":"sub_sport" },
    { "message":"lap","num":40,"name":"num_active_lengths","type":"uint16","units":"lengths" },
    { "message":"lap","num":41,"name":"total_work","type":"uint32","units":"J" },
    { "message":"lap","num":42,"name":"avg_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":43,"name":"max_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":44,"name":"gps_accuracy","type":"uint8","units":"m" },
    { "message":"lap","num":45,"name":"avg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"lap","num":46,"name":"avg_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"lap","num":47,"name":"avg_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"lap","num":48,"name":"max_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"lap","num":49,"name":"max_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"lap","num":50,"name":"avg_temperature","type":"sint8","units":"C" },
    { "message":"lap","num":51,"name":"max_temperature","type":"sint8","units":"C" },
    { "message":"lap","num":52,"name":"total_moving_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"lap","num":53,"name":"avg_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":54,"name":"avg_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":55,"name":"max_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":56,"name":"max_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":57,"name":"time_in_hr_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"lap","num":58,"name":"time_in_speed_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"lap","num":59,"name":"time_in_cadence_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"lap","num":60,"name":"time_in_power_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"lap","num":61,"name":"repetition_num","type":"uint16" },
    { "message":"lap","num":62,"name":"min_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":63,"name":"min_heart_rate","type":"uint8","units":"bpm" },
    { "message":"lap","num":71,"name":"wkt_step_index","type":"message_index" },
    { "message":"lap","num":74,"name":"opponent_score","type":"uint16" },
    { "message":"lap","num":75,"name":"stroke_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"lap","num":76,"name":"zone_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"lap","num":77,"name":"avg_vertical_oscillation","type":"uint16","scale":10,"units":"mm" },
    { "message":"lap","num":78,"name":"avg_stance_time_percent","type":"uint16","scale":100,"units":"percent" },
    { "message":"lap","num":79,"name":"avg_stance_time","type":"uint16","scale":10,"units":"ms" },
    { "message":"lap","num":80,"name":"avg_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"lap","num":81,"name":"max_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"lap","num":82,"name":"total_fractional_cycles","type":"uint8","scale":128,"units":"cycles" },
    { "message":"lap","num":83,"name":"player_score","type":"uint16" },
    { "message":"lap","num":84,"name":"avg_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"lap","num":85,"name":"min_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"lap","num":86,"name":"max_total_hemoglobin_conc","type":"uint16","array":"[N]","scale":100,"units":"g/dL" },
    { "message":"lap","num":87,"name":"avg_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"lap","num":88,"name":"min_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"lap","num":89,"name":"max_saturated_hemoglobin_percent","type":"uint16","array":"[N]","scale":10,"units":"%" },
    { "message":"lap","num":91,"name":"avg_left_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":92,"name":"avg_right_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":93,"name":"avg_left_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":94,"name":"avg_right_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":95,"name":"avg_combined_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":98,"name":"time_standing","type":"uint32","scale":1000,"units":"s" },
    { "message":"lap","num":99,"name":"stand_count","type":"uint16" },
    { "message":"lap","num":100,"name":"avg_left_pco","type":"sint8","units":"mm" },
    { "message":"lap","num":101,"name":"avg_right_pco","type":"sint8","units":"mm" },
    { "message":"lap","num":102,"name":"avg_left_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"lap","num":103,"name":"avg_left_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"lap","num":104,"name":"avg_right_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"lap","num":105,"name":"avg_right_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"lap","num":106,"name":"avg_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"lap","num":107,"name":"max_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"lap","num":108,"name":"avg_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"lap","num":109,"name":"max_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"lap","num":110,"name":"enhanced_avg_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"lap","num":111,"name":"enhanced_max_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"lap","num":112,"name":"enhanced_avg_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":113,"name":"enhanced_min_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":114,"name":"enhanced_max_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"lap","num":115,"name":"avg_lev_motor_power","type":"uint16","units":"watts" },
    { "message":"lap","num":116,"name":"max_lev_motor_power","type":"uint16","units":"watts" },
    { "message":"lap","num":117,"name":"lev_battery_consumption","type":"uint8","scale":2,"units":"percent" },
    { "message":"lap","num":118,"name":"avg_vertical_ratio","type":"uint16","scale":100,"units":"percent" },
    { "message":"lap","num":119,"name":"avg_stance_time_balance","type":"uint16","scale":100,"units":"percent" },
    { "message":"lap","num":120,"name":"avg_step_length","type":"uint16","scale":10,"units":"mm" },
    { "message":"lap","num":121,"name":"avg_vam","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"lap","num":122,"name":"avg_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"lap","num":123,"name":"max_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"lap","num":124,"name":"min_temperature","type":"sint8","units":"C" },
    { "message":"lap","num":136,"name":"enhanced_avg_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"lap","num":137,"name":"enhanced_max_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"lap","num":147,"name":"avg_respiration_rate","type":"uint8" },
    { "message":"lap","num":148,"name":"max_respiration_rate","type":"uint8" },
    { "message":"lap","num":149,"name":"total_grit","type":"float32","units":"kGrit" },
    { "message":"lap","num":150,"name":"total_flow","type":"float32","units":"Flow" },
    { "message":"lap","num":151,"name":"jump_count","type":"uint16" },
    { "message":"lap","num":153,"name":"avg_grit","type":"float32","units":"kGrit" },
    { "message":"lap","num":154,"name":"avg_flow","type":"float32","units":"Flow" },
    { "message":"lap","num":156,"name":"total_fractional_ascent","type":"uint8","scale":100,"units":"m" },
    { "message":"lap","num":157,"name":"total_fractional_descent","type":"uint8","scale":100,"units":"m" },
    { "message":"lap","num":158,"name":"avg_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"lap","num":159,"name":"min_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"lap","num":160,"name":"max_core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"length","num":254,"name":"message_index","type":"message_index" },
    { "message":"length","num":253,"name":"timestamp","type":"date_time" },
    { "message":"length","num":0,"name":"event","type":"event" },
    { "message":"length","num":1,"name":"event_type","type":"event_type" },
    { "message":"length","num":2,"name":"start_time","type":"date_time" },
    { "message":"length","num":3,"name":"total_elapsed_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"length","num":4,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"length","num":5,"name":"total_strokes","type":"uint16","units":"strokes" },
    { "message":"length","num":6,"name":"avg_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"length","num":7,"name":"swim_stroke","type":"swim_stroke","units":"swim_stroke" },
    { "message":"length","num":9,"name":"avg_swimming_cadence","type":"uint8","units":"strokes/min" },
    { "message":"length","num":10,"name":"event_group","type":"uint8" },
    { "message":"length","num":11,"name":"total_calories","type":"uint16","units":"kcal" },
    { "message":"length","num":12,"name":"length_type","type":"length_type" },
    { "message":"length","num":18,"name":"player_score","type":"uint16" },
    { "message":"length","num":19,"name":"opponent_score","type":"uint16" },
    { "message":"length","num":20,"name":"stroke_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"length","num":21,"name":"zone_count","type":"uint16","array":"[N]","units":"counts" },
    { "message":"length","num":22,"name":"enhanced_avg_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"length","num":23,"name":"enhanced_max_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"length","num":24,"name":"avg_respiration_rate","type":"uint8" },
    { "message":"length","num":25,"name":"max_respiration_rate","type":"uint8" },
    { "message":"record","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"record","num":0,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"record","num":1,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"record","num":2,"name":"altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"record","num":3,"name":"heart_rate","type":"uint8","units":"bpm" },
    { "message":"record","num":4,"name":"cadence","type":"uint8","units":"rpm" },
    { "message":"record","num":5,"name":"distance","type":"uint32","scale":100,"units":"m" },
    { "message":"record","num":6,"name":"speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"record","num":7,"name":"power","type":"uint16","units":"watts" },
    { "message":"record","num":9,"name":"grade","type":"sint16","scale":100,"units":"%" },
    { "message":"record","num":10,"name":"resistance","type":"uint8" },
    { "message":"record","num":11,"name":"time_from_course","type":"sint32","scale":1000,"units":"s" },
    { "message":"record","num":12,"name":"cycle_length","type":"uint8","scale":100,"units":"m" },
    { "message":"record","num":13,"name":"temperature","type":"sint8","units":"C" },
    { "message":"record","num":17,"name":"speed_1s","type":"uint8","array":"[N]","scale":16,"units":"m/s" },
    { "message":"record","num":18,"name":"cycles","type":"uint8","units":"cycles" },
    { "message":"record","num":19,"name":"total_cycles","type":"uint32","units":"cycles" },
    { "message":"record","num":28,"name":"compressed_accumulated_power","type":"uint16","units":"watts" },
    { "message":"record","num":29,"name":"accumulated_power","type":"uint32","units":"watts" },
    { "message":"record","num":30,"name":"left_right_balance","type":"left_right_balance" },
    { "message":"record","num":31,"name":"gps_accuracy","type":"uint8","units":"m" },
    { "message":"record","num":32,"name":"vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"record","num":33,"name":"calories","type":"uint16","units":"kcal" },
    { "message":"record","num":39,"name":"vertical_oscillation","type":"uint16","scale":10,"units":"mm" },
    { "message":"record","num":40,"name":"stance_time_percent","type":"uint16","scale":100,"units":"percent" },
    { "message":"record","num":41,"name":"stance_time","type":"uint16","scale":10,"units":"ms" },
    { "message":"record","num":42,"name":"activity_type","type":"activity_type" },
    { "message":"record","num":43,"name":"left_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":44,"name":"right_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":45,"name":"left_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":46,"name":"right_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":47,"name":"combined_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":48,"name":"time128","type":"uint8","scale":128,"units":"s" },
    { "message":"record","num":49,"name":"stroke_type","type":"stroke_type" },
    { "message":"record","num":50,"name":"zone","type":"uint8" },
    { "message":"record","num":51,"name":"ball_speed","type":"uint16","scale":100,"units":"m/s" },
    { "message":"record","num":52,"name":"cadence256","type":"uint16","scale":256,"units":"rpm" },
    { "message":"record","num":53,"name":"fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"record","num":54,"name":"total_hemoglobin_conc","type":"uint16","scale":100,"units":"g/dL" },
    { "message":"record","num":55,"name":"total_hemoglobin_conc_min","type":"uint16","scale":100,"units":"g/dL" },
    { "message":"record","num":56,"name":"total_hemoglobin_conc_max","type":"uint16","scale":100,"units":"g/dL" },
    { "message":"record","num":57,"name":"saturated_hemoglobin_percent","type":"uint16","scale":10,"units":"%" },
    { "message":"record","num":58,"name":"saturated_hemoglobin_percent_min","type":"uint16","scale":10,"units":"%" },
    { "message":"record","num":59,"name":"saturated_hemoglobin_percent_max","type":"uint16","scale":10,"units":"%" },
    { "message":"record","num":62,"name":"device_index","type":"device_index" },
    { "message":"record","num":67,"name":"left_pco","type":"sint8","units":"mm" },
    { "message":"record","num":68,"name":"right_pco","type":"sint8","units":"mm" },
    { "message":"record","num":69,"name":"left_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"record","num":70,"name":"left_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"record","num":71,"name":"right_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"record","num":72,"name":"right_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"record","num":73,"name":"enhanced_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"record","num":78,"name":"enhanced_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"record","num":81,"name":"battery_soc","type":"uint8","scale":2,"units":"percent" },
    { "message":"record","num":82,"name":"motor_power","type":"uint16","units":"watts" },
    { "message":"record","num":83,"name":"vertical_ratio","type":"uint16","scale":100,"units":"percent" },
    { "message":"record","num":84,"name":"stance_time_balance","type":"uint16","scale":100,"units":"percent" },
    { "message":"record","num":85,"name":"step_length","type":"uint16","scale":10,"units":"mm" },
    { "message":"record","num":87,"name":"cycle_length16","type":"uint16","scale":100,"units":"m" },
    { "message":"record","num":91,"name":"absolute_pressure","type":"uint32","units":"Pa" },
    { "message":"record","num":92,"name":"depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"record","num":93,"name":"next_stop_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"record","num":94,"name":"next_stop_time","type":"uint32","scale":1,"units":"s" },
    { "message":"record","num":95,"name":"time_to_surface","type":"uint32","scale":1,"units":"s" },
    { "message":"record","num":96,"name":"ndl_time","type":"uint32","scale":1,"units":"s" },
    { "message":"record","num":97,"name":"cns_load","type":"uint8","units":"percent" },
    { "message":"record","num":98,"name":"n2_load","type":"uint16","scale":1,"units":"percent" },
    { "message":"record","num":99,"name":"respiration_rate","type":"uint8","scale":1,"units":"s" },
    { "message":"record","num":108,"name":"enhanced_respiration_rate","type":"uint16","scale":100,"units":"Breaths/min" },
    { "message":"record","num":114,"name":"grit","type":"float32" },
    { "message":"record","num":115,"name":"flow","type":"float32" },
    { "message":"record","num":116,"name":"current_stress","type":"uint16","scale":100 },
    { "message":"record","num":117,"name":"ebike_travel_range","type":"uint16","units":"km" },
    { "message":"record","num":118,"name":"ebike_battery_level","type":"uint8","units":"percent" },
    { "message":"record","num":119,"name":"ebike_assist_mode","type":"uint8","units":"depends on sensor" },
    { "message":"record","num":120,"name":"ebike_assist_level_percent","type":"uint8","units":"percent" },
    { "message":"record","num":123,"name":"air_time_remaining","type":"uint32","units":"s" },
    { "message":"record","num":124,"name":"pressure_sac","type":"uint16","scale":100,"units":"bar/min" },
    { "message":"record","num":125,"name":"volume_sac","type":"uint16","scale":100,"units":"L/min" },
    { "message":"record","num":126,"name":"rmv","type":"uint16","scale":100,"units":"L/min" },
    { "message":"record","num":127,"name":"ascent_rate","type":"sint32","scale":1000,"units":"m/s" },
    { "message":"record","num":129,"name":"po2","type":"uint8","scale":100,"units":"percent" },
    { "message":"record","num":139,"name":"core_temperature","type":"uint16","scale":100,"units":"C" },
    { "message":"event","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"event","num":0,"name":"event","type":"event" },
    { "message":"event","num":1,"name":"event_type","type":"event_type" },
    { "message":"event","num":2,"name":"data16","type":"uint16" },
    { "message":"event","num":3,"name":"data","type":"uint32" },
    { "message":"event","num":4,"name":"event_group","type":"uint8" },
    { "message":"event","num":7,"name":"score","type":"uint16" },
    { "message":"event","num":8,"name":"opponent_score","type":"uint16" },
    { "message":"event","num":9,"name":"front_gear_num","type":"uint8z" },
    { "message":"event","num":10,"name":"front_gear","type":"uint8z" },
    { "message":"event","num":11,"name":"rear_gear_num","type":"uint8z" },
    { "message":"event","num":12,"name":"rear_gear","type":"uint8z" },
    { "message":"event","num":13,"name":"device_index","type":"device_index" },
    { "message":"event","num":14,"name":"activity_type","type":"activity_type" },
    { "message":"event","num":15,"name":"start_timestamp","type":"date_time","units":"s" },
    { "message":"event","num":21,"name":"radar_threat_level_max","type":"radar_threat_level_type" },
    { "message":"event","num":22,"name":"radar_threat_count","type":"uint8" },
    { "message":"event","num":23,"name":"radar_threat_avg_approach_speed","type":"uint8","scale":10,"units":"m/s" },
    { "message":"event","num":24,"name":"radar_threat_max_approach_speed","type":"uint8","scale":10,"units":"m/s" },
    { "message":"device_info","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"device_info","num":0,"name":"device_index","type":"device_index" },
    { "message":"device_info","num":1,"name":"device_type","type":"uint8" },
    { "message":"device_info","num":2,"name":"manufacturer","type":"manufacturer" },
    { "message":"device_info","num":3,"name":"serial_number","type":"uint32z" },
    { "message":"device_info","num":4,"name":"product","type":"uint16" },
    { "message":"device_info","num":5,"name":"software_version","type":"uint16","scale":100 },
    { "message":"device_info","num":6,"name":"hardware_version","type":"uint8" },
    { "message":"device_info","num":7,"name":"cum_operating_time","type":"uint32","units":"s" },
    { "message":"device_info","num":10,"name":"battery_voltage","type":"uint16","scale":256,"units":"V" },
    { "message":"device_info","num":11,"name":"battery_status","type":"battery_status" },
    { "message":"device_info","num":18,"name":"sensor_position","type":"body_location" },
    { "message":"device_info","num":19,"name":"descriptor","type":"string" },
    { "message":"device_info","num":20,"name":"ant_transmission_type","type":"uint8z" },
    { "message":"device_info","num":21,"name":"ant_device_number","type":"uint16z" },
    { "message":"device_info","num":22,"name":"ant_network","type":"ant_network" },
    { "message":"device_info","num":25,"name":"source_type","type":"source_type" },
    { "message":"device_info","num":27,"name":"product_name","type":"string" },
    { "message":"device_info","num":32,"name":"battery_level","type":"uint8","units":"%" },
    { "message":"device_aux_battery_info","num":253,"name":"timestamp","type":"date_time" },
    { "message":"device_aux_battery_info","num":0,"name":"device_index","type":"device_index" },
    { "message":"device_aux_battery_info","num":1,"name":"battery_voltage","type":"uint16","scale":256,"units":"V" },
    { "message":"device_aux_battery_info","num":2,"name":"battery_status","type":"battery_status" },
    { "message":"device_aux_battery_info","num":3,"name":"battery_identifier","type":"uint8" },
    { "message":"training_file","num":253,"name":"timestamp","type":"date_time" },
    { "message":"training_file","num":0,"name":"type","type":"file" },
    { "message":"training_file","num":1,"name":"manufacturer","type":"manufacturer" },
    { "message":"training_file","num":2,"name":"product","type":"uint16" },
    { "message":"training_file","num":3,"name":"serial_number","type":"uint32z" },
    { "message":"training_file","num":4,"name":"time_created","type":"date_time" },
    { "message":"weather_conditions","num":253,"name":"timestamp","type":"date_time" },
    { "message":"weather_conditions","num":0,"name":"weather_report","type":"weather_report" },
    { "message":"weather_conditions","num":1,"name":"temperature","type":"sint8","units":"C" },
    { "message":"weather_conditions","num":2,"name":"condition","type":"weather_status" },
    { "message":"weather_conditions","num":3,"name":"wind_direction","type":"uint16","units":"degrees" },
    { "message":"weather_conditions","num":4,"name":"wind_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"weather_conditions","num":5,"name":"precipitation_probability","type":"uint8" },
    { "message":"weather_conditions","num":6,"name":"temperature_feels_like","type":"sint8","units":"C" },
    { "message":"weather_conditions","num":7,"name":"relative_humidity","type":"uint8" },
    { "message":"weather_conditions","num":8,"name":"location","type":"string" },
    { "message":"weather_conditions","num":9,"name":"observed_at_time","type":"date_time" },
    { "message":"weather_conditions","num":10,"name":"observed_location_lat","type":"sint32","units":"semicircles" },
    { "message":"weather_conditions","num":11,"name":"observed_location_long","type":"sint32","units":"semicircles" },
    { "message":"weather_conditions","num":12,"name":"day_of_week","type":"day_of_week" },
    { "message":"weather_conditions","num":13,"name":"high_temperature","type":"sint8","units":"C" },
    { "message":"weather_conditions","num":14,"name":"low_temperature","type":"sint8","units":"C" },
    { "message":"weather_alert","num":253,"name":"timestamp","type":"date_time" },
    { "message":"weather_alert","num":0,"name":"report_id","type":"string" },
    { "message":"weather_alert","num":1,"name":"issue_time","type":"date_time" },
    { "message":"weather_alert","num":2,"name":"expire_time","type":"date_time" },
    { "message":"weather_alert","num":3,"name":"severity","type":"weather_severity" },
    { "message":"weather_alert","num":4,"name":"type","type":"weather_severe_type" },
    { "message":"gps_metadata","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"gps_metadata","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"gps_metadata","num":1,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"gps_metadata","num":2,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"gps_metadata","num":3,"name":"enhanced_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"gps_metadata","num":4,"name":"enhanced_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"gps_metadata","num":5,"name":"heading","type":"uint16","scale":100,"units":"degrees" },
    { "message":"gps_metadata","num":6,"name":"utc_timestamp","type":"date_time","units":"s" },
    { "message":"gps_metadata","num":7,"name":"velocity","type":"sint16","array":"[3]","scale":100,"units":"m/s" },
    { "message":"camera_event","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"camera_event","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"camera_event","num":1,"name":"camera_event_type","type":"camera_event_type" },
    { "message":"camera_event","num":2,"name":"camera_file_uuid","type":"string" },
    { "message":"camera_event","num":3,"name":"camera_orientation","type":"camera_orientation_type" },
    { "message":"gyroscope_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"gyroscope_data","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"gyroscope_data","num":1,"name":"sample_time_offset","type":"uint16","array":"[N]","units":"ms" },
    { "message":"gyroscope_data","num":2,"name":"gyro_x","type":"uint16","array":"[N]","units":"counts" },
    { "message":"gyroscope_data","num":3,"name":"gyro_y","type":"uint16","array":"[N]","units":"counts" },
    { "message":"gyroscope_data","num":4,"name":"gyro_z","type":"uint16","array":"[N]","units":"counts" },
    { "message":"gyroscope_data","num":5,"name":"calibrated_gyro_x","type":"float32","array":"[N]","units":"deg/s" },
    { "message":"gyroscope_data","num":6,"name":"calibrated_gyro_y","type":"float32","array":"[N]","units":"deg/s" },
    { "message":"gyroscope_data","num":7,"name":"calibrated_gyro_z","type":"float32","array":"[N]","units":"deg/s" },
    { "message":"accelerometer_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"accelerometer_data","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"accelerometer_data","num":1,"name":"sample_time_offset","type":"uint16","array":"[N]","units":"ms" },
    { "message":"accelerometer_data","num":2,"name":"accel_x","type":"uint16","array":"[N]","units":"counts" },
    { "message":"accelerometer_data","num":3,"name":"accel_y","type":"uint16","array":"[N]","units":"counts" },
    { "message":"accelerometer_data","num":4,"name":"accel_z","type":"uint16","array":"[N]","units":"counts" },
    { "message":"accelerometer_data","num":5,"name":"calibrated_accel_x","type":"float32","array":"[N]","units":"g" },
    { "message":"accelerometer_data","num":6,"name":"calibrated_accel_y","type":"float32","array":"[N]","units":"g" },
    { "message":"accelerometer_data","num":7,"name":"calibrated_accel_z","type":"float32","array":"[N]","units":"g" },
    { "message":"accelerometer_data","num":8,"name":"compressed_calibrated_accel_x","type":"sint16","array":"[N]","units":"mG" },
    { "message":"accelerometer_data","num":9,"name":"compressed_calibrated_accel_y","type":"sint16","array":"[N]","units":"mG" },
    { "message":"accelerometer_data","num":10,"name":"compressed_calibrated_accel_z","type":"sint16","array":"[N]","units":"mG" },
    { "message":"magnetometer_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"magnetometer_data","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"magnetometer_data","num":1,"name":"sample_time_offset","type":"uint16","array":"[N]","units":"ms" },
    { "message":"magnetometer_data","num":2,"name":"mag_x","type":"uint16","array":"[N]","units":"counts" },
    { "message":"magnetometer_data","num":3,"name":"mag_y","type":"uint16","array":"[N]","units":"counts" },
    { "message":"magnetometer_data","num":4,"name":"mag_z","type":"uint16","array":"[N]","units":"counts" },
    { "message":"magnetometer_data","num":5,"name":"calibrated_mag_x","type":"float32","array":"[N]","units":"G" },
    { "message":"magnetometer_data","num":6,"name":"calibrated_mag_y","type":"float32","array":"[N]","units":"G" },
    { "message":"magnetometer_data","num":7,"name":"calibrated_mag_z","type":"float32","array":"[N]","units":"G" },
    { "message":"barometer_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"barometer_data","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"barometer_data","num":1,"name":"sample_time_offset","type":"uint16","array":"[N]","units":"ms" },
    { "message":"barometer_data","num":2,"name":"baro_pres","type":"uint32","array":"[N]","units":"Pa" },
    { "message":"three_d_sensor_calibration","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"three_d_sensor_calibration","num":0,"name":"sensor_type","type":"sensor_type" },
    { "message":"three_d_sensor_calibration","num":1,"name":"calibration_factor","type":"uint32" },
    { "message":"three_d_sensor_calibration","name":"accel_cal_factor","type":"uint32","units":"g" },
    { "message":"three_d_sensor_calibration","name":"gyro_cal_factor","type":"uint32","units":"deg/s" },
    { "message":"three_d_sensor_calibration","num":2,"name":"calibration_divisor","type":"uint32","units":"counts" },
    { "message":"three_d_sensor_calibration","num":3,"name":"level_shift","type":"uint32" },
    { "message":"three_d_sensor_calibration","num":4,"name":"offset_cal","type":"sint32","array":"[3]" },
    { "message":"three_d_sensor_calibration","num":5,"name":"orientation_matrix","type":"sint32","array":"[9]","scale":65535 },
    { "message":"one_d_sensor_calibration","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"one_d_sensor_calibration","num":0,"name":"sensor_type","type":"sensor_type" },
    { "message":"one_d_sensor_calibration","num":1,"name":"calibration_factor","type":"uint32" },
    { "message":"one_d_sensor_calibration","name":"baro_cal_factor","type":"uint32","units":"Pa" },
    { "message":"one_d_sensor_calibration","num":2,"name":"calibration_divisor","type":"uint32","units":"counts" },
    { "message":"one_d_sensor_calibration","num":3,"name":"level_shift","type":"uint32" },
    { "message":"one_d_sensor_calibration","num":4,"name":"offset_cal","type":"sint32" },
    { "message":"video_frame","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"video_frame","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"video_frame","num":1,"name":"frame_number","type":"uint32" },
    { "message":"obdii_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"obdii_data","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"obdii_data","num":1,"name":"time_offset","type":"uint16","array":"[N]","units":"ms" },
    { "message":"obdii_data","num":2,"name":"pid","type":"byte" },
    { "message":"obdii_data","num":3,"name":"raw_data","type":"byte","array":"[N]" },
    { "message":"obdii_data","num":4,"name":"pid_data_size","type":"uint8","array":"[N]" },
    { "message":"obdii_data","num":5,"name":"system_time","type":"uint32","array":"[N]" },
    { "message":"obdii_data","num":6,"name":"start_timestamp","type":"date_time" },
    { "message":"obdii_data","num":7,"name":"start_timestamp_ms","type":"uint16","units":"ms" },
    { "message":"nmea_sentence","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"nmea_sentence","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"nmea_sentence","num":1,"name":"sentence","type":"string" },
    { "message":"aviation_attitude","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"aviation_attitude","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"aviation_attitude","num":1,"name":"system_time","type":"uint32","array":"[N]","units":"ms" },
    { "message":"aviation_attitude","num":2,"name":"pitch","type":"sint16","array":"[N]","scale":10430.38,"units":"radians" },
    { "message":"aviation_attitude","num":3,"name":"roll","type":"sint16","array":"[N]","scale":10430.38,"units":"radians" },
    { "message":"aviation_attitude","num":4,"name":"accel_lateral","type":"sint16","array":"[N]","scale":100,"units":"m/s^2" },
    { "message":"aviation_attitude","num":5,"name":"accel_normal","type":"sint16","array":"[N]","scale":100,"units":"m/s^2" },
    { "message":"aviation_attitude","num":6,"name":"turn_rate","type":"sint16","array":"[N]","scale":1024,"units":"radians/second" },
    { "message":"aviation_attitude","num":7,"name":"stage","type":"attitude_stage","array":"[N]" },
    { "message":"aviation_attitude","num":8,"name":"attitude_stage_complete","type":"uint8","array":"[N]","units":"%" },
    { "message":"aviation_attitude","num":9,"name":"track","type":"uint16","array":"[N]","scale":10430.38,"units":"radians" },
    { "message":"aviation_attitude","num":10,"name":"validity","type":"attitude_validity","array":"[N]" },
    { "message":"video","num":0,"name":"url","type":"string" },
    { "message":"video","num":1,"name":"hosting_provider","type":"string" },
    { "message":"video","num":2,"name":"duration","type":"uint32","units":"ms" },
    { "message":"video_title","num":254,"name":"message_index","type":"message_index" },
    { "message":"video_title","num":0,"name":"message_count","type":"uint16" },
    { "message":"video_title","num":1,"name":"text","type":"string" },
    { "message":"video_description","num":254,"name":"message_index","type":"message_index" },
    { "message":"video_description","num":0,"name":"message_count","type":"uint16" },
    { "message":"video_description","num":1,"name":"text","type":"string" },
    { "message":"video_clip","num":0,"name":"clip_number","type":"uint16" },
    { "message":"video_clip","num":1,"name":"start_timestamp","type":"date_time" },
    { "message":"video_clip","num":2,"name":"start_timestamp_ms","type":"uint16" },
    { "message":"video_clip","num":3,"name":"end_timestamp","type":"date_time" },
    { "message":"video_clip","num":4,"name":"end_timestamp_ms","type":"uint16" },
    { "message":"video_clip","num":6,"name":"clip_start","type":"uint32","units":"ms" },
    { "message":"video_clip","num":7,"name":"clip_end","type":"uint32","units":"ms" },
    { "message":"set","num":254,"name":"timestamp","type":"date_time" },
    { "message":"set","num":0,"name":"duration","type":"uint32","scale":1000,"units":"s" },
    { "message":"set","num":3,"name":"repetitions","type":"uint16" },
    { "message":"set","num":4,"name":"weight","type":"uint16","scale":16,"units":"kg" },
    { "message":"set","num":5,"name":"set_type","type":"set_type" },
    { "message":"set","num":6,"name":"start_time","type":"date_time" },
    { "message":"set","num":7,"name":"category","type":"exercise_category","array":"[N]" },
    { "message":"set","num":8,"name":"category_subtype","type":"uint16","array":"[N]" },
    { "message":"set","num":9,"name":"weight_display_unit","type":"fit_base_unit" },
    { "message":"set","num":10,"name":"message_index","type":"message_index" },
    { "message":"set","num":11,"name":"wkt_step_index","type":"message_index" },
    { "message":"jump","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"jump","num":0,"name":"distance","type":"float32","units":"m" },
    { "message":"jump","num":1,"name":"height","type":"float32","units":"m" },
    { "message":"jump","num":2,"name":"rotations","type":"uint8" },
    { "message":"jump","num":3,"name":"hang_time","type":"float32","units":"s" },
    { "message":"jump","num":4,"name":"score","type":"float32" },
    { "message":"jump","num":5,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"jump","num":6,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"jump","num":7,"name":"speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"jump","num":8,"name":"enhanced_speed","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"split","num":0,"name":"split_type","type":"split_type" },
    { "message":"split","num":1,"name":"total_elapsed_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"split","num":2,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"split","num":3,"name":"total_distance","type":"uint32","scale":100,"units":"m" },
    { "message":"split","num":9,"name":"start_time","type":"date_time" },
    { "message":"climb_pro","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"climb_pro","num":0,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"climb_pro","num":1,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"climb_pro","num":2,"name":"climb_pro_event","type":"climb_pro_event" },
    { "message":"climb_pro","num":3,"name":"climb_number","type":"uint16" },
    { "message":"climb_pro","num":4,"name":"climb_category","type":"uint8" },
    { "message":"climb_pro","num":5,"name":"current_dist","type":"float32","units":"m" },
    { "message":"field_description","num":0,"name":"developer_data_index","type":"uint8" },
    { "message":"field_description","num":1,"name":"field_definition_number","type":"uint8" },
    { "message":"field_description","num":2,"name":"fit_base_type_id","type":"fit_base_type" },
    { "message":"field_description","num":3,"name":"field_name","type":"string","array":"[N]" },
    { "message":"field_description","num":4,"name":"array","type":"uint8" },
    { "message":"field_description","num":5,"name":"components","type":"string" },
    { "message":"field_description","num":6,"name":"scale","type":"uint8" },
    { "message":"field_description","num":7,"name":"offset","type":"sint8" },
    { "message":"field_description","num":8,"name":"units","type":"string","array":"[N]" },
    { "message":"field_description","num":9,"name":"bits","type":"string" },
    { "message":"field_description","num":10,"name":"accumulate","type":"string" },
    { "message":"field_description","num":13,"name":"fit_base_unit_id","type":"fit_base_unit" },
    { "message":"field_description","num":14,"name":"native_mesg_num","type":"mesg_num" },
    { "message":"field_description","num":15,"name":"native_field_num","type":"uint8" },
    { "message":"developer_data_id","num":0,"name":"developer_id","type":"byte","array":"[N]" },
    { "message":"developer_data_id","num":1,"name":"application_id","type":"byte","array":"[N]" },
    { "message":"developer_data_id","num":2,"name":"manufacturer_id","type":"manufacturer" },
    { "message":"developer_data_id","num":3,"name":"developer_data_index","type":"uint8" },
    { "message":"developer_data_id","num":4,"name":"application_version","type":"uint32" },
    { "message":"course","num":4,"name":"sport","type":"sport" },
    { "message":"course","num":5,"name":"name","type":"string" },
    { "message":"course","num":6,"name":"capabilities","type":"course_capabilities" },
    { "message":"course","num":7,"name":"sub_sport","type":"sub_sport" },
    { "message":"course_point","num":254,"name":"message_index","type":"message_index" },
    { "message":"course_point","num":1,"name":"timestamp","type":"date_time" },
    { "message":"course_point","num":2,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"course_point","num":3,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"course_point","num":4,"name":"distance","type":"uint32","scale":100,"units":"m" },
    { "message":"course_point","num":5,"name":"type","type":"course_point" },
    { "message":"course_point","num":6,"name":"name","type":"string" },
    { "message":"course_point","num":8,"name":"favorite","type":"bool" },
    { "message":"segment_id","num":0,"name":"name","type":"string" },
    { "message":"segment_id","num":1,"name":"uuid","type":"string" },
    { "message":"segment_id","num":2,"name":"sport","type":"sport" },
    { "message":"segment_id","num":3,"name":"enabled","type":"bool" },
    { "message":"segment_id","num":4,"name":"user_profile_primary_key","type":"uint32" },
    { "message":"segment_id","num":5,"name":"device_id","type":"uint32" },
    { "message":"segment_id","num":6,"name":"default_race_leader","type":"uint8" },
    { "message":"segment_id","num":7,"name":"delete_status","type":"segment_delete_status" },
    { "message":"segment_id","num":8,"name":"selection_type","type":"segment_selection_type" },
    { "message":"segment_leaderboard_entry","num":254,"name":"message_index","type":"message_index" },
    { "message":"segment_leaderboard_entry","num":0,"name":"name","type":"string" },
    { "message":"segment_leaderboard_entry","num":1,"name":"type","type":"segment_leaderboard_type" },
    { "message":"segment_leaderboard_entry","num":2,"name":"group_primary_key","type":"uint32" },
    { "message":"segment_leaderboard_entry","num":3,"name":"activity_id","type":"uint32" },
    { "message":"segment_leaderboard_entry","num":4,"name":"segment_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_leaderboard_entry","num":5,"name":"activity_id_string","type":"string" },
    { "message":"segment_point","num":254,"name":"message_index","type":"message_index" },
    { "message":"segment_point","num":1,"name":"position_lat","type":"sint32","units":"semicircles" },
    { "message":"segment_point","num":2,"name":"position_long","type":"sint32","units":"semicircles" },
    { "message":"segment_point","num":3,"name":"distance","type":"uint32","scale":100,"units":"m" },
    { "message":"segment_point","num":4,"name":"altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"segment_point","num":5,"name":"leader_time","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"segment_point","num":6,"name":"enhanced_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":254,"name":"message_index","type":"message_index" },
    { "message":"segment_lap","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"segment_lap","num":0,"name":"event","type":"event" },
    { "message":"segment_lap","num":1,"name":"event_type","type":"event_type" },
    { "message":"segment_lap","num":2,"name":"start_time","type":"date_time" },
    { "message":"segment_lap","num":3,"name":"start_position_lat","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":4,"name":"start_position_long","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":5,"name":"end_position_lat","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":6,"name":"end_position_long","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":7,"name":"total_elapsed_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_lap","num":8,"name":"total_timer_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_lap","num":9,"name":"total_distance","type":"uint32","scale":100,"units":"m" },
    { "message":"segment_lap","num":10,"name":"total_cycles","type":"uint32","units":"cycles" },
    { "message":"segment_lap","num":11,"name":"total_calories","type":"uint16","units":"kcal" },
    { "message":"segment_lap","num":12,"name":"total_fat_calories","type":"uint16","units":"kcal" },
    { "message":"segment_lap","num":13,"name":"avg_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":14,"name":"max_speed","type":"uint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":15,"name":"avg_heart_rate","type":"uint8","units":"bpm" },
    { "message":"segment_lap","num":16,"name":"max_heart_rate","type":"uint8","units":"bpm" },
    { "message":"segment_lap","num":17,"name":"avg_cadence","type":"uint8","units":"rpm" },
    { "message":"segment_lap","num":18,"name":"max_cadence","type":"uint8","units":"rpm" },
    { "message":"segment_lap","num":19,"name":"avg_power","type":"uint16","units":"watts" },
    { "message":"segment_lap","num":20,"name":"max_power","type":"uint16","units":"watts" },
    { "message":"segment_lap","num":21,"name":"total_ascent","type":"uint16","units":"m" },
    { "message":"segment_lap","num":22,"name":"total_descent","type":"uint16","units":"m" },
    { "message":"segment_lap","num":23,"name":"sport","type":"sport" },
    { "message":"segment_lap","num":24,"name":"event_group","type":"uint8" },
    { "message":"segment_lap","num":25,"name":"nec_lat","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":26,"name":"nec_long","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":27,"name":"swc_lat","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":28,"name":"swc_long","type":"sint32","units":"semicircles" },
    { "message":"segment_lap","num":29,"name":"name","type":"string" },
    { "message":"segment_lap","num":30,"name":"normalized_power","type":"uint16","units":"watts" },
    { "message":"segment_lap","num":31,"name":"left_right_balance","type":"left_right_balance_100" },
    { "message":"segment_lap","num":32,"name":"sub_sport","type":"sub_sport" },
    { "message":"segment_lap","num":33,"name":"total_work","type":"uint32","units":"J" },
    { "message":"segment_lap","num":34,"name":"avg_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":35,"name":"max_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":36,"name":"gps_accuracy","type":"uint8","units":"m" },
    { "message":"segment_lap","num":37,"name":"avg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"segment_lap","num":38,"name":"avg_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"segment_lap","num":39,"name":"avg_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"segment_lap","num":40,"name":"max_pos_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"segment_lap","num":41,"name":"max_neg_grade","type":"sint16","scale":100,"units":"%" },
    { "message":"segment_lap","num":42,"name":"avg_temperature","type":"sint8","units":"C" },
    { "message":"segment_lap","num":43,"name":"max_temperature","type":"sint8","units":"C" },
    { "message":"segment_lap","num":44,"name":"total_moving_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_lap","num":45,"name":"avg_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":46,"name":"avg_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":47,"name":"max_pos_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":48,"name":"max_neg_vertical_speed","type":"sint16","scale":1000,"units":"m/s" },
    { "message":"segment_lap","num":49,"name":"time_in_hr_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"segment_lap","num":50,"name":"time_in_speed_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"segment_lap","num":51,"name":"time_in_cadence_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"segment_lap","num":52,"name":"time_in_power_zone","type":"uint32","array":"[N]","scale":1000,"units":"s" },
    { "message":"segment_lap","num":53,"name":"repetition_num","type":"uint16" },
    { "message":"segment_lap","num":54,"name":"min_altitude","type":"uint16","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":55,"name":"min_heart_rate","type":"uint8","units":"bpm" },
    { "message":"segment_lap","num":56,"name":"active_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_lap","num":57,"name":"wkt_step_index","type":"message_index" },
    { "message":"segment_lap","num":58,"name":"sport_event","type":"sport_event" },
    { "message":"segment_lap","num":59,"name":"avg_left_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"segment_lap","num":60,"name":"avg_right_torque_effectiveness","type":"uint8","scale":2,"units":"percent" },
    { "message":"segment_lap","num":61,"name":"avg_left_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"segment_lap","num":62,"name":"avg_right_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"segment_lap","num":63,"name":"avg_combined_pedal_smoothness","type":"uint8","scale":2,"units":"percent" },
    { "message":"segment_lap","num":64,"name":"status","type":"segment_lap_status" },
    { "message":"segment_lap","num":65,"name":"uuid","type":"string" },
    { "message":"segment_lap","num":66,"name":"avg_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"segment_lap","num":67,"name":"max_fractional_cadence","type":"uint8","scale":128,"units":"rpm" },
    { "message":"segment_lap","num":68,"name":"total_fractional_cycles","type":"uint8","scale":128,"units":"cycles" },
    { "message":"segment_lap","num":69,"name":"front_gear_shift_count","type":"uint16" },
    { "message":"segment_lap","num":70,"name":"rear_gear_shift_count","type":"uint16" },
    { "message":"segment_lap","num":71,"name":"time_standing","type":"uint32","scale":1000,"units":"s" },
    { "message":"segment_lap","num":72,"name":"stand_count","type":"uint16" },
    { "message":"segment_lap","num":73,"name":"avg_left_pco","type":"sint8","units":"mm" },
    { "message":"segment_lap","num":74,"name":"avg_right_pco","type":"sint8","units":"mm" },
    { "message":"segment_lap","num":75,"name":"avg_left_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"segment_lap","num":76,"name":"avg_left_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"segment_lap","num":77,"name":"avg_right_power_phase","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"segment_lap","num":78,"name":"avg_right_power_phase_peak","type":"uint8","array":"[N]","scale":"0.7111111","units":"degrees" },
    { "message":"segment_lap","num":79,"name":"avg_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"segment_lap","num":80,"name":"max_power_position","type":"uint16","array":"[N]","units":"watts" },
    { "message":"segment_lap","num":81,"name":"avg_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"segment_lap","num":82,"name":"max_cadence_position","type":"uint8","array":"[N]","units":"rpm" },
    { "message":"segment_lap","num":83,"name":"manufacturer","type":"manufacturer" },
    { "message":"segment_lap","num":84,"name":"total_grit","type":"float32","units":"kGrit" },
    { "message":"segment_lap","num":85,"name":"total_flow","type":"float32","units":"Flow" },
    { "message":"segment_lap","num":86,"name":"avg_grit","type":"float32","units":"kGrit" },
    { "message":"segment_lap","num":87,"name":"avg_flow","type":"float32","units":"Flow" },
    { "message":"segment_lap","num":89,"name":"total_fractional_ascent","type":"uint8","scale":100,"units":"m" },
    { "message":"segment_lap","num":90,"name":"total_fractional_descent","type":"uint8","scale":100,"units":"m" },
    { "message":"segment_lap","num":91,"name":"enhanced_avg_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":92,"name":"enhanced_max_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"segment_lap","num":93,"name":"enhanced_min_altitude","type":"uint32","scale":5,"offset":500,"units":"m" },
    { "message":"segment_file","num":254,"name":"message_index","type":"message_index" },
    { "message":"segment_file","num":1,"name":"file_uuid","type":"string" },
    { "message":"segment_file","num":3,"name":"enabled","type":"bool" },
    { "message":"segment_file","num":4,"name":"user_profile_primary_key","type":"uint32" },
    { "message":"segment_file","num":7,"name":"leader_type","type":"segment_leaderboard_type","array":"[N]" },
    { "message":"segment_file","num":8,"name":"leader_group_primary_key","type":"uint32","array":"[N]" },
    { "message":"segment_file","num":9,"name":"leader_activity_id","type":"uint32","array":"[N]" },
    { "message":"segment_file","num":10,"name":"leader_activity_id_string","type":"string","array":"[N]" },
    { "message":"segment_file","num":11,"name":"default_race_leader","type":"uint8" },
    { "message":"workout","num":254,"name":"message_index","type":"message_index" },
    { "message":"workout","num":4,"name":"sport","type":"sport" },
    { "message":"workout","num":5,"name":"capabilities","type":"workout_capabilities" },
    { "message":"workout","num":6,"name":"num_valid_steps","type":"uint16" },
    { "message":"workout","num":8,"name":"wkt_name","type":"string" },
    { "message":"workout","num":11,"name":"sub_sport","type":"sub_sport" },
    { "message":"workout","num":14,"name":"pool_length","type":"uint16","scale":100,"units":"m" },
    { "message":"workout","num":15,"name":"pool_length_unit","type":"display_measure" },
    { "message":"workout_session","num":254,"name":"message_index","type":"message_index" },
    { "message":"workout_session","num":0,"name":"sport","type":"sport" },
    { "message":"workout_session","num":1,"name":"sub_sport","type":"sub_sport" },
    { "message":"workout_session","num":2,"name":"num_valid_steps","type":"uint16" },
    { "message":"workout_session","num":3,"name":"first_step_index","type":"uint16" },
    { "message":"workout_session","num":4,"name":"pool_length","type":"uint16","scale":100,"units":"m" },
    { "message":"workout_session","num":5,"name":"pool_length_unit","type":"display_measure" },
    { "message":"workout_step","num":254,"name":"message_index","type":"message_index" },
    { "message":"workout_step","num":0,"name":"wkt_step_name","type":"string" },
    { "message":"workout_step","num":1,"name":"duration_type","type":"wkt_step_duration" },
    { "message":"workout_step","num":2,"name":"duration_value","type":"uint32" },
    { "message":"workout_step","num":3,"name":"target_type","type":"wkt_step_target" },
    { "message":"workout_step","num":4,"name":"target_value","type":"uint32" },
    { "message":"workout_step","num":5,"name":"custom_target_value_low","type":"uint32" },
    { "message":"workout_step","num":6,"name":"custom_target_value_high","type":"uint32" },
    { "message":"workout_step","num":7,"name":"intensity","type":"intensity" },
    { "message":"workout_step","num":8,"name":"notes","type":"string" },
    { "message":"workout_step","num":9,"name":"equipment","type":"workout_equipment" },
    { "message":"workout_step","num":10,"name":"exercise_category","type":"exercise_category" },
    { "message":"workout_step","num":11,"name":"exercise_name","type":"uint16" },
    { "message":"workout_step","num":12,"name":"exercise_weight","type":"uint16","scale":100,"units":"kg" },
    { "message":"workout_step","num":13,"name":"weight_display_unit","type":"fit_base_unit" },
    { "message":"workout_step","num":19,"name":"secondary_target_type","type":"wkt_step_target" },
    { "message":"workout_step","num":20,"name":"secondary_target_value","type":"uint32" },
    { "message":"workout_step","num":21,"name":"secondary_custom_target_value_low","type":"uint32" },
    { "message":"workout_step","num":22,"name":"secondary_custom_target_value_high","type":"uint32" },
    { "message":"exercise_title","num":254,"name":"message_index","type":"message_index" },
    { "message":"exercise_title","num":0,"name":"exercise_category","type":"exercise_category" },
    { "message":"exercise_title","num":1,"name":"exercise_name","type":"uint16" },
    { "message":"exercise_title","num":2,"name":"wkt_step_name","type":"string","array":"[N]" },
    { "message":"schedule","num":0,"name":"manufacturer","type":"manufacturer" },
    { "message":"schedule","num":1,"name":"product","type":"uint16" },
    { "message":"schedule","num":2,"name":"serial_number","type":"uint32z" },
    { "message":"schedule","num":3,"name":"time_created","type":"date_time" },
    { "message":"schedule","num":4,"name":"completed","type":"bool" },
    { "message":"schedule","num":5,"name":"type","type":"schedule" },
    { "message":"schedule","num":6,"name":"scheduled_time","type":"local_date_time" },
    { "message":"totals","num":254,"name":"message_index","type":"message_index" },
    { "message":"totals","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"totals","num":0,"name":"timer_time","type":"uint32","units":"s" },
    { "message":"totals","num":1,"name":"distance","type":"uint32","units":"m" },
    { "message":"totals","num":2,"name":"calories","type":"uint32","units":"kcal" },
    { "message":"totals","num":3,"name":"sport","type":"sport" },
    { "message":"totals","num":4,"name":"elapsed_time","type":"uint32","units":"s" },
    { "message":"totals","num":5,"name":"sessions","type":"uint16" },
    { "message":"totals","num":6,"name":"active_time","type":"uint32","units":"s" },
    { "message":"totals","num":9,"name":"sport_index","type":"uint8" },
    { "message":"weight_scale","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"weight_scale","num":0,"name":"weight","type":"weight","scale":100,"units":"kg" },
    { "message":"weight_scale","num":1,"name":"percent_fat","type":"uint16","scale":100,"units":"%" },
    { "message":"weight_scale","num":2,"name":"percent_hydration","type":"uint16","scale":100,"units":"%" },
    { "message":"weight_scale","num":3,"name":"visceral_fat_mass","type":"uint16","scale":100,"units":"kg" },
    { "message":"weight_scale","num":4,"name":"bone_mass","type":"uint16","scale":100,"units":"kg" },
    { "message":"weight_scale","num":5,"name":"muscle_mass","type":"uint16","scale":100,"units":"kg" },
    { "message":"weight_scale","num":7,"name":"basal_met","type":"uint16","scale":4,"units":"kcal/day" },
    { "message":"weight_scale","num":8,"name":"physique_rating","type":"uint8" },
    { "message":"weight_scale","num":9,"name":"active_met","type":"uint16","scale":4,"units":"kcal/day" },
    { "message":"weight_scale","num":10,"name":"metabolic_age","type":"uint8","units":"years" },
    { "message":"weight_scale","num":11,"name":"visceral_fat_rating","type":"uint8" },
    { "message":"weight_scale","num":12,"name":"user_profile_index","type":"message_index" },
    { "message":"weight_scale","num":13,"name":"bmi","type":"uint16","scale":10,"units":"kg/m^2" },
    { "message":"blood_pressure","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"blood_pressure","num":0,"name":"systolic_pressure","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":1,"name":"diastolic_pressure","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":2,"name":"mean_arterial_pressure","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":3,"name":"map_3_sample_mean","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":4,"name":"map_morning_values","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":5,"name":"map_evening_values","type":"uint16","units":"mmHg" },
    { "message":"blood_pressure","num":6,"name":"heart_rate","type":"uint8","units":"bpm" },
    { "message":"blood_pressure","num":7,"name":"heart_rate_type","type":"hr_type" },
    { "message":"blood_pressure","num":8,"name":"status","type":"bp_status" },
    { "message":"blood_pressure","num":9,"name":"user_profile_index","type":"message_index" },
    { "message":"monitoring_info","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"monitoring_info","num":0,"name":"local_timestamp","type":"local_date_time","units":"s" },
    { "message":"monitoring_info","num":1,"name":"activity_type","type":"activity_type","array":"[N]" },
    { "message":"monitoring_info","num":3,"name":"cycles_to_distance","type":"uint16","array":"[N]","scale":5000,"units":"m/cycle" },
    { "message":"monitoring_info","num":4,"name":"cycles_to_calories","type":"uint16","array":"[N]","scale":5000,"units":"kcal/cycle" },
    { "message":"monitoring_info","num":5,"name":"resting_metabolic_rate","type":"uint16","units":"kcal / day" },
    { "message":"monitoring","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"monitoring","num":0,"name":"device_index","type":"device_index" },
    { "message":"monitoring","num":1,"name":"calories","type":"uint16","units":"kcal" },
    { "message":"monitoring","num":2,"name":"distance","type":"uint32","scale":100,"units":"m" },
    { "message":"monitoring","num":3,"name":"cycles","type":"uint32","scale":2,"units":"cycles" },
    { "message":"monitoring","num":4,"name":"active_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"monitoring","num":5,"name":"activity_type","type":"activity_type" },
    { "message":"monitoring","num":6,"name":"activity_subtype","type":"activity_subtype" },
    { "message":"monitoring","num":7,"name":"activity_level","type":"activity_level" },
    { "message":"monitoring","num":8,"name":"distance_16","type":"uint16","units":"100 * m" },
    { "message":"monitoring","num":9,"name":"cycles_16","type":"uint16","units":"2 * cycles (steps)" },
    { "message":"monitoring","num":10,"name":"active_time_16","type":"uint16","units":"s" },
    { "message":"monitoring","num":11,"name":"local_timestamp","type":"local_date_time" },
    { "message":"monitoring","num":12,"name":"temperature","type":"sint16","scale":100,"units":"C" },
    { "message":"monitoring","num":14,"name":"temperature_min","type":"sint16","scale":100,"units":"C" },
    { "message":"monitoring","num":15,"name":"temperature_max","type":"sint16","scale":100,"units":"C" },
    { "message":"monitoring","num":16,"name":"activity_time","type":"uint16","array":"[8]","units":"minutes" },
    { "message":"monitoring","num":19,"name":"active_calories","type":"uint16","units":"kcal" },
    { "message":"monitoring","num":24,"name":"current_activity_type_intensity","type":"byte" },
    { "message":"monitoring","num":25,"name":"timestamp_min_8","type":"uint8","units":"min" },
    { "message":"monitoring","num":26,"name":"timestamp_16","type":"uint16","units":"s" },
    { "message":"monitoring","num":27,"name":"heart_rate","type":"uint8","units":"bpm" },
    { "message":"monitoring","num":28,"name":"intensity","type":"uint8","scale":10 },
    { "message":"monitoring","num":29,"name":"duration_min","type":"uint16","units":"min" },
    { "message":"monitoring","num":30,"name":"duration","type":"uint32","units":"s" },
    { "message":"monitoring","num":31,"name":"ascent","type":"uint32","scale":1000,"units":"m" },
    { "message":"monitoring","num":32,"name":"descent","type":"uint32","scale":1000,"units":"m" },
    { "message":"monitoring","num":33,"name":"moderate_activity_minutes","type":"uint16","units":"minutes" },
    { "message":"monitoring","num":34,"name":"vigorous_activity_minutes","type":"uint16","units":"minutes" },
    { "message":"monitoring_hr_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"monitoring_hr_data","num":0,"name":"resting_heart_rate","type":"uint8","units":"bpm" },
    { "message":"monitoring_hr_data","num":1,"name":"current_day_resting_heart_rate","type":"uint8","units":"bpm" },
    { "message":"spo2_data","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"spo2_data","num":0,"name":"reading_spo2","type":"uint8","scale":1,"units":"percent" },
    { "message":"spo2_data","num":1,"name":"reading_confidence","type":"uint8","scale":1 },
    { "message":"spo2_data","num":2,"name":"mode","type":"spo2_measurement_type" },
    { "message":"hr","num":253,"name":"timestamp","type":"date_time" },
    { "message":"hr","num":0,"name":"fractional_timestamp","type":"uint16","scale":32768,"units":"s" },
    { "message":"hr","num":1,"name":"time256","type":"uint8","scale":256,"units":"s" },
    { "message":"hr","num":6,"name":"filtered_bpm","type":"uint8","array":"[N]","units":"bpm" },
    { "message":"hr","num":9,"name":"event_timestamp","type":"uint32","array":"[N]","scale":1024,"units":"s" },
    { "message":"stress_level","num":0,"name":"stress_level_value","type":"sint16" },
    { "message":"stress_level","num":1,"name":"stress_level_time","type":"date_time","units":"s" },
    { "message":"max_met_data","num":0,"name":"update_time","type":"date_time" },
    { "message":"max_met_data","num":2,"name":"vo2_max","type":"uint16","scale":10,"units":"mL/kg/min" },
    { "message":"max_met_data","num":5,"name":"sport","type":"sport" },
    { "message":"max_met_data","num":6,"name":"sub_sport","type":"sub_sport" },
    { "message":"max_met_data","num":8,"name":"max_met_category","type":"max_met_category" },
    { "message":"max_met_data","num":9,"name":"calibrated_data","type":"bool" },
    { "message":"max_met_data","num":12,"name":"hr_source","type":"max_met_heart_rate_source" },
    { "message":"max_met_data","num":13,"name":"speed_source","type":"max_met_speed_source" },
    { "message":"memo_glob","num":250,"name":"part_index","type":"uint32" },
    { "message":"memo_glob","num":0,"name":"memo","type":"byte","array":"[N]" },
    { "message":"memo_glob","num":1,"name":"mesg_num","type":"mesg_num" },
    { "message":"memo_glob","num":2,"name":"parent_index","type":"message_index" },
    { "message":"memo_glob","num":3,"name":"field_num","type":"uint8" },
    { "message":"memo_glob","num":4,"name":"data","type":"uint8z","array":"[N]" },
    { "message":"sleep_level","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"sleep_level","num":0,"name":"sleep_level","type":"sleep_level" },
    { "message":"ant_channel_id","num":0,"name":"channel_number","type":"uint8" },
    { "message":"ant_channel_id","num":1,"name":"device_type","type":"uint8z" },
    { "message":"ant_channel_id","num":2,"name":"device_number","type":"uint16z" },
    { "message":"ant_channel_id","num":3,"name":"transmission_type","type":"uint8z" },
    { "message":"ant_channel_id","num":4,"name":"device_index","type":"device_index" },
    { "message":"ant_rx","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"ant_rx","num":0,"name":"fractional_timestamp","type":"uint16","scale":32768,"units":"s" },
    { "message":"ant_rx","num":1,"name":"mesg_id","type":"byte" },
    { "message":"ant_rx","num":3,"name":"channel_number","type":"uint8" },
    { "message":"ant_rx","num":4,"name":"data","type":"byte","array":"[N]" },
    { "message":"ant_tx","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"ant_tx","num":0,"name":"fractional_timestamp","type":"uint16","scale":32768,"units":"s" },
    { "message":"ant_tx","num":1,"name":"mesg_id","type":"byte" },
    { "message":"ant_tx","num":3,"name":"channel_number","type":"uint8" },
    { "message":"ant_tx","num":4,"name":"data","type":"byte","array":"[N]" },
    { "message":"exd_screen_configuration","num":0,"name":"screen_index","type":"uint8" },
    { "message":"exd_screen_configuration","num":1,"name":"field_count","type":"uint8" },
    { "message":"exd_screen_configuration","num":2,"name":"layout","type":"exd_layout" },
    { "message":"exd_screen_configuration","num":3,"name":"screen_enabled","type":"bool" },
    { "message":"exd_data_field_configuration","num":0,"name":"screen_index","type":"uint8" },
    { "message":"exd_data_field_configuration","num":1,"name":"concept_field","type":"byte" },
    { "message":"exd_data_field_configuration","num":2,"name":"field_id","type":"uint8" },
    { "message":"exd_data_field_configuration","num":3,"name":"concept_count","type":"uint8" },
    { "message":"exd_data_field_configuration","num":4,"name":"display_type","type":"exd_display_type" },
    { "message":"exd_data_field_configuration","num":5,"name":"title","type":"string","array":"[32]" },
    { "message":"exd_data_concept_configuration","num":0,"name":"screen_index","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":1,"name":"concept_field","type":"byte" },
    { "message":"exd_data_concept_configuration","num":2,"name":"field_id","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":3,"name":"concept_index","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":4,"name":"data_page","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":5,"name":"concept_key","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":6,"name":"scaling","type":"uint8" },
    { "message":"exd_data_concept_configuration","num":8,"name":"data_units","type":"exd_data_units" },
    { "message":"exd_data_concept_configuration","num":9,"name":"qualifier","type":"exd_qualifiers" },
    { "message":"exd_data_concept_configuration","num":10,"name":"descriptor","type":"exd_descriptors" },
    { "message":"exd_data_concept_configuration","num":11,"name":"is_signed","type":"bool" },
    { "message":"dive_summary","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"dive_summary","num":0,"name":"reference_mesg","type":"mesg_num" },
    { "message":"dive_summary","num":1,"name":"reference_index","type":"message_index" },
    { "message":"dive_summary","num":2,"name":"avg_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_summary","num":3,"name":"max_depth","type":"uint32","scale":1000,"units":"m" },
    { "message":"dive_summary","num":4,"name":"surface_interval","type":"uint32","scale":1,"units":"s" },
    { "message":"dive_summary","num":5,"name":"start_cns","type":"uint8","scale":1,"units":"percent" },
    { "message":"dive_summary","num":6,"name":"end_cns","type":"uint8","scale":1,"units":"percent" },
    { "message":"dive_summary","num":7,"name":"start_n2","type":"uint16","scale":1,"units":"percent" },
    { "message":"dive_summary","num":8,"name":"end_n2","type":"uint16","scale":1,"units":"percent" },
    { "message":"dive_summary","num":9,"name":"o2_toxicity","type":"uint16","units":"OTUs" },
    { "message":"dive_summary","num":10,"name":"dive_number","type":"uint32" },
    { "message":"dive_summary","num":11,"name":"bottom_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"dive_summary","num":12,"name":"avg_pressure_sac","type":"uint16","scale":100,"units":"bar/min" },
    { "message":"dive_summary","num":13,"name":"avg_volume_sac","type":"uint16","scale":100,"units":"L/min" },
    { "message":"dive_summary","num":14,"name":"avg_rmv","type":"uint16","scale":100,"units":"L/min" },
    { "message":"dive_summary","num":15,"name":"descent_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"dive_summary","num":16,"name":"ascent_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"dive_summary","num":17,"name":"avg_ascent_rate","type":"sint32","scale":1000,"units":"m/s" },
    { "message":"dive_summary","num":22,"name":"avg_descent_rate","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"dive_summary","num":23,"name":"max_ascent_rate","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"dive_summary","num":24,"name":"max_descent_rate","type":"uint32","scale":1000,"units":"m/s" },
    { "message":"dive_summary","num":25,"name":"hang_time","type":"uint32","scale":1000,"units":"s" },
    { "message":"hrv","num":0,"name":"time","type":"uint16","array":"[N]","scale":1000,"units":"s" },
    { "message":"beat_intervals","num":253,"name":"timestamp","type":"date_time" },
    { "message":"beat_intervals","num":0,"name":"timestamp_ms","type":"uint16","units":"ms" },
    { "message":"beat_intervals","num":1,"name":"time","type":"uint16","array":"[N]","units":"ms" },
    { "message":"hrv_status_summary","num":253,"name":"timestamp","type":"date_time" },
    { "message":"hrv_status_summary","num":0,"name":"weekly_average","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":1,"name":"last_night_average","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":2,"name":"last_night_5_min_high","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":3,"name":"baseline_low_upper","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":4,"name":"baseline_balanced_lower","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":5,"name":"baseline_balanced_upper","type":"uint16","scale":128,"units":"ms" },
    { "message":"hrv_status_summary","num":6,"name":"status","type":"hrv_status" },
    { "message":"hrv_value","num":253,"name":"timestamp","type":"date_time" },
    { "message":"hrv_value","num":0,"name":"value","type":"uint16","scale":128,"units":"ms" },
    { "message":"respiration_rate","num":253,"name":"timestamp","type":"date_time" },
    { "message":"respiration_rate","num":0,"name":"respiration_rate","type":"sint16","scale":100,"units":"breaths/min" },
    { "message":"tank_update","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"tank_update","num":0,"name":"sensor","type":"ant_channel_id" },
    { "message":"tank_update","num":1,"name":"pressure","type":"uint16","scale":100,"units":"bar" },
    { "message":"tank_summary","num":253,"name":"timestamp","type":"date_time","units":"s" },
    { "message":"tank_summary","num":0,"name":"sensor","type":"ant_channel_id" },
    { "message":"tank_summary","num":1,"name":"start_pressure","type":"uint16","scale":100,"units":"bar" },
    { "message":"tank_summary","num":2,"name":"end_pressure","type":"uint16","scale":100,"units":"bar" },
    { "message":"tank_summary","num":3,"name":"volume_used","type":"uint32","scale":100,"units":"L" },
    { "message":"sleep_assessment","num":0,"name":"combined_awake_score","type":"uint8" },
    { "message":"sleep_assessment","num":1,"name":"awake_time_score","type":"uint8" },
    { "message":"sleep_assessment","num":2,"name":"awakenings_count_score","type":"uint8" },
    { "message":"sleep_assessment","num":3,"name":"deep_sleep_score","type":"uint8" },
    { "message":"sleep_assessment","num":4,"name":"sleep_duration_score","type":"uint8" },
    { "message":"sleep_assessment","num":5,"name":"light_sleep_score","type":"uint8" },
    { "message":"sleep_assessment","num":6,"name":"overall_sleep_score","type":"uint8" },
    { "message":"sleep_assessment","num":7,"name":"sleep_quality_score","type":"uint8" },
    { "message":"sleep_assessment","num":8,"name":"sleep_recovery_score","type":"uint8" },
    { "message":"sleep_assessment","num":9,"name":"rem_sleep_score","type":"uint8" },
    { "message":"sleep_assessment","num":10,"name":"sleep_restlessness_score","type":"uint8" },
    { "message":"sleep_assessment","num":11,"name":"awakenings_count","type":"uint8" },
    { "message":"sleep_assessment","num":14,"name":"interruptions_score","type":"uint8" },
    { "message":"sleep_assessment","num":15,"name":"average_stress_during_sleep","type":"uint16","scale":100 }

],

