TypeScript/ES/JS for working with Bluetooth devices via node.
This library does not attempt to do all the low-level Web Bluetooth API stuff. Instead, it contains a bunch of types, classes, and functions auto-generated from the Bluetooth Characteristic and Descriptor reference XML.
Basically, it attempts to help with that annoying step of "okay, I got my nodejs/browser talking to the device, now how do I read the data?" part.
⚠️ ⚠️ ⚠️ This library does not attempt to cover the various edge cases of the real world or the Web Bluetooth spec.⚠️ ⚠️ ⚠️
Indeed, I probably got a bunch of stuff wrong, as the source XML files for the data specs have almost zero examples. I've tested it on a few of my own devices (heart rate monitors, mostly), but I don't claim that all the fiddly stuff will actually work. Use at your own risk. YMMV. All that.
As most of the code in this library is auto-generated, it all follows the same pattern:
- An interface for the fields parsed from the Characteristic / Descriptor.
- A class which implements that interface, and also holds static constants like the UUID and Name.
- A parser function which can read a
DataView
and generate instances of the class.
I have not converted all the Characteristics or Descriptors.
If you have access to one of the XML sources you'd like to see added, file a GitHub issue.
You can also try generating them on your own using the scripts/from-xml.ts
and scripts/gatt-assigned.ts
scripts.
The former does most of the code generation, while the latter just adds to the UUID records.
⚠️ ⚠️ ⚠️ The code here is based off the circa 2017 XML specs, not the circa 2020 YAML specs. The code may be out of date.⚠️ ⚠️ ⚠️
The YAML specs don't have nearly as much detail, and would be much harder to convert. You can see them here:
https://bitbucket.org/bluetooth-SIG/public/src/main/gss/
Sadly, the XML versions have been removed. Though, if you were industrious, you could find them.
Install via your favorite package manager.
Each package supports CommonJS require
, ESM import
, and TypeScript usage.
You also have a choice: barrel imports or direct imports.
Barrel imports mean you're going to require/import everything from the same package-level namespace:
// CommonJS
const { isPlainObject, isListOf } = require("@rickosborne/guard");
// ESM / TypeScript
import { isPlainObject, isListOf } from "@rickosborne/guard";
Implications:
- Nice and simple.
- Your build system needs to do tree-shaking well ... or you'll end up adding the entire package even if you only import two functions.
The other option is to use direct imports:
// CommonJS
const { isPlainObject } = require("@rickosborne/guard/is-object");
const { isListOf } = require("@rickosborne/guard/is-list-of");
// ESM / TypeScript
import { isPlainObject } from "@rickosborne/guard/is-object.js";
import { isListOf } from "@rickosborne/guard/is-list-of.js";
Implications:
- You (probably) don't have to worry about tree-shaking as your build (likely) ends up with only the functions you need.
If you're using a modern build system, there aren't any strong reasons to prefer one way over the other. It's really just down to your personal preference.
Do you need to use file extensions? And if so, which extensions?
Honestly ... this is a dumpster fire question. It really comes down to your own setup and configuration.
Within each package itself:
- The CommonJS files all have
.cjs
extensions. - The ESM files all have
.mjs
extensions. - Node subpath exports have been set up to send
.js
imports to the.cjs
(viarequire
) or.mjs
(viaimport
) files, depending on your setup.
So, in theory, the only extension which won't work would be .ts
because the source isn't included.
If you run into a problem with a particular configuration, file a GitHub issue with:
- Your
tsconfig.json
'smodule
,moduleResolution
, andtarget
settings. - Your
package.json
'stype
andimports
settings. - An example of another package which imports correctly for you.
This package is licensed as CC-BY-NC-SA-4.0 unless otherwise noted. That is, Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
class AerobicHeartRateLowerLimitImpl implements AerobicHeartRateLowerLimit
class AerobicHeartRateUpperLimitImpl implements AerobicHeartRateUpperLimit
class AerobicThresholdImpl implements AerobicThreshold
Aerobic Threshold and Anaerobic Threshold together with the Sport Type for Aerobic and Anaerobic Thresholds describe the metabolic thresholds of the user. The Sport Type for Aerobic and Anaerobic Thresholds identifies how the measurement was performed.
class AgeImpl implements Age
class AggregateImpl implements Aggregate
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class AlertCategoryIdBitMaskImpl implements AlertCategoryIdBitMask
class AlertCategoryIdImpl implements AlertCategoryId
class AlertLevelImpl implements AlertLevel
class AlertNotificationControlPointImpl implements AlertNotificationControlPoint
class AlertStatusImpl implements AlertStatus
class AltitudeImpl implements Altitude
class AnaerobicHeartRateLowerLimitImpl implements AnaerobicHeartRateLowerLimit
class AnaerobicHeartRateUpperLimitImpl implements AnaerobicHeartRateUpperLimit
class AnaerobicThresholdImpl implements AnaerobicThreshold
Aerobic Threshold and Anaerobic Threshold together with the Sport Type for Aerobic and Anaerobic Thresholds describe the metabolic thresholds of the user. The Sport Type for Aerobic and Anaerobic Thresholds identifies how the measurement was performed.
class AnalogImpl implements Analog
The Octet Order in the above table is in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class ApparentWindDirectionImpl implements ApparentWindDirection
class ApparentWindSpeedImpl implements ApparentWindSpeed
class BarometricPressureTrendImpl implements BarometricPressureTrend
class BatteryLevelImpl implements BatteryLevel
class BloodPressureFeatureImpl implements BloodPressureFeature
class BloodPressureMeasurementImpl implements BloodPressureMeasurement
class BodyCompositionFeatureImpl implements BodyCompositionFeature
class BodyCompositionMeasurementImpl implements BodyCompositionMeasurement
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class BodySensorLocationImpl implements BodySensorLocation
class BootKeyboardInputReportImpl implements BootKeyboardInputReport
class BootKeyboardOutputReportImpl implements BootKeyboardOutputReport
class BootMouseInputReportImpl implements BootMouseInputReport
class CgmFeatureImpl implements CgmFeature
- The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet 2. The CGM Type and CGM Sample Location Fields are each a nibble (4bit), where the least significant nibble contains the Type and the most significant nibble contains the Sample Location. These two nibbles are packed as one single octet, the Least Significant Nibble means the four bits numbered 0, 1, 2 and 3 of the octet and the Most Significant Nibble means the four bits numbered 4, 5, 6 and 7 of that octet
class CrossTrainerDataImpl implements CrossTrainerData
class CscFeatureImpl implements CscFeature
class CscMeasurementImpl implements CscMeasurement
class CurrentTimeImpl implements CurrentTime
class CyclingPowerFeatureImpl implements CyclingPowerFeature
class CyclingPowerMeasurementImpl implements CyclingPowerMeasurement
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet. The Least Significant Octet represents the eight bits numbered 0 to 7.
class CyclingPowerVectorImpl implements CyclingPowerVector
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet. The Least Significant Octet represents the eight bits numbered 0 to 7.
class DatabaseChangeIncrementImpl implements DatabaseChangeIncrement
class DataViewReader
class DateOfBirthImpl implements DateOfBirth
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class DateOfThresholdAssessmentImpl implements DateOfThresholdAssessment
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class DateTimeImpl implements DateTime
class DayDateTimeImpl implements DayDateTime
class DayOfWeekImpl implements DayOfWeek
class DewPointImpl implements DewPoint
class DigitalImpl implements Digital
The Octet Order in the above table is in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class DstOffsetImpl implements DstOffset
class ElevationImpl implements Elevation
class EmailAddressImpl implements EmailAddress
The length of the utf8s-based UDS Characteristic is variable and may exceed the default ATT_MTU defined in the Core Specification.
class ExactTime256Impl implements ExactTime256
class FatBurnHeartRateLowerLimitImpl implements FatBurnHeartRateLowerLimit
class FatBurnHeartRateUpperLimitImpl implements FatBurnHeartRateUpperLimit
class FirmwareRevisionStringImpl implements FirmwareRevisionString
class FirstNameImpl implements FirstName
The length of the utf8s-based UDS Characteristics is variable and may exceed the default ATT_MTU defined in the Core Specification.
class FiveZoneHeartRateLimitsImpl implements FiveZoneHeartRateLimits
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class FloorNumberImpl implements FloorNumber
class GapAppearanceImpl implements GapAppearance
class GapDeviceNameImpl implements GapDeviceName
class GapPeripheralPreferredConnectionParametersImpl implements GapPeripheralPreferredConnectionParameters
class GapPeripheralPrivacyFlagImpl implements GapPeripheralPrivacyFlag
class GapReconnectionAddressImpl implements GapReconnectionAddress
class GattCharacteristicAggregateFormatImpl implements GattCharacteristicAggregateFormat
class GattCharacteristicExtendedPropertiesImpl implements GattCharacteristicExtendedProperties
class GattCharacteristicPresentationFormatImpl implements GattCharacteristicPresentationFormat
class GattCharacteristicUserDescriptionImpl implements GattCharacteristicUserDescription
class GattClientCharacteristicConfigurationImpl implements GattClientCharacteristicConfiguration
class GattServerCharacteristicConfigurationImpl implements GattServerCharacteristicConfiguration
class GattServiceChangedImpl implements GattServiceChanged
class GenderImpl implements Gender
class GlucoseFeatureImpl implements GlucoseFeature
class GlucoseMeasurementContextImpl implements GlucoseMeasurementContext
Where fields with the format ?nibble? have been defined in the above table, the fields are shown in the order of Least Significant Nibble first, when reading the table from top to bottom. Where the characteristic definition contains two adjacent nibbles and the service specification has defined that that pair of nibbles comprise a single octet, the Least Significant Nibble means the four bits numbered 0, 1, 2 and 3 of the octet and the Most Significant Nibble means the four bits numbered 4, 5, 6 and 7 of that octet.
class GlucoseMeasurementImpl implements GlucoseMeasurement
Where fields with the format ?nibble? have been defined in the above table, the fields are shown in the order of Least Significant Nibble first, when reading the table from top to bottom. Where the characteristic definition contains two adjacent nibbles and the service specification has defined that that pair of nibbles comprise a single octet, the Least Significant Nibble means the four bits numbered 0, 1, 2 and 3 of the octet and the Most Significant Nibble means the four bits numbered 4, 5, 6 and 7 of that octet.
class GustFactorImpl implements GustFactor
class HardwareRevisionStringImpl implements HardwareRevisionString
class HeartRateControlPointImpl implements HeartRateControlPoint
class HeartRateMaxImpl implements HeartRateMax
class HeartRateMeasurementImpl implements HeartRateMeasurement
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class HeatIndexImpl implements HeatIndex
class HeightImpl implements Height
class HidControlPointImpl implements HidControlPoint
class HidInformationImpl implements HidInformation
class HipCircumferenceImpl implements HipCircumference
class HttpControlPointImpl implements HttpControlPoint
class HttpEntityBodyImpl implements HttpEntityBody
class HttpHeadersImpl implements HttpHeaders
class HttpsSecurityImpl implements HttpsSecurity
class HttpStatusCodeImpl implements HttpStatusCode
class HumidityImpl implements Humidity
class IndoorBikeDataImpl implements IndoorBikeData
class IndoorPositioningConfigurationImpl implements IndoorPositioningConfiguration
class IntermediateCuffPressureImpl implements IntermediateCuffPressure
class IntermediateTemperatureImpl implements IntermediateTemperature
class IrradianceImpl implements Irradiance
class LanguageImpl implements Language
class LastNameImpl implements LastName
The length of the utf8s-based UDS Characteristic is variable and may exceed the default ATT_MTU defined in the Core Specification.
class LatitudeImpl implements Latitude
class LnFeatureImpl implements LnFeature
class LocalEastCoordinateImpl implements LocalEastCoordinate
class LocalNorthCoordinateImpl implements LocalNorthCoordinate
class LocalTimeInformationImpl implements LocalTimeInformation
class LocationAndSpeedImpl implements LocationAndSpeed
class LocationNameImpl implements LocationName
class LongitudeImpl implements Longitude
class MagneticDeclinationImpl implements MagneticDeclination
class MagneticFluxDensity2DImpl implements MagneticFluxDensity2D
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet
class MagneticFluxDensity3DImpl implements MagneticFluxDensity3D
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet
class ManufacturerNameStringImpl implements ManufacturerNameString
class MaximumRecommendedHeartRateImpl implements MaximumRecommendedHeartRate
class MeasurementIntervalImpl implements MeasurementInterval
class ModelNumberStringImpl implements ModelNumberString
class NavigationImpl implements Navigation
class NewAlertImpl implements NewAlert
The usage of this text is up to the implementation, but the recommended text for the category is defined as following for best user experience: Category: Simple Alert - The title of the alert Category: Email - Sender name Category: News - Title of the news feed Category: Call - Caller name or caller ID Category: Missed call - Caller name or caller ID Category: SMS - Sender name or caller ID Category: Voice mail - Sender name or caller ID Category: Schedule - Title of the schedule Category Hig:h Prioritized Aler - Title of the alert Category: Instant Messaging - Sender name
class NumberOfDigitalsImpl implements NumberOfDigitals
class ObjectFirstCreatedImpl implements ObjectFirstCreated
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet. Data Type: Same format as the Date Time characteristic
class ObjectIdImpl implements ObjectId
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class ObjectLastModifiedImpl implements ObjectLastModified
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet. Data Type: Same format as the Date Time characteristic
class ObjectNameImpl implements ObjectName
Characters which require more than one octet when encoded in UTF-8 are transmitted with the leading byte first, followed by the continuation bytes ordered in accordance with UTF-8 encoding. In UTF-8, the leading byte is identified by possessing two or more high-order 1?s followed by a 0 while continuation bytes all have '10' in the high-order position. Strings which consist of more than one character are transmitted in the following order: the character which appears furthest to the left when the string is presented in its written form shall be sent first, followed by the remaining characters in order.
class ObjectSizeImpl implements ObjectSize
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class PlxContinuousMeasurementImpl implements PlxContinuousMeasurement
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class PlxFeaturesImpl implements PlxFeatures
The fields in the above table, reading from top to bottom, are shown in the order of LSO to MSO, where LSO = Least Significant Octet and MSO = Most Significant Octet.
class PlxSpotCheckMeasurementImpl implements PlxSpotCheckMeasurement
class PnpIdImpl implements PnpId
class PollenConcentrationImpl implements PollenConcentration
class PositionQualityImpl implements PositionQuality
class PressureImpl implements Pressure
class ProtocolModeImpl implements ProtocolMode
class RainfallImpl implements Rainfall
class ReferenceTimeInformationImpl implements ReferenceTimeInformation
class ReportImpl implements Report
class ReportMapImpl implements ReportMap
class ReportReferenceImpl implements ReportReference
class ResolvablePrivateAddressOnlyImpl implements ResolvablePrivateAddressOnly
class RestingHeartRateImpl implements RestingHeartRate
class RingerControlPointImpl implements RingerControlPoint
class RingerSettingImpl implements RingerSetting
class RowerDataImpl implements RowerData
class RscFeatureImpl implements RscFeature
class RscMeasurementImpl implements RscMeasurement
class ScanIntervalWindowImpl implements ScanIntervalWindow
class ScanRefreshImpl implements ScanRefresh
class SensorLocationImpl implements SensorLocation
class SerialNumberStringImpl implements SerialNumberString
class SoftwareRevisionStringImpl implements SoftwareRevisionString
class SportTypeForAerobicAndAnaerobicThresholdsImpl implements SportTypeForAerobicAndAnaerobicThresholds
Aerobic Threshold and Anaerobic Threshold together with the Sport Type for Aerobic and Anaerobic Thresholds describe the metabolic thresholds of the user. The Sport Type for Aerobic and Anaerobic Thresholds identifies how the measurement was performed.
class StairClimberDataImpl implements StairClimberData
class StepClimberDataImpl implements StepClimberData
class SupportedHeartRateRangeImpl implements SupportedHeartRateRange
class SupportedInclinationRangeImpl implements SupportedInclinationRange
class SupportedNewAlertCategoryImpl implements SupportedNewAlertCategory
class SupportedPowerRangeImpl implements SupportedPowerRange
class SupportedResistanceLevelRangeImpl implements SupportedResistanceLevelRange
class SupportedSpeedRangeImpl implements SupportedSpeedRange
class SupportedUnreadAlertCategoryImpl implements SupportedUnreadAlertCategory
class SystemIdImpl implements SystemId
class TemperatureImpl implements Temperature
class TemperatureMeasurementImpl implements TemperatureMeasurement
class TemperatureTypeImpl implements TemperatureType
class ThreeZoneHeartRateLimitsImpl implements ThreeZoneHeartRateLimits
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class TimeAccuracyImpl implements TimeAccuracy
class TimeSourceImpl implements TimeSource
class TimeTriggerSettingImpl implements TimeTriggerSetting
class TimeUpdateControlPointImpl implements TimeUpdateControlPoint
class TimeUpdateStateImpl implements TimeUpdateState
class TimeWithDstImpl implements TimeWithDst
class TimeZoneImpl implements TimeZone
class TreadmillDataImpl implements TreadmillData
class TrueWindDirectionImpl implements TrueWindDirection
class TrueWindSpeedImpl implements TrueWindSpeed
class TwoZoneHeartRateLimitImpl implements TwoZoneHeartRateLimit
class TxPowerLevelImpl implements TxPowerLevel
class UncertaintyImpl implements Uncertainty
class UnreadAlertStatusImpl implements UnreadAlertStatus
class UriImpl implements Uri
class UserIndexImpl implements UserIndex
class UvIndexImpl implements UvIndex
class ValueTriggerSettingImpl implements ValueTriggerSetting
class Vo2MaxImpl implements Vo2Max
class WaistCircumferenceImpl implements WaistCircumference
class WeightImpl implements Weight
class WeightMeasurementImpl implements WeightMeasurement
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
class WeightScaleFeatureImpl implements WeightScaleFeature
class WindChillImpl implements WindChill
function aerobicHeartRateLowerLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AerobicHeartRateLowerLimit;
Parse from a DataView into AerobicHeartRateLowerLimit.
function aerobicHeartRateUpperLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AerobicHeartRateUpperLimit;
Parse from a DataView into AerobicHeartRateUpperLimit.
function aerobicThresholdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AerobicThreshold;
Parse from a DataView into AerobicThreshold.
function ageFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Age;
Parse from a DataView into Age.
function aggregateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Aggregate;
Parse from a DataView into Aggregate.
function alertCategoryIdBitMaskFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AlertCategoryIdBitMask;
Parse from a DataView into AlertCategoryIdBitMask.
function alertCategoryIdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AlertCategoryId;
Parse from a DataView into AlertCategoryId.
function alertLevelFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AlertLevel;
Parse from a DataView into AlertLevel.
function alertNotificationControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AlertNotificationControlPoint;
Parse from a DataView into AlertNotificationControlPoint.
function alertStatusFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AlertStatus;
Parse from a DataView into AlertStatus.
function altitudeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Altitude;
Parse from a DataView into Altitude.
function anaerobicHeartRateLowerLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AnaerobicHeartRateLowerLimit;
Parse from a DataView into AnaerobicHeartRateLowerLimit.
function anaerobicHeartRateUpperLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AnaerobicHeartRateUpperLimit;
Parse from a DataView into AnaerobicHeartRateUpperLimit.
function anaerobicThresholdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): AnaerobicThreshold;
Parse from a DataView into AnaerobicThreshold.
function analogFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Analog;
Parse from a DataView into Analog.
function apparentWindDirectionFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ApparentWindDirection;
Parse from a DataView into ApparentWindDirection.
function apparentWindSpeedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ApparentWindSpeed;
Parse from a DataView into ApparentWindSpeed.
function barometricPressureTrendFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BarometricPressureTrend;
Parse from a DataView into BarometricPressureTrend.
function batteryLevelFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BatteryLevel;
Parse from a DataView into BatteryLevel.
function bloodPressureFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BloodPressureFeature;
Parse from a DataView into BloodPressureFeature.
function bloodPressureMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BloodPressureMeasurement;
Parse from a DataView into BloodPressureMeasurement.
function bodyCompositionFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BodyCompositionFeature;
Parse from a DataView into BodyCompositionFeature.
function bodyCompositionMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BodyCompositionMeasurement;
Parse from a DataView into BodyCompositionMeasurement.
function bodySensorLocationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BodySensorLocation;
Parse from a DataView into BodySensorLocation.
function bootKeyboardInputReportFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BootKeyboardInputReport;
Parse from a DataView into BootKeyboardInputReport.
function bootKeyboardOutputReportFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BootKeyboardOutputReport;
Parse from a DataView into BootKeyboardOutputReport.
function bootMouseInputReportFromDataView(dataView: DataView | DataViewReader, indexStart?: number): BootMouseInputReport;
Parse from a DataView into BootMouseInputReport.
btValueReaderFor: (idOrName: string | number) => BtReaderClass | undefined
function cgmFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CgmFeature;
Parse from a DataView into CgmFeature.
function crossTrainerDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CrossTrainerData;
Parse from a DataView into CrossTrainerData.
function cscFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CscFeature;
Parse from a DataView into CscFeature.
function cscMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CscMeasurement;
Parse from a DataView into CscMeasurement.
function currentTimeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CurrentTime;
Parse from a DataView into CurrentTime.
function cyclingPowerFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CyclingPowerFeature;
Parse from a DataView into CyclingPowerFeature.
function cyclingPowerMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CyclingPowerMeasurement;
Parse from a DataView into CyclingPowerMeasurement.
function cyclingPowerVectorFromDataView(dataView: DataView | DataViewReader, indexStart?: number): CyclingPowerVector;
Parse from a DataView into CyclingPowerVector.
function databaseChangeIncrementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DatabaseChangeIncrement;
Parse from a DataView into DatabaseChangeIncrement.
dataViewFromHex: (hex: string) => DataView
Build a DataView from a hex-encoded string. This is a polyfill for Uint8Array.fromHex()
.
dataViewReader: (dataView: DataView | DataViewReader, indexStart?: number) => DataViewReader
function dateOfBirthFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DateOfBirth;
Parse from a DataView into DateOfBirth.
function dateOfThresholdAssessmentFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DateOfThresholdAssessment;
Parse from a DataView into DateOfThresholdAssessment.
function dateTimeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DateTime;
Parse from a DataView into DateTime.
function dayDateTimeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DayDateTime;
Parse from a DataView into DayDateTime.
function dayOfWeekFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DayOfWeek;
Parse from a DataView into DayOfWeek.
function dewPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DewPoint;
Parse from a DataView into DewPoint.
function digitalFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Digital;
Parse from a DataView into Digital.
function dstOffsetFromDataView(dataView: DataView | DataViewReader, indexStart?: number): DstOffset;
Parse from a DataView into DstOffset.
function elevationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Elevation;
Parse from a DataView into Elevation.
function emailAddressFromDataView(dataView: DataView | DataViewReader, indexStart?: number): EmailAddress;
Parse from a DataView into EmailAddress.
function exactTime256FromDataView(dataView: DataView | DataViewReader, indexStart?: number): ExactTime256;
Parse from a DataView into ExactTime256.
function fatBurnHeartRateLowerLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FatBurnHeartRateLowerLimit;
Parse from a DataView into FatBurnHeartRateLowerLimit.
function fatBurnHeartRateUpperLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FatBurnHeartRateUpperLimit;
Parse from a DataView into FatBurnHeartRateUpperLimit.
function firmwareRevisionStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FirmwareRevisionString;
Parse from a DataView into FirmwareRevisionString.
function firstNameFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FirstName;
Parse from a DataView into FirstName.
function fiveZoneHeartRateLimitsFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FiveZoneHeartRateLimits;
Parse from a DataView into FiveZoneHeartRateLimits.
function floorNumberFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FloorNumber;
Parse from a DataView into FloorNumber.
function gapAppearanceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GapAppearance;
Parse from a DataView into GapAppearance.
function gapDeviceNameFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GapDeviceName;
Parse from a DataView into GapDeviceName.
function gapPeripheralPreferredConnectionParametersFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GapPeripheralPreferredConnectionParameters;
Parse from a DataView into GapPeripheralPreferredConnectionParameters.
function gapPeripheralPrivacyFlagFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GapPeripheralPrivacyFlag;
Parse from a DataView into GapPeripheralPrivacyFlag.
function gapReconnectionAddressFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GapReconnectionAddress;
Parse from a DataView into GapReconnectionAddress.
function gattCharacteristicAggregateFormatFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattCharacteristicAggregateFormat;
Parse from a DataView into GattCharacteristicAggregateFormat.
function gattCharacteristicExtendedPropertiesFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattCharacteristicExtendedProperties;
Parse from a DataView into GattCharacteristicExtendedProperties.
gattCharacteristicName: (idOrName: string | number | null | undefined) => "string" | "boolean" | "current_time" | "device_time" | "acceleration" | "acs_control_point" | "acs_data_in" | "acs_data_out_indicate" | "acs_data_out_notify" | "acs_status" | "active_preset_index" | "activity_goal" | "advertising_constant_tone_extension_interval" | "advertising_constant_tone_extension_minimum_length" | "advertising_constant_tone_extension_minimum_transmit_count" | "advertising_constant_tone_extension_phy" | "advertising_constant_tone_extension_transmit_duration" | "aerobic_heart_rate_lower_limit" | "aerobic_heart_rate_upper_limit" | "aerobic_threshold" | "age" | "aggregate" | "alert_category_id" | "alert_category_id_bit_mask" | "alert_level" | "alert_notification_control_point" | "alert_status" | "altitude" | "ammonia_concentration" | "anaerobic_heart_rate_lower_limit" | "anaerobic_heart_rate_upper_limit" | "anaerobic_threshold" | "analog" | "analog_output" | "ap_sync_key_material" | "apparent_energy_32" | "apparent_power" | "apparent_wind_direction" | "apparent_wind_speed" | "ase_control_point" | "audio_input_control_point" | "audio_input_description" | "audio_input_state" | "audio_input_status" | "audio_input_type" | "audio_location" | "audio_output_description" | "available_audio_contexts" | "average_current" | "average_voltage" | "barometric_pressure_trend" | "battery_critical_status" | "battery_energy_status" | "battery_health_information" | "battery_health_status" | "battery_information" | "battery_level" | "battery_level_state" | "battery_level_status" | "battery_power_state" | "battery_time_status" | "bearer_list_current_calls" | "bearer_provider_name" | "bearer_signal_strength" | "bearer_signal_strength_reporting_interval" | "bearer_technology" | "bearer_uci" | "bearer_uri_schemes_supported_list" | "bgr_features" | "bgs_features" | "blood_pressure_feature" | "blood_pressure_measurement" | "blood_pressure_record" | "bluetooth_sig_data" | "body_composition_feature" | "body_composition_measurement" | "body_sensor_location" | "bond_management_control_point" | "bond_management_feature" | "boot_keyboard_input_report" | "boot_keyboard_output_report" | "boot_mouse_input_report" | "br_edr_handover_data" | "broadcast_audio_scan_control_point" | "broadcast_receive_state" | "bss_control_point" | "bss_response" | "call_control_point" | "call_control_point_optional_opcodes" | "call_friendly_name" | "call_state" | "caloric_intake" | "carbon_monoxide_concentration" | "cardiorespiratory_activity_instantaneous_data" | "cardiorespiratory_activity_summary_data" | "cgm_feature" | "cgm_measurement" | "cgm_session_run_time" | "cgm_session_start_time" | "cgm_specific_ops_control_point" | "cgm_status" | "chromatic_distance_from_planckian" | "chromaticity_coordinate" | "chromaticity_coordinates" | "chromaticity_in_cct_and_duv_values" | "chromaticity_tolerance" | "cie_13_3_1995_color_rendering_index" | "client_supported_features" | "co2_concentration" | "coefficient" | "constant_tone_extension_enable" | "content_control_id" | "correlated_color_temperature" | "cosine_of_the_angle" | "count_16" | "count_24" | "country_code" | "cross_trainer_data" | "csc_feature" | "csc_measurement" | "current_elapsed_time" | "current_group_object_id" | "current_track_object_id" | "current_track_segments_object_id" | "cycling_power_control_point" | "cycling_power_feature" | "cycling_power_measurement" | "cycling_power_vector" | "database_change_increment" | "database_hash" | "date_of_birth" | "date_of_threshold_assessment" | "date_time" | "date_utc" | "day_date_time" | "day_of_week" | "descriptor_value_changed" | "device_time_control_point" | "device_time_feature" | "device_time_parameters" | "device_wearing_position" | "dew_point" | "digital" | "digital_output" | "dst_offset" | "electric_current" | "electric_current_range" | "electric_current_specification" | "electric_current_statistics" | "elevation" | "email_address" | "emergency_id" | "emergency_text" | "encrypted_data_key_material" | "energy" | "energy_32" | "energy_in_a_period_of_day" | "enhanced_blood_pressure_measurement" | "enhanced_intermediate_cuff_pressure" | "esl_address" | "esl_control_point" | "esl_current_absolute_time" | "esl_display_information" | "esl_image_information" | "esl_led_information" | "esl_response_key_material" | "esl_sensor_information" | "estimated_service_date" | "event_statistics" | "exact_time_100" | "exact_time_256" | "fat_burn_heart_rate_lower_limit" | "fat_burn_heart_rate_upper_limit" | "firmware_revision_string" | "first_name" | "first_use_date" | "fitness_machine_control_point" | "fitness_machine_feature" | "fitness_machine_status" | "five_zone_heart_rate_limits" | "fixed_string_16" | "fixed_string_24" | "fixed_string_36" | "fixed_string_64" | "fixed_string_8" | "floor_number" | "force" | "four_zone_heart_rate_limits" | "gain_settings_attribute" | "gap.appearance" | "gap.central_address_resolution" | "gap.device_name" | "gap.peripheral_preferred_connection_parameters" | "gap.peripheral_privacy_flag" | "gap.reconnection_address" | "gatt.service_changed" | "gender" | "general_activity_instantaneous_data" | "general_activity_summary_data" | "generic_level" | "ghs_control_point" | "global_trade_item_number" | "glucose_feature" | "glucose_measurement" | "glucose_measurement_context" | "gmap_role" | "gust_factor" | "handedness" | "hardware_revision_string" | "health_sensor_features" | "hearing_aid_features" | "hearing_aid_preset_control_point" | "heart_rate_control_point" | "heart_rate_max" | "heart_rate_measurement" | "heat_index" | "height" | "hid_control_point" | "hid_information" | "high_intensity_exercise_threshold" | "high_resolution_height" | "high_temperature" | "high_voltage" | "hip_circumference" | "http_control_point" | "http_entity_body" | "http_headers" | "http_status_code" | "https_security" | "humidity" | "idd_annunciation_status" | "idd_command_control_point" | "idd_command_data" | "idd_features" | "idd_history_data" | "idd_record_access_control_point" | "idd_status" | "idd_status_changed" | "idd_status_reader_control_point" | "ieee_11073-20601_regulatory_certification_data_list" | "illuminance" | "imd_control" | "imd_historical_data" | "imd_status" | "imds_descriptor_value_changed" | "incoming_call" | "incoming_call_target_bearer_uri" | "indoor_bike_data" | "indoor_positioning_configuration" | "intermediate_cuff_pressure" | "intermediate_temperature" | "irradiance" | "language" | "last_name" | "latitude" | "le_gatt_security_levels" | "life_cycle_data" | "light_distribution" | "light_output" | "light_source_type" | "linear_position" | "live_health_observations" | "ln_control_point" | "ln_feature" | "local_east_coordinate" | "local_north_coordinate" | "local_time_information" | "location_and_speed" | "location_name" | "lock_characteristic" | "longitude" | "luminous_efficacy" | "luminous_energy" | "luminous_exposure" | "luminous_flux" | "luminous_flux_range" | "luminous_intensity" | "magnetic_declination" | "magnetic_flux_density_2d" | "magnetic_flux_density_3d" | "manufacturer_name_string" | "mass_flow" | "maximum_recommended_heart_rate" | "measurement_interval" | "media_control_point" | "media_control_point_opcodes_supported" | "media_player_icon_object_id" | "media_player_icon_url" | "media_player_name" | "media_state" | "medical_devices" | "mesh_provisioning_data_in" | "mesh_provisioning_data_out" | "mesh_proxy_data_in" | "mesh_proxy_data_out" | "methane_concentration" | "middle_name" | "model_number_string" | "mute" | "navigation" | "network_availability" | "new_alert" | "next_track_object_id" | "nitrogen_dioxide_concentration" | "noise" | "non-methane_volatile_organic_compounds_concentration" | "object_action_control_point" | "object_changed" | "object_first_created" | "object_id" | "object_last_modified" | "object_list_control_point" | "object_list_filter" | "object_name" | "object_properties" | "object_size" | "object_type" | "observation_schedule_changed" | "on-demand_ranging_data" | "ots_feature" | "ozone_concentration" | "parent_group_object_id" | "particulate_matter_pm1_concentration" | "particulate_matter_pm10_concentration" | "particulate_matter_pm2_5_concentration" | "perceived_lightness" | "percentage_8" | "percentage_8_steps" | "physical_activity_current_session" | "physical_activity_monitor_control_point" | "physical_activity_monitor_features" | "physical_activity_session_descriptor" | "playback_speed" | "playing_order" | "playing_orders_supported" | "plx_continuous_measurement" | "plx_features" | "plx_spot_check_measurement" | "pnp_id" | "pollen_concentration" | "position_2d" | "position_3d" | "position_quality" | "power" | "power_specification" | "preferred_units" | "pressure" | "protocol_mode" | "pulse_oximetry_control_point" | "rainfall" | "ranging_data_ready" | "rank_characteristic" | "ras_control_point" | "ras_features" | "rc_feature" | "rc_settings" | "real-time_ranging_data" | "reconnection_configuration_control_point" | "record_access_control_point" | "reference_time_information" | "registered_user" | "relative_runtime_in_a_correlated_color_temperature_range" | "relative_runtime_in_a_current_range" | "relative_runtime_in_a_generic_level_range" | "relative_value_in_a_period_of_day" | "relative_value_in_a_temperature_range" | "relative_value_in_a_voltage_range" | "relative_value_in_an_illuminance_range" | "removable" | "report" | "report_map" | "resolvable_private_address_only" | "resting_heart_rate" | "ringer_control_point" | "ringer_setting" | "rotational_speed" | "rower_data" | "rsc_feature" | "rsc_measurement" | "sc_control_point" | "scan_interval_window" | "scan_refresh" | "scientific_temperature_celsius" | "search_control_point" | "search_results_object_id" | "secondary_time_zone" | "sedentary_interval_notification" | "seeking_speed" | "sensor_location" | "serial_number_string" | "server_supported_features" | "service_cycle_data" | "service_required" | "set_identity_resolving_key" | "sink_ase" | "sink_audio_locations" | "sink_pac" | "size_characteristic" | "sleep_activity_instantaneous_data" | "sleep_activity_summary_data" | "software_revision_string" | "source_ase" | "source_audio_locations" | "source_pac" | "sport_type_for_aerobic_and_anaerobic_thresholds" | "stair_climber_data" | "status_flags" | "step_climber_data" | "step_counter_activity_summary_data" | "stored_health_observations" | "stride_length" | "sulfur_dioxide_concentration" | "sulfur_hexafluoride_concentration" | "supported_audio_contexts" | "supported_heart_rate_range" | "supported_inclination_range" | "supported_new_alert_category" | "supported_power_range" | "supported_resistance_level_range" | "supported_speed_range" | "supported_unread_alert_category" | "system_id" | "tds_control_point" | "temperature" | "temperature_8" | "temperature_8_in_a_period_of_day" | "temperature_8_statistics" | "temperature_celsius" | "temperature_fahrenheit" | "temperature_measurement" | "temperature_range" | "temperature_statistics" | "temperature_type" | "termination_reason" | "three_zone_heart_rate_limits" | "time_accuracy" | "time_broadcast" | "time_change_log_data" | "time_decihour_8" | "time_exponential_8" | "time_hour_24" | "time_millisecond_24" | "time_second_16" | "time_second_32" | "time_second_8" | "time_source" | "time_update_control_point" | "time_update_state" | "time_with_dst" | "time_zone" | "tmap_role" | "torque" | "track_changed" | "track_duration" | "track_position" | "track_title" | "training_status" | "treadmill_data" | "true_wind_direction" | "true_wind_speed" | "two_zone_heart_rate_limits" | "tx_power_level" | "ugg_features" | "ugt_features" | "uncertainty" | "unread_alert_status" | "uri" | "user_control_point" | "user_index" | "uv_index" | "vo2_max" | "voc_concentration" | "voltage" | "voltage_frequency" | "voltage_specification" | "voltage_statistics" | "volume_control_point" | "volume_flags" | "volume_flow" | "volume_offset_control_point" | "volume_offset_state" | "volume_state" | "waist_circumference" | "weight" | "weight_measurement" | "weight_scale_feature" | "wind_chill" | "work_cycle_data" | "length" | undefined
function gattCharacteristicPresentationFormatFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattCharacteristicPresentationFormat;
Parse from a DataView into GattCharacteristicPresentationFormat.
function gattCharacteristicUserDescriptionFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattCharacteristicUserDescription;
Parse from a DataView into GattCharacteristicUserDescription.
function gattClientCharacteristicConfigurationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattClientCharacteristicConfiguration;
Parse from a DataView into GattClientCharacteristicConfiguration.
gattDescriptorName: (idOrName: string | number | null | undefined) => "complete_br_edr_transport_block_data" | "es_configuration" | "es_measurement" | "es_trigger_setting" | "external_report_reference" | "gatt.characteristic_aggregate_format" | "gatt.characteristic_extended_properties" | "gatt.characteristic_presentation_format" | "gatt.characteristic_user_description" | "gatt.client_characteristic_configuration" | "gatt.server_characteristic_configuration" | "manufacturer_limits" | "measurement_description" | "number_of_digitals" | "observation_schedule" | "process_tolerances" | "report_reference" | "time_trigger_setting" | "valid_range" | "valid_range_accuracy" | "value_trigger_setting" | undefined
function gattServerCharacteristicConfigurationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattServerCharacteristicConfiguration;
Parse from a DataView into GattServerCharacteristicConfiguration.
function gattServiceChangedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattServiceChanged;
Parse from a DataView into GattServiceChanged.
gattServiceName: (idOrName: string | number | null | undefined) => "alert_notification" | "audio_input_control" | "audio_stream_control" | "authorization_control" | "automation_io" | "basic_audio_announcement" | "battery_service" | "binary_sensor" | "blood_pressure" | "body_composition" | "bond_management" | "broadcast_audio_announcement" | "broadcast_audio_scan" | "common_audio" | "constant_tone_extension" | "continuous_glucose_monitoring" | "coordinated_set_identification" | "current_time" | "cycling_power" | "cycling_speed_and_cadence" | "device_information" | "device_time" | "elapsed_time" | "electronic_shelf_label" | "emergency_configuration" | "environmental_sensing" | "fitness_machine" | "gaming_audio" | "gap" | "gatt" | "generic_health_sensor" | "generic_media_control" | "generic_telephone_bearer" | "glucose" | "health_thermometer" | "hearing_access" | "heart_rate" | "http_proxy" | "human_interface_device" | "immediate_alert" | "indoor_positioning" | "industrial_measurement_device" | "insulin_delivery" | "internet_protocol_support" | "link_loss" | "location_and_navigation" | "media_control" | "mesh_provisioning" | "mesh_proxy" | "mesh_proxy_solicitation" | "microphone_control" | "next_dst_change" | "object_transfer" | "phone_alert_status" | "physical_activity_monitor" | "public_broadcast_announcement" | "published_audio_capabilities" | "pulse_oximeter" | "reconnection_configuration" | "reference_time_update" | "running_speed_and_cadence" | "scan_parameters" | "telephone_bearer" | "telephony_and_media_audio" | "transport_discovery" | "tx_power" | "user_data" | "volume_control" | "volume_offset" | "weight_scale" | undefined
gattUuidFromValue: (num: number) => string
Convert the given value to hex and wrap it in a full UUID format.
function genderFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Gender;
Parse from a DataView into Gender.
function glucoseFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GlucoseFeature;
Parse from a DataView into GlucoseFeature.
function glucoseMeasurementContextFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GlucoseMeasurementContext;
Parse from a DataView into GlucoseMeasurementContext.
function glucoseMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GlucoseMeasurement;
Parse from a DataView into GlucoseMeasurement.
function gustFactorFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GustFactor;
Parse from a DataView into GustFactor.
function hardwareRevisionStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HardwareRevisionString;
Parse from a DataView into HardwareRevisionString.
function heartRateControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HeartRateControlPoint;
Parse from a DataView into HeartRateControlPoint.
function heartRateMaxFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HeartRateMax;
Parse from a DataView into HeartRateMax.
function heartRateMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HeartRateMeasurement;
Parse from a DataView into HeartRateMeasurement.
function heatIndexFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HeatIndex;
Parse from a DataView into HeatIndex.
function heightFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Height;
Parse from a DataView into Height.
hexFromDataView: (dataView: DataView | DataViewReader) => string
Hex-encode the binary data in a DataView.
function hidControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HidControlPoint;
Parse from a DataView into HidControlPoint.
function hidInformationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HidInformation;
Parse from a DataView into HidInformation.
function hipCircumferenceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HipCircumference;
Parse from a DataView into HipCircumference.
function httpControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HttpControlPoint;
Parse from a DataView into HttpControlPoint.
function httpEntityBodyFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HttpEntityBody;
Parse from a DataView into HttpEntityBody.
function httpHeadersFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HttpHeaders;
Parse from a DataView into HttpHeaders.
function httpsSecurityFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HttpsSecurity;
Parse from a DataView into HttpsSecurity.
function httpStatusCodeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): HttpStatusCode;
Parse from a DataView into HttpStatusCode.
function humidityFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Humidity;
Parse from a DataView into Humidity.
function indoorBikeDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): IndoorBikeData;
Parse from a DataView into IndoorBikeData.
function indoorPositioningConfigurationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): IndoorPositioningConfiguration;
Parse from a DataView into IndoorPositioningConfiguration.
function intermediateCuffPressureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): IntermediateCuffPressure;
Parse from a DataView into IntermediateCuffPressure.
function intermediateTemperatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): IntermediateTemperature;
Parse from a DataView into IntermediateTemperature.
function irradianceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Irradiance;
Parse from a DataView into Irradiance.
isGattCharacteristicName: (value: unknown) => value is "string" | "boolean" | "current_time" | "device_time" | "acceleration" | "acs_control_point" | "acs_data_in" | "acs_data_out_indicate" | "acs_data_out_notify" | "acs_status" | "active_preset_index" | "activity_goal" | "advertising_constant_tone_extension_interval" | "advertising_constant_tone_extension_minimum_length" | "advertising_constant_tone_extension_minimum_transmit_count" | "advertising_constant_tone_extension_phy" | "advertising_constant_tone_extension_transmit_duration" | "aerobic_heart_rate_lower_limit" | "aerobic_heart_rate_upper_limit" | "aerobic_threshold" | "age" | "aggregate" | "alert_category_id" | "alert_category_id_bit_mask" | "alert_level" | "alert_notification_control_point" | "alert_status" | "altitude" | "ammonia_concentration" | "anaerobic_heart_rate_lower_limit" | "anaerobic_heart_rate_upper_limit" | "anaerobic_threshold" | "analog" | "analog_output" | "ap_sync_key_material" | "apparent_energy_32" | "apparent_power" | "apparent_wind_direction" | "apparent_wind_speed" | "ase_control_point" | "audio_input_control_point" | "audio_input_description" | "audio_input_state" | "audio_input_status" | "audio_input_type" | "audio_location" | "audio_output_description" | "available_audio_contexts" | "average_current" | "average_voltage" | "barometric_pressure_trend" | "battery_critical_status" | "battery_energy_status" | "battery_health_information" | "battery_health_status" | "battery_information" | "battery_level" | "battery_level_state" | "battery_level_status" | "battery_power_state" | "battery_time_status" | "bearer_list_current_calls" | "bearer_provider_name" | "bearer_signal_strength" | "bearer_signal_strength_reporting_interval" | "bearer_technology" | "bearer_uci" | "bearer_uri_schemes_supported_list" | "bgr_features" | "bgs_features" | "blood_pressure_feature" | "blood_pressure_measurement" | "blood_pressure_record" | "bluetooth_sig_data" | "body_composition_feature" | "body_composition_measurement" | "body_sensor_location" | "bond_management_control_point" | "bond_management_feature" | "boot_keyboard_input_report" | "boot_keyboard_output_report" | "boot_mouse_input_report" | "br_edr_handover_data" | "broadcast_audio_scan_control_point" | "broadcast_receive_state" | "bss_control_point" | "bss_response" | "call_control_point" | "call_control_point_optional_opcodes" | "call_friendly_name" | "call_state" | "caloric_intake" | "carbon_monoxide_concentration" | "cardiorespiratory_activity_instantaneous_data" | "cardiorespiratory_activity_summary_data" | "cgm_feature" | "cgm_measurement" | "cgm_session_run_time" | "cgm_session_start_time" | "cgm_specific_ops_control_point" | "cgm_status" | "chromatic_distance_from_planckian" | "chromaticity_coordinate" | "chromaticity_coordinates" | "chromaticity_in_cct_and_duv_values" | "chromaticity_tolerance" | "cie_13_3_1995_color_rendering_index" | "client_supported_features" | "co2_concentration" | "coefficient" | "constant_tone_extension_enable" | "content_control_id" | "correlated_color_temperature" | "cosine_of_the_angle" | "count_16" | "count_24" | "country_code" | "cross_trainer_data" | "csc_feature" | "csc_measurement" | "current_elapsed_time" | "current_group_object_id" | "current_track_object_id" | "current_track_segments_object_id" | "cycling_power_control_point" | "cycling_power_feature" | "cycling_power_measurement" | "cycling_power_vector" | "database_change_increment" | "database_hash" | "date_of_birth" | "date_of_threshold_assessment" | "date_time" | "date_utc" | "day_date_time" | "day_of_week" | "descriptor_value_changed" | "device_time_control_point" | "device_time_feature" | "device_time_parameters" | "device_wearing_position" | "dew_point" | "digital" | "digital_output" | "dst_offset" | "electric_current" | "electric_current_range" | "electric_current_specification" | "electric_current_statistics" | "elevation" | "email_address" | "emergency_id" | "emergency_text" | "encrypted_data_key_material" | "energy" | "energy_32" | "energy_in_a_period_of_day" | "enhanced_blood_pressure_measurement" | "enhanced_intermediate_cuff_pressure" | "esl_address" | "esl_control_point" | "esl_current_absolute_time" | "esl_display_information" | "esl_image_information" | "esl_led_information" | "esl_response_key_material" | "esl_sensor_information" | "estimated_service_date" | "event_statistics" | "exact_time_100" | "exact_time_256" | "fat_burn_heart_rate_lower_limit" | "fat_burn_heart_rate_upper_limit" | "firmware_revision_string" | "first_name" | "first_use_date" | "fitness_machine_control_point" | "fitness_machine_feature" | "fitness_machine_status" | "five_zone_heart_rate_limits" | "fixed_string_16" | "fixed_string_24" | "fixed_string_36" | "fixed_string_64" | "fixed_string_8" | "floor_number" | "force" | "four_zone_heart_rate_limits" | "gain_settings_attribute" | "gap.appearance" | "gap.central_address_resolution" | "gap.device_name" | "gap.peripheral_preferred_connection_parameters" | "gap.peripheral_privacy_flag" | "gap.reconnection_address" | "gatt.service_changed" | "gender" | "general_activity_instantaneous_data" | "general_activity_summary_data" | "generic_level" | "ghs_control_point" | "global_trade_item_number" | "glucose_feature" | "glucose_measurement" | "glucose_measurement_context" | "gmap_role" | "gust_factor" | "handedness" | "hardware_revision_string" | "health_sensor_features" | "hearing_aid_features" | "hearing_aid_preset_control_point" | "heart_rate_control_point" | "heart_rate_max" | "heart_rate_measurement" | "heat_index" | "height" | "hid_control_point" | "hid_information" | "high_intensity_exercise_threshold" | "high_resolution_height" | "high_temperature" | "high_voltage" | "hip_circumference" | "http_control_point" | "http_entity_body" | "http_headers" | "http_status_code" | "https_security" | "humidity" | "idd_annunciation_status" | "idd_command_control_point" | "idd_command_data" | "idd_features" | "idd_history_data" | "idd_record_access_control_point" | "idd_status" | "idd_status_changed" | "idd_status_reader_control_point" | "ieee_11073-20601_regulatory_certification_data_list" | "illuminance" | "imd_control" | "imd_historical_data" | "imd_status" | "imds_descriptor_value_changed" | "incoming_call" | "incoming_call_target_bearer_uri" | "indoor_bike_data" | "indoor_positioning_configuration" | "intermediate_cuff_pressure" | "intermediate_temperature" | "irradiance" | "language" | "last_name" | "latitude" | "le_gatt_security_levels" | "life_cycle_data" | "light_distribution" | "light_output" | "light_source_type" | "linear_position" | "live_health_observations" | "ln_control_point" | "ln_feature" | "local_east_coordinate" | "local_north_coordinate" | "local_time_information" | "location_and_speed" | "location_name" | "lock_characteristic" | "longitude" | "luminous_efficacy" | "luminous_energy" | "luminous_exposure" | "luminous_flux" | "luminous_flux_range" | "luminous_intensity" | "magnetic_declination" | "magnetic_flux_density_2d" | "magnetic_flux_density_3d" | "manufacturer_name_string" | "mass_flow" | "maximum_recommended_heart_rate" | "measurement_interval" | "media_control_point" | "media_control_point_opcodes_supported" | "media_player_icon_object_id" | "media_player_icon_url" | "media_player_name" | "media_state" | "medical_devices" | "mesh_provisioning_data_in" | "mesh_provisioning_data_out" | "mesh_proxy_data_in" | "mesh_proxy_data_out" | "methane_concentration" | "middle_name" | "model_number_string" | "mute" | "navigation" | "network_availability" | "new_alert" | "next_track_object_id" | "nitrogen_dioxide_concentration" | "noise" | "non-methane_volatile_organic_compounds_concentration" | "object_action_control_point" | "object_changed" | "object_first_created" | "object_id" | "object_last_modified" | "object_list_control_point" | "object_list_filter" | "object_name" | "object_properties" | "object_size" | "object_type" | "observation_schedule_changed" | "on-demand_ranging_data" | "ots_feature" | "ozone_concentration" | "parent_group_object_id" | "particulate_matter_pm1_concentration" | "particulate_matter_pm10_concentration" | "particulate_matter_pm2_5_concentration" | "perceived_lightness" | "percentage_8" | "percentage_8_steps" | "physical_activity_current_session" | "physical_activity_monitor_control_point" | "physical_activity_monitor_features" | "physical_activity_session_descriptor" | "playback_speed" | "playing_order" | "playing_orders_supported" | "plx_continuous_measurement" | "plx_features" | "plx_spot_check_measurement" | "pnp_id" | "pollen_concentration" | "position_2d" | "position_3d" | "position_quality" | "power" | "power_specification" | "preferred_units" | "pressure" | "protocol_mode" | "pulse_oximetry_control_point" | "rainfall" | "ranging_data_ready" | "rank_characteristic" | "ras_control_point" | "ras_features" | "rc_feature" | "rc_settings" | "real-time_ranging_data" | "reconnection_configuration_control_point" | "record_access_control_point" | "reference_time_information" | "registered_user" | "relative_runtime_in_a_correlated_color_temperature_range" | "relative_runtime_in_a_current_range" | "relative_runtime_in_a_generic_level_range" | "relative_value_in_a_period_of_day" | "relative_value_in_a_temperature_range" | "relative_value_in_a_voltage_range" | "relative_value_in_an_illuminance_range" | "removable" | "report" | "report_map" | "resolvable_private_address_only" | "resting_heart_rate" | "ringer_control_point" | "ringer_setting" | "rotational_speed" | "rower_data" | "rsc_feature" | "rsc_measurement" | "sc_control_point" | "scan_interval_window" | "scan_refresh" | "scientific_temperature_celsius" | "search_control_point" | "search_results_object_id" | "secondary_time_zone" | "sedentary_interval_notification" | "seeking_speed" | "sensor_location" | "serial_number_string" | "server_supported_features" | "service_cycle_data" | "service_required" | "set_identity_resolving_key" | "sink_ase" | "sink_audio_locations" | "sink_pac" | "size_characteristic" | "sleep_activity_instantaneous_data" | "sleep_activity_summary_data" | "software_revision_string" | "source_ase" | "source_audio_locations" | "source_pac" | "sport_type_for_aerobic_and_anaerobic_thresholds" | "stair_climber_data" | "status_flags" | "step_climber_data" | "step_counter_activity_summary_data" | "stored_health_observations" | "stride_length" | "sulfur_dioxide_concentration" | "sulfur_hexafluoride_concentration" | "supported_audio_contexts" | "supported_heart_rate_range" | "supported_inclination_range" | "supported_new_alert_category" | "supported_power_range" | "supported_resistance_level_range" | "supported_speed_range" | "supported_unread_alert_category" | "system_id" | "tds_control_point" | "temperature" | "temperature_8" | "temperature_8_in_a_period_of_day" | "temperature_8_statistics" | "temperature_celsius" | "temperature_fahrenheit" | "temperature_measurement" | "temperature_range" | "temperature_statistics" | "temperature_type" | "termination_reason" | "three_zone_heart_rate_limits" | "time_accuracy" | "time_broadcast" | "time_change_log_data" | "time_decihour_8" | "time_exponential_8" | "time_hour_24" | "time_millisecond_24" | "time_second_16" | "time_second_32" | "time_second_8" | "time_source" | "time_update_control_point" | "time_update_state" | "time_with_dst" | "time_zone" | "tmap_role" | "torque" | "track_changed" | "track_duration" | "track_position" | "track_title" | "training_status" | "treadmill_data" | "true_wind_direction" | "true_wind_speed" | "two_zone_heart_rate_limits" | "tx_power_level" | "ugg_features" | "ugt_features" | "uncertainty" | "unread_alert_status" | "uri" | "user_control_point" | "user_index" | "uv_index" | "vo2_max" | "voc_concentration" | "voltage" | "voltage_frequency" | "voltage_specification" | "voltage_statistics" | "volume_control_point" | "volume_flags" | "volume_flow" | "volume_offset_control_point" | "volume_offset_state" | "volume_state" | "waist_circumference" | "weight" | "weight_measurement" | "weight_scale_feature" | "wind_chill" | "work_cycle_data" | "length"
isGattDescriptorName: (value: unknown) => value is "complete_br_edr_transport_block_data" | "es_configuration" | "es_measurement" | "es_trigger_setting" | "external_report_reference" | "gatt.characteristic_aggregate_format" | "gatt.characteristic_extended_properties" | "gatt.characteristic_presentation_format" | "gatt.characteristic_user_description" | "gatt.client_characteristic_configuration" | "gatt.server_characteristic_configuration" | "manufacturer_limits" | "measurement_description" | "number_of_digitals" | "observation_schedule" | "process_tolerances" | "report_reference" | "time_trigger_setting" | "valid_range" | "valid_range_accuracy" | "value_trigger_setting"
isGattServiceName: (value: unknown) => value is "alert_notification" | "audio_input_control" | "audio_stream_control" | "authorization_control" | "automation_io" | "basic_audio_announcement" | "battery_service" | "binary_sensor" | "blood_pressure" | "body_composition" | "bond_management" | "broadcast_audio_announcement" | "broadcast_audio_scan" | "common_audio" | "constant_tone_extension" | "continuous_glucose_monitoring" | "coordinated_set_identification" | "current_time" | "cycling_power" | "cycling_speed_and_cadence" | "device_information" | "device_time" | "elapsed_time" | "electronic_shelf_label" | "emergency_configuration" | "environmental_sensing" | "fitness_machine" | "gaming_audio" | "gap" | "gatt" | "generic_health_sensor" | "generic_media_control" | "generic_telephone_bearer" | "glucose" | "health_thermometer" | "hearing_access" | "heart_rate" | "http_proxy" | "human_interface_device" | "immediate_alert" | "indoor_positioning" | "industrial_measurement_device" | "insulin_delivery" | "internet_protocol_support" | "link_loss" | "location_and_navigation" | "media_control" | "mesh_provisioning" | "mesh_proxy" | "mesh_proxy_solicitation" | "microphone_control" | "next_dst_change" | "object_transfer" | "phone_alert_status" | "physical_activity_monitor" | "public_broadcast_announcement" | "published_audio_capabilities" | "pulse_oximeter" | "reconnection_configuration" | "reference_time_update" | "running_speed_and_cadence" | "scan_parameters" | "telephone_bearer" | "telephony_and_media_audio" | "transport_discovery" | "tx_power" | "user_data" | "volume_control" | "volume_offset" | "weight_scale"
function languageFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Language;
Parse from a DataView into Language.
function lastNameFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LastName;
Parse from a DataView into LastName.
function latitudeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Latitude;
Parse from a DataView into Latitude.
function lnFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LnFeature;
Parse from a DataView into LnFeature.
function localEastCoordinateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LocalEastCoordinate;
Parse from a DataView into LocalEastCoordinate.
function localNorthCoordinateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LocalNorthCoordinate;
Parse from a DataView into LocalNorthCoordinate.
function localTimeInformationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LocalTimeInformation;
Parse from a DataView into LocalTimeInformation.
function locationAndSpeedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LocationAndSpeed;
Parse from a DataView into LocationAndSpeed.
function locationNameFromDataView(dataView: DataView | DataViewReader, indexStart?: number): LocationName;
Parse from a DataView into LocationName.
function longitudeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Longitude;
Parse from a DataView into Longitude.
function magneticDeclinationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): MagneticDeclination;
Parse from a DataView into MagneticDeclination.
function magneticFluxDensity2DFromDataView(dataView: DataView | DataViewReader, indexStart?: number): MagneticFluxDensity2D;
Parse from a DataView into MagneticFluxDensity2D.
function magneticFluxDensity3DFromDataView(dataView: DataView | DataViewReader, indexStart?: number): MagneticFluxDensity3D;
Parse from a DataView into MagneticFluxDensity3D.
function manufacturerNameStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ManufacturerNameString;
Parse from a DataView into ManufacturerNameString.
function maximumRecommendedHeartRateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): MaximumRecommendedHeartRate;
Parse from a DataView into MaximumRecommendedHeartRate.
function measurementIntervalFromDataView(dataView: DataView | DataViewReader, indexStart?: number): MeasurementInterval;
Parse from a DataView into MeasurementInterval.
function modelNumberStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ModelNumberString;
Parse from a DataView into ModelNumberString.
function navigationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Navigation;
Parse from a DataView into Navigation.
function newAlertFromDataView(dataView: DataView | DataViewReader, indexStart?: number): NewAlert;
Parse from a DataView into NewAlert.
function numberOfDigitalsFromDataView(dataView: DataView | DataViewReader, indexStart?: number): NumberOfDigitals;
Parse from a DataView into NumberOfDigitals.
function objectFirstCreatedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ObjectFirstCreated;
Parse from a DataView into ObjectFirstCreated.
function objectIdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ObjectId;
Parse from a DataView into ObjectId.
function objectLastModifiedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ObjectLastModified;
Parse from a DataView into ObjectLastModified.
function objectNameFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ObjectName;
Parse from a DataView into ObjectName.
function objectSizeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ObjectSize;
Parse from a DataView into ObjectSize.
parseHeartRate: (viewOrHex: DataView | string) => HeartRateMeasurement
function plxContinuousMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxContinuousMeasurement;
Parse from a DataView into PlxContinuousMeasurement.
function plxFeaturesFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxFeatures;
Parse from a DataView into PlxFeatures.
function plxSpotCheckMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxSpotCheckMeasurement;
Parse from a DataView into PlxSpotCheckMeasurement.
function pnpIdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PnpId;
Parse from a DataView into PnpId.
function pollenConcentrationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PollenConcentration;
Parse from a DataView into PollenConcentration.
function positionQualityFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PositionQuality;
Parse from a DataView into PositionQuality.
function pressureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Pressure;
Parse from a DataView into Pressure.
function protocolModeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ProtocolMode;
Parse from a DataView into ProtocolMode.
function rainfallFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Rainfall;
Parse from a DataView into Rainfall.
function referenceTimeInformationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ReferenceTimeInformation;
Parse from a DataView into ReferenceTimeInformation.
function reportFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Report;
Parse from a DataView into Report.
function reportMapFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ReportMap;
Parse from a DataView into ReportMap.
function reportReferenceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ReportReference;
Parse from a DataView into ReportReference.
function resolvablePrivateAddressOnlyFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ResolvablePrivateAddressOnly;
Parse from a DataView into ResolvablePrivateAddressOnly.
function restingHeartRateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RestingHeartRate;
Parse from a DataView into RestingHeartRate.
function ringerControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RingerControlPoint;
Parse from a DataView into RingerControlPoint.
function ringerSettingFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RingerSetting;
Parse from a DataView into RingerSetting.
function rowerDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RowerData;
Parse from a DataView into RowerData.
function rscFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RscFeature;
Parse from a DataView into RscFeature.
function rscMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): RscMeasurement;
Parse from a DataView into RscMeasurement.
function scanIntervalWindowFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ScanIntervalWindow;
Parse from a DataView into ScanIntervalWindow.
function scanRefreshFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ScanRefresh;
Parse from a DataView into ScanRefresh.
function sensorLocationFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SensorLocation;
Parse from a DataView into SensorLocation.
function serialNumberStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SerialNumberString;
Parse from a DataView into SerialNumberString.
function softwareRevisionStringFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SoftwareRevisionString;
Parse from a DataView into SoftwareRevisionString.
function sportTypeForAerobicAndAnaerobicThresholdsFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SportTypeForAerobicAndAnaerobicThresholds;
Parse from a DataView into SportTypeForAerobicAndAnaerobicThresholds.
function stairClimberDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): StairClimberData;
Parse from a DataView into StairClimberData.
function stepClimberDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): StepClimberData;
Parse from a DataView into StepClimberData.
function supportedHeartRateRangeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedHeartRateRange;
Parse from a DataView into SupportedHeartRateRange.
function supportedInclinationRangeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedInclinationRange;
Parse from a DataView into SupportedInclinationRange.
function supportedNewAlertCategoryFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedNewAlertCategory;
Parse from a DataView into SupportedNewAlertCategory.
function supportedPowerRangeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedPowerRange;
Parse from a DataView into SupportedPowerRange.
function supportedResistanceLevelRangeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedResistanceLevelRange;
Parse from a DataView into SupportedResistanceLevelRange.
function supportedSpeedRangeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedSpeedRange;
Parse from a DataView into SupportedSpeedRange.
function supportedUnreadAlertCategoryFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SupportedUnreadAlertCategory;
Parse from a DataView into SupportedUnreadAlertCategory.
function systemIdFromDataView(dataView: DataView | DataViewReader, indexStart?: number): SystemId;
Parse from a DataView into SystemId.
function temperatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Temperature;
Parse from a DataView into Temperature.
function temperatureMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TemperatureMeasurement;
Parse from a DataView into TemperatureMeasurement.
function temperatureTypeFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TemperatureType;
Parse from a DataView into TemperatureType.
function threeZoneHeartRateLimitsFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ThreeZoneHeartRateLimits;
Parse from a DataView into ThreeZoneHeartRateLimits.
function timeAccuracyFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeAccuracy;
Parse from a DataView into TimeAccuracy.
function timeSourceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeSource;
Parse from a DataView into TimeSource.
function timeTriggerSettingFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeTriggerSetting;
Parse from a DataView into TimeTriggerSetting.
function timeUpdateControlPointFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeUpdateControlPoint;
Parse from a DataView into TimeUpdateControlPoint.
function timeUpdateStateFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeUpdateState;
Parse from a DataView into TimeUpdateState.
function timeWithDstFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeWithDst;
Parse from a DataView into TimeWithDst.
function timeZoneFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TimeZone;
Parse from a DataView into TimeZone.
function treadmillDataFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TreadmillData;
Parse from a DataView into TreadmillData.
function trueWindDirectionFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TrueWindDirection;
Parse from a DataView into TrueWindDirection.
function trueWindSpeedFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TrueWindSpeed;
Parse from a DataView into TrueWindSpeed.
function twoZoneHeartRateLimitFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TwoZoneHeartRateLimit;
Parse from a DataView into TwoZoneHeartRateLimit.
function txPowerLevelFromDataView(dataView: DataView | DataViewReader, indexStart?: number): TxPowerLevel;
Parse from a DataView into TxPowerLevel.
function uncertaintyFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Uncertainty;
Parse from a DataView into Uncertainty.
function unreadAlertStatusFromDataView(dataView: DataView | DataViewReader, indexStart?: number): UnreadAlertStatus;
Parse from a DataView into UnreadAlertStatus.
function uriFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Uri;
Parse from a DataView into Uri.
function userIndexFromDataView(dataView: DataView | DataViewReader, indexStart?: number): UserIndex;
Parse from a DataView into UserIndex.
function uvIndexFromDataView(dataView: DataView | DataViewReader, indexStart?: number): UvIndex;
Parse from a DataView into UvIndex.
function valueTriggerSettingFromDataView(dataView: DataView | DataViewReader, indexStart?: number): ValueTriggerSetting;
Parse from a DataView into ValueTriggerSetting.
function vo2MaxFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Vo2Max;
Parse from a DataView into Vo2Max.
function waistCircumferenceFromDataView(dataView: DataView | DataViewReader, indexStart?: number): WaistCircumference;
Parse from a DataView into WaistCircumference.
function weightFromDataView(dataView: DataView | DataViewReader, indexStart?: number): Weight;
Parse from a DataView into Weight.
function weightMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): WeightMeasurement;
Parse from a DataView into WeightMeasurement.
function weightScaleFeatureFromDataView(dataView: DataView | DataViewReader, indexStart?: number): WeightScaleFeature;
Parse from a DataView into WeightScaleFeature.
function windChillFromDataView(dataView: DataView | DataViewReader, indexStart?: number): WindChill;
Parse from a DataView into WindChill.
export interface AerobicHeartRateLowerLimit
Lower limit of the heart rate where the user enhances his endurance while exercising
export interface AerobicHeartRateUpperLimit
Upper limit of the heart rate where the user enhances his endurance while exercising
export interface AerobicThreshold
First metabolic threshold.
export interface Age
Age of the User.
export interface Aggregate
The Aggregate Input is an aggregate of the Digital Input Characteristic value (if available) and ALL Analog Inputs available.
export interface AlertCategoryId
Categories of alerts/messages.
The value 0x01 is interpreted as ?Email?
The value of the characteristic is an unsigned 8 bit integer that has a fixed point exponent of 0. The Alert Category ID characteristic defines the predefined categories of messages as an enumeration.
export interface AlertCategoryIdBitMask
Categories of alerts/messages.
The value 0x03 is interpreted as ?Simple Alert and Email bits set?
The value of the characteristic is a bit mask implemented as an array of unsigned 8 bit integers. The Alert Category ID Bit Mask characteristic defines one bit for each predefined category ID.
export interface AlertLevel
The level of an alert a device is to sound. If this level is changed while the alert is being sounded, the new level should take effect.
The value 0x01 is interpreted as ?Mild Alert?
? Value 0, meaning ?No Alert?
? Value 1, meaning ?Mild Alert?
? Value 2, meaning ?High Alert?
export interface AlertNotificationControlPoint
Control point of the Alert Notification server. Client can write the command here to request the several functions toward the server.
The data 0x02 0x01 interprets ?Disable New Incoming Notification for Email Category?.
The 2nd octet value of the characteristic is an ?Alert Category ID? format. This octet shows the target category that the command ID applies for.
export interface AlertStatus
Bit 0, meaning ?Ringer State?
Bit 1, meaning ?Vibrator State?
Bit 2, meaning "Display Alert Status"
Bit 0, 0 meaning ?Ringer State? not active, 1 meaning ?Ringer State? active
Bit 1, 0 meaning ?Vibrator State? not active, 1 meaning ?Vibrator State? active
Bit 2, 0 meaning ?Display Alert State? not active, 1 meaning ?Display Alert State? active
export interface Altitude
The Altitude characteristic describes the altitude of the device.
export interface AnaerobicHeartRateLowerLimit
Lower limit of the heart rate where the user enhances his anaerobic tolerance while exercising.
export interface AnaerobicHeartRateUpperLimit
Upper limit of the heart rate where the user enhances his anaerobic tolerance while exercising.
export interface AnaerobicThreshold
Second metabolic threshold
export interface Analog
The Analog characteristic is used to read or write the value of one of the IO Module?s analog signals.
export interface ApparentWindDirection
export interface ApparentWindSpeed
export interface BarometricPressureTrend
export interface BatteryLevel
The current charge level of a battery. 100% represents fully charged while 0% represents fully discharged.
export interface BloodPressureFeature
The Blood Pressure Feature characteristic is used to describe the supported features of the Blood Pressure Sensor.
export interface BloodPressureMeasurement
The Blood Pressure Measurement characteristic is a variable length structure containing a Flags field, a Blood Pressure Measurement Compound Value field, and contains additional fields such as Time Stamp, Pulse Rate and User ID as determined by the contents of the Flags field.
export interface BodyCompositionFeature
export interface BodyCompositionMeasurement
export interface BodySensorLocation
export interface BootKeyboardInputReport
The Boot Keyboard Input Report characteristic is used to transfer fixed format and length Input Report data between a HID Host operating in Boot Protocol Mode and a HID Service corresponding to a boot keyboard.
export interface BootKeyboardOutputReport
The Boot Keyboard Output Report characteristic is used to transfer fixed format and length Output Report data between a HID Host operating in Boot Protocol Mode and a HID Service corresponding to a boot keyboard.
export interface BootMouseInputReport
The Boot Mouse Input Report characteristic is used to transfer fixed format and length Input Report data between a HID Host operating in Boot Protocol Mode and a HID Service corresponding to a boot mouse.
export interface BtReaderClass
export interface CgmFeature
export interface CrossTrainerData
The Cross Trainer Data characteristic is used to send training-related data to the Client from a cross trainer (Server).
export interface CscFeature
The CSC (Cycling Speed and Cadence) Feature characteristic is used to describe the supported features of the Server.
export interface CscMeasurement
The CSC Measurement characteristic (CSC refers to Cycling Speed and Cadence) is a variable length structure containing a Flags field and, based on the contents of the Flags field, may contain one or more additional fields as shown in the tables below.
export interface CurrentTime
export interface CyclingPowerFeature
The CP Feature characteristic is used to report a list of features supported by the device.
export interface CyclingPowerMeasurement
The Cycling Power Measurement characteristic is a variable length structure containing a Flags field, an Instantaneous Power field and, based on the contents of the Flags field, may contain one or more additional fields as shown in the table below.
export interface CyclingPowerVector
The Cycling Power Vector characteristic is a variable length structure containing a Flags fieldand based on the contents of the Flags field, may contain one or more additional fields as shown in the table below.
export interface DatabaseChangeIncrement
export interface DateOfBirth
export interface DateOfThresholdAssessment
export interface DateTime
The Date Time characteristic is used to represent time.
The Date Time characteristic contains fields for year, month, day, hours, minutes and seconds. Calendar days in Date Time are represented using Gregorian calendar. Hours in Date Time are represented in the 24h system.
export interface DayDateTime
export interface DayOfWeek
export interface DewPoint
export interface Digital
The Digital characteristic is used to expose and change the state of an IO Module?s digital signals.
export interface DstOffset
export interface Elevation
export interface EmailAddress
Email address of the user. See Note below.
export interface ExactTime256
export interface FatBurnHeartRateLowerLimit
Lower limit of the heart rate where the user maximizes the fat burn while exersizing
export interface FatBurnHeartRateUpperLimit
Upper limit of the heart rate where the user maximizes the fat burn while exersizing
export interface FirmwareRevisionString
The value of this characteristic is a UTF-8 string representing the firmware revision for the firmware within the device.
export interface FirstName
First name of the user. See Note below.
export interface FiveZoneHeartRateLimits
Data structure containing the limits between the heart rate zones for the 5-zone heart rate definition (Maximum, Hard, Moderate, Light and Very Light).
export interface FloorNumber
The Floor Number characteristic describes in which floor the device is installed.
export interface GapAppearance
The external appearance of this device. The values are composed of a category (10-bits) and sub-categories (6-bits).
export interface GapDeviceName
export interface GapPeripheralPreferredConnectionParameters
export interface GapPeripheralPrivacyFlag
export interface GapReconnectionAddress
The Information included in this page is informative. The normative descriptions are contained in the applicable specification.
export interface GattCharacteristicAggregateFormat
The Characteristic Aggregate Format descriptor defines the format of an aggregated Characteristic Value.
If 3 Characteristic Presentation Format declarations exist at Attribute Handles 0x40, 0x50 and 0x60, the Characteris Aggregate Format Value is 0x405060.
Only one Characteristic Aggregate Format descriptor exists in a characteristic definition. This descriptor consists of a list of Attribute Handles pointing to Characteristic Presentation Format declarations. This descriptor is read only and does not require authentication or authorization. The list of Attribute Handles is the concatenation of multiple 16-bit Attribute Handle values into a single Attribute Value. If more than one Characteristic Presentation Format declarations exist, then there is one Characteristic Aggregate Format declaration. However, a Characteristic Aggregate Format descriptor can be present even if there aren't any Presentation Format descriptors in the characteristic definition. The order of the Attribute Handles in the list is significant.
export interface GattCharacteristicExtendedProperties
The Characteristic Extended Properties descriptor defines additional Characteristic Properties.
If the Characteristic Extended Properties bit of the Characteristic Properties is set, then this descriptor exists. The Characteristic Extended Properties descriptor is a bit field defining Reliable Write and Writeable Auxiliaries are enabled for the Characteristic. This descriptor is readable without authentication and authorization being required.
export interface GattCharacteristicPresentationFormat
The Characteristic Presentation Format descriptor defines the format of the Characteristic Value.
When encoding an IPv4 address, the uint32 Format type is used.
When encoding an IPv6 address, the uint128 Format type is used.
When encoding a Bluetooth address (BD_ADDR), the uint48 Format type is used.
For a Characteristic Value of 23 and an Exponent of 2, the actual value is 2300
For a Characteristi Value of 3892 and an Exponent of -3, the actual value is 3.892
One or more Characteristic Presentation Format descriptors may be present. If multiple of these descriptors are present, then a Aggregate Formate descriptor is present. This descriptor is read only and does not require authentication or authorization to read. This descriptor is composed of five parts: format, exponent, unit, name space and description. The Format field determines how a single value contained in the Characteristic Value is formatted. The Exponent field is used with interger data types to determine how the Characteristic Value is furhter formatted. The actual value = Characteristic Value * 10^Exponent.
export interface GattCharacteristicUserDescription
The Characteristic User Description descriptor provides a textual user description for a characteristic value.
If the Writable Auxiliary bit of the Characteristics Properties is set then this descriptor is written. Only one User Description descriptor exists in a characteristic definition.
export interface GattClientCharacteristicConfiguration
The Client Characteristic Configuration descriptor defines how the characteristic may be configured by a specific client.
This descriptor shall be persistent across connections for bonded devices. The Client Characteristic Configuration descriptor is unique for each client. A client may read and write this descriptor to determine and set the configuration for that client. Authentication and authorization may be required by the server to write this descriptor. The default value for the Client Characteristic Configuration descriptor is 0x00. Upon connection of non-binded clients, this descriptor is set to the default value.
export interface GattNamedDetails
Consolidated metadata for an assigned Service, Characteristic, or Descriptor.
export interface GattServerCharacteristicConfiguration
The Server Characteristic Configuration descriptor defines how the characteristic descriptor is associated with may be configured for the server.
Only one Server Characteristic Configuration descriptor exists in a characteristic definition. A client may write this configuration descriptor to control the configuration of the characteristic on the server for all clients. There is a single instantiation of this descriptor for all clients. Authentication and authorization may be required by the server to write this descriptor.
export interface GattServiceChanged
export interface Gender
Gender of the user. The value of the Gender characteristic are defined below: 0:male,1:female, 2:Unspecified,3-225: RFU
export interface GlucoseFeature
The Glucose Feature characteristic is used to describe the supported features of the Server. When read, the Glucose Feature characteristic returns a value that is used by a Client to determine the supported features of the Server.
export interface GlucoseMeasurement
The Glucose Measurement characteristic is a variable length structure containing a Flags field, a Sequence Number field, a Base Time field and, based upon the contents of the Flags field, may contain a Time Offset field, Glucose Concentration field, Type-Sample Location field and a Sensor Status Annunciation field.
export interface GlucoseMeasurementContext
The Glucose Measurement Context characteristic is a variable length structure containing a Flags field, a Sequence Number field and, based upon the contents of the Flags field, may contain a Carbohydrate ID field, Carbohydrate field, Meal field, Tester-Health field, Exercise Duration field, Exercise Intensity field, Medication ID field, Medication field and a HbA1c field.
export interface GustFactor
export interface HardwareRevisionString
The value of this characteristic is a UTF-8 string representing the hardware revision for the hardware within the device.
export interface HeartRateControlPoint
export interface HeartRateMax
Maximum heart rate a user can reach.
export interface HeartRateMeasurement
export interface HeatIndex
export interface Height
Height of the User
export interface HidControlPoint
? Suspend ( Refer to Section 7.4.2, Bluetooth HID Profile Specification 1.0
? Exit Suspend (Refer to Section 7.4.2, Bluetooth HID Profile Specification 1.0
export interface HidInformation
The HID Information Characteristic returns the HID attributes when read.
The HID Information Characteristic contains the HID attributes. The value of this Characteristic is static and can be cached for the lifetime of the bond between the HID device and the HID host.
export interface HipCircumference
Used with the Waist Circumference value to calculate the Waist to Hip Ratio (WHR)
export interface HttpControlPoint
The HTTP Control Point is used to initiate a request to send an HTTP request message from the device contgaining the HTTP Proxy Service, acting as an HTTP Client, and an HTTP Server.
export interface HttpEntityBody
The HTTP Entity Body Characteristic contains the contents of the message body after any Transfer Encoding has been applied.
export interface HttpHeaders
The HTTP Headers Characteristic is used to hold the headers that would be sent to the HTTP Request or the headers contained within an HTTP response message from the HTTP Server.
export interface HttpsSecurity
The HTTPS Security characteristic contains the known authenticity of the HTTPS Server certificate for the URI.
export interface HttpStatusCode
The HTTP Status Code characteristic contains the Status-Code from the Status-Line of the first line of the HTTP Response Message, followed by one octet indicating the Data Status Bit Field indicating the status of the data received.
export interface Humidity
export interface IndoorBikeData
The Indoor Bike Data characteristic is used to send training-related data to the Client from an indoor bike (Server).
export interface IndoorPositioningConfiguration
The Indoor Positioning Configuration describes the set of characteristic values included in the Indoor Positioning Service AD type.
export interface IntermediateCuffPressure
This characteristic has the same format as the Blood Pressure Measurement characteristic. However, due to a different context, the Blood Pressure Measurement Compound Value field becomes the Intermediate Cuff Pressure Compound Value field, the Systolic sub-field becomes the Current Cuff Pressure sub-field and the Diastolic and MAP fields are unused.
export interface IntermediateTemperature
The Intermediate Temperature characteristic has the same format as the Temperature Measurement characteristic. However, due to a different context, the Value field is referred to as the Intermediate Temperature Value field.
export interface Irradiance
export interface Language
export interface LastName
Last name of the user. See Note below.
export interface Latitude
The Latitude characteristic describes the WGS84 North coordinate of the device.
export interface LnFeature
The LN Feature characteristic is used to report a list of features supported by the device.
export interface LocalEastCoordinate
The Local East characteristic describes the East coordinate of the device using local coordinate system.
export interface LocalNorthCoordinate
The Local North characteristic describes the North coordinate of the device using local coordinate system.
export interface LocalTimeInformation
export interface LocationAndSpeed
The Location and Speed characteristic is a variable length structure containing a Flags field and, based on the contents of the Flags field, may contain a combination of data fields listed below. Note that it is possible for this characteristic to exceed the default LE MTU size.
export interface LocationName
The Location Name characteristic describes the name of the location the device is installed in.
export interface Longitude
The Longitude characteristic describes the WGS84 East coordinate of the device.
export interface MagneticDeclination
export interface MagneticFluxDensity2D
export interface MagneticFluxDensity3D
export interface ManufacturerNameString
The value of this characteristic is a UTF-8 string representing the name of the manufacturer of the device.
export interface MaximumRecommendedHeartRate
Maximum recommended heart rate is a threshold that may be set to limit exertion. The maximum recommended heart rate is smaller or equal to the maximal heart rate a user can reach.
export interface MeasurementInterval
The Measurement Interval characteristic defines the time between measurements.
This characteristic is capable of representing values from 1 second to 65535 seconds which is equal to 18 hours, 12 minutes and 15 seconds.
export interface ModelNumberString
The value of this characteristic is a UTF-8 string representing the model number assigned by the device vendor.
export interface Navigation
The Navigation characteristic is a variable length structure containing a Flags field, a Bearing field, a Heading field and, based on the contents of the Flags field, may contain a combination of data fields listed below.
export interface NewAlert
This characteristic defines the category of the alert and how many new alerts of that category have occurred in the server device. Brief text information may also be included for the last alert in the category.
The value 0x01, 0x04, 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, 0x64 are interpreted that the server has 4 new email messages and the last message was sent by ?Richard?.
This characteristic consists of ?Category ID?, ?uint8?, and ?UTF-8 string? fields. The size of this characteristic is dynamic because of the variable length text (?UTF-8?) field. The minimum length of ?UTF-8 string? is 0 octets and maximum length of ?UTF-8 string? is 18 octets.
export interface NumberOfDigitals
The Characteristic Number of Digitals descriptor is used for defining the number of digitals in a characteristic.
export interface ObjectFirstCreated
export interface ObjectId
export interface ObjectLastModified
export interface ObjectName
export interface ObjectSize
export interface PlxContinuousMeasurement
The PLX Continuous Measurement characteristic, if supported, is used to send periodic pulse oximetry measurements. This characteristic is a variable length structure containing the Flags field (to indicate presence of optional fields), the SpO2PR-Normal field, and depending on the contents of the Flags field, the SpO2PR-Fast field, the SpO2PR-Slow field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.
export interface PlxFeatures
The PLX Features characteristic is used to describe the supported features of the Server. Included in the characteristic is a PLX Features field, and, depending on the contents of the PLX Features field, the Measurement Status Support field, and the Device and Sensor Status Support field.
export interface PlxSpotCheckMeasurement
The PLX Spot-check Measurement characteristic, if supported, is used to send Spot-check measurements of SpO2 (Percent oxygen saturation of hemoglobin) and PR (pulse rate). This characteristic is a variable length structure containing the Flags field, the SpO2PR-Spot-Check field, and depending on the contents of the Flags field, the Timestamp field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.
export interface PnpId
The PnP_ID characteristic returns its value when read using the GATT Characteristic Value Read procedure.
The PnP_ID characteristic is a set of values that used to create a device ID value that is unique for this device. Included in the characteristic is a Vendor ID Source field, a Vendor ID field, a Product ID field and a Product Version field. These values are used to identify all devices of a given type/model/version using numbers.
export interface PollenConcentration
export interface PositionQuality
The Position Quality characteristic is a variable length structure containing a Flags field and at least one of the optional data fields listed below
export interface Pressure
export interface ProtocolMode
The Protocol Mode characteristic is used to expose the current protocol mode of the HID Service with which it is associated, or to set the desired protocol mode of the HID Service.
export interface Rainfall
export interface ReferenceTimeInformation
export interface Report
The Report characteristic is used to exchange data between a HID Device and a HID Host.
The Report characteristic value contains Input Report, Output Report or Feature Report data to be transferred between the HID Device and HID Host.
export interface ReportMap
Only a single instance of this characteristic exists as part of a HID Service.
export interface ReportReference
Mapping information in the form of a Report ID and Report Type which maps the current parent characteristic to the Report ID(s) and Report Type (s) defined within the Report Map characteristic.
export interface ResolvablePrivateAddressOnly
The Resolvable Private Address Only characteristic defines whether the device will only use Resolvable Private Addresses (RPAs) as local addresses.
export interface RestingHeartRate
Lowest Heart Rate a user can reach
export interface RingerControlPoint
Value 1, meaning ?Silent Mode"
Value 2, meaning ?Mute Once?
Value 3, meaning ?Cancel Silent Mode?
The value 0x01 shall be interpreted as ?Silent Mode?
export interface RingerSetting
Value 0, meaning ?Ringer Silent"
Value 1, meaning ?Ringer Normal?
The value 0x01 shall be interpreted as ?Ringer Normal?
export interface RowerData
The Rower Data characteristic is used to send training-related data to the Client from a rower (Server).
export interface RscFeature
The RSC (Running Speed and Cadence) Feature characteristic is used to describe the supported features of the Server.
export interface RscMeasurement
The RSC Measurement characteristic (RSC refers to Running Speed and Cadence) is a variable length structure containing a Flags field, an Instantaneous Speed field and an Instantaneous Cadence field and, based on the contents of the Flags field, may contain a Stride Length field and a Total Distance field.
export interface ScanIntervalWindow
The Scan Interval Window characteristic is used to store the scan parameters of the GATT Client. Included in this characteristic are the Scan Interval and Scan Window of the GATT Client device.
The Scan Interval Window characteristic is used to store the scan parameters of the GATT Client. The GATT Server can use these values to optimize its own advertisement rate and to minimize the rate of its own advertisements while also minimizing the latency of reconnections.
export interface ScanRefresh
The Scan Refresh characteristic is used to notify the Client that the Server requires the Scan Interval Window characteristic to be written with the latest values upon notification.
export interface SensorLocation
The Sensor Location characteristic is used to expose the location of the sensor.
export interface SerialNumberString
The value of this characteristic is a variable-length UTF-8 string representing the serial number for a particular instance of the device.
export interface SoftwareRevisionString
The value of this characteristic is a UTF-8 string representing the software revision for the software within the device.
export interface SportTypeForAerobicAndAnaerobicThresholds
Sport type enumeration(See note below). The values of the Sport Type for Aerobic and Anaerobic Thresholds characteristic are defined below
export interface StairClimberData
The Stair Climber Data characteristic is used to send training-related data to the Client from a stair climber (Server).
export interface StepClimberData
The Step Climber Data characteristic is used to send training-related data to the Client from a step climber (Server).
export interface SupportedHeartRateRange
The Supported Heart Rate Range characteristic is used to send the supported Heart Rate range as well as the minimum Heart Rate increment supported by the Server.
export interface SupportedInclinationRange
The Supported Inclination Range characteristic is used to send the supported inclination range as well as the minimum inclination increment supported by the Server.
export interface SupportedNewAlertCategory
Category that the server supports for new alert.
The value 0x0a is interpreted that this server supports ?Call? and ?Email? categories.
This characteristic uses the Alert Category ID Bit Mask Characteristic. If bit(s) is/are set, it means the server supports the corresponded categories for new incoming alert.
export interface SupportedPowerRange
The Supported Power Range characteristic is used to send the supported power range as well as the minimum power increment supported by the Server.
export interface SupportedResistanceLevelRange
The Supported Resistance Level Range characteristic is used to send the supported resistance level range as well as the minimum resistance increment supported by the Server.
export interface SupportedSpeedRange
The Supported Speed Range characteristic is used to send the supported speed range as well as the minimum speed increment supported by the Server.
export interface SupportedUnreadAlertCategory
Category that the server supports for unread alert.
The value 0x03 is interpreted that this server supports ?Simple Alert? and ?Email? categories for unread alert.
This characteristic uses the Alert Category ID Bit Mask Characteristic. If bit(s) is/are set, it means the server supports the corresponded categories for unread alert.
export interface SystemId
The SYSTEM ID characteristic consists of a structure with two fields. The first field are the LSOs and the second field contains the MSOs. This is a 64-bit structure which consists of a 40-bit manufacturer-defined identifier concatenated with a 24 bit unique Organizationally Unique Identifier (OUI). The OUI is issued by the IEEE Registration Authority (http://standards.ieee.org/regauth/index.html) and is required to be used in accordance with IEEE Standard 802-2001.6 while the least significant 40 bits are manufacturer defined.
If System ID generated based on a Bluetooth Device Address, it is required to be done as follows. System ID and the Bluetooth Device Address have a very similar structure: a Bluetooth Device Address is 48 bits in length and consists of a 24 bit Company Assigned Identifier (manufacturer defined identifier) concatenated with a 24 bit Company Identifier (OUI). In order to encapsulate a Bluetooth Device Address as System ID, the Company Identifier is concatenated with 0xFFFE followed by the Company Assigned Identifier of the Bluetooth Address. For more guidelines related to EUI-64, refer to http://standards.ieee.org/develop/regauth/tut/eui64.pdf.
If the system ID is based of a Bluetooth Device Address with a Company Identifier (OUI) is 0x123456 and the Company Assigned Identifier is 0x9ABCDE, then the System Identifier is required to be 0x123456FFFE9ABCDE.
export interface Temperature
export interface TemperatureMeasurement
The Temperature Measurement characteristic is a variable length structure containing a Flags field, a Temperature Measurement Value field and, based upon the contents of the Flags field, optionally a Time Stamp field and/or a Temperature Type field.
If the value of bit 1 of the Flags field is 0 and bit 2 is 0, the structure of the Temperature Measurement characteristic consists of two fields in this order; Flags and Temperature Measurement Value.
If the value of bit 1 of the Flags field is 1 (Time Stamp) and bit 2 is 0, the structure of the Temperature Measurement characteristic consists of three fields in this order: Flags, Temperature Measurement Value and Time Stamp.
If the value of bit 1 of the Flags field is 1 and bit 2 is 1 (Time Stamp and Temperature Type), the structure of the Temperature Measurement characteristic consists of four fields in this order: Flags, Temperature Measurement Value, Time Stamp and Temperature Type.
If the value of bit 1 of the Flags field is 0 and bit 2 is 1 (Temperature Type), the structure of the Temperature Measurement characteristic consists of three fields in this order: Flags, Temperature Measurement Value and Temperature Type.
The flags is the first field sent followed by the Temperature Measurement Value.
The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
export interface TemperatureType
The Temperature Type characteristic is an enumeration that indicates where the temperature was measured.
These Temperature Type values correspond to the Temperature Type descriptions used in ISO/IEEE 11073-10408-2008.
export interface ThreeZoneHeartRateLimits
Data structure containing the limits between the heart rate zones for the 3-zone heart rate definition (Hard, Moderate and Light).
export interface TimeAccuracy
export interface TimeSource
export interface TimeTriggerSetting
The value of the descriptor has two parts. Part one is a condition field and occupies one octet, and part two is the comparison value (trigger point) that the characteristic value is checked against.
export interface TimeUpdateControlPoint
export interface TimeUpdateState
export interface TimeWithDst
export interface TimeZone
export interface TreadmillData
The Treadmill Data characteristic is used to send training-related data to the Client from a treadmill (Server).
export interface TrueWindDirection
export interface TrueWindSpeed
export interface TwoZoneHeartRateLimit
Heart rate limit between the heart rate zones for the 2-zone heart rate definition (Fitness and Fat Burn).
export interface TxPowerLevel
The Transmit Power Level characteristic represents the current transmit power level in dBm, and the level ranges from -100 dBm to +20 dBm to a resolution of 1 dBm.
The value 0x12 is interpreted as +18dBm
The value 0xEE is interpreted as -18dBm
The value of the characteristic is a signed 8 bit integer that has a fixed point exponent of 0.
export interface Uncertainty
The Uncertainty characteristic describes the uncertainty of the location information the device exposes.
export interface UnreadAlertStatus
This characteristic shows how many numbers of unread alerts exist in the specific category in the device.
The value 0x01, 0x04 are interpreted that the server has 4 unread messages in Email category.
This characteristic consists of ?Category ID? and ?uint8? which shows the number of unread alerts/messages.
export interface Uri
The Uniform Resource Identifier (URI) Characteristic is used to configure the URI for a subsequent request.
export interface UserIndex
export interface UvIndex
export interface ValueTriggerSetting
The value of the descriptor has two parts. Part one is a condition field and occupies one octet, and part two is the comparison value (trigger point) that the characteristic value is checked against.
export interface Vo2Max
Maximal Oxygen uptake of a user
export interface WaistCircumference
Used with the Hip Circumference value to calculate the Waist to Hip Ratio (WHR)
export interface Weight
Weight of the User
export interface WeightMeasurement
export interface WeightScaleFeature
export interface WindChill
type GattCharacteristicName = keyof typeof GATT_CHARACTERISTIC_TABLE;
type GattDescriptorName = keyof typeof GATT_DESCRIPTOR_TABLE;
type GattIdsTable<T extends GattName> = Record<T, GattTableValues>;
type GattName = GattServiceName | GattCharacteristicName | GattDescriptorName;
type GattServiceName = keyof typeof GATT_SERVICE_TABLE;
type GattTableValues = readonly [value: number, label: string | undefined];
BT_READERS: Readonly<Map<number, BtReaderClass>>
gatt: {
characteristic: TableAccessor<GattCharacteristicName>;
descriptor: TableAccessor<GattDescriptorName>;
service: TableAccessor<GattServiceName>;
}
Helper for accessing the various assigned numbers/values and their metadata.
GATT_CHARACTERISTIC_TABLE: Readonly<{
readonly acceleration: readonly [11270, "Acceleration"];
readonly acs_control_point: readonly [11059, "ACS Control Point"];
readonly acs_data_in: readonly [11056, "ACS Data In"];
readonly acs_data_out_indicate: readonly [11058, "ACS Data Out Indicate"];
readonly acs_data_out_notify: readonly [11057, "ACS Data Out Notify"];
readonly acs_status: readonly [11055, "ACS Status"];
readonly active_preset_index: readonly [11228, "Active Preset Index"];
readonly activity_goal: readonly [11086, "Activity Goal"];
readonly advertising_constant_tone_extension_interval: readonly [11185, "Advertising Constant Tone Extension Interval"];
readonly advertising_constant_tone_extension_minimum_length: readonly [11182, "Advertising Constant Tone Extension Minimum Length"];
readonly advertising_constant_tone_extension_minimum_transmit_count: readonly [11183, "Advertising Constant Tone Extension Minimum Transmit Count"];
readonly advertising_constant_tone_extension_phy: readonly [11186, "Advertising Constant Tone Extension PHY"];
readonly advertising_constant_tone_extension_transmit_duration: readonly [11184, "Advertising Constant Tone Extension Transmit Duration"];
readonly aerobic_heart_rate_lower_limit: readonly [10878, "Aerobic Heart Rate Lower Limit"];
readonly aerobic_heart_rate_upper_limit: readonly [10884, "Aerobic Heart Rate Upper Limit"];
readonly aerobic_threshold: readonly [10879, "Aerobic Threshold"];
readonly age: readonly [10880, "Age"];
readonly aggregate: readonly [10842, "Aggregate"];
readonly alert_category_id: readonly [10819, "Alert Category ID"];
readonly alert_category_id_bit_mask: readonly [10818, "Alert Category ID Bit Mask"];
readonly alert_level: readonly [10758, "Alert Level"];
readonly alert_notification_control_point: readonly [10820, "Alert Notification Control Point"];
readonly alert_status: readonly [10815, "Alert Status"];
readonly altitude: readonly [10931, "Altitude"];
readonly ammonia_concentration: readonly [11215, "Ammonia Concentration"];
readonly anaerobic_heart_rate_lower_limit: readonly [10881, "Anaerobic Heart Rate Lower Limit"];
readonly anaerobic_heart_rate_upper_limit: readonly [10882, "Anaerobic Heart Rate Upper Limit"];
readonly anaerobic_threshold: readonly [10883, "Anaerobic Threshold"];
readonly analog: readonly [10840, undefined];
readonly analog_output: readonly [10841, undefined];
readonly ap_sync_key_material: readonly [11255, "AP Sync Key Material"];
readonly apparent_energy_32: readonly [11145, "Apparent Energy 32"];
readonly apparent_power: readonly [11146, "Apparent Power"];
readonly apparent_wind_direction: readonly [10867, "Apparent Wind Direction"];
readonly apparent_wind_speed: readonly [10866, "Apparent Wind Speed"];
readonly ase_control_point: readonly [11206, "ASE Control Point"];
readonly audio_input_control_point: readonly [11131, "Audio Input Control Point"];
readonly audio_input_description: readonly [11132, "Audio Input Description"];
readonly audio_input_state: readonly [11127, "Audio Input State"];
readonly audio_input_status: readonly [11130, "Audio Input Status"];
readonly audio_input_type: readonly [11129, "Audio Input Type"];
readonly audio_location: readonly [11137, "Audio Location"];
readonly audio_output_description: readonly [11139, "Audio Output Description"];
readonly available_audio_contexts: readonly [11213, "Available Audio Contexts"];
readonly average_current: readonly [10976, "Average Current"];
readonly average_voltage: readonly [10977, "Average Voltage"];
readonly barometric_pressure_trend: readonly [10915, "Barometric Pressure Trend"];
readonly battery_critical_status: readonly [11241, "Battery Critical Status"];
readonly battery_energy_status: readonly [11248, "Battery Energy Status"];
readonly battery_health_information: readonly [11243, "Battery Health Information"];
readonly battery_health_status: readonly [11242, "Battery Health Status"];
readonly battery_information: readonly [11244, "Battery Information"];
readonly battery_level: readonly [10777, "Battery Level"];
readonly battery_level_state: readonly [10779, undefined];
readonly battery_level_status: readonly [11245, "Battery Level Status"];
readonly battery_power_state: readonly [10778, undefined];
readonly battery_time_status: readonly [11246, "Battery Time Status"];
readonly bearer_list_current_calls: readonly [11193, "Bearer List Current Calls"];
readonly bearer_provider_name: readonly [11187, "Bearer Provider Name"];
readonly bearer_signal_strength: readonly [11191, "Bearer Signal Strength"];
readonly bearer_signal_strength_reporting_interval: readonly [11192, "Bearer Signal Strength Reporting Interval"];
readonly bearer_technology: readonly [11189, "Bearer Technology"];
readonly bearer_uci: readonly [11188, "Bearer UCI"];
readonly bearer_uri_schemes_supported_list: readonly [11190, "Bearer URI Schemes Supported List"];
readonly bgr_features: readonly [11268, "BGR Features"];
readonly bgs_features: readonly [11267, "BGS Features"];
readonly blood_pressure_feature: readonly [10825, "Blood Pressure Feature"];
readonly blood_pressure_measurement: readonly [10805, "Blood Pressure Measurement"];
readonly blood_pressure_record: readonly [11062, "Blood Pressure Record"];
readonly bluetooth_sig_data: readonly [11065, "Bluetooth SIG Data"];
readonly body_composition_feature: readonly [10907, "Body Composition Feature"];
readonly body_composition_measurement: readonly [10908, "Body Composition Measurement"];
readonly body_sensor_location: readonly [10808, "Body Sensor Location"];
readonly bond_management_control_point: readonly [10916, "Bond Management Control Point"];
readonly bond_management_feature: readonly [10917, "Bond Management Feature"];
readonly boolean: readonly [10978, "Boolean"];
readonly boot_keyboard_input_report: readonly [10786, "Boot Keyboard Input Report"];
readonly boot_keyboard_output_report: readonly [10802, "Boot Keyboard Output Report"];
readonly boot_mouse_input_report: readonly [10803, "Boot Mouse Input Report"];
readonly br_edr_handover_data: readonly [11064, "BR-EDR Handover Data"];
readonly broadcast_audio_scan_control_point: readonly [11207, "Broadcast Audio Scan Control Point"];
readonly broadcast_receive_state: readonly [11208, "Broadcast Receive State"];
readonly bss_control_point: readonly [11051, "BSS Control Point"];
readonly bss_response: readonly [11052, "BSS Response"];
readonly call_control_point: readonly [11198, "Call Control Point"];
readonly call_control_point_optional_opcodes: readonly [11199, "Call Control Point Optional Opcodes"];
readonly call_friendly_name: readonly [11202, "Call Friendly Name"];
readonly call_state: readonly [11197, "Call State"];
readonly caloric_intake: readonly [11088, "Caloric Intake"];
readonly carbon_monoxide_concentration: readonly [11216, "Carbon Monoxide Concentration"];
readonly cardiorespiratory_activity_instantaneous_data: readonly [11070, "CardioRespiratory Activity Instantaneous Data"];
readonly cardiorespiratory_activity_summary_data: readonly [11071, "CardioRespiratory Activity Summary Data"];
readonly cgm_feature: readonly [10920, "CGM Feature"];
readonly cgm_measurement: readonly [10919, "CGM Measurement"];
readonly cgm_session_run_time: readonly [10923, "CGM Session Run Time"];
readonly cgm_session_start_time: readonly [10922, "CGM Session Start Time"];
readonly cgm_specific_ops_control_point: readonly [10924, "CGM Specific Ops Control Point"];
readonly cgm_status: readonly [10921, "CGM Status"];
readonly chromatic_distance_from_planckian: readonly [10979, "Chromatic Distance from Planckian"];
readonly chromaticity_coordinate: readonly [11036, "Chromaticity Coordinate"];
readonly chromaticity_coordinates: readonly [10980, "Chromaticity Coordinates"];
readonly chromaticity_in_cct_and_duv_values: readonly [10981, "Chromaticity in CCT and Duv Values"];
readonly chromaticity_tolerance: readonly [10982, "Chromaticity Tolerance"];
readonly cie_13_3_1995_color_rendering_index: readonly [10983, "CIE 13.3-1995 Color Rendering Index"];
readonly client_supported_features: readonly [11049, "Client Supported Features"];
readonly co2_concentration: readonly [11148, "\"CO\\\\textsubscript{2} Concentration\""];
readonly coefficient: readonly [10984, "Coefficient"];
readonly constant_tone_extension_enable: readonly [11181, "Constant Tone Extension Enable"];
readonly content_control_id: readonly [11194, "Content Control ID"];
readonly correlated_color_temperature: readonly [10985, "Correlated Color Temperature"];
readonly cosine_of_the_angle: readonly [11149, "Cosine of the Angle"];
readonly count_16: readonly [10986, "Count 16"];
readonly count_24: readonly [10987, "Count 24"];
readonly country_code: readonly [10988, "Country Code"];
readonly cross_trainer_data: readonly [10958, "Cross Trainer Data"];
readonly csc_feature: readonly [10844, "CSC Feature"];
readonly csc_measurement: readonly [10843, "CSC Measurement"];
readonly current_elapsed_time: readonly [11250, "Current Elapsed Time"];
readonly current_group_object_id: readonly [11168, "Current Group Object ID"];
readonly current_time: readonly [10795, "Current Time"];
readonly current_track_object_id: readonly [11165, "Current Track Object ID"];
readonly current_track_segments_object_id: readonly [11164, "Current Track Segments Object ID"];
readonly cycling_power_control_point: readonly [10854, "Cycling Power Control Point"];
readonly cycling_power_feature: readonly [10853, "Cycling Power Feature"];
readonly cycling_power_measurement: readonly [10851, "Cycling Power Measurement"];
readonly cycling_power_vector: readonly [10852, "Cycling Power Vector"];
readonly database_change_increment: readonly [10905, "Database Change Increment"];
readonly database_hash: readonly [11050, "Database Hash"];
readonly date_of_birth: readonly [10885, "Date of Birth"];
readonly date_of_threshold_assessment: readonly [10886, "Date of Threshold Assessment"];
readonly date_time: readonly [10760, "Date Time"];
readonly date_utc: readonly [10989, "Date UTC"];
readonly day_date_time: readonly [10762, "Day Date Time"];
readonly day_of_week: readonly [10761, "Day of Week"];
readonly descriptor_value_changed: readonly [10877, "Descriptor Value Changed"];
readonly device_time: readonly [11152, "Device Time"];
readonly device_time_control_point: readonly [11153, "Device Time Control Point"];
readonly device_time_feature: readonly [11150, "Device Time Feature"];
readonly device_time_parameters: readonly [11151, "Device Time Parameters"];
readonly device_wearing_position: readonly [11083, "Device Wearing Position"];
readonly dew_point: readonly [10875, "Dew Point"];
readonly digital: readonly [10838, undefined];
readonly digital_output: readonly [10839, undefined];
readonly dst_offset: readonly [10765, "DST Offset"];
readonly electric_current: readonly [10990, "Electric Current"];
readonly electric_current_range: readonly [10991, "Electric Current Range"];
readonly electric_current_specification: readonly [10992, "Electric Current Specification"];
readonly electric_current_statistics: readonly [10993, "Electric Current Statistics"];
readonly elevation: readonly [10860, "Elevation"];
readonly email_address: readonly [10887, "Email Address"];
readonly emergency_id: readonly [11053, "Emergency ID"];
readonly emergency_text: readonly [11054, "Emergency Text"];
readonly encrypted_data_key_material: readonly [11144, "Encrypted Data Key Material"];
readonly energy: readonly [10994, "Energy"];
readonly energy_32: readonly [11176, "Energy 32"];
readonly energy_in_a_period_of_day: readonly [10995, "Energy in a Period of Day"];
readonly enhanced_blood_pressure_measurement: readonly [11060, "Enhanced Blood Pressure Measurement"];
readonly enhanced_intermediate_cuff_pressure: readonly [11061, "Enhanced Intermediate Cuff Pressure"];
readonly esl_address: readonly [11254, "ESL Address"];
readonly esl_control_point: readonly [11262, "ESL Control Point"];
readonly esl_current_absolute_time: readonly [11257, "ESL Current Absolute Time"];
readonly esl_display_information: readonly [11258, "ESL Display Information"];
readonly esl_image_information: readonly [11259, "ESL Image Information"];
readonly esl_led_information: readonly [11261, "ESL LED Information"];
readonly esl_response_key_material: readonly [11256, "ESL Response Key Material"];
readonly esl_sensor_information: readonly [11260, "ESL Sensor Information"];
readonly estimated_service_date: readonly [11247, "Estimated Service Date"];
readonly event_statistics: readonly [10996, "Event Statistics"];
readonly exact_time_100: readonly [10763, undefined];
readonly exact_time_256: readonly [10764, "Exact Time 256"];
readonly fat_burn_heart_rate_lower_limit: readonly [10888, "Fat Burn Heart Rate Lower Limit"];
readonly fat_burn_heart_rate_upper_limit: readonly [10889, "Fat Burn Heart Rate Upper Limit"];
readonly firmware_revision_string: readonly [10790, "Firmware Revision String"];
readonly first_name: readonly [10890, "First Name"];
readonly first_use_date: readonly [11278, "First Use Date"];
readonly fitness_machine_control_point: readonly [10969, "Fitness Machine Control Point"];
readonly fitness_machine_feature: readonly [10956, "Fitness Machine Feature"];
readonly fitness_machine_status: readonly [10970, "Fitness Machine Status"];
readonly five_zone_heart_rate_limits: readonly [10891, "Five Zone Heart Rate Limits"];
readonly fixed_string_16: readonly [10997, "Fixed String 16"];
readonly fixed_string_24: readonly [10998, "Fixed String 24"];
readonly fixed_string_36: readonly [10999, "Fixed String 36"];
readonly fixed_string_64: readonly [11230, "Fixed String 64"];
readonly fixed_string_8: readonly [11000, "Fixed String 8"];
readonly floor_number: readonly [10930, "Floor Number"];
readonly force: readonly [11271, "Force"];
readonly four_zone_heart_rate_limits: readonly [11084, "Four Zone Heart Rate Limits"];
readonly gain_settings_attribute: readonly [11128, "Gain Settings Attribute"];
readonly "gap.appearance": readonly [10753, "Appearance"];
readonly "gap.central_address_resolution": readonly [10918, "Central Address Resolution"];
readonly "gap.device_name": readonly [10752, "Device Name"];
readonly "gap.peripheral_preferred_connection_parameters": readonly [10756, "Peripheral Preferred Connection Parameters"];
readonly "gap.peripheral_privacy_flag": readonly [10754, "Peripheral Privacy Flag"];
readonly "gap.reconnection_address": readonly [10755, "Reconnection Address"];
readonly "gatt.service_changed": readonly [10757, "Service Changed"];
readonly gender: readonly [10892, "Gender"];
readonly general_activity_instantaneous_data: readonly [11068, "General Activity Instantaneous Data"];
readonly general_activity_summary_data: readonly [11069, "General Activity Summary Data"];
readonly generic_level: readonly [11001, "Generic Level"];
readonly ghs_control_point: readonly [11252, "GHS Control Point"];
readonly global_trade_item_number: readonly [11002, "Global Trade Item Number"];
readonly glucose_feature: readonly [10833, "Glucose Feature"];
readonly glucose_measurement: readonly [10776, "Glucose Measurement"];
readonly glucose_measurement_context: readonly [10804, "Glucose Measurement Context"];
readonly gmap_role: readonly [11264, "GMAP Role"];
readonly gust_factor: readonly [10868, "Gust Factor"];
readonly handedness: readonly [11082, "Handedness"];
readonly hardware_revision_string: readonly [10791, "Hardware Revision String"];
readonly health_sensor_features: readonly [11251, "Health Sensor Features"];
readonly hearing_aid_features: readonly [11226, "Hearing Aid Features"];
readonly hearing_aid_preset_control_point: readonly [11227, "Hearing Aid Preset Control Point"];
readonly heart_rate_control_point: readonly [10809, "Heart Rate Control Point"];
readonly heart_rate_max: readonly [10893, "Heart Rate Max"];
readonly heart_rate_measurement: readonly [10807, "Heart Rate Measurement"];
readonly heat_index: readonly [10874, "Heat Index"];
readonly height: readonly [10894, "Height"];
readonly hid_control_point: readonly [10828, "HID Control Point"];
readonly hid_information: readonly [10826, "HID Information"];
readonly high_intensity_exercise_threshold: readonly [11085, "High Intensity Exercise Threshold"];
readonly high_resolution_height: readonly [11079, "High Resolution Height"];
readonly high_temperature: readonly [11231, "High Temperature"];
readonly high_voltage: readonly [11232, "High Voltage"];
readonly hip_circumference: readonly [10895, "Hip Circumference"];
readonly http_control_point: readonly [10938, "HTTP Control Point"];
readonly http_entity_body: readonly [10937, "HTTP Entity Body"];
readonly http_headers: readonly [10935, "HTTP Headers"];
readonly http_status_code: readonly [10936, "HTTP Status Code"];
readonly https_security: readonly [10939, "HTTPS Security"];
readonly humidity: readonly [10863, "Humidity"];
readonly idd_annunciation_status: readonly [11042, "IDD Annunciation Status"];
readonly idd_command_control_point: readonly [11045, "IDD Command Control Point"];
readonly idd_command_data: readonly [11046, "IDD Command Data"];
readonly idd_features: readonly [11043, "IDD Features"];
readonly idd_history_data: readonly [11048, "IDD History Data"];
readonly idd_record_access_control_point: readonly [11047, "IDD Record Access Control Point"];
readonly idd_status: readonly [11041, "IDD Status"];
readonly idd_status_changed: readonly [11040, "IDD Status Changed"];
readonly idd_status_reader_control_point: readonly [11044, "IDD Status Reader Control Point"];
readonly "ieee_11073-20601_regulatory_certification_data_list": readonly [10794, "IEEE 11073-20601 Regulatory Certification Data List"];
readonly illuminance: readonly [11003, "Illuminance"];
readonly imd_control: readonly [11282, "IMD Control"];
readonly imd_historical_data: readonly [11283, "IMD Historical Data"];
readonly imd_status: readonly [11276, "IMD Status"];
readonly imds_descriptor_value_changed: readonly [11277, "IMDS Descriptor Value Changed"];
readonly incoming_call: readonly [11201, "Incoming Call"];
readonly incoming_call_target_bearer_uri: readonly [11196, "Incoming Call Target Bearer URI"];
readonly indoor_bike_data: readonly [10962, "Indoor Bike Data"];
readonly indoor_positioning_configuration: readonly [10925, "Indoor Positioning Configuration"];
readonly intermediate_cuff_pressure: readonly [10806, "Intermediate Cuff Pressure"];
readonly intermediate_temperature: readonly [10782, "Intermediate Temperature"];
readonly irradiance: readonly [10871, "Irradiance"];
readonly language: readonly [10914, "Language"];
readonly last_name: readonly [10896, "Last Name"];
readonly latitude: readonly [10926, "Latitude"];
readonly le_gatt_security_levels: readonly [11253, "LE GATT Security Levels"];
readonly length: readonly [11274, "Length"];
readonly life_cycle_data: readonly [11279, "Life Cycle Data"];
readonly light_distribution: readonly [11233, "Light Distribution"];
readonly light_output: readonly [11234, "Light Output"];
readonly light_source_type: readonly [11235, "Light Source Type"];
readonly linear_position: readonly [11272, "Linear Position"];
readonly live_health_observations: readonly [11147, "Live Health Observations"];
readonly ln_control_point: readonly [10859, "LN Control Point"];
readonly ln_feature: readonly [10858, "LN Feature"];
readonly local_east_coordinate: readonly [10929, "Local East Coordinate"];
readonly local_north_coordinate: readonly [10928, "Local North Coordinate"];
readonly local_time_information: readonly [10767, "Local Time Information"];
readonly location_and_speed: readonly [10855, "Location and Speed"];
readonly location_name: readonly [10933, "Location Name"];
readonly lock_characteristic: readonly [11142, "Set Member Lock"];
readonly longitude: readonly [10927, "Longitude"];
readonly luminous_efficacy: readonly [11004, "Luminous Efficacy"];
readonly luminous_energy: readonly [11005, "Luminous Energy"];
readonly luminous_exposure: readonly [11006, "Luminous Exposure"];
readonly luminous_flux: readonly [11007, "Luminous Flux"];
readonly luminous_flux_range: readonly [11008, "Luminous Flux Range"];
readonly luminous_intensity: readonly [11009, "Luminous Intensity"];
readonly magnetic_declination: readonly [10796, "Magnetic Declination"];
readonly magnetic_flux_density_2d: readonly [10912, "Magnetic Flux Density - 2D"];
readonly magnetic_flux_density_3d: readonly [10913, "Magnetic Flux Density - 3D"];
readonly manufacturer_name_string: readonly [10793, "Manufacturer Name String"];
readonly mass_flow: readonly [11010, "Mass Flow"];
readonly maximum_recommended_heart_rate: readonly [10897, "Maximum Recommended Heart Rate"];
readonly measurement_interval: readonly [10785, "Measurement Interval"];
readonly media_control_point: readonly [11172, "Media Control Point"];
readonly media_control_point_opcodes_supported: readonly [11173, "Media Control Point Opcodes Supported"];
readonly media_player_icon_object_id: readonly [11156, "Media Player Icon Object ID"];
readonly media_player_icon_url: readonly [11157, "Media Player Icon URL"];
readonly media_player_name: readonly [11155, "Media Player Name"];
readonly media_state: readonly [11171, "Media State"];
readonly medical_devices: readonly [11263, "UDI for Medical Devices"];
readonly mesh_provisioning_data_in: readonly [10971, "Mesh Provisioning Data In"];
readonly mesh_provisioning_data_out: readonly [10972, "Mesh Provisioning Data Out"];
readonly mesh_proxy_data_in: readonly [10973, "Mesh Proxy Data In"];
readonly mesh_proxy_data_out: readonly [10974, "Mesh Proxy Data Out"];
readonly methane_concentration: readonly [11217, "Methane Concentration"];
readonly middle_name: readonly [11080, "Middle Name"];
readonly model_number_string: readonly [10788, "Model Number String"];
readonly mute: readonly [11203, "Mute"];
readonly navigation: readonly [10856, "Navigation"];
readonly network_availability: readonly [10814, undefined];
readonly new_alert: readonly [10822, "New Alert"];
readonly next_track_object_id: readonly [11166, "Next Track Object ID"];
readonly nitrogen_dioxide_concentration: readonly [11218, "Nitrogen Dioxide Concentration"];
readonly noise: readonly [11236, "Noise"];
readonly "non-methane_volatile_organic_compounds_concentration": readonly [11219, "Non-Methane Volatile Organic Compounds Concentration"];
readonly object_action_control_point: readonly [10949, "Object Action Control Point"];
readonly object_changed: readonly [10952, "Object Changed"];
readonly object_first_created: readonly [10945, "Object First-Created"];
readonly object_id: readonly [10947, "Object ID"];
readonly object_last_modified: readonly [10946, "Object Last-Modified"];
readonly object_list_control_point: readonly [10950, "Object List Control Point"];
readonly object_list_filter: readonly [10951, "Object List Filter"];
readonly object_name: readonly [10942, "Object Name"];
readonly object_properties: readonly [10948, "Object Properties"];
readonly object_size: readonly [10944, "Object Size"];
readonly object_type: readonly [10943, "Object Type"];
readonly observation_schedule_changed: readonly [11249, "Observation Schedule Changed"];
readonly "on-demand_ranging_data": readonly [11286, "On-demand Ranging Data"];
readonly ots_feature: readonly [10941, "OTS Feature"];
readonly ozone_concentration: readonly [11220, "Ozone Concentration"];
readonly parent_group_object_id: readonly [11167, "Parent Group Object ID"];
readonly particulate_matter_pm1_concentration: readonly [11221, "Particulate Matter - PM1 Concentration"];
readonly particulate_matter_pm10_concentration: readonly [11223, "Particulate Matter - PM10 Concentration"];
readonly particulate_matter_pm2_5_concentration: readonly [11222, "Particulate Matter - PM2.5 Concentration"];
readonly perceived_lightness: readonly [11011, "Perceived Lightness"];
readonly percentage_8: readonly [11012, "Percentage 8"];
readonly percentage_8_steps: readonly [11269, "Percentage 8 Steps"];
readonly physical_activity_current_session: readonly [11076, "Physical Activity Current Session"];
readonly physical_activity_monitor_control_point: readonly [11075, "Physical Activity Monitor Control Point"];
readonly physical_activity_monitor_features: readonly [11067, "Physical Activity Monitor Features"];
readonly physical_activity_session_descriptor: readonly [11077, "Physical Activity Session Descriptor"];
readonly playback_speed: readonly [11162, "Playback Speed"];
readonly playing_order: readonly [11169, "Playing Order"];
readonly playing_orders_supported: readonly [11170, "Playing Orders Supported"];
readonly plx_continuous_measurement: readonly [10847, "PLX Continuous Measurement"];
readonly plx_features: readonly [10848, "PLX Features"];
readonly plx_spot_check_measurement: readonly [10846, "PLX Spot-Check Measurement"];
readonly pnp_id: readonly [10832, "PnP ID"];
readonly pollen_concentration: readonly [10869, "Pollen Concentration"];
readonly position_2d: readonly [10799, undefined];
readonly position_3d: readonly [10800, undefined];
readonly position_quality: readonly [10857, "Position Quality"];
readonly power: readonly [11013, "Power"];
readonly power_specification: readonly [11014, "Power Specification"];
readonly preferred_units: readonly [11078, "Preferred Units"];
readonly pressure: readonly [10861, "Pressure"];
readonly protocol_mode: readonly [10830, "Protocol Mode"];
readonly pulse_oximetry_control_point: readonly [10850, undefined];
readonly rainfall: readonly [10872, "Rainfall"];
readonly ranging_data_ready: readonly [11288, "Ranging Data Ready"];
readonly rank_characteristic: readonly [11143, "Set Member Rank"];
readonly ras_control_point: readonly [11287, "RAS Control Point"];
readonly ras_features: readonly [11284, "RAS Features"];
readonly rc_feature: readonly [11037, "RC Feature"];
readonly rc_settings: readonly [11038, "RC Settings"];
readonly "real-time_ranging_data": readonly [11285, "Real-time Ranging Data"];
readonly reconnection_configuration_control_point: readonly [11039, "Reconnection Configuration Control Point"];
readonly record_access_control_point: readonly [10834, "Record Access Control Point"];
readonly reference_time_information: readonly [10772, "Reference Time Information"];
readonly registered_user: readonly [11063, "Registered User"];
readonly relative_runtime_in_a_correlated_color_temperature_range: readonly [11237, "Relative Runtime in a Correlated Color Temperature Range"];
readonly relative_runtime_in_a_current_range: readonly [11015, "Relative Runtime in a Current Range"];
readonly relative_runtime_in_a_generic_level_range: readonly [11016, "Relative Runtime in a Generic Level Range"];
readonly relative_value_in_a_period_of_day: readonly [11019, "Relative Value in a Period of Day"];
readonly relative_value_in_a_temperature_range: readonly [11020, "Relative Value in a Temperature Range"];
readonly relative_value_in_a_voltage_range: readonly [11017, "Relative Value in a Voltage Range"];
readonly relative_value_in_an_illuminance_range: readonly [11018, "Relative Value in an Illuminance Range"];
readonly removable: readonly [10810, undefined];
readonly report: readonly [10829, "Report"];
readonly report_map: readonly [10827, "Report Map"];
readonly resolvable_private_address_only: readonly [10953, "Resolvable Private Address Only"];
readonly resting_heart_rate: readonly [10898, "Resting Heart Rate"];
readonly ringer_control_point: readonly [10816, "Ringer Control Point"];
readonly ringer_setting: readonly [10817, "Ringer Setting"];
readonly rotational_speed: readonly [11273, "Rotational Speed"];
readonly rower_data: readonly [10961, "Rower Data"];
readonly rsc_feature: readonly [10836, "RSC Feature"];
readonly rsc_measurement: readonly [10835, "RSC Measurement"];
readonly sc_control_point: readonly [10837, "SC Control Point"];
readonly scan_interval_window: readonly [10831, "Scan Interval Window"];
readonly scan_refresh: readonly [10801, "Scan Refresh"];
readonly scientific_temperature_celsius: readonly [10812, undefined];
readonly search_control_point: readonly [11175, "Search Control Point"];
readonly search_results_object_id: readonly [11174, "Search Results Object ID"];
readonly secondary_time_zone: readonly [10768, undefined];
readonly sedentary_interval_notification: readonly [11087, "Sedentary Interval Notification"];
readonly seeking_speed: readonly [11163, "Seeking Speed"];
readonly sensor_location: readonly [10845, "Sensor Location"];
readonly serial_number_string: readonly [10789, "Serial Number String"];
readonly server_supported_features: readonly [11066, "Server Supported Features"];
readonly service_cycle_data: readonly [11281, "Service Cycle Data"];
readonly service_required: readonly [10811, undefined];
readonly set_identity_resolving_key: readonly [11140, "Set Identity Resolving Key"];
readonly sink_ase: readonly [11204, "Sink ASE"];
readonly sink_audio_locations: readonly [11210, "Sink Audio Locations"];
readonly sink_pac: readonly [11209, "Sink PAC"];
readonly size_characteristic: readonly [11141, "Coordinated Set Size"];
readonly sleep_activity_instantaneous_data: readonly [11073, "Sleep Activity Instantaneous Data"];
readonly sleep_activity_summary_data: readonly [11074, "Sleep Activity Summary Data"];
readonly software_revision_string: readonly [10792, "Software Revision String"];
readonly source_ase: readonly [11205, "Source ASE"];
readonly source_audio_locations: readonly [11212, "Source Audio Locations"];
readonly source_pac: readonly [11211, "Source PAC"];
readonly sport_type_for_aerobic_and_anaerobic_thresholds: readonly [10899, "Sport Type for Aerobic and Anaerobic Thresholds"];
readonly stair_climber_data: readonly [10960, "Stair Climber Data"];
readonly status_flags: readonly [11195, "Status Flags"];
readonly step_climber_data: readonly [10959, "Step Climber Data"];
readonly step_counter_activity_summary_data: readonly [11072, "Step Counter Activity Summary Data"];
readonly stored_health_observations: readonly [11229, "Stored Health Observations"];
readonly stride_length: readonly [11081, "Stride Length"];
readonly string: readonly [10813, undefined];
readonly sulfur_dioxide_concentration: readonly [11224, "Sulfur Dioxide Concentration"];
readonly sulfur_hexafluoride_concentration: readonly [11225, "Sulfur Hexafluoride Concentration"];
readonly supported_audio_contexts: readonly [11214, "Supported Audio Contexts"];
readonly supported_heart_rate_range: readonly [10967, "Supported Heart Rate Range"];
readonly supported_inclination_range: readonly [10965, "Supported Inclination Range"];
readonly supported_new_alert_category: readonly [10823, "Supported New Alert Category"];
readonly supported_power_range: readonly [10968, "Supported Power Range"];
readonly supported_resistance_level_range: readonly [10966, "Supported Resistance Level Range"];
readonly supported_speed_range: readonly [10964, "Supported Speed Range"];
readonly supported_unread_alert_category: readonly [10824, "Supported Unread Alert Category"];
readonly system_id: readonly [10787, "System ID"];
readonly tds_control_point: readonly [10940, "TDS Control Point"];
readonly temperature: readonly [10862, "Temperature"];
readonly temperature_8: readonly [11021, "Temperature 8"];
readonly temperature_8_in_a_period_of_day: readonly [11022, "Temperature 8 in a Period of Day"];
readonly temperature_8_statistics: readonly [11023, "Temperature 8 Statistics"];
readonly temperature_celsius: readonly [10783, undefined];
readonly temperature_fahrenheit: readonly [10784, undefined];
readonly temperature_measurement: readonly [10780, "Temperature Measurement"];
readonly temperature_range: readonly [11024, "Temperature Range"];
readonly temperature_statistics: readonly [11025, "Temperature Statistics"];
readonly temperature_type: readonly [10781, "Temperature Type"];
readonly termination_reason: readonly [11200, "Termination Reason"];
readonly three_zone_heart_rate_limits: readonly [10900, "Three Zone Heart Rate Limits"];
readonly time_accuracy: readonly [10770, "Time Accuracy"];
readonly time_broadcast: readonly [10773, undefined];
readonly time_change_log_data: readonly [11154, "Time Change Log Data"];
readonly time_decihour_8: readonly [11026, "Time Decihour 8"];
readonly time_exponential_8: readonly [11027, "Time Exponential 8"];
readonly time_hour_24: readonly [11028, "Time Hour 24"];
readonly time_millisecond_24: readonly [11029, "Time Millisecond 24"];
readonly time_second_16: readonly [11030, "Time Second 16"];
readonly time_second_32: readonly [11238, "Time Second 32"];
readonly time_second_8: readonly [11031, "Time Second 8"];
readonly time_source: readonly [10771, "Time Source"];
readonly time_update_control_point: readonly [10774, "Time Update Control Point"];
readonly time_update_state: readonly [10775, "Time Update State"];
readonly time_with_dst: readonly [10769, "Time with DST"];
readonly time_zone: readonly [10766, "Time Zone"];
readonly tmap_role: readonly [11089, "TMAP Role"];
readonly torque: readonly [11275, "Torque"];
readonly track_changed: readonly [11158, "Track Changed"];
readonly track_duration: readonly [11160, "Track Duration"];
readonly track_position: readonly [11161, "Track Position"];
readonly track_title: readonly [11159, "Track Title"];
readonly training_status: readonly [10963, "Training Status"];
readonly treadmill_data: readonly [10957, "Treadmill Data"];
readonly true_wind_direction: readonly [10865, "True Wind Direction"];
readonly true_wind_speed: readonly [10864, "True Wind Speed"];
readonly two_zone_heart_rate_limits: readonly [10901, "Two Zone Heart Rate Limits"];
readonly tx_power_level: readonly [10759, "Tx Power Level"];
readonly ugg_features: readonly [11265, "UGG Features"];
readonly ugt_features: readonly [11266, "UGT Features"];
readonly uncertainty: readonly [10932, "Uncertainty"];
readonly unread_alert_status: readonly [10821, "Unread Alert Status"];
readonly uri: readonly [10934, "URI"];
readonly user_control_point: readonly [10911, "User Control Point"];
readonly user_index: readonly [10906, "User Index"];
readonly uv_index: readonly [10870, "UV Index"];
readonly vo2_max: readonly [10902, "VO2 Max"];
readonly voc_concentration: readonly [11239, "VOC Concentration"];
readonly voltage: readonly [11032, "Voltage"];
readonly voltage_frequency: readonly [11240, "Voltage Frequency"];
readonly voltage_specification: readonly [11033, "Voltage Specification"];
readonly voltage_statistics: readonly [11034, "Voltage Statistics"];
readonly volume_control_point: readonly [11134, "Volume Control Point"];
readonly volume_flags: readonly [11135, "Volume Flags"];
readonly volume_flow: readonly [11035, "Volume Flow"];
readonly volume_offset_control_point: readonly [11138, "Volume Offset Control Point"];
readonly volume_offset_state: readonly [11136, "Volume Offset State"];
readonly volume_state: readonly [11133, "Volume State"];
readonly waist_circumference: readonly [10903, "Waist Circumference"];
readonly weight: readonly [10904, "Weight"];
readonly weight_measurement: readonly [10909, "Weight Measurement"];
readonly weight_scale_feature: readonly [10910, "Weight Scale Feature"];
readonly wind_chill: readonly [10873, "Wind Chill"];
readonly work_cycle_data: readonly [11280, "Work Cycle Data"];
}>
GATT_DESCRIPTOR_TABLE: Readonly<{
readonly complete_br_edr_transport_block_data: readonly [10511, "Complete BR-EDR Transport Block Data"];
readonly es_configuration: readonly [10507, "Environmental Sensing Configuration"];
readonly es_measurement: readonly [10508, "Environmental Sensing Measurement"];
readonly es_trigger_setting: readonly [10509, "Environmental Sensing Trigger Setting"];
readonly external_report_reference: readonly [10503, "External Report Reference"];
readonly "gatt.characteristic_aggregate_format": readonly [10501, "Characteristic Aggregate Format"];
readonly "gatt.characteristic_extended_properties": readonly [10496, "Characteristic Extended Properties"];
readonly "gatt.characteristic_presentation_format": readonly [10500, "Characteristic Presentation Format"];
readonly "gatt.characteristic_user_description": readonly [10497, "Characteristic User Description"];
readonly "gatt.client_characteristic_configuration": readonly [10498, "Client Characteristic Configuration"];
readonly "gatt.server_characteristic_configuration": readonly [10499, "Server Characteristic Configuration"];
readonly manufacturer_limits: readonly [10515, "Manufacturer Limits"];
readonly measurement_description: readonly [10514, "Measurement Description"];
readonly number_of_digitals: readonly [10505, "Number of Digitals"];
readonly observation_schedule: readonly [10512, "Observation Schedule"];
readonly process_tolerances: readonly [10516, "Process Tolerances"];
readonly report_reference: readonly [10504, "Report Reference"];
readonly time_trigger_setting: readonly [10510, "Time Trigger Setting"];
readonly valid_range: readonly [10502, "Valid Range"];
readonly valid_range_accuracy: readonly [10513, "Valid Range and Accuracy"];
readonly value_trigger_setting: readonly [10506, "Value Trigger Setting"];
}>
GATT_SERVICE_TABLE: Readonly<{
readonly alert_notification: readonly [6161, "Alert Notification"];
readonly audio_input_control: readonly [6211, "Audio Input Control"];
readonly audio_stream_control: readonly [6222, "Audio Stream Control"];
readonly authorization_control: readonly [6205, "Authorization Control"];
readonly automation_io: readonly [6165, "Automation IO"];
readonly basic_audio_announcement: readonly [6225, "Basic Audio Announcement"];
readonly battery_service: readonly [6159, "Battery"];
readonly binary_sensor: readonly [6203, "Binary Sensor"];
readonly blood_pressure: readonly [6160, "Blood Pressure"];
readonly body_composition: readonly [6171, "Body Composition"];
readonly bond_management: readonly [6174, "Bond Management"];
readonly broadcast_audio_announcement: readonly [6226, "Broadcast Audio Announcement"];
readonly broadcast_audio_scan: readonly [6223, "Broadcast Audio Scan"];
readonly common_audio: readonly [6227, "Common Audio"];
readonly constant_tone_extension: readonly [6218, "Constant Tone Extension"];
readonly continuous_glucose_monitoring: readonly [6175, "Continuous Glucose Monitoring"];
readonly coordinated_set_identification: readonly [6214, "Coordinated Set Identification"];
readonly current_time: readonly [6149, "Current Time"];
readonly cycling_power: readonly [6168, "Cycling Power"];
readonly cycling_speed_and_cadence: readonly [6166, "Cycling Speed and Cadence"];
readonly device_information: readonly [6154, "Device Information"];
readonly device_time: readonly [6215, "Device Time"];
readonly elapsed_time: readonly [6207, "Elapsed Time"];
readonly electronic_shelf_label: readonly [6231, "Electronic Shelf Label"];
readonly emergency_configuration: readonly [6204, "Emergency Configuration"];
readonly environmental_sensing: readonly [6170, "Environmental Sensing"];
readonly fitness_machine: readonly [6182, "Fitness Machine"];
readonly gaming_audio: readonly [6232, "Gaming Audio"];
readonly gap: readonly [6144, "GAP"];
readonly gatt: readonly [6145, "GATT"];
readonly generic_health_sensor: readonly [6208, "Generic Health Sensor"];
readonly generic_media_control: readonly [6217, "Generic Media Control"];
readonly generic_telephone_bearer: readonly [6220, "Generic Telephone Bearer"];
readonly glucose: readonly [6152, "Glucose"];
readonly health_thermometer: readonly [6153, "Health Thermometer"];
readonly hearing_access: readonly [6228, "Hearing Access"];
readonly heart_rate: readonly [6157, "Heart Rate"];
readonly http_proxy: readonly [6179, "HTTP Proxy"];
readonly human_interface_device: readonly [6162, "Human Interface Device"];
readonly immediate_alert: readonly [6146, "Immediate Alert"];
readonly indoor_positioning: readonly [6177, "Indoor Positioning"];
readonly industrial_measurement_device: readonly [6234, "Industrial Measurement Device"];
readonly insulin_delivery: readonly [6202, "Insulin Delivery"];
readonly internet_protocol_support: readonly [6176, "Internet Protocol Support"];
readonly link_loss: readonly [6147, "Link Loss"];
readonly location_and_navigation: readonly [6169, "Location and Navigation"];
readonly media_control: readonly [6216, "Media Control"];
readonly mesh_provisioning: readonly [6183, "Mesh Provisioning"];
readonly mesh_proxy: readonly [6184, "Mesh Proxy"];
readonly mesh_proxy_solicitation: readonly [6233, "Mesh Proxy Solicitation"];
readonly microphone_control: readonly [6221, "Microphone Control"];
readonly next_dst_change: readonly [6151, "Next DST Change"];
readonly object_transfer: readonly [6181, "Object Transfer"];
readonly phone_alert_status: readonly [6158, "Phone Alert Status"];
readonly physical_activity_monitor: readonly [6206, "Physical Activity Monitor"];
readonly public_broadcast_announcement: readonly [6230, "Public Broadcast Announcement"];
readonly published_audio_capabilities: readonly [6224, "Published Audio Capabilities"];
readonly pulse_oximeter: readonly [6178, "Pulse Oximeter"];
readonly reconnection_configuration: readonly [6185, "Reconnection Configuration"];
readonly reference_time_update: readonly [6150, "Reference Time Update"];
readonly running_speed_and_cadence: readonly [6164, "Running Speed and Cadence"];
readonly scan_parameters: readonly [6163, "Scan Parameters"];
readonly telephone_bearer: readonly [6219, "Telephone Bearer"];
readonly telephony_and_media_audio: readonly [6229, "Telephony and Media Audio"];
readonly transport_discovery: readonly [6180, "Transport Discovery"];
readonly tx_power: readonly [6148, "Tx Power"];
readonly user_data: readonly [6172, "User Data"];
readonly volume_control: readonly [6212, "Volume Control"];
readonly volume_offset: readonly [6213, "Volume Offset Control"];
readonly weight_scale: readonly [6173, "Weight Scale"];
}>