bluetooth_mesh 0.1.4

Cross-platform, full Bluetooth Mesh stack implemented in Rust. Following the Bluetooth Mesh Spec Core v1.0 by SIG. Designed to work with any almost any BLE radio (uses https://github.com/AndrewGi/btle/ for platform dependent Bluetooth drivers). While a stack is provided by the library, all the primatives and objects needed to customize and create your own stack are provided. See https://github.com/AndrewGi/BluetoothMeshRust for more.
Documentation
#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Debug, Hash)]
#[repr(u16)]
pub enum Characteristics {
    AerobicHeartRateLowerLimit = 0x2A7E,
    AerobicHeartRateUpperLimit = 0x2A84,
    AerobicThreshold = 0x2A7F,
    Age = 0x2A80,
    Aggregate = 0x2A5A,
    AlertCategoryID = 0x2A43,
    AlertCategoryIDBitMask = 0x2A42,
    AlertLevel = 0x2A06,
    AlertNotificationControlPoint = 0x2A44,
    AlertStatus = 0x2A3F,
    Altitude = 0x2AB3,
    AnaerobicHeartRateLowerLimit = 0x2A81,
    AnaerobicHeartRateUpperLimit = 0x2A82,
    AnaerobicThreshold = 0x2A83,
    Analog = 0x2A58,
    AnalogOutput = 0x2A59,
    ApparentWindDirection = 0x2A73,
    ApparentWindSpeed = 0x2A72,
    Appearance = 0x2A01,
    BarometricPressureTrend = 0x2AA3,
    BatteryLevel = 0x2A19,
    BatteryLevelState = 0x2A1B,
    BatteryPowerState = 0x2A1A,
    BloodPressureFeature = 0x2A49,
    BloodPressureMeasurement = 0x2A35,
    BodyCompositionFeature = 0x2A9B,
    BodyCompositionMeasurement = 0x2A9C,
    BodySensorLocation = 0x2A38,
    BondManagementControlPoint = 0x2AA4,
    BondManagementFeatures = 0x2AA5,
    BootKeyboardInputReport = 0x2A22,
    BootKeyboardOutputReport = 0x2A32,
    BootMouseInput = 0x2B2C,
    CGMFeature = 0x2AA8,
    CGMMeasurement = 0x2AA7,
    CGMSessionRunTime = 0x2AAB,
    CGMSessionStartTime = 0x2AAA,
    CGMSpecificOpsControlPoint = 0x2AAC,
    CGMStatus = 0x2AA9,
    CrossTrainerData = 0x2ACE,
    CSCFeature = 0x2A5C,
    CSCMeasurement = 0x2A5B,
    CurrentTime = 0x2A2B,
    CyclingPowerControlPoint = 0x2A66,
    CyclingPowerFeature = 0x2A65,
    CyclingPowerMeasurement = 0x2A63,
    CyclingPowerVector = 0x2A64,
    DatabaseChangeIncrement = 0x2A99,
    DateOfBirth = 0x2A85,
    DateOfThresholdAssessment = 0x2A86,
    DateTime = 0x2A08,
    DateUTC = 0x2AED,
    DayDateTime = 0x2A0A,
    DayOfWeek = 0x2A09,
    DescriptorValueChanged = 0x2A7D,
    DewPoint = 0x2A7B,
    Digital = 0x2A56,
    DigitalOutput = 0x2A57,
    DSTOffset = 0x2A0D,
    Elevation = 0x2A6C,
    Email = 0x2B2E,
    ExactTime100 = 0x2A0B,
    ExactTime256 = 0x2A0C,
    FatBurnHeartRateLowerLimit = 0x2A88,
    FatBurnHeartRateUpperLimit = 0x2A89,
    FirmwareRevisionString = 0x2A26,
    FirstName = 0x2A8A,
    FitnessMachineControlPoint = 0x2AD9,
    FitnessMachineFeature = 0x2ACC,
    FitnessMachineStatus = 0x2ADA,
    FiveZoneHeartRateLimits = 0x2A8B,
    FloorNumber = 0x2AB2,
    CentralAddressResolution = 0x2AA6,
    DeviceName = 0x2A00,
    PeripheralPreferredConnectionParameters = 0x2A04,
    PeripheralPrivacyFlag = 0x2A02,
    ReconnectionAddress = 0x2A03,
    ServiceChanged = 0x2A05,
    Gender = 0x2A8C,
    GlucoseFeature = 0x2A51,
    GlucoseMeasurement = 0x2A18,
    GlucoseMeasurementContext = 0x2A34,
    GustFactor = 0x2A74,
    HardwareRevisionString = 0x2A27,
    HeartRateControlPoint = 0x2A39,
    HeartRateMax = 0x2A8D,
    HeartRateMeasurement = 0x2A37,
    HeatIndex = 0x2A7A,
    Height = 0x2A8E,
    HIDControlPoint = 0x2A4C,
    HIDInformation = 0x2A4A,
    HipCircumference = 0x2A8F,
    HTTPControlPoint = 0x2ABA,
    HTTPEntityBody = 0x2AB9,
    HTTPHeaders = 0x2AB7,
    HTTPStatusCode = 0x2AB8,
    HTTPSSecurity = 0x2ABB,
    Humidity = 0x2A6F,
    IDDAnnunciationStatus = 0x2B22,
    IDDCommandControlPoint = 0x2B25,
    IDDCommandData = 0x2B26,
    IDDFeatures = 0x2B23,
    IDDHistoryData = 0x2B28,
    IDDRecordAccessControlPoint = 0x2B27,
    IDDStatus = 0x2B21,
    IDDStatusChanged = 0x2B20,
    IDDStatusReaderControlPoint = 0x2B24,
    IEEE11073Part20601RegulatoryCertificationDataList = 0x2A2A,
    IndoorBikeData = 0x2AD2,
    IndoorPositioningConfiguration = 0x2AAD,
    IntermediateCuffPressure = 0x2A36,
    IntermediateTemperature = 0x2A1E,
    Irradiance = 0x2A77,
    Language = 0x2AA2,
    LastName = 0x2A90,
    Latitude = 0x2AAE,
    LNControlPoint = 0x2A6B,
    LNFeature = 0x2A6A,
    LocalEastCoordinate = 0x2AB1,
    LocalNorthCoordinate = 0x2AB0,
    LocalTimeInformation = 0x2A0F,
    LocationAndSpeedCharacteristic = 0x2A67,
    LocationName = 0x2AB5,
    Longitude = 0x2AAF,
    MagneticDeclination = 0x2A2C,
    MagneticFluxDensity2D = 0x2AA0,
    MagneticFluxDensity3D = 0x2AA1,
    ManufacturerNameString = 0x2A29,
    MaximumRecommendedHeartRate = 0x2A91,
    MeasurementInterval = 0x2A21,
    ModelNumberString = 0x2A24,
    Navigation = 0x2A68,
    NetworkAvailability = 0x2A3E,
    NewAlert = 0x2A46,
    ObjectActionControlPoint = 0x2AC5,
    ObjectChanged = 0x2AC8,
    ObjectFirstCreated = 0x2AC1,
    ObjectID = 0x2AC3,
    ObjectLastModified = 0x2AC2,
    ObjectListControlPoint = 0x2AC6,
    ObjectListFilter = 0x2AC7,
    ObjectName = 0x2ABE,
    ObjectProperties = 0x2AC4,
    ObjectSize = 0x2AC0,
    ObjectType = 0x2ABF,
    OTSFeature = 0x2ABD,
    PLXContinuousMeasurementCharacteristic = 0x2A5F,
    PLXFeatures = 0x2A60,
    PLXSpotCheckMeasurement = 0x2A5E,
    PnPID = 0x2A50,
    PollenConcentration = 0x2A75,
    Position2D = 0x2A2F,
    Position3D = 0x2A30,
    PositionQuality = 0x2A69,
    Pressure = 0x2A6D,
    ProtocolMode = 0x2A4E,
    PulseOximetryControlPoint = 0x2A62,
    Rainfall = 0x2A78,
    RCFeature = 0x2B1D,
    RCSettings = 0x2B1E,
    ReconnectionConfigurationControlPoint = 0x2B1F,
    RecordAccessControlPoint = 0x2A52,
    ReferenceTimeInformation = 0x2A14,
    RegisteredUserCharacteristic = 0x2B37,
    Removable = 0x2A3A,
    Report = 0x2A4D,
    ReportMap = 0x2A4B,
    ResolvablePrivateAddressOnly = 0x2AC9,
    RestingHeartRate = 0x2A92,
    RingerControlPoint = 0x2A40,
    RingerSetting = 0x2A41,
    RowerData = 0x2AD1,
    RSCFeature = 0x2A54,
    RSCMeasurement = 0x2A53,
    SCControlPoint = 0x2A55,
    ScanIntervalWindow = 0x2A4F,
    ScanRefresh = 0x2A31,
    ScientificTemperatureCelsius = 0x2A3C,
    SecondaryTimeZone = 0x2A10,
    SensorLocation = 0x2A5D,
    SerialNumberString = 0x2A25,
    ServiceRequired = 0x2A3B,
    SoftwareRevisionString = 0x2A28,
    SportTypeForAerobicAndAnaerobicThresholds = 0x2A93,
    StairClimberData = 0x2AD0,
    StepClimberData = 0x2ACF,
    String = 0x2A3D,
    SupportedHeartRateRange = 0x2AD7,
    SupportedInclinationRange = 0x2AD5,
    SupportedNewAlertCategory = 0x2A47,
    SupportedPowerRange = 0x2AD8,
    SupportedResistanceLevelRange = 0x2AD6,
    SupportedSpeedRange = 0x2AD4,
    SupportedUnreadAlertCategory = 0x2A48,
    SystemID = 0x2A23,
    TDSControlPoint = 0x2ABC,
    Temperature = 0x2A6E,
    TemperatureCelsius = 0x2A1F,
    TemperatureFahrenheit = 0x2A20,
    TemperatureMeasurement = 0x2A1C,
    TemperatureType = 0x2A1D,
    ThreeZoneHeartRateLimits = 0x2A94,
    TimeAccuracy = 0x2A12,
    TimeBroadcast = 0x2A15,
    TimeSource = 0x2A13,
    TimeUpdateControlPoint = 0x2A16,
    TimeUpdateState = 0x2A17,
    TimeWithDST = 0x2A11,
    TimeZone = 0x2A0E,
    TrainingStatus = 0x2AD3,
    TreadmillData = 0x2ACD,
    TrueWindDirection = 0x2A71,
    TrueWindSpeed = 0x2A70,
    TwoZoneHeartRateLimit = 0x2A95,
    TxPowerLevel = 0x2A07,
    Uncertainty = 0x2AB4,
    UnreadAlertStatus = 0x2A45,
    URI = 0x2AB6,
    UserControlPoint = 0x2A9F,
    UserIndex = 0x2A9A,
    UVIndex = 0x2A76,
    VO2Max = 0x2A96,
    WaistCircumference = 0x2A97,
    Weight = 0x2A98,
    WeightMeasurement = 0x2A9D,
    WeightScaleFeature = 0x2A9E,
    WindChill = 0x2A79,
}