#[cfg(feature = "serde")]
use serde::{Serialize, Serializer};
pub const PROFILE_VERSION: u16 = 21205;
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum ProfileType {
Enum,
Sint8,
Uint8,
Sint16,
Uint16,
Sint32,
Uint32,
String,
Float32,
Float64,
Uint8z,
Uint16z,
Uint32z,
Byte,
Sint64,
Uint64,
Uint64z,
Bool,
File,
MesgNum,
Checksum,
FileFlags,
MesgCount,
DateTime,
LocalDateTime,
MessageIndex,
DeviceIndex,
Gender,
Language,
LanguageBits0,
LanguageBits1,
LanguageBits2,
LanguageBits3,
LanguageBits4,
TimeZone,
DisplayMeasure,
DisplayHeart,
DisplayPower,
DisplayPosition,
Switch,
Sport,
SportBits0,
SportBits1,
SportBits2,
SportBits3,
SportBits4,
SportBits5,
SportBits6,
SubSport,
SportEvent,
Activity,
Intensity,
SessionTrigger,
AutolapTrigger,
LapTrigger,
TimeMode,
BacklightMode,
DateMode,
BacklightTimeout,
Event,
EventType,
TimerTrigger,
FitnessEquipmentState,
Tone,
Autoscroll,
ActivityClass,
HrZoneCalc,
PwrZoneCalc,
WktStepDuration,
WktStepTarget,
Goal,
GoalRecurrence,
GoalSource,
Schedule,
CoursePoint,
Manufacturer,
GarminProduct,
AntplusDeviceType,
AntNetwork,
WorkoutCapabilities,
BatteryStatus,
HrType,
CourseCapabilities,
Weight,
WorkoutHr,
WorkoutPower,
BpStatus,
UserLocalId,
SwimStroke,
ActivityType,
ActivitySubtype,
ActivityLevel,
Side,
LeftRightBalance,
LeftRightBalance100,
LengthType,
DayOfWeek,
ConnectivityCapabilities,
WeatherReport,
WeatherStatus,
WeatherSeverity,
WeatherSevereType,
TimeIntoDay,
LocaltimeIntoDay,
StrokeType,
BodyLocation,
SegmentLapStatus,
SegmentLeaderboardType,
SegmentDeleteStatus,
SegmentSelectionType,
SourceType,
LocalDeviceType,
BleDeviceType,
AntChannelId,
DisplayOrientation,
WorkoutEquipment,
WatchfaceMode,
DigitalWatchfaceLayout,
AnalogWatchfaceLayout,
RiderPositionType,
PowerPhaseType,
CameraEventType,
SensorType,
BikeLightNetworkConfigType,
CommTimeoutType,
CameraOrientationType,
AttitudeStage,
AttitudeValidity,
AutoSyncFrequency,
ExdLayout,
ExdDisplayType,
ExdDataUnits,
ExdQualifiers,
ExdDescriptors,
AutoActivityDetect,
SupportedExdScreenLayouts,
FitBaseType,
TurnType,
BikeLightBeamAngleMode,
FitBaseUnit,
SetType,
MaxMetCategory,
ExerciseCategory,
BenchPressExerciseName,
CalfRaiseExerciseName,
CardioExerciseName,
CarryExerciseName,
ChopExerciseName,
CoreExerciseName,
CrunchExerciseName,
CurlExerciseName,
DeadliftExerciseName,
FlyeExerciseName,
HipRaiseExerciseName,
HipStabilityExerciseName,
HipSwingExerciseName,
HyperextensionExerciseName,
LateralRaiseExerciseName,
LegCurlExerciseName,
LegRaiseExerciseName,
LungeExerciseName,
OlympicLiftExerciseName,
PlankExerciseName,
PlyoExerciseName,
PullUpExerciseName,
PushUpExerciseName,
RowExerciseName,
ShoulderPressExerciseName,
ShoulderStabilityExerciseName,
ShrugExerciseName,
SitUpExerciseName,
SquatExerciseName,
TotalBodyExerciseName,
MoveExerciseName,
PoseExerciseName,
TricepsExtensionExerciseName,
WarmUpExerciseName,
RunExerciseName,
BikeExerciseName,
BandedExercisesExerciseName,
BattleRopeExerciseName,
EllipticalExerciseName,
FloorClimbExerciseName,
IndoorBikeExerciseName,
IndoorRowExerciseName,
LadderExerciseName,
SandbagExerciseName,
SledExerciseName,
SledgeHammerExerciseName,
StairStepperExerciseName,
SuspensionExerciseName,
TireExerciseName,
BikeOutdoorExerciseName,
RunIndoorExerciseName,
WaterType,
TissueModelType,
DiveGasStatus,
DiveAlert,
DiveAlarmType,
DiveBacklightMode,
SleepLevel,
Spo2MeasurementType,
CcrSetpointSwitchMode,
DiveGasMode,
ProjectileType,
FaveroProduct,
SplitType,
ClimbProEvent,
GasConsumptionRateType,
TapSensitivity,
RadarThreatLevelType,
SleepDisruptionSeverity,
NapPeriodFeedback,
NapSource,
MaxMetSpeedSource,
MaxMetHeartRateSource,
HrvStatus,
NoFlyTimeMode,
Invalid,
}
#[cfg(feature = "serde")]
impl Serialize for ProfileType {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.serialize_str(match self {
Self::Enum => "enum",
Self::Sint8 => "sint8",
Self::Uint8 => "uint8",
Self::Sint16 => "sint16",
Self::Uint16 => "uint16",
Self::Sint32 => "sint32",
Self::Uint32 => "uint32",
Self::String => "string",
Self::Float32 => "float32",
Self::Float64 => "float64",
Self::Uint8z => "uint8z",
Self::Uint16z => "uint16z",
Self::Uint32z => "uint32z",
Self::Byte => "byte",
Self::Sint64 => "sint64",
Self::Uint64 => "uint64",
Self::Uint64z => "uint64z",
Self::Bool => "bool",
Self::File => "file",
Self::MesgNum => "mesg_num",
Self::Checksum => "checksum",
Self::FileFlags => "file_flags",
Self::MesgCount => "mesg_count",
Self::DateTime => "date_time",
Self::LocalDateTime => "local_date_time",
Self::MessageIndex => "message_index",
Self::DeviceIndex => "device_index",
Self::Gender => "gender",
Self::Language => "language",
Self::LanguageBits0 => "language_bits_0",
Self::LanguageBits1 => "language_bits_1",
Self::LanguageBits2 => "language_bits_2",
Self::LanguageBits3 => "language_bits_3",
Self::LanguageBits4 => "language_bits_4",
Self::TimeZone => "time_zone",
Self::DisplayMeasure => "display_measure",
Self::DisplayHeart => "display_heart",
Self::DisplayPower => "display_power",
Self::DisplayPosition => "display_position",
Self::Switch => "switch",
Self::Sport => "sport",
Self::SportBits0 => "sport_bits_0",
Self::SportBits1 => "sport_bits_1",
Self::SportBits2 => "sport_bits_2",
Self::SportBits3 => "sport_bits_3",
Self::SportBits4 => "sport_bits_4",
Self::SportBits5 => "sport_bits_5",
Self::SportBits6 => "sport_bits_6",
Self::SubSport => "sub_sport",
Self::SportEvent => "sport_event",
Self::Activity => "activity",
Self::Intensity => "intensity",
Self::SessionTrigger => "session_trigger",
Self::AutolapTrigger => "autolap_trigger",
Self::LapTrigger => "lap_trigger",
Self::TimeMode => "time_mode",
Self::BacklightMode => "backlight_mode",
Self::DateMode => "date_mode",
Self::BacklightTimeout => "backlight_timeout",
Self::Event => "event",
Self::EventType => "event_type",
Self::TimerTrigger => "timer_trigger",
Self::FitnessEquipmentState => "fitness_equipment_state",
Self::Tone => "tone",
Self::Autoscroll => "autoscroll",
Self::ActivityClass => "activity_class",
Self::HrZoneCalc => "hr_zone_calc",
Self::PwrZoneCalc => "pwr_zone_calc",
Self::WktStepDuration => "wkt_step_duration",
Self::WktStepTarget => "wkt_step_target",
Self::Goal => "goal",
Self::GoalRecurrence => "goal_recurrence",
Self::GoalSource => "goal_source",
Self::Schedule => "schedule",
Self::CoursePoint => "course_point",
Self::Manufacturer => "manufacturer",
Self::GarminProduct => "garmin_product",
Self::AntplusDeviceType => "antplus_device_type",
Self::AntNetwork => "ant_network",
Self::WorkoutCapabilities => "workout_capabilities",
Self::BatteryStatus => "battery_status",
Self::HrType => "hr_type",
Self::CourseCapabilities => "course_capabilities",
Self::Weight => "weight",
Self::WorkoutHr => "workout_hr",
Self::WorkoutPower => "workout_power",
Self::BpStatus => "bp_status",
Self::UserLocalId => "user_local_id",
Self::SwimStroke => "swim_stroke",
Self::ActivityType => "activity_type",
Self::ActivitySubtype => "activity_subtype",
Self::ActivityLevel => "activity_level",
Self::Side => "side",
Self::LeftRightBalance => "left_right_balance",
Self::LeftRightBalance100 => "left_right_balance_100",
Self::LengthType => "length_type",
Self::DayOfWeek => "day_of_week",
Self::ConnectivityCapabilities => "connectivity_capabilities",
Self::WeatherReport => "weather_report",
Self::WeatherStatus => "weather_status",
Self::WeatherSeverity => "weather_severity",
Self::WeatherSevereType => "weather_severe_type",
Self::TimeIntoDay => "time_into_day",
Self::LocaltimeIntoDay => "localtime_into_day",
Self::StrokeType => "stroke_type",
Self::BodyLocation => "body_location",
Self::SegmentLapStatus => "segment_lap_status",
Self::SegmentLeaderboardType => "segment_leaderboard_type",
Self::SegmentDeleteStatus => "segment_delete_status",
Self::SegmentSelectionType => "segment_selection_type",
Self::SourceType => "source_type",
Self::LocalDeviceType => "local_device_type",
Self::BleDeviceType => "ble_device_type",
Self::AntChannelId => "ant_channel_id",
Self::DisplayOrientation => "display_orientation",
Self::WorkoutEquipment => "workout_equipment",
Self::WatchfaceMode => "watchface_mode",
Self::DigitalWatchfaceLayout => "digital_watchface_layout",
Self::AnalogWatchfaceLayout => "analog_watchface_layout",
Self::RiderPositionType => "rider_position_type",
Self::PowerPhaseType => "power_phase_type",
Self::CameraEventType => "camera_event_type",
Self::SensorType => "sensor_type",
Self::BikeLightNetworkConfigType => "bike_light_network_config_type",
Self::CommTimeoutType => "comm_timeout_type",
Self::CameraOrientationType => "camera_orientation_type",
Self::AttitudeStage => "attitude_stage",
Self::AttitudeValidity => "attitude_validity",
Self::AutoSyncFrequency => "auto_sync_frequency",
Self::ExdLayout => "exd_layout",
Self::ExdDisplayType => "exd_display_type",
Self::ExdDataUnits => "exd_data_units",
Self::ExdQualifiers => "exd_qualifiers",
Self::ExdDescriptors => "exd_descriptors",
Self::AutoActivityDetect => "auto_activity_detect",
Self::SupportedExdScreenLayouts => "supported_exd_screen_layouts",
Self::FitBaseType => "fit_base_type",
Self::TurnType => "turn_type",
Self::BikeLightBeamAngleMode => "bike_light_beam_angle_mode",
Self::FitBaseUnit => "fit_base_unit",
Self::SetType => "set_type",
Self::MaxMetCategory => "max_met_category",
Self::ExerciseCategory => "exercise_category",
Self::BenchPressExerciseName => "bench_press_exercise_name",
Self::CalfRaiseExerciseName => "calf_raise_exercise_name",
Self::CardioExerciseName => "cardio_exercise_name",
Self::CarryExerciseName => "carry_exercise_name",
Self::ChopExerciseName => "chop_exercise_name",
Self::CoreExerciseName => "core_exercise_name",
Self::CrunchExerciseName => "crunch_exercise_name",
Self::CurlExerciseName => "curl_exercise_name",
Self::DeadliftExerciseName => "deadlift_exercise_name",
Self::FlyeExerciseName => "flye_exercise_name",
Self::HipRaiseExerciseName => "hip_raise_exercise_name",
Self::HipStabilityExerciseName => "hip_stability_exercise_name",
Self::HipSwingExerciseName => "hip_swing_exercise_name",
Self::HyperextensionExerciseName => "hyperextension_exercise_name",
Self::LateralRaiseExerciseName => "lateral_raise_exercise_name",
Self::LegCurlExerciseName => "leg_curl_exercise_name",
Self::LegRaiseExerciseName => "leg_raise_exercise_name",
Self::LungeExerciseName => "lunge_exercise_name",
Self::OlympicLiftExerciseName => "olympic_lift_exercise_name",
Self::PlankExerciseName => "plank_exercise_name",
Self::PlyoExerciseName => "plyo_exercise_name",
Self::PullUpExerciseName => "pull_up_exercise_name",
Self::PushUpExerciseName => "push_up_exercise_name",
Self::RowExerciseName => "row_exercise_name",
Self::ShoulderPressExerciseName => "shoulder_press_exercise_name",
Self::ShoulderStabilityExerciseName => "shoulder_stability_exercise_name",
Self::ShrugExerciseName => "shrug_exercise_name",
Self::SitUpExerciseName => "sit_up_exercise_name",
Self::SquatExerciseName => "squat_exercise_name",
Self::TotalBodyExerciseName => "total_body_exercise_name",
Self::MoveExerciseName => "move_exercise_name",
Self::PoseExerciseName => "pose_exercise_name",
Self::TricepsExtensionExerciseName => "triceps_extension_exercise_name",
Self::WarmUpExerciseName => "warm_up_exercise_name",
Self::RunExerciseName => "run_exercise_name",
Self::BikeExerciseName => "bike_exercise_name",
Self::BandedExercisesExerciseName => "banded_exercises_exercise_name",
Self::BattleRopeExerciseName => "battle_rope_exercise_name",
Self::EllipticalExerciseName => "elliptical_exercise_name",
Self::FloorClimbExerciseName => "floor_climb_exercise_name",
Self::IndoorBikeExerciseName => "indoor_bike_exercise_name",
Self::IndoorRowExerciseName => "indoor_row_exercise_name",
Self::LadderExerciseName => "ladder_exercise_name",
Self::SandbagExerciseName => "sandbag_exercise_name",
Self::SledExerciseName => "sled_exercise_name",
Self::SledgeHammerExerciseName => "sledge_hammer_exercise_name",
Self::StairStepperExerciseName => "stair_stepper_exercise_name",
Self::SuspensionExerciseName => "suspension_exercise_name",
Self::TireExerciseName => "tire_exercise_name",
Self::BikeOutdoorExerciseName => "bike_outdoor_exercise_name",
Self::RunIndoorExerciseName => "run_indoor_exercise_name",
Self::WaterType => "water_type",
Self::TissueModelType => "tissue_model_type",
Self::DiveGasStatus => "dive_gas_status",
Self::DiveAlert => "dive_alert",
Self::DiveAlarmType => "dive_alarm_type",
Self::DiveBacklightMode => "dive_backlight_mode",
Self::SleepLevel => "sleep_level",
Self::Spo2MeasurementType => "spo2_measurement_type",
Self::CcrSetpointSwitchMode => "ccr_setpoint_switch_mode",
Self::DiveGasMode => "dive_gas_mode",
Self::ProjectileType => "projectile_type",
Self::FaveroProduct => "favero_product",
Self::SplitType => "split_type",
Self::ClimbProEvent => "climb_pro_event",
Self::GasConsumptionRateType => "gas_consumption_rate_type",
Self::TapSensitivity => "tap_sensitivity",
Self::RadarThreatLevelType => "radar_threat_level_type",
Self::SleepDisruptionSeverity => "sleep_disruption_severity",
Self::NapPeriodFeedback => "nap_period_feedback",
Self::NapSource => "nap_source",
Self::MaxMetSpeedSource => "max_met_speed_source",
Self::MaxMetHeartRateSource => "max_met_heart_rate_source",
Self::HrvStatus => "hrv_status",
Self::NoFlyTimeMode => "no_fly_time_mode",
Self::Invalid => "invalid",
})
}
}