fitsdk 0.1.0

A small crate which provides a simple API exposing the FIT SDK.
Documentation
use super::MessageType;

/// Convert a global_message_id into a `MessageType` enum
pub fn match_messagetype(k: u16) -> MessageType {
    match k {
        0 => MessageType::FileId,
        1 => MessageType::Capabilities,
        2 => MessageType::DeviceSettings,
        3 => MessageType::UserProfile,
        4 => MessageType::HrmProfile,
        5 => MessageType::SdmProfile,
        6 => MessageType::BikeProfile,
        7 => MessageType::ZonesTarget,
        8 => MessageType::HrZone,
        9 => MessageType::PowerZone,
        10 => MessageType::MetZone,
        12 => MessageType::Sport,
        15 => MessageType::Goal,
        18 => MessageType::Session,
        19 => MessageType::Lap,
        20 => MessageType::Record,
        21 => MessageType::Event,
        23 => MessageType::DeviceInfo,
        26 => MessageType::Workout,
        27 => MessageType::WorkoutStep,
        28 => MessageType::Schedule,
        30 => MessageType::WeightScale,
        31 => MessageType::Course,
        32 => MessageType::CoursePoint,
        33 => MessageType::Totals,
        34 => MessageType::Activity,
        35 => MessageType::Software,
        37 => MessageType::FileCapabilities,
        38 => MessageType::MesgCapabilities,
        39 => MessageType::FieldCapabilities,
        49 => MessageType::FileCreator,
        51 => MessageType::BloodPressure,
        53 => MessageType::SpeedZone,
        55 => MessageType::Monitoring,
        72 => MessageType::TrainingFile,
        78 => MessageType::Hrv,
        80 => MessageType::AntRx,
        81 => MessageType::AntTx,
        82 => MessageType::AntChannelId,
        101 => MessageType::Length,
        103 => MessageType::MonitoringInfo,
        105 => MessageType::Pad,
        106 => MessageType::SlaveDevice,
        127 => MessageType::Connectivity,
        128 => MessageType::WeatherConditions,
        129 => MessageType::WeatherAlert,
        131 => MessageType::CadenceZone,
        132 => MessageType::Hr,
        142 => MessageType::SegmentLap,
        145 => MessageType::MemoGlob,
        148 => MessageType::SegmentId,
        149 => MessageType::SegmentLeaderboardEntry,
        150 => MessageType::SegmentPoint,
        151 => MessageType::SegmentFile,
        158 => MessageType::WorkoutSession,
        159 => MessageType::WatchfaceSettings,
        160 => MessageType::GpsMetadata,
        161 => MessageType::CameraEvent,
        162 => MessageType::TimestampCorrelation,
        164 => MessageType::GyroscopeData,
        165 => MessageType::AccelerometerData,
        167 => MessageType::ThreeDSensorCalibration,
        169 => MessageType::VideoFrame,
        174 => MessageType::ObdiiData,
        177 => MessageType::NmeaSentence,
        178 => MessageType::AviationAttitude,
        184 => MessageType::Video,
        185 => MessageType::VideoTitle,
        186 => MessageType::VideoDescription,
        187 => MessageType::VideoClip,
        188 => MessageType::OhrSettings,
        200 => MessageType::ExdScreenConfiguration,
        201 => MessageType::ExdDataFieldConfiguration,
        202 => MessageType::ExdDataConceptConfiguration,
        206 => MessageType::FieldDescription,
        207 => MessageType::DeveloperDataId,
        208 => MessageType::MagnetometerData,
        209 => MessageType::BarometerData,
        210 => MessageType::OneDSensorCalibration,
        225 => MessageType::Set,
        227 => MessageType::StressLevel,
        258 => MessageType::DiveSettings,
        259 => MessageType::DiveGas,
        262 => MessageType::DiveAlarm,
        264 => MessageType::ExerciseTitle,
        268 => MessageType::DiveSummary,
        285 => MessageType::Jump,
        0xFF00 => MessageType::MfgRangeMin,
        0xFFFE => MessageType::MfgRangeMax,
        _ => MessageType::None
    }
}