Last active
April 4, 2023 18:47
-
-
Save b-cancel/6f56810c49dc9bb487bec0e7e6cc6da5 to your computer and use it in GitHub Desktop.
Bluetooth Gatt Specification Maps For Dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//other stuff to maybe map out | |
//https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/ | |
//https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-members/ | |
//https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-sdos/ | |
//https://www.bluetooth.com/specifications/assigned-numbers/service-discovery/ | |
//https://www.bluetooth.com/specifications/assigned-numbers/health-device-profile/ | |
//https://www.bluetooth.com/specifications/assigned-numbers/units/ | |
//Gatt Service Hierarchy | |
//Device | |
// Services | |
// Characteristics (for each) | |
// -descriptor (for each) | |
class GattDetails{ | |
//Specification: GSS | |
String name; | |
String uniformTypeIdentifier; | |
GattDetails(this.name, this.uniformTypeIdentifier); | |
} | |
//https://www.bluetooth.com/specifications/gatt/declarations/ | |
//org.bluetooth.attribute.gatt_. | |
Map<String, GattDetails> idToDeclaration = { | |
"2803" : GattDetails( | |
"Characteristic Declaration", | |
"characteristic_declaration", | |
), | |
"2802" : GattDetails( | |
"Include", | |
"include_declaration", | |
), | |
"2800" : GattDetails( | |
"Primary Service", | |
"primary_service_declaration", | |
), | |
"2801" : GattDetails( | |
"Secondary Service", | |
"secondary_service_declaration", | |
), | |
}; | |
//https://www.bluetooth.com/specifications/gatt/descriptors/ | |
//non default starter | |
Map<String, GattDetails> idToDescriptor = { | |
"2905" : GattDetails( | |
"Characteristic Aggregate Format", | |
"org.bluetooth.descriptor.gatt.characteristic_aggregate_format", | |
), | |
"2900" : GattDetails( | |
"Characteristic Extended Properties", | |
"org.bluetooth.descriptor.gatt.characteristic_extended_properties", | |
), | |
"2904" : GattDetails( | |
"Characteristic Presentation Format", | |
"org.bluetooth.descriptor.gatt.characteristic_presentation_format", | |
), | |
"2901" : GattDetails( | |
"Characteristic User Description", | |
"org.bluetooth.descriptor.gatt.characteristic_user_description", | |
), | |
"2902" : GattDetails( | |
"Client Characteristic Configuration", | |
"org.bluetooth.descriptor.gatt.client_characteristic_configuration", | |
), | |
"290B" : GattDetails( | |
"Environmental Sensing Configuration", | |
"org.bluetooth.descriptor.es_configuration", | |
), | |
"290C" : GattDetails( | |
"Environmental Sensing Measurement", | |
"org.bluetooth.descriptor.es_measurement", | |
), | |
"290D" : GattDetails( | |
"Environmental Sensing Trigger Setting", | |
"org.bluetooth.descriptor.es_trigger_setting", | |
), | |
"2907" : GattDetails( | |
"External Report Reference", | |
" org.bluetooth.descriptor.external_report_reference", | |
), | |
"2909" : GattDetails( | |
"Number of Digitals", | |
"org.bluetooth.descriptor.number_of_digitals", | |
), | |
"2908" : GattDetails( | |
"Report Reference", | |
"org.bluetooth.descriptor.report_reference", | |
), | |
"2903" : GattDetails( | |
"Server Characteristic Configuration", | |
"org.bluetooth.descriptor.gatt.server_characteristic_configuration", | |
), | |
"290E" : GattDetails( | |
"Time Trigger Setting", | |
" org.bluetooth.descriptor.time_trigger_setting", | |
), | |
"2906" : GattDetails( | |
"Valid Range", | |
"org.bluetooth.descriptor.valid_range", | |
), | |
"290A" : GattDetails( | |
"Value Trigger Setting", | |
"org.bluetooth.descriptor.value_trigger_setting", | |
), | |
}; | |
//https://www.bluetooth.com/specifications/gatt/services/ | |
//org.bluetooth.service. | |
Map<String, GattDetails> idToService = { | |
"1800" : GattDetails( | |
"Generic Access", | |
"generic_access", | |
), | |
"1811" : GattDetails( | |
"Alert Notification Service", | |
"alert_notification", | |
), | |
"1815" : GattDetails( | |
"Automation IO", | |
"automation_io", | |
), | |
"180F" : GattDetails( | |
"Battery Service", | |
"battery_service", | |
), | |
"1810" : GattDetails( | |
"Blood Pressure", | |
"blood_pressure", | |
), | |
"181B" : GattDetails( | |
"Body Composition", | |
"body_composition", | |
), | |
"181E" : GattDetails( | |
"Bond Management Service", | |
"bond_management", | |
), | |
"181F" : GattDetails( | |
"Continuous Glucose Monitoring", | |
"continuous_glucose_monitoring", | |
), | |
"1805" : GattDetails( | |
"Current Time Service", | |
"current_time", | |
), | |
"1818" : GattDetails( | |
"Cycling Power", | |
"cycling_power", | |
), | |
"1816" : GattDetails( | |
"Cycling Speed and Cadence", | |
"cycling_speed_and_cadence", | |
), | |
"180A" : GattDetails( | |
"Device Information", | |
"device_information", | |
), | |
"181A" : GattDetails( | |
"Environmental Sensing", | |
"environmental_sensing", | |
), | |
"1826" : GattDetails( | |
"Fitness Machine", | |
"fitness_machine", | |
), | |
"1801" : GattDetails( | |
"Generic Attribute", | |
"generic_attribute", | |
), | |
"1808" : GattDetails( | |
"Glucose", | |
"glucose", | |
), | |
"1809" : GattDetails( | |
"Health Thermometer", | |
"health_thermometer", | |
), | |
"180D" : GattDetails( | |
"Heart Rate", | |
"heart_rate", | |
), | |
"1823" : GattDetails( | |
"HTTP Proxy", | |
"http_proxy", | |
), | |
"1812" : GattDetails( | |
"Human Interface Device", | |
"human_interface_device", | |
), | |
"1802" : GattDetails( | |
"Immediate Alert", | |
"immediate_alert", | |
), | |
"1821" : GattDetails( | |
"Indoor Positioning", | |
"indoor_positioning", | |
), | |
"183A" : GattDetails( | |
"Insulin Delivery", | |
"insulin_delivery", | |
), | |
"1820" : GattDetails( | |
"Internet Protocol Support Service", | |
"internet_protocol_support", | |
), | |
"1803" : GattDetails( | |
"Link Loss", | |
"link_loss", | |
), | |
"1819" : GattDetails( | |
"Location and Navigation", | |
"location_and_navigation", | |
), | |
"1827" : GattDetails( | |
"Mesh Provisioning Service", | |
"mesh_provisioning", | |
), | |
"1828" : GattDetails( | |
"Mesh Proxy Service", | |
"mesh_proxy", | |
), | |
"1807" : GattDetails( | |
"Next DST Change Service", | |
"next_dst_change", | |
), | |
"1825" : GattDetails( | |
"Object Transfer Service", | |
"object_transfer", | |
), | |
"180E" : GattDetails( | |
"Phone Alert Status Service", | |
"phone_alert_status", | |
), | |
"1822" : GattDetails( | |
"Pulse Oximeter Service", | |
"pulse_oximeter", | |
), | |
"1829" : GattDetails( | |
"Reconnection Configuration", | |
"reconnection_configuration", | |
), | |
"1806" : GattDetails( | |
"Reference Time Update Service", | |
"reference_time_update", | |
), | |
"1814" : GattDetails( | |
"Running Speed and Cadence", | |
"running_speed_and_cadence", | |
), | |
"1813" : GattDetails( | |
"Scan Parameters", | |
"scan_parameters", | |
), | |
"1824" : GattDetails( | |
"Transport Discovery", | |
"transport_discovery", | |
), | |
"1804" : GattDetails( | |
"Tx Power", | |
"tx_power", | |
), | |
"181C" : GattDetails( | |
"User Data", | |
"user_data", | |
), | |
"181D" : GattDetails( | |
"Weight Scale", | |
"weight_scale", | |
), | |
}; | |
//https://www.bluetooth.com/specifications/gatt/characteristics/ | |
//org.bluetooth.characteristic. | |
Map<String, GattDetails> idToCharacteristic = { | |
"2A7E" : GattDetails( | |
"Aerobic Heart Rate Lower Limit", | |
"aerobic_heart_rate_lower_limit", | |
), | |
"2A84" : GattDetails( | |
"Aerobic Heart Rate Upper Limit", | |
"aerobic_heart_rate_upper_limit", | |
), | |
"2A7F" : GattDetails( | |
"Aerobic Threshold", | |
"aerobic_threshold", | |
), | |
"2A80" : GattDetails( | |
"Age", | |
"age", | |
), | |
"2A5A" : GattDetails( | |
"Aggregate", | |
"aggregate", | |
), | |
"2A43" : GattDetails( | |
"Alert Category ID", | |
"alert_category_id", | |
), | |
"2A42" : GattDetails( | |
"Alert Category ID Bit Mask", | |
"alert_category_id_bit_mask", | |
), | |
"2A06" : GattDetails( | |
"Alert Level", | |
"alert_level", | |
), | |
"2A44" : GattDetails( | |
"Alert Notification Control Point", | |
"alert_notification_control_point", | |
), | |
"2A3F" : GattDetails( | |
"Alert Status", | |
"alert_status", | |
), | |
"2AB3" : GattDetails( | |
"Altitude", | |
"altitude", | |
), | |
"2A81" : GattDetails( | |
"Anaerobic Heart Rate Lower Limit", | |
"anaerobic_heart_rate_lower_limit", | |
), | |
"2A82" : GattDetails( | |
"Anaerobic Heart Rate Upper Limit", | |
"anaerobic_heart_rate_upper_limit", | |
), | |
"2A83" : GattDetails( | |
"Anaerobic Threshold", | |
"anaerobic_threshold", | |
), | |
"2A58" : GattDetails( | |
"Analog", | |
"analog", | |
), | |
"2A59" : GattDetails( | |
"Analog Output", | |
"analog_output", | |
), | |
"2A73" : GattDetails( | |
"Apparent Wind Direction", | |
"apparent_wind_direction", | |
), | |
"2A72" : GattDetails( | |
"Apparent Wind Speed", | |
"apparent_wind_speed", | |
), | |
"2A01" : GattDetails( | |
"Appearance", | |
"gap.appearance", | |
), | |
"2AA3" : GattDetails( | |
"Barometric Pressure Trend", | |
"barometric_pressure_trend", | |
), | |
"2A19" : GattDetails( | |
"Battery Level", | |
"battery_level", | |
), | |
"2A1B" : GattDetails( | |
"Battery Level State", | |
"battery_level_state", | |
), | |
"2A1A" : GattDetails( | |
"Battery Power State", | |
"battery_power_state", | |
), | |
"2A49" : GattDetails( | |
"Blood Pressure Feature", | |
"blood_pressure_feature", | |
), | |
"2A35" : GattDetails( | |
"Blood Pressure Measurement", | |
"blood_pressure_measurement", | |
), | |
"2A9B" : GattDetails( | |
"Body Composition Feature", | |
"body_composition_feature", | |
), | |
"2A9C" : GattDetails( | |
"Body Composition Measurement", | |
"body_composition_measurement", | |
), | |
"2A38" : GattDetails( | |
"Body Sensor Location", | |
"body_sensor_location", | |
), | |
"2AA4" : GattDetails( | |
"Bond Management Control Point", | |
"bond_management_control_point", | |
), | |
"2AA5" : GattDetails( | |
"Bond Management Features", | |
"bond_management_feature", | |
), | |
"2A22" : GattDetails( | |
"Boot Keyboard Input Report", | |
"boot_keyboard_input_report", | |
), | |
"2A32" : GattDetails( | |
"Boot Keyboard Output Report", | |
"boot_keyboard_output_report", | |
), | |
"2A33" : GattDetails( | |
"Boot Mouse Input Report", | |
"boot_mouse_input_report", | |
), | |
"2AA8" : GattDetails( | |
"CGM Feature", | |
"cgm_feature", | |
), | |
"2AA7" : GattDetails( | |
"CGM Measurement", | |
"cgm_measurement", | |
), | |
"2AAB" : GattDetails( | |
"CGM Session Run Time", | |
"cgm_session_run_time", | |
), | |
"2AAA" : GattDetails( | |
"CGM Session Start Time", | |
"cgm_session_start_time", | |
), | |
"2AAC" : GattDetails( | |
"CGM Specific Ops Control Point", | |
"cgm_specific_ops_control_point", | |
), | |
"2AA9" : GattDetails( | |
"CGM Status", | |
"cgm_status", | |
), | |
"2ACE" : GattDetails( | |
"Cross Trainer Data", | |
"cross_trainer_data", | |
), | |
"2A5C" : GattDetails( | |
"CSC Feature", | |
"csc_feature", | |
), | |
"2A5B" : GattDetails( | |
"CSC Measurement", | |
"csc_measurement", | |
), | |
"2A2B" : GattDetails( | |
"Current Time", | |
"current_time", | |
), | |
"2A66" : GattDetails( | |
"Cycling Power Control Point", | |
"cycling_power_control_point", | |
), | |
"2A65" : GattDetails( | |
"Cycling Power Feature", | |
"cycling_power_feature", | |
), | |
"2A63" : GattDetails( | |
"Cycling Power Measurement", | |
"cycling_power_measurement", | |
), | |
"2A64" : GattDetails( | |
"Cycling Power Vector", | |
"cycling_power_vector", | |
), | |
"2A99" : GattDetails( | |
"Database Change Increment", | |
"database_change_increment", | |
), | |
"2A85" : GattDetails( | |
"Date of Birth", | |
"date_of_birth", | |
), | |
"2A86" : GattDetails( | |
"Date of Threshold Assessment", | |
"date_of_threshold_assessment", | |
), | |
"2A08" : GattDetails( | |
"Date Time", | |
"date_time", | |
), | |
"2AED" : GattDetails( | |
"Date UTC", | |
"date_utc", | |
), | |
"2A0A" : GattDetails( | |
"Day Date Time", | |
"day_date_time", | |
), | |
"2A09" : GattDetails( | |
"Day of Week", | |
"day_of_week", | |
), | |
"2A7D" : GattDetails( | |
"Descriptor Value Changed", | |
"descriptor_value_changed", | |
), | |
"2A7B" : GattDetails( | |
"Dew Point", | |
"dew_point", | |
), | |
"2A56" : GattDetails( | |
"Digital", | |
"digital", | |
), | |
"2A57" : GattDetails( | |
"Digital Output", | |
"digital_output", | |
), | |
"2A0D" : GattDetails( | |
"DST Offset", | |
"dst_offset", | |
), | |
"2A6C" : GattDetails( | |
"Elevation", | |
"elevation", | |
), | |
"2A87" : GattDetails( | |
"Email Address", | |
"email_address", | |
), | |
"2A0B" : GattDetails( | |
"Exact Time 100", | |
"exact_time_100", | |
), | |
"2A0C" : GattDetails( | |
"Exact Time 256 ", | |
"exact_time_256", | |
), | |
"2A88" : GattDetails( | |
"Fat Burn Heart Rate Lower Limit", | |
"fat_burn_heart_rate_lower_limit", | |
), | |
"2A89" : GattDetails( | |
"Fat Burn Heart Rate Upper Limit", | |
"fat_burn_heart_rate_upper_limit", | |
), | |
"2A26" : GattDetails( | |
"Firmware Revision String ", | |
"firmware_revision_string", | |
), | |
"2A8A" : GattDetails( | |
"First Name", | |
"first_name", | |
), | |
"2AD9" : GattDetails( | |
"Fitness Machine Control Point ", | |
"fitness_machine_control_point", | |
), | |
"2ACC" : GattDetails( | |
"Fitness Machine Feature", | |
"fitness_machine_feature", | |
), | |
"2ADA" : GattDetails( | |
"Fitness Machine Status", | |
"fitness_machine_status", | |
), | |
"2A8B" : GattDetails( | |
"Five Zone Heart Rate Limits", | |
"five_zone_heart_rate_limits", | |
), | |
"2AB2" : GattDetails( | |
"Floor Number", | |
"floor_number", | |
), | |
"2AA6" : GattDetails( | |
"Central Address Resolution", | |
"gap.central_address_resolution", | |
), | |
"2A00" : GattDetails( | |
"Device Name", | |
"gap.device_name", | |
), | |
"2A04" : GattDetails( | |
"Peripheral Preferred Connection Parameters", | |
"gap.peripheral_preferred_connection_parameters", | |
), | |
"2A02" : GattDetails( | |
"Peripheral Privacy Flag", | |
"gap.peripheral_privacy_flag", | |
), | |
"2A03" : GattDetails( | |
"Reconnection Address", | |
"gap.reconnection_address", | |
), | |
"2A05" : GattDetails( | |
"Service Changed", | |
"gatt.service_changed", | |
), | |
"2A8C" : GattDetails( | |
"Gender", | |
"gender", | |
), | |
"2A51" : GattDetails( | |
"Glucose Feature", | |
"glucose_feature", | |
), | |
"2A18" : GattDetails( | |
"Glucose Measurement", | |
"glucose_measurement", | |
), | |
"2A34" : GattDetails( | |
"Glucose Measurement Context", | |
"glucose_measurement_context", | |
), | |
"2A74" : GattDetails( | |
"Gust Factor", | |
"gust_factor", | |
), | |
"2A27" : GattDetails( | |
"Hardware Revision String", | |
"hardware_revision_string", | |
), | |
"2A39" : GattDetails( | |
"Heart Rate Control Point", | |
"heart_rate_control_point", | |
), | |
"2A8D" : GattDetails( | |
"Heart Rate Max", | |
"heart_rate_max", | |
), | |
"2A37" : GattDetails( | |
"Heart Rate Measurement", | |
"heart_rate_measurement", | |
), | |
"2A7A" : GattDetails( | |
"Heat Index", | |
"heat_index", | |
), | |
"2A8E" : GattDetails( | |
"Height", | |
"height", | |
), | |
"2A4C" : GattDetails( | |
"HID Control Point", | |
"hid_control_point", | |
), | |
"2A4A" : GattDetails( | |
"HID Information", | |
"hid_information", | |
), | |
"2A8F" : GattDetails( | |
"Hip Circumference", | |
"hip_circumference", | |
), | |
"2ABA" : GattDetails( | |
"HTTP Control Point", | |
"http_control_point", | |
), | |
"2AB9" : GattDetails( | |
"HTTP Entity Body", | |
"http_entity_body", | |
), | |
"2AB7" : GattDetails( | |
"HTTP Headers", | |
"http_headers", | |
), | |
"2AB8" : GattDetails( | |
"HTTP Status Code", | |
"http_status_code", | |
), | |
"2ABB" : GattDetails( | |
"HTTPS Security", | |
"https_security", | |
), | |
"2A6F" : GattDetails( | |
"Humidity", | |
"humidity", | |
), | |
"2B22" : GattDetails( | |
"IDD Annunciation Status", | |
"idd_annunciation_status", | |
), | |
"2B25" : GattDetails( | |
"IDD Command Control Point", | |
"idd_command_control_point", | |
), | |
"2B26" : GattDetails( | |
"IDD Command Data", | |
"idd_command_data", | |
), | |
"2B23" : GattDetails( | |
"IDD Features", | |
"idd_features", | |
), | |
"2B28" : GattDetails( | |
"IDD History Data", | |
"idd_history_data", | |
), | |
"2B27" : GattDetails( | |
"IDD Record Access Control Point", | |
"idd_record_access_control_point", | |
), | |
"2B21" : GattDetails( | |
"IDD Status", | |
"idd_status", | |
), | |
"2B20" : GattDetails( | |
"IDD Status Changed", | |
"idd_status_changed", | |
), | |
"2B24" : GattDetails( | |
"IDD Status Reader Control Point", | |
"idd_status_reader_control_point", | |
), | |
"2A2A" : GattDetails( | |
"IEEE 11073-20601 Regulatory Certification Data List", | |
"ieee_11073-20601_regulatory_certification_data_list", | |
), | |
"2AD2" : GattDetails( | |
"Indoor Bike Data", | |
"indoor_bike_data", | |
), | |
"2AAD" : GattDetails( | |
"Indoor Positioning Configuration ", | |
"indoor_positioning_configuration", | |
), | |
"2A36" : GattDetails( | |
"Intermediate Cuff Pressure ", | |
"intermediate_cuff_pressure", | |
), | |
"2A1E" : GattDetails( | |
"Intermediate Temperature", | |
"intermediate_temperature", | |
), | |
"2A77" : GattDetails( | |
"Irradiance", | |
"irradiance", | |
), | |
"2AA2" : GattDetails( | |
"Language", | |
"language", | |
), | |
"2A90" : GattDetails( | |
"Last Name", | |
"last_name", | |
), | |
"2AAE" : GattDetails( | |
"Latitude", | |
"latitude", | |
), | |
"2A6B" : GattDetails( | |
"LN Control Point", | |
"ln_control_point", | |
), | |
"2A6A" : GattDetails( | |
"LN Feature", | |
"ln_feature", | |
), | |
"2AB1" : GattDetails( | |
"Local East Coordinate", | |
"local_east_coordinate", | |
), | |
"2AB0" : GattDetails( | |
"Local North Coordinate", | |
"local_north_coordinate", | |
), | |
"2A0F" : GattDetails( | |
"Local Time Information", | |
"local_time_information", | |
), | |
"2A67" : GattDetails( | |
"Location and Speed Characteristic", | |
"location_and_speed", | |
), | |
"2AB5" : GattDetails( | |
"Location Name", | |
"location_name", | |
), | |
"2AAF" : GattDetails( | |
"Longitude", | |
"Longitude", | |
), | |
"2A2C" : GattDetails( | |
"Magnetic Declination", | |
"magnetic_declination", | |
), | |
"2AA0" : GattDetails( | |
"Magnetic Flux Density – 2D", | |
"Magnetic_flux_density_2D", | |
), | |
"2AA1" : GattDetails( | |
"Magnetic Flux Density – 3D", | |
"Magnetic_flux_density_3D", | |
), | |
"2A29" : GattDetails( | |
"Manufacturer Name String", | |
"manufacturer_name_string", | |
), | |
"2A91" : GattDetails( | |
"Maximum Recommended Heart Rate", | |
"maximum_recommended_heart_rate", | |
), | |
"2A21" : GattDetails( | |
"Measurement Interval", | |
"measurement_interval", | |
), | |
"2A24" : GattDetails( | |
"Model Number String", | |
"model_number_string", | |
), | |
"2A68" : GattDetails( | |
"Navigation", | |
"navigation", | |
), | |
"2A3E" : GattDetails( | |
"Network Availability", | |
"network_availability", | |
), | |
"2A46" : GattDetails( | |
"New Alert", | |
"new_alert", | |
), | |
"2AC5" : GattDetails( | |
"Object Action Control Point", | |
"object_action_control_point", | |
), | |
"2AC8" : GattDetails( | |
"Object Changed", | |
"object_changed", | |
), | |
"2AC1" : GattDetails( | |
"Object First-Created", | |
"object_first_created", | |
), | |
"2AC3" : GattDetails( | |
"Object ID", | |
"object_id", | |
), | |
"2AC2" : GattDetails( | |
"Object Last-Modified", | |
"object_last_modified", | |
), | |
"2AC6" : GattDetails( | |
"Object List Control Point", | |
"object_list_control_point", | |
), | |
"2AC7" : GattDetails( | |
"Object List Filter", | |
"object_list_filter", | |
), | |
"2ABE" : GattDetails( | |
"Object Name", | |
"object_name", | |
), | |
"2AC4" : GattDetails( | |
"Object Properties", | |
"object_properties", | |
), | |
"2AC0" : GattDetails( | |
"Object Size", | |
"object_size", | |
), | |
"2ABF" : GattDetails( | |
"Object Type", | |
"object_type", | |
), | |
"2ABD" : GattDetails( | |
"OTS Feature", | |
"ots_feature", | |
), | |
"2A5F" : GattDetails( | |
"PLX Continuous Measurement Characteristic", | |
"plx_continuous_measurement", | |
), | |
"2A60" : GattDetails( | |
"PLX Features", | |
"plx_features", | |
), | |
"2A5E" : GattDetails( | |
"PLX Spot-Check Measurement", | |
"plx_spot_check_measurement", | |
), | |
"2A50" : GattDetails( | |
"PnP ID", | |
"pnp_id", | |
), | |
"2A75" : GattDetails( | |
"Pollen Concentration", | |
"pollen_concentration", | |
), | |
"2A2F" : GattDetails( | |
"Position 2D", | |
"position_2d", | |
), | |
"2A30" : GattDetails( | |
"Position 3D", | |
"position_3d", | |
), | |
"2A69" : GattDetails( | |
"Position Quality", | |
"position_quality", | |
), | |
"2A6D" : GattDetails( | |
"Pressure", | |
"pressure", | |
), | |
"2A4E" : GattDetails( | |
"Protocol Mode", | |
"protocol_mode", | |
), | |
"2A62" : GattDetails( | |
"Pulse Oximetry Control Point", | |
"pulse_oximetry_control_point", | |
), | |
"2A78" : GattDetails( | |
"Rainfall", | |
"rainfall", | |
), | |
"2B1D" : GattDetails( | |
"RC Feature", | |
"rc_feature", | |
), | |
"2B1E" : GattDetails( | |
"RC Settings", | |
"rc_settings", | |
), | |
"2B1F" : GattDetails( | |
"Reconnection Configuration Control Point", | |
"reconnection_configuration_control_point", | |
), | |
"2A52" : GattDetails( | |
"Record Access Control Point", | |
"record_access_control_point", | |
), | |
"2A14" : GattDetails( | |
"Reference Time Information", | |
"reference_time_information", | |
), | |
"2A3A" : GattDetails( | |
"Removable", | |
"removable", | |
), | |
"2A4D" : GattDetails( | |
"Report", | |
"report", | |
), | |
"2A4B" : GattDetails( | |
"Report Map", | |
"report_map", | |
), | |
"2AC9" : GattDetails( | |
"Resolvable Private Address Only", | |
"resolvable_private_address_only", | |
), | |
"2A92" : GattDetails( | |
"Resting Heart Rate", | |
"resting_heart_rate", | |
), | |
"2A40" : GattDetails( | |
"Ringer Control point", | |
"ringer_control_point", | |
), | |
"2A41" : GattDetails( | |
"Ringer Setting", | |
"ringer_setting", | |
), | |
"2AD1" : GattDetails( | |
"Rower Data", | |
"rower_data", | |
), | |
"2A54" : GattDetails( | |
"RSC Feature", | |
"rsc_feature", | |
), | |
"2A53" : GattDetails( | |
"RSC Measurement", | |
"rsc_measurement", | |
), | |
"2A55" : GattDetails( | |
"SC Control Point", | |
"sc_control_point", | |
), | |
"2A4F" : GattDetails( | |
"Scan Interval Window", | |
"scan_interval_window", | |
), | |
"2A31" : GattDetails( | |
"Scan Refresh", | |
"scan_refresh", | |
), | |
"2A3C" : GattDetails( | |
"Scientific Temperature Celsius", | |
"scientific_temperature_celsius", | |
), | |
"2A10" : GattDetails( | |
"Secondary Time Zone", | |
"secondary_time_zone", | |
), | |
"2A5D" : GattDetails( | |
"Sensor Location", | |
"sensor_location", | |
), | |
"2A25" : GattDetails( | |
"Serial Number String", | |
"serial_number_string", | |
), | |
"2A3B" : GattDetails( | |
"Service Required", | |
"service_required", | |
), | |
"2A28" : GattDetails( | |
"Software Revision String", | |
"software_revision_string", | |
), | |
"2A93" : GattDetails( | |
"Sport Type for Aerobic and Anaerobic Thresholds", | |
"sport_type_for_aerobic_and_anaerobic_thresholds", | |
), | |
"2AD0" : GattDetails( | |
"Stair Climber Data", | |
"stair_climber_data", | |
), | |
"2ACF" : GattDetails( | |
"Step Climber Data", | |
"step_climber_data", | |
), | |
"2A3D" : GattDetails( | |
"String", | |
"string", | |
), | |
"2AD7" : GattDetails( | |
"Supported Heart Rate Range", | |
"supported_heart_rate_range", | |
), | |
"2AD5" : GattDetails( | |
"Supported Inclination Range", | |
"supported_inclination_range", | |
), | |
"2A47" : GattDetails( | |
"Supported New Alert Category", | |
"supported_new_alert_category", | |
), | |
"2AD8" : GattDetails( | |
"Supported Power Range", | |
"supported_power_range", | |
), | |
"2AD6" : GattDetails( | |
"Supported Resistance Level Range", | |
"supported_resistance_level_range", | |
), | |
"2AD4" : GattDetails( | |
"Supported Speed Range", | |
"supported_speed_range", | |
), | |
"2A48" : GattDetails( | |
"Supported Unread Alert Category", | |
"supported_unread_alert_category", | |
), | |
"2A23" : GattDetails( | |
"System ID", | |
"system_id", | |
), | |
"2ABC" : GattDetails( | |
"TDS Control Point", | |
"tds_control_point", | |
), | |
"2A6E" : GattDetails( | |
"Temperature", | |
"temperature", | |
), | |
"2A1F" : GattDetails( | |
"Temperature Celsius", | |
"temperature_celsius", | |
), | |
"2A20" : GattDetails( | |
"Temperature Fahrenheit", | |
"temperature_fahrenheit", | |
), | |
"2A1C" : GattDetails( | |
"Temperature Measurement", | |
"temperature_measurement", | |
), | |
"2A1D" : GattDetails( | |
"Temperature Type", | |
"temperature_type", | |
), | |
"2A94" : GattDetails( | |
"Three Zone Heart Rate Limits", | |
"three_zone_heart_rate_limits", | |
), | |
"2A12" : GattDetails( | |
"Time Accuracy", | |
"time_accuracy", | |
), | |
"2A15" : GattDetails( | |
"Time Broadcast", | |
"time_broadcast", | |
), | |
"2A13" : GattDetails( | |
"Time Source", | |
"time_source", | |
), | |
"2A16" : GattDetails( | |
"Time Update Control Point", | |
"time_update_control_point", | |
), | |
"2A17" : GattDetails( | |
"Time Update State", | |
"time_update_state", | |
), | |
"2A11" : GattDetails( | |
"Time with DST", | |
"time_with_dst", | |
), | |
"2A0E" : GattDetails( | |
"Time Zone", | |
"time_zone", | |
), | |
"2AD3" : GattDetails( | |
"Training Status", | |
"training_status", | |
), | |
"2ACD" : GattDetails( | |
"Treadmill Data", | |
"treadmill_data", | |
), | |
"2A71" : GattDetails( | |
"True Wind Direction", | |
"true_wind_direction", | |
), | |
"2A70" : GattDetails( | |
"True Wind Speed", | |
"true_wind_speed", | |
), | |
"2A95" : GattDetails( | |
"Two Zone Heart Rate Limit", | |
"two_zone_heart_rate_limit", | |
), | |
"2A07" : GattDetails( | |
"Tx Power Level", | |
"tx_power_level", | |
), | |
"2AB4" : GattDetails( | |
"Uncertainty", | |
"uncertainty", | |
), | |
"2A45" : GattDetails( | |
"Unread Alert Status", | |
"unread_alert_status", | |
), | |
"2AB6" : GattDetails( | |
"URI", | |
"uri", | |
), | |
"2A9F" : GattDetails( | |
"User Control Point", | |
"user_control_point", | |
), | |
"2A9A" : GattDetails( | |
"User Index", | |
"user_index", | |
), | |
"2A76" : GattDetails( | |
"UV Index", | |
"uv_index", | |
), | |
"2A96" : GattDetails( | |
"VO2 Max", | |
"vo2_max", | |
), | |
"2A97" : GattDetails( | |
"Waist Circumference", | |
"waist_circumference", | |
), | |
"2A98" : GattDetails( | |
"Weight", | |
"weight", | |
), | |
"2A9D" : GattDetails( | |
"Weight Measurement", | |
"weight_measurement", | |
), | |
"2A9E" : GattDetails( | |
"Weight Scale Feature", | |
"weight_scale_feature", | |
), | |
"2A79" : GattDetails( | |
"Wind Chill", | |
"wind_chill", | |
), | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment