bluetooth-sig 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1104) hide show
  1. bluetooth_sig-0.1.1/.editorconfig +37 -0
  2. bluetooth_sig-0.1.1/.github/ISSUE_TEMPLATE/general-task.md +203 -0
  3. bluetooth_sig-0.1.1/.github/ISSUE_TEMPLATE.md +15 -0
  4. bluetooth_sig-0.1.1/.github/ai-agent-characteristic-rules.md +79 -0
  5. bluetooth_sig-0.1.1/.github/copilot-instructions.md +114 -0
  6. bluetooth_sig-0.1.1/.github/dependabot.yml +40 -0
  7. bluetooth_sig-0.1.1/.github/instructions/bluetooth-gatt.instructions.md +37 -0
  8. bluetooth_sig-0.1.1/.github/instructions/documentation.instructions.md +19 -0
  9. bluetooth_sig-0.1.1/.github/instructions/memory.instruction.md +30 -0
  10. bluetooth_sig-0.1.1/.github/instructions/python-implementation.instructions.md +41 -0
  11. bluetooth_sig-0.1.1/.github/instructions/testing.instructions.md +33 -0
  12. bluetooth_sig-0.1.1/.github/workflows/README.md +74 -0
  13. bluetooth_sig-0.1.1/.github/workflows/copilot-setup-steps.yml +70 -0
  14. bluetooth_sig-0.1.1/.github/workflows/lint-check.yml +95 -0
  15. bluetooth_sig-0.1.1/.github/workflows/release.yml +88 -0
  16. bluetooth_sig-0.1.1/.github/workflows/test-coverage.yml +477 -0
  17. bluetooth_sig-0.1.1/.gitignore +241 -0
  18. bluetooth_sig-0.1.1/.gitmodules +3 -0
  19. bluetooth_sig-0.1.1/CODE_OF_CONDUCT.md +83 -0
  20. bluetooth_sig-0.1.1/CONTRIBUTING.md +139 -0
  21. bluetooth_sig-0.1.1/DOCS_BUILD.md +350 -0
  22. bluetooth_sig-0.1.1/LICENSE +21 -0
  23. bluetooth_sig-0.1.1/PKG-INFO +365 -0
  24. bluetooth_sig-0.1.1/README.md +263 -0
  25. bluetooth_sig-0.1.1/bluetooth_sig/.git +1 -0
  26. bluetooth_sig-0.1.1/bluetooth_sig/.gitignore +50 -0
  27. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/company_identifiers/company_identifiers.yaml +11813 -0
  28. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/ad_types.yaml +187 -0
  29. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/amp.yaml +47 -0
  30. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/appearance_values.yaml +714 -0
  31. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/class_of_device.yaml +272 -0
  32. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/coding_format.yaml +52 -0
  33. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/core_version.yaml +66 -0
  34. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/diacs.yaml +38 -0
  35. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/formattypes.yaml +170 -0
  36. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/mws_channel_type.yaml +38 -0
  37. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/namespace.yaml +580 -0
  38. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/namespaces.yaml +36 -0
  39. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/pcm_data_format.yaml +44 -0
  40. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/psm.yaml +68 -0
  41. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/sdp_base_uuid.yaml +36 -0
  42. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/transport_layers.yaml +40 -0
  43. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/uri_schemes.yaml +406 -0
  44. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/dfumbt_model_uuids.yaml +52 -0
  45. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/dfumbt_opcodes.yaml +163 -0
  46. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/iec_model_uuids.yaml +37 -0
  47. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/iec_opcodes.yaml +37 -0
  48. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_beacon_types.yaml +40 -0
  49. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_health_faults.yaml +138 -0
  50. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_metadata_ids.yaml +52 -0
  51. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_model_uuids.yaml +100 -0
  52. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_opcodes.yaml +622 -0
  53. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_provisioning_pdu_types.yaml +76 -0
  54. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_proxy_pdu_types.yaml +46 -0
  55. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_transport_control_opcodes.yaml +88 -0
  56. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_light_purposes.yaml +86 -0
  57. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_model_uuids.yaml +190 -0
  58. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_opcodes.yaml +622 -0
  59. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/a2dp/a2dp.yaml +58 -0
  60. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avdtp/avdtp_content_protection_method.yaml +42 -0
  61. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avdtp/avdtp_media_type.yaml +40 -0
  62. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_folder_type.yaml +48 -0
  63. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_major_player_type.yaml +42 -0
  64. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_media_attributes.yaml +50 -0
  65. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_media_type.yaml +38 -0
  66. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_player_application_settings.yaml +75 -0
  67. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_player_sub_type.yaml +38 -0
  68. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/esl/display_types.yaml +56 -0
  69. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/ess/ess_permitted_characteristics.yaml +67 -0
  70. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/audio_input_type_definitions.yaml +58 -0
  71. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/audio_location_definitions.yaml +92 -0
  72. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_audio_channel_counts.yaml +63 -0
  73. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_frame_durations.yaml +55 -0
  74. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_max_codec_frames_per_sdu.yaml +43 -0
  75. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_octets_per_codec_frame.yaml +47 -0
  76. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_sampling_frequencies.yaml +73 -0
  77. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/audio_channel_allocation_configuration.yaml +43 -0
  78. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/codec_frame_blocks_per_sdu_configuration.yaml +43 -0
  79. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/frame_duration_configuration.yaml +48 -0
  80. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/octets_per_codec_frame_configuration.yaml +43 -0
  81. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/sampling_frequency_configuration.yaml +70 -0
  82. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/context_type.yaml +70 -0
  83. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/assisted_listening_stream.yaml +48 -0
  84. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/audio_active_state.yaml +47 -0
  85. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/broadcast_audio_immediate_rendering_flag.yaml +40 -0
  86. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/broadcast_name.yaml +43 -0
  87. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/ccid_list.yaml +43 -0
  88. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/extended_metadata.yaml +47 -0
  89. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/language.yaml +43 -0
  90. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/parental_rating.yaml +56 -0
  91. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/preferred_audio_contexts.yaml +49 -0
  92. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/program_info.yaml +43 -0
  93. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/programinfo_uri.yaml +43 -0
  94. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/streaming_audio_contexts.yaml +49 -0
  95. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/vendor_specific.yaml +48 -0
  96. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hdp/data_exchange_specs.yaml +37 -0
  97. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hdp/device_data_specs.yaml +176 -0
  98. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hfp/bearer_technology.yaml +52 -0
  99. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hfp/hf_indicators.yaml +44 -0
  100. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/imds/imds_permitted_characteristics.yaml +43 -0
  101. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/chat_state.yaml +46 -0
  102. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/message_extended_data.yaml +46 -0
  103. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/presence.yaml +48 -0
  104. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/tbs/uniform_caller_identifiers.yaml +144 -0
  105. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/tds/transport_discovery_service_id.yaml +40 -0
  106. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/uds/uds_permitted_characteristics.yaml +75 -0
  107. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/vdp/vdp.yaml +54 -0
  108. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_id_offsets_for_strings.yaml +40 -0
  109. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/a2dp.yaml +36 -0
  110. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/avrcp.yaml +36 -0
  111. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/bip.yaml +44 -0
  112. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/bpp.yaml +72 -0
  113. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/browse_group_descriptor_service.yaml +36 -0
  114. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/calendar_tasks_and_notes.yaml +38 -0
  115. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/cordless_telephony_profile.yaml +36 -0
  116. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/device_identification_profile.yaml +46 -0
  117. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/dun.yaml +36 -0
  118. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/fax_profile.yaml +42 -0
  119. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/file_transfer_profile.yaml +36 -0
  120. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/gnss.yaml +36 -0
  121. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/hands_free_profile.yaml +38 -0
  122. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/hardcopy_replacement_profile.yaml +42 -0
  123. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/headset_profile.yaml +36 -0
  124. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/health_device_profile.yaml +40 -0
  125. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/human_interface_device_profile.yaml +68 -0
  126. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/interoperability_requirements.yaml +42 -0
  127. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/message_access_profile.yaml +42 -0
  128. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/multi_profile.yaml +40 -0
  129. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/object_push_profile.yaml +40 -0
  130. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/pan_profile.yaml +46 -0
  131. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/phone_book_access_profile.yaml +40 -0
  132. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/sdp.yaml +38 -0
  133. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/synchronization_profile.yaml +36 -0
  134. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/universal_attributes.yaml +62 -0
  135. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/protocol_parameters.yaml +52 -0
  136. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/browse_group_identifiers.yaml +37 -0
  137. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/characteristic_uuids.yaml +1477 -0
  138. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/declarations.yaml +46 -0
  139. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/descriptors.yaml +100 -0
  140. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/member_uuids.yaml +1412 -0
  141. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/mesh_profile_uuids.yaml +48 -0
  142. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/object_types.yaml +52 -0
  143. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/protocol_identifiers.yaml +82 -0
  144. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/sdo_uuids.yaml +68 -0
  145. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/service_class.yaml +262 -0
  146. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/service_uuids.yaml +250 -0
  147. bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/units.yaml +415 -0
  148. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.active_energy_loadside.yaml +39 -0
  149. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.active_power_loadside.yaml +39 -0
  150. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.air_pressure.yaml +39 -0
  151. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_energy.yaml +39 -0
  152. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_power.yaml +39 -0
  153. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_wind_direction.yaml +39 -0
  154. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_wind_speed.yaml +39 -0
  155. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_ambient_temperature_in_a_period_of_day.yaml +56 -0
  156. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_input_current.yaml +39 -0
  157. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_input_voltage.yaml +39 -0
  158. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_output_current.yaml +39 -0
  159. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_output_voltage.yaml +39 -0
  160. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.building_floor.yaml +39 -0
  161. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.center_beam_intensity_at_full_power.yaml +39 -0
  162. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.chromaticity_tolerance.yaml +41 -0
  163. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.coarse_ambient_relative_humidity.yaml +39 -0
  164. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.coarse_present_ambient_light_level.yaml +39 -0
  165. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.color_rendering_index_r9.yaml +39 -0
  166. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.color_rendering_index_ra.yaml +39 -0
  167. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.desired_ambient_temperature.yaml +39 -0
  168. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_appearance.yaml +39 -0
  169. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_country_of_origin.yaml +39 -0
  170. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_date_of_manufacture.yaml +39 -0
  171. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_energy_use_since_turn_on.yaml +39 -0
  172. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_firmware_revision.yaml +39 -0
  173. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_global_trade_item_number.yaml +39 -0
  174. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_hardware_revision.yaml +39 -0
  175. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_manufacturer_name.yaml +39 -0
  176. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_model_number.yaml +39 -0
  177. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_operating_temperature_range_specification.yaml +39 -0
  178. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_operating_temperature_statistical_values.yaml +41 -0
  179. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_over_temperature_event_statistics.yaml +41 -0
  180. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_power_range_specification.yaml +39 -0
  181. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_runtime_since_turn_on.yaml +39 -0
  182. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_runtime_warranty.yaml +39 -0
  183. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_serial_number.yaml +39 -0
  184. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_software_revision.yaml +39 -0
  185. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_under_temperature_event_statistics.yaml +41 -0
  186. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.dew_point.yaml +39 -0
  187. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.external_supply_voltage.yaml +39 -0
  188. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.external_supply_voltage_frequency.yaml +39 -0
  189. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.gust_factor.yaml +39 -0
  190. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.heat_index.yaml +39 -0
  191. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_occupancy_minimum_run_time.yaml +39 -0
  192. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_occupancy_threshold_time.yaml +39 -0
  193. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_vacancy_threshold_time.yaml +39 -0
  194. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.indoor_ambient_temperature_statistical_values.yaml +39 -0
  195. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_cie_1931_chromaticity_coordinates.yaml +39 -0
  196. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_correlated_color_temperature.yaml +39 -0
  197. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_luminous_flux.yaml +39 -0
  198. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_planckian_distance.yaml +39 -0
  199. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_current_range_specification.yaml +39 -0
  200. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_current_statistics.yaml +39 -0
  201. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_current_event_statistics.yaml +41 -0
  202. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_ripple_voltage_event_statistics.yaml +41 -0
  203. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_voltage_event_statistics.yaml +41 -0
  204. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_under_current_event_statistics.yaml +41 -0
  205. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_under_voltage_event_statistics.yaml +41 -0
  206. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_range_specification.yaml +41 -0
  207. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_ripple_specification.yaml +39 -0
  208. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_statistics.yaml +39 -0
  209. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_on.yaml +41 -0
  210. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_prolong.yaml +39 -0
  211. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_standby.yaml +39 -0
  212. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_on.yaml +39 -0
  213. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_prolong.yaml +39 -0
  214. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_standby.yaml +39 -0
  215. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_accuracy.yaml +39 -0
  216. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kid.yaml +39 -0
  217. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kiu.yaml +39 -0
  218. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kpd.yaml +39 -0
  219. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kpu.yaml +39 -0
  220. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade.yaml +39 -0
  221. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_on.yaml +39 -0
  222. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_standby_auto.yaml +39 -0
  223. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_standby_manual.yaml +39 -0
  224. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_occupancy_delay.yaml +41 -0
  225. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_prolong.yaml +39 -0
  226. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_run_on.yaml +41 -0
  227. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_distribution.yaml +39 -0
  228. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_current.yaml +39 -0
  229. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_on_time_not_resettable.yaml +39 -0
  230. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_on_time_resettable.yaml +39 -0
  231. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_open_circuit_statistics.yaml +41 -0
  232. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_overall_failures_statistics.yaml +41 -0
  233. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_short_circuit_statistics.yaml +41 -0
  234. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_start_counter_resettable.yaml +39 -0
  235. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_temperature.yaml +39 -0
  236. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_thermal_derating_statistics.yaml +41 -0
  237. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_thermal_shutdown_statistics.yaml +41 -0
  238. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_total_power_on_cycles.yaml +39 -0
  239. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_type.yaml +39 -0
  240. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_voltage.yaml +39 -0
  241. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.local_asset_identifier.yaml +41 -0
  242. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.local_asset_name.yaml +41 -0
  243. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.lumen_maintenance_factor.yaml +39 -0
  244. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_color.yaml +39 -0
  245. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_identification_number.yaml +39 -0
  246. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_identification_string.yaml +39 -0
  247. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_manufacturer_gtin.yaml +39 -0
  248. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_input_power.yaml +39 -0
  249. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_maximum_ac_mains_voltage.yaml +39 -0
  250. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_minimum_ac_mains_voltage.yaml +39 -0
  251. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_power_at_minimum_dim_level.yaml +39 -0
  252. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_time_of_manufacture.yaml +39 -0
  253. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_efficacy.yaml +39 -0
  254. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_energy_since_turn_on.yaml +39 -0
  255. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_exposure.yaml +39 -0
  256. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_flux_range.yaml +39 -0
  257. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_declination.yaml +39 -0
  258. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_flux_density_2d.yaml +39 -0
  259. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_flux_density_3d.yaml +39 -0
  260. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_sensed.yaml +39 -0
  261. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_threshold.yaml +41 -0
  262. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_threshold_steps.yaml +47 -0
  263. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.nominal_light_output.yaml +39 -0
  264. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.open_circuit_event_statistics.yaml +39 -0
  265. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.outdoor_statistical_values.yaml +39 -0
  266. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_percent.yaml +41 -0
  267. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_range.yaml +39 -0
  268. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_statistics.yaml +39 -0
  269. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_power_limitation.yaml +41 -0
  270. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_ripple_voltage_specification.yaml +39 -0
  271. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_voltage_range.yaml +39 -0
  272. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_voltage_statistics.yaml +39 -0
  273. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.over_output_ripple_voltage_event_statistics.yaml +39 -0
  274. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.overall_failure_condition.yaml +41 -0
  275. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.people_count.yaml +39 -0
  276. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.pollen_concentration.yaml +39 -0
  277. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.power_factor.yaml +39 -0
  278. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.precise_present_ambient_temperature.yaml +39 -0
  279. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.precise_total_device_energy_use.yaml +39 -0
  280. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.presence_detected.yaml +39 -0
  281. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_carbon_dioxide_concentration.yaml +39 -0
  282. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_light_level.yaml +39 -0
  283. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_noise.yaml +39 -0
  284. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_relative_humidity.yaml +39 -0
  285. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_temperature.yaml +39 -0
  286. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_temperature_and_coarse_ambient_relative_humidity.yaml +49 -0
  287. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_volatile_organic_compounds_concentration.yaml +39 -0
  288. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_cie_1931_chromaticity_coordinates.yaml +39 -0
  289. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_correlated_color_temperature.yaml +39 -0
  290. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_input_power.yaml +39 -0
  291. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_operating_efficiency.yaml +39 -0
  292. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_operating_temperature.yaml +39 -0
  293. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_illuminance.yaml +39 -0
  294. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_indoor_ambient_temperature.yaml +39 -0
  295. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_indoor_relative_humidity.yaml +39 -0
  296. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_current.yaml +39 -0
  297. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_ripple_voltage.yaml +41 -0
  298. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_voltage.yaml +39 -0
  299. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_luminous_flux.yaml +39 -0
  300. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_outdoor_ambient_temperature.yaml +39 -0
  301. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_outdoor_relative_humidity.yaml +39 -0
  302. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_output_current.yaml +39 -0
  303. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_output_voltage.yaml +39 -0
  304. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_planckian_distance.yaml +39 -0
  305. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_precise_ambient_temperature_and_relative_humidity.yaml +49 -0
  306. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_relative_output_ripple_voltage.yaml +41 -0
  307. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.pressure.yaml +39 -0
  308. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rainfall.yaml +39 -0
  309. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rated_median_useful_life_of_luminaire.yaml +39 -0
  310. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rated_median_useful_light_source_starts.yaml +39 -0
  311. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.reference_temperature.yaml +39 -0
  312. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_device_energy_use_in_a_period_of_day.yaml +57 -0
  313. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_device_runtime_in_a_generic_level_range.yaml +52 -0
  314. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_exposure_time_in_an_illuminance_range.yaml +53 -0
  315. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_a_correlated_color_temperature_range.yaml +51 -0
  316. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_a_device_operating_temperature_range.yaml +51 -0
  317. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_an_input_current_range.yaml +51 -0
  318. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_an_input_voltage_range.yaml +51 -0
  319. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.sensor_gain.yaml +41 -0
  320. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.short_circuit_event_statistics.yaml +39 -0
  321. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.spatial_unit_category.yaml +41 -0
  322. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.spatial_unit_name.yaml +41 -0
  323. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_2.yaml +54 -0
  324. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_3.yaml +57 -0
  325. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_4.yaml +58 -0
  326. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_5.yaml +60 -0
  327. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_6.yaml +62 -0
  328. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_7.yaml +64 -0
  329. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_8.yaml +66 -0
  330. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.thermal_derating.yaml +41 -0
  331. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.time_since_motion_sensed.yaml +41 -0
  332. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.time_since_presence_detected.yaml +41 -0
  333. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_energy_use.yaml +39 -0
  334. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_off_on_cycles.yaml +39 -0
  335. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_power_on_cycles.yaml +39 -0
  336. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_power_on_time.yaml +39 -0
  337. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_runtime.yaml +39 -0
  338. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_starts.yaml +41 -0
  339. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_light_exposure_time.yaml +39 -0
  340. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_luminous_energy.yaml +39 -0
  341. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.true_wind_direction.yaml +39 -0
  342. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.true_wind_speed.yaml +39 -0
  343. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.uv_index.yaml +39 -0
  344. bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.wind_chill.yaml +39 -0
  345. bluetooth_sig-0.1.1/bluetooth_sig/dp/property_groups.yaml +109 -0
  346. bluetooth_sig-0.1.1/bluetooth_sig/dp/property_ids.yaml +432 -0
  347. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration.yaml +49 -0
  348. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration_3D.yaml +74 -0
  349. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration_detection_status.yaml +55 -0
  350. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.activity_goal.yaml +119 -0
  351. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_heart_rate_lower_limit.yaml +46 -0
  352. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_heart_rate_upper_limit.yaml +46 -0
  353. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_threshold.yaml +46 -0
  354. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.age.yaml +44 -0
  355. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_category_id.yaml +72 -0
  356. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_category_id_bit_mask.yaml +72 -0
  357. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_level.yaml +48 -0
  358. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_notification_control_point.yaml +55 -0
  359. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_status.yaml +67 -0
  360. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ammonia_concentration.yaml +47 -0
  361. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_heart_rate_lower_limit.yaml +44 -0
  362. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_heart_rate_upper_limit.yaml +44 -0
  363. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_threshold.yaml +44 -0
  364. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_energy_32.yaml +51 -0
  365. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_power.yaml +51 -0
  366. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_wind_direction.yaml +49 -0
  367. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_wind_speed.yaml +47 -0
  368. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.average_current.yaml +48 -0
  369. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.average_voltage.yaml +48 -0
  370. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.barometric_pressure_trend.yaml +70 -0
  371. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_critical_status.yaml +54 -0
  372. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_energy_status.yaml +110 -0
  373. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_health_information.yaml +79 -0
  374. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_health_status.yaml +90 -0
  375. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_information.yaml +177 -0
  376. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_level.yaml +48 -0
  377. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_level_status.yaml +149 -0
  378. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_time_status.yaml +80 -0
  379. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_feature.yaml +95 -0
  380. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_measurement.yaml +179 -0
  381. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_record.yaml +97 -0
  382. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_composition_feature.yaml +92 -0
  383. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_composition_measurement.yaml +172 -0
  384. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_sensor_location.yaml +64 -0
  385. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.boolean.yaml +54 -0
  386. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.caloric_intake.yaml +44 -0
  387. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.carbon_monoxide_concentration.yaml +47 -0
  388. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_feature.yaml +157 -0
  389. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_measurement.yaml +201 -0
  390. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_session_run_time.yaml +52 -0
  391. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_session_start_time.yaml +58 -0
  392. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_specific_ops_control_point.yaml +281 -0
  393. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_status.yaml +54 -0
  394. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromatic_distance_from_planckian.yaml +52 -0
  395. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_coordinate.yaml +48 -0
  396. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_coordinates.yaml +48 -0
  397. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_in_cct_and_duv_values.yaml +48 -0
  398. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_tolerance.yaml +48 -0
  399. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cie_13.3-1995_color_rendering_index.yaml +50 -0
  400. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.co2_concentration.yaml +50 -0
  401. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.coefficient.yaml +44 -0
  402. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.contact_status_8.yaml +88 -0
  403. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.content_control_id.yaml +44 -0
  404. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.correlated_color_temperature.yaml +49 -0
  405. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cosine_of_the_angle.yaml +51 -0
  406. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.count_16.yaml +49 -0
  407. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.count_24.yaml +49 -0
  408. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.country_code.yaml +49 -0
  409. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cross_trainer_data.yaml +239 -0
  410. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.csc_feature.yaml +56 -0
  411. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.csc_measurement.yaml +94 -0
  412. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.current_time.yaml +54 -0
  413. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_control_point.yaml +215 -0
  414. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_feature.yaml +100 -0
  415. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_measurement.yaml +231 -0
  416. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_vector.yaml +108 -0
  417. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.database_change_increment.yaml +46 -0
  418. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_of_birth.yaml +94 -0
  419. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_of_threshold_assessment.yaml +95 -0
  420. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_time.yaml +64 -0
  421. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_utc.yaml +50 -0
  422. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.day_date_time.yaml +48 -0
  423. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.day_of_week.yaml +53 -0
  424. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.device_wearing_position.yaml +132 -0
  425. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.dew_point.yaml +47 -0
  426. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.door_window_status.yaml +57 -0
  427. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.dst_offset.yaml +50 -0
  428. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.elapsed_time.yaml +102 -0
  429. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current.yaml +50 -0
  430. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_range.yaml +48 -0
  431. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_specification.yaml +52 -0
  432. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_statistics.yaml +60 -0
  433. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.elevation.yaml +47 -0
  434. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.email_address.yaml +44 -0
  435. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy.yaml +50 -0
  436. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy_32.yaml +51 -0
  437. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy_in_a_period_of_day.yaml +52 -0
  438. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.enhanced_blood_pressure_measurement.yaml +173 -0
  439. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.enhanced_intermediate_cuff_pressure.yaml +126 -0
  440. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.estimated_service_date.yaml +47 -0
  441. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.event_statistics.yaml +56 -0
  442. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.exact_time_256.yaml +48 -0
  443. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fat_burn_heart_rate_lower_limit.yaml +44 -0
  444. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fat_burn_heart_rate_upper_limit.yaml +44 -0
  445. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.firmware_revision_string.yaml +44 -0
  446. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.first_name.yaml +44 -0
  447. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.five_zone_heart_rate_limits.yaml +56 -0
  448. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_16.yaml +44 -0
  449. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_24.yaml +44 -0
  450. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_36.yaml +44 -0
  451. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_64.yaml +44 -0
  452. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_8.yaml +44 -0
  453. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.force.yaml +48 -0
  454. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.four_zone_heart_rate_limits.yaml +52 -0
  455. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.gender.yaml +48 -0
  456. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.generic_level.yaml +48 -0
  457. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.global_trade_item_number.yaml +46 -0
  458. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_feature.yaml +105 -0
  459. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_measurement.yaml +243 -0
  460. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_measurement_context.yaml +274 -0
  461. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.gust_factor.yaml +47 -0
  462. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.handedness.yaml +58 -0
  463. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.hardware_revision_string.yaml +44 -0
  464. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_control_point.yaml +56 -0
  465. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_max.yaml +44 -0
  466. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_measurement.yaml +104 -0
  467. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heat_index.yaml +44 -0
  468. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.height.yaml +47 -0
  469. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_intensity_exercise_threshold.yaml +90 -0
  470. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_resolution_height.yaml +47 -0
  471. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_temperature.yaml +52 -0
  472. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_voltage.yaml +50 -0
  473. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.hip_circumference.yaml +47 -0
  474. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.humidity.yaml +50 -0
  475. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.humidity_8.yaml +51 -0
  476. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ieee_11073-20601_regulatory_certification_data_list.yaml +45 -0
  477. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.illuminance.yaml +51 -0
  478. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.illuminance_16.yaml +50 -0
  479. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.indoor_bike_data.yaml +193 -0
  480. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.intermediate_cuff_pressure.yaml +161 -0
  481. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.intermediate_temperature.yaml +91 -0
  482. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.irradiance.yaml +47 -0
  483. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.language.yaml +45 -0
  484. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.last_name.yaml +44 -0
  485. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.length.yaml +48 -0
  486. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_distribution.yaml +63 -0
  487. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_output.yaml +51 -0
  488. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_source_type.yaml +70 -0
  489. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.linear_position.yaml +48 -0
  490. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ln_control_point.yaml +157 -0
  491. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ln_feature.yaml +92 -0
  492. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.local_time_information.yaml +48 -0
  493. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.location_and_speed.yaml +148 -0
  494. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_efficacy.yaml +51 -0
  495. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_energy.yaml +51 -0
  496. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_exposure.yaml +51 -0
  497. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_flux.yaml +51 -0
  498. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_flux_range.yaml +48 -0
  499. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_intensity.yaml +51 -0
  500. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_declination.yaml +47 -0
  501. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_flux_density_-_2d.yaml +54 -0
  502. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_flux_density_-_3d.yaml +61 -0
  503. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.manufacturer_name_string.yaml +44 -0
  504. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.mass_flow.yaml +51 -0
  505. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.maximum_recommended_heart_rate.yaml +44 -0
  506. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.measurement_interval.yaml +54 -0
  507. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.methane_concentration.yaml +47 -0
  508. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.middle_name.yaml +44 -0
  509. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.model_number_string.yaml +44 -0
  510. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.navigation.yaml +119 -0
  511. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.new_alert.yaml +83 -0
  512. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.nitrogen_dioxide_concentration.yaml +47 -0
  513. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.noise.yaml +49 -0
  514. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.non-methane_volatile_organic_compounds_concentration.yaml +47 -0
  515. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_first-created.yaml +44 -0
  516. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_id.yaml +44 -0
  517. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_last-modified.yaml +44 -0
  518. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_name.yaml +44 -0
  519. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_type.yaml +47 -0
  520. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ozone_concentration.yaml +47 -0
  521. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm10_concentration.yaml +47 -0
  522. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm1_concentration.yaml +47 -0
  523. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm2.5_concentration.yaml +47 -0
  524. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.perceived_lightness.yaml +48 -0
  525. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.percentage_8.yaml +51 -0
  526. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.percentage_8_steps.yaml +56 -0
  527. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pnp_id.yaml +68 -0
  528. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pollen_concentration.yaml +44 -0
  529. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.position_quality.yaml +121 -0
  530. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.power.yaml +51 -0
  531. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.power_specification.yaml +52 -0
  532. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.precise_acceleration_3D.yaml +74 -0
  533. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.preferred_units.yaml +49 -0
  534. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pressure.yaml +47 -0
  535. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pushbutton_status_8.yaml +73 -0
  536. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rainfall.yaml +47 -0
  537. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.record_access_control_point.yaml +181 -0
  538. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.reference_time_information.yaml +62 -0
  539. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_correlated_color_temperature_range.yaml +52 -0
  540. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_current_range.yaml +52 -0
  541. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_generic_level_range.yaml +52 -0
  542. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_period_of_day.yaml +52 -0
  543. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_temperature_range.yaml +52 -0
  544. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_voltage_range.yaml +52 -0
  545. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_an_illuminance_range.yaml +52 -0
  546. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.resting_heart_rate.yaml +44 -0
  547. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ringer_control_point.yaml +48 -0
  548. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ringer_setting.yaml +47 -0
  549. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rotational_speed.yaml +51 -0
  550. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rower_data.yaml +196 -0
  551. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rsc_feature.yaml +60 -0
  552. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rsc_measurement.yaml +86 -0
  553. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sc_control_point.yaml +131 -0
  554. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sedentary_interval_notification.yaml +49 -0
  555. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sensor_location.yaml +84 -0
  556. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.serial_number_string.yaml +44 -0
  557. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.software_revision_string.yaml +44 -0
  558. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sport_type_for_aerobic_and_anaerobic_thresholds.yaml +74 -0
  559. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.stair_climber_data.yaml +157 -0
  560. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.step_climber_data.yaml +154 -0
  561. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.stride_length.yaml +47 -0
  562. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sulfur_dioxide_concentration.yaml +47 -0
  563. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sulfur_hexafluoride_concentration.yaml +47 -0
  564. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_heart_rate_range.yaml +52 -0
  565. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_inclination_range.yaml +61 -0
  566. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_new_alert_category.yaml +44 -0
  567. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_power_range.yaml +52 -0
  568. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_resistance_level_range.yaml +61 -0
  569. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_speed_range.yaml +61 -0
  570. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_unread_alert_category.yaml +44 -0
  571. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.system_id.yaml +48 -0
  572. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature.yaml +50 -0
  573. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8.yaml +50 -0
  574. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8_in_a_period_of_day.yaml +52 -0
  575. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8_statistics.yaml +60 -0
  576. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_measurement.yaml +91 -0
  577. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_range.yaml +48 -0
  578. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_statistics.yaml +60 -0
  579. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_type.yaml +70 -0
  580. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.three_zone_heart_rate_limits.yaml +48 -0
  581. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_accuracy.yaml +50 -0
  582. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_decihour_8.yaml +51 -0
  583. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_exponential_8.yaml +51 -0
  584. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_hour_24.yaml +49 -0
  585. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_millisecond_24.yaml +50 -0
  586. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_16.yaml +49 -0
  587. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_32.yaml +50 -0
  588. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_8.yaml +49 -0
  589. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_source.yaml +86 -0
  590. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_update_control_point.yaml +47 -0
  591. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_update_state.yaml +58 -0
  592. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_with_dst.yaml +48 -0
  593. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_zone.yaml +49 -0
  594. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.torque.yaml +49 -0
  595. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.treadmill_data.yaml +214 -0
  596. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.true_wind_direction.yaml +49 -0
  597. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.true_wind_speed.yaml +47 -0
  598. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.two_zone_heart_rate_limits.yaml +44 -0
  599. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.tx_power_level.yaml +47 -0
  600. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.udi_for_medical_devices.yaml +85 -0
  601. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.unread_alert_status.yaml +51 -0
  602. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.user_index.yaml +52 -0
  603. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.uv_index.yaml +44 -0
  604. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.vo2_max.yaml +44 -0
  605. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voc_concentration.yaml +50 -0
  606. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage.yaml +51 -0
  607. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_frequency.yaml +52 -0
  608. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_specification.yaml +52 -0
  609. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_statistics.yaml +60 -0
  610. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.volume_flow.yaml +51 -0
  611. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.waist_circumference.yaml +47 -0
  612. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight.yaml +47 -0
  613. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight_measurement.yaml +90 -0
  614. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight_scale_feature.yaml +76 -0
  615. bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.wind_chill.yaml +44 -0
  616. bluetooth_sig-0.1.1/docs/source/_static/custom.css +71 -0
  617. bluetooth_sig-0.1.1/docs/source/_static/performance/.gitkeep +2 -0
  618. bluetooth_sig-0.1.1/docs/source/_templates/breadcrumbs.html +12 -0
  619. bluetooth_sig-0.1.1/docs/source/_templates/page.html +8 -0
  620. bluetooth_sig-0.1.1/docs/source/_templates/search.html +7 -0
  621. bluetooth_sig-0.1.1/docs/source/api/index.md +26 -0
  622. bluetooth_sig-0.1.1/docs/source/community/code-of-conduct.md +83 -0
  623. bluetooth_sig-0.1.1/docs/source/community/index.md +42 -0
  624. bluetooth_sig-0.1.1/docs/source/conf.py +630 -0
  625. bluetooth_sig-0.1.1/docs/source/explanation/api-overview.md +224 -0
  626. bluetooth_sig-0.1.1/docs/source/explanation/architecture/c4-model.md +97 -0
  627. bluetooth_sig-0.1.1/docs/source/explanation/architecture/decisions.md +253 -0
  628. bluetooth_sig-0.1.1/docs/source/explanation/architecture/internals.md +831 -0
  629. bluetooth_sig-0.1.1/docs/source/explanation/architecture/overview.md +128 -0
  630. bluetooth_sig-0.1.1/docs/source/explanation/architecture/registry-system.md +617 -0
  631. bluetooth_sig-0.1.1/docs/source/explanation/index.md +38 -0
  632. bluetooth_sig-0.1.1/docs/source/explanation/limitations.md +151 -0
  633. bluetooth_sig-0.1.1/docs/source/explanation/what-it-solves.md +360 -0
  634. bluetooth_sig-0.1.1/docs/source/explanation/why-use.md +245 -0
  635. bluetooth_sig-0.1.1/docs/source/how-to/adding-characteristics.md +226 -0
  636. bluetooth_sig-0.1.1/docs/source/how-to/advertising-parsing.md +448 -0
  637. bluetooth_sig-0.1.1/docs/source/how-to/async-usage.md +478 -0
  638. bluetooth_sig-0.1.1/docs/source/how-to/ble-integration.md +530 -0
  639. bluetooth_sig-0.1.1/docs/source/how-to/characteristics.md +330 -0
  640. bluetooth_sig-0.1.1/docs/source/how-to/contributing.md +119 -0
  641. bluetooth_sig-0.1.1/docs/source/how-to/import-patterns.md +307 -0
  642. bluetooth_sig-0.1.1/docs/source/how-to/index.md +61 -0
  643. bluetooth_sig-0.1.1/docs/source/how-to/migration.md +665 -0
  644. bluetooth_sig-0.1.1/docs/source/how-to/performance-tuning.md +205 -0
  645. bluetooth_sig-0.1.1/docs/source/how-to/services.md +362 -0
  646. bluetooth_sig-0.1.1/docs/source/how-to/testing.md +616 -0
  647. bluetooth_sig-0.1.1/docs/source/how-to/usage.md +394 -0
  648. bluetooth_sig-0.1.1/docs/source/index.md +142 -0
  649. bluetooth_sig-0.1.1/docs/source/performance/benchmarks.md +295 -0
  650. bluetooth_sig-0.1.1/docs/source/performance/index.md +18 -0
  651. bluetooth_sig-0.1.1/docs/source/performance/performance-data.md +161 -0
  652. bluetooth_sig-0.1.1/docs/source/reference/registry-coverage.md +138 -0
  653. bluetooth_sig-0.1.1/docs/source/tutorials/index.md +63 -0
  654. bluetooth_sig-0.1.1/docs/source/tutorials/installation.md +52 -0
  655. bluetooth_sig-0.1.1/docs/source/tutorials/quickstart.md +190 -0
  656. bluetooth_sig-0.1.1/examples/README.md +142 -0
  657. bluetooth_sig-0.1.1/examples/__init__.py +17 -0
  658. bluetooth_sig-0.1.1/examples/advertising_parsing.py +592 -0
  659. bluetooth_sig-0.1.1/examples/async_ble_integration.py +195 -0
  660. bluetooth_sig-0.1.1/examples/basic_usage.py +31 -0
  661. bluetooth_sig-0.1.1/examples/benchmarks/__init__.py +5 -0
  662. bluetooth_sig-0.1.1/examples/benchmarks/parsing_performance.py +331 -0
  663. bluetooth_sig-0.1.1/examples/comprehensive_test.py +84 -0
  664. bluetooth_sig-0.1.1/examples/connection_managers/__init__.py +23 -0
  665. bluetooth_sig-0.1.1/examples/connection_managers/bleak_retry.py +804 -0
  666. bluetooth_sig-0.1.1/examples/connection_managers/bleak_utils.py +159 -0
  667. bluetooth_sig-0.1.1/examples/connection_managers/bless_peripheral.py +375 -0
  668. bluetooth_sig-0.1.1/examples/connection_managers/bluepy.py +744 -0
  669. bluetooth_sig-0.1.1/examples/connection_managers/simpleble.py +749 -0
  670. bluetooth_sig-0.1.1/examples/notifications.py +36 -0
  671. bluetooth_sig-0.1.1/examples/pure_sig_parsing.py +263 -0
  672. bluetooth_sig-0.1.1/examples/scanning.py +210 -0
  673. bluetooth_sig-0.1.1/examples/service_discovery.py +33 -0
  674. bluetooth_sig-0.1.1/examples/test_scanning_features.py +460 -0
  675. bluetooth_sig-0.1.1/examples/utils/__init__.py +42 -0
  676. bluetooth_sig-0.1.1/examples/utils/argparse_utils.py +192 -0
  677. bluetooth_sig-0.1.1/examples/utils/connection_helpers.py +103 -0
  678. bluetooth_sig-0.1.1/examples/utils/data_parsing.py +215 -0
  679. bluetooth_sig-0.1.1/examples/utils/demo_functions.py +253 -0
  680. bluetooth_sig-0.1.1/examples/utils/device_scanning.py +71 -0
  681. bluetooth_sig-0.1.1/examples/utils/library_detection.py +161 -0
  682. bluetooth_sig-0.1.1/examples/utils/mock_data.py +40 -0
  683. bluetooth_sig-0.1.1/examples/utils/models.py +66 -0
  684. bluetooth_sig-0.1.1/examples/utils/notification_utils.py +44 -0
  685. bluetooth_sig-0.1.1/examples/utils/simpleble_integration.py +160 -0
  686. bluetooth_sig-0.1.1/examples/with_bleak_retry.py +205 -0
  687. bluetooth_sig-0.1.1/examples/with_bluepy.py +217 -0
  688. bluetooth_sig-0.1.1/examples/with_simpleble.py +189 -0
  689. bluetooth_sig-0.1.1/hatch_build.py +56 -0
  690. bluetooth_sig-0.1.1/justfile +98 -0
  691. bluetooth_sig-0.1.1/pyproject.toml +387 -0
  692. bluetooth_sig-0.1.1/pyrightconfig.json +43 -0
  693. bluetooth_sig-0.1.1/src/__init__.py +3 -0
  694. bluetooth_sig-0.1.1/src/bluetooth_sig/__init__.py +45 -0
  695. bluetooth_sig-0.1.1/src/bluetooth_sig/_version.py +34 -0
  696. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/__init__.py +108 -0
  697. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/base.py +211 -0
  698. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/ead_decryptor.py +410 -0
  699. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/encryption.py +225 -0
  700. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/exceptions.py +252 -0
  701. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/pdu_parser.py +781 -0
  702. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/registry.py +271 -0
  703. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/service_data_parser.py +150 -0
  704. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/service_resolver.py +164 -0
  705. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/sig_characteristic_interpreter.py +151 -0
  706. bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/state.py +75 -0
  707. bluetooth_sig-0.1.1/src/bluetooth_sig/core/__init__.py +11 -0
  708. bluetooth_sig-0.1.1/src/bluetooth_sig/core/async_context.py +119 -0
  709. bluetooth_sig-0.1.1/src/bluetooth_sig/core/translator.py +1358 -0
  710. bluetooth_sig-0.1.1/src/bluetooth_sig/device/__init__.py +39 -0
  711. bluetooth_sig-0.1.1/src/bluetooth_sig/device/advertising.py +478 -0
  712. bluetooth_sig-0.1.1/src/bluetooth_sig/device/client.py +491 -0
  713. bluetooth_sig-0.1.1/src/bluetooth_sig/device/connected.py +476 -0
  714. bluetooth_sig-0.1.1/src/bluetooth_sig/device/device.py +1171 -0
  715. bluetooth_sig-0.1.1/src/bluetooth_sig/device/peripheral.py +495 -0
  716. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/__init__.py +52 -0
  717. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/__init__.py +430 -0
  718. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration.py +46 -0
  719. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration_3d.py +66 -0
  720. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration_detection_status.py +26 -0
  721. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/activity_goal.py +207 -0
  722. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_heart_rate_lower_limit.py +17 -0
  723. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_heart_rate_upper_limit.py +17 -0
  724. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_threshold.py +17 -0
  725. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/age.py +18 -0
  726. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_category_id.py +34 -0
  727. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_category_id_bit_mask.py +71 -0
  728. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_level.py +47 -0
  729. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_notification_control_point.py +95 -0
  730. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_status.py +88 -0
  731. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/altitude.py +26 -0
  732. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ammonia_concentration.py +17 -0
  733. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_heart_rate_lower_limit.py +17 -0
  734. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_heart_rate_upper_limit.py +17 -0
  735. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_threshold.py +17 -0
  736. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_energy_32.py +47 -0
  737. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_power.py +26 -0
  738. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_wind_direction.py +17 -0
  739. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_wind_speed.py +17 -0
  740. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/appearance.py +53 -0
  741. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/average_current.py +23 -0
  742. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/average_voltage.py +23 -0
  743. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/barometric_pressure_trend.py +64 -0
  744. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/base.py +1655 -0
  745. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_critical_status.py +52 -0
  746. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_level.py +17 -0
  747. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_level_status.py +237 -0
  748. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_common.py +165 -0
  749. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_feature.py +99 -0
  750. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_measurement.py +139 -0
  751. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_composition_feature.py +254 -0
  752. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_composition_measurement.py +588 -0
  753. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_sensor_location.py +36 -0
  754. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/bond_management_control_point.py +30 -0
  755. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/bond_management_feature.py +81 -0
  756. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boolean.py +45 -0
  757. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_keyboard_input_report.py +101 -0
  758. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_keyboard_output_report.py +65 -0
  759. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_mouse_input_report.py +101 -0
  760. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/caloric_intake.py +17 -0
  761. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/carbon_monoxide_concentration.py +17 -0
  762. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/chromaticity_coordinate.py +17 -0
  763. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/co2_concentration.py +30 -0
  764. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/coefficient.py +17 -0
  765. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/correlated_color_temperature.py +17 -0
  766. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/count_16.py +17 -0
  767. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/count_24.py +17 -0
  768. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/csc_feature.py +91 -0
  769. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/csc_measurement.py +236 -0
  770. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/current_time.py +45 -0
  771. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/custom.py +171 -0
  772. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_control_point.py +299 -0
  773. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_feature.py +96 -0
  774. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_measurement.py +254 -0
  775. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_vector.py +199 -0
  776. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/database_change_increment.py +17 -0
  777. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_of_birth.py +64 -0
  778. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_of_threshold_assessment.py +89 -0
  779. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_time.py +62 -0
  780. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/day_date_time.py +77 -0
  781. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/day_of_week.py +17 -0
  782. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_info.py +13 -0
  783. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_name.py +17 -0
  784. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_wearing_position.py +17 -0
  785. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/dew_point.py +17 -0
  786. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/dst_offset.py +29 -0
  787. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current.py +25 -0
  788. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_range.py +101 -0
  789. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_specification.py +92 -0
  790. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_statistics.py +111 -0
  791. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/elevation.py +28 -0
  792. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/email_address.py +18 -0
  793. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/exact_time_256.py +80 -0
  794. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/fat_burn_heart_rate_lower_limit.py +17 -0
  795. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/fat_burn_heart_rate_upper_limit.py +17 -0
  796. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/firmware_revision_string.py +18 -0
  797. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/first_name.py +18 -0
  798. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/five_zone_heart_rate_limits.py +70 -0
  799. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/floor_number.py +21 -0
  800. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/force.py +45 -0
  801. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/four_zone_heart_rate_limits.py +66 -0
  802. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/gender.py +28 -0
  803. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_feature.py +204 -0
  804. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_measurement.py +342 -0
  805. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_measurement_context.py +544 -0
  806. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/gust_factor.py +17 -0
  807. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/handedness.py +29 -0
  808. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hardware_revision_string.py +18 -0
  809. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_control_point.py +26 -0
  810. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_max.py +17 -0
  811. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_measurement.py +243 -0
  812. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heat_index.py +17 -0
  813. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/height.py +17 -0
  814. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hid_control_point.py +30 -0
  815. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hid_information.py +99 -0
  816. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_intensity_exercise_threshold.py +123 -0
  817. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_resolution_height.py +17 -0
  818. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_voltage.py +23 -0
  819. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hip_circumference.py +17 -0
  820. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/humidity.py +18 -0
  821. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/illuminance.py +50 -0
  822. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/indoor_positioning_configuration.py +17 -0
  823. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/intermediate_cuff_pressure.py +119 -0
  824. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/intermediate_temperature.py +17 -0
  825. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/irradiance.py +17 -0
  826. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/language.py +18 -0
  827. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/last_name.py +18 -0
  828. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/latitude.py +26 -0
  829. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/linear_position.py +46 -0
  830. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ln_control_point.py +275 -0
  831. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ln_feature.py +150 -0
  832. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_east_coordinate.py +24 -0
  833. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_north_coordinate.py +24 -0
  834. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_time_information.py +188 -0
  835. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/location_and_speed.py +253 -0
  836. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/location_name.py +18 -0
  837. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/longitude.py +26 -0
  838. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_declination.py +51 -0
  839. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_flux_density_2d.py +65 -0
  840. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_flux_density_3d.py +73 -0
  841. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/manufacturer_name_string.py +18 -0
  842. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/maximum_recommended_heart_rate.py +17 -0
  843. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/measurement_interval.py +17 -0
  844. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/methane_concentration.py +23 -0
  845. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/middle_name.py +18 -0
  846. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/model_number_string.py +17 -0
  847. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/navigation.py +202 -0
  848. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/new_alert.py +114 -0
  849. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/nitrogen_dioxide_concentration.py +21 -0
  850. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/noise.py +24 -0
  851. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/non_methane_voc_concentration.py +19 -0
  852. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ozone_concentration.py +24 -0
  853. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/peripheral_preferred_connection_parameters.py +71 -0
  854. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/peripheral_privacy_flag.py +27 -0
  855. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/plx_features.py +71 -0
  856. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/plx_spot_check_measurement.py +191 -0
  857. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm10_concentration.py +24 -0
  858. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm1_concentration.py +28 -0
  859. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm25_concentration.py +20 -0
  860. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pnp_id.py +86 -0
  861. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pollen_concentration.py +23 -0
  862. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/position_quality.py +187 -0
  863. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/power_specification.py +98 -0
  864. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/preferred_units.py +116 -0
  865. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pressure.py +17 -0
  866. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/protocol_mode.py +31 -0
  867. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pulse_oximetry_measurement.py +184 -0
  868. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rainfall.py +24 -0
  869. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/reconnection_address.py +42 -0
  870. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/reference_time_information.py +174 -0
  871. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/registry.py +269 -0
  872. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/report.py +56 -0
  873. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/report_map.py +56 -0
  874. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/resting_heart_rate.py +17 -0
  875. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ringer_control_point.py +57 -0
  876. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ringer_setting.py +74 -0
  877. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rotational_speed.py +46 -0
  878. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rsc_feature.py +103 -0
  879. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rsc_measurement.py +193 -0
  880. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/scan_interval_window.py +65 -0
  881. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/scan_refresh.py +17 -0
  882. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sedentary_interval_notification.py +19 -0
  883. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/serial_number_string.py +17 -0
  884. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/service_changed.py +65 -0
  885. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/software_revision_string.py +18 -0
  886. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sport_type_for_aerobic_and_anaerobic_thresholds.py +37 -0
  887. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/stride_length.py +17 -0
  888. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sulfur_dioxide_concentration.py +27 -0
  889. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_new_alert_category.py +66 -0
  890. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_power_range.py +94 -0
  891. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_unread_alert_category.py +66 -0
  892. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/system_id.py +64 -0
  893. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature.py +45 -0
  894. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature_measurement.py +137 -0
  895. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature_type.py +37 -0
  896. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/templates.py +1487 -0
  897. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/three_zone_heart_rate_limits.py +62 -0
  898. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_accuracy.py +17 -0
  899. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_source.py +35 -0
  900. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_update_control_point.py +28 -0
  901. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_update_state.py +68 -0
  902. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_with_dst.py +40 -0
  903. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_zone.py +115 -0
  904. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/true_wind_direction.py +17 -0
  905. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/true_wind_speed.py +17 -0
  906. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/two_zone_heart_rate_limits.py +17 -0
  907. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/tx_power_level.py +25 -0
  908. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/uncertainty.py +46 -0
  909. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/unknown.py +81 -0
  910. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/unread_alert_status.py +92 -0
  911. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/user_index.py +17 -0
  912. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/__init__.py +100 -0
  913. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/bit_field_utils.py +288 -0
  914. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/data_parser.py +158 -0
  915. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/data_validator.py +77 -0
  916. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/debug_utils.py +150 -0
  917. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/extractors.py +397 -0
  918. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/ieee11073_parser.py +324 -0
  919. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/parse_trace.py +58 -0
  920. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/translators.py +298 -0
  921. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils.py +23 -0
  922. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/uv_index.py +20 -0
  923. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/vo2_max.py +17 -0
  924. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voc_concentration.py +20 -0
  925. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage.py +25 -0
  926. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_frequency.py +25 -0
  927. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_specification.py +105 -0
  928. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_statistics.py +127 -0
  929. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/waist_circumference.py +17 -0
  930. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight.py +19 -0
  931. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight_measurement.py +241 -0
  932. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight_scale_feature.py +216 -0
  933. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/wind_chill.py +17 -0
  934. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/constants.py +83 -0
  935. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/context.py +13 -0
  936. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptor_utils.py +154 -0
  937. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/__init__.py +120 -0
  938. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/base.py +181 -0
  939. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/cccd.py +96 -0
  940. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_aggregate_format.py +65 -0
  941. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_extended_properties.py +72 -0
  942. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_presentation_format.py +194 -0
  943. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_user_description.py +47 -0
  944. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/complete_br_edr_transport_block_data.py +45 -0
  945. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_configuration.py +85 -0
  946. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_measurement.py +85 -0
  947. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_trigger_setting.py +60 -0
  948. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/external_report_reference.py +49 -0
  949. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/imd_trigger_setting.py +49 -0
  950. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/manufacturer_limits.py +70 -0
  951. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/measurement_description.py +47 -0
  952. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/number_of_digitals.py +52 -0
  953. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/observation_schedule.py +43 -0
  954. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/process_tolerances.py +65 -0
  955. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/registry.py +70 -0
  956. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/report_reference.py +82 -0
  957. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/server_characteristic_configuration.py +72 -0
  958. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/time_trigger_setting.py +50 -0
  959. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/valid_range.py +58 -0
  960. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/valid_range_and_accuracy.py +70 -0
  961. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/value_trigger_setting.py +87 -0
  962. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/exceptions.py +518 -0
  963. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/registry_utils.py +116 -0
  964. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/resolver.py +355 -0
  965. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/__init__.py +81 -0
  966. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/alert_notification.py +30 -0
  967. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/automation_io.py +38 -0
  968. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/base.py +749 -0
  969. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/battery_service.py +22 -0
  970. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/blood_pressure.py +26 -0
  971. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/body_composition.py +23 -0
  972. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/bond_management.py +22 -0
  973. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/current_time_service.py +26 -0
  974. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/custom.py +59 -0
  975. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/cycling_power.py +24 -0
  976. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/cycling_speed_and_cadence.py +20 -0
  977. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/device_information.py +30 -0
  978. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/environmental_sensing.py +79 -0
  979. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/fitness_machine_service.py +48 -0
  980. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/generic_access.py +24 -0
  981. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/generic_attribute.py +26 -0
  982. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/glucose.py +24 -0
  983. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/health_thermometer.py +21 -0
  984. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/heart_rate.py +21 -0
  985. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/human_interface_device.py +30 -0
  986. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/immediate_alert.py +23 -0
  987. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/indoor_positioning_service.py +36 -0
  988. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/link_loss.py +22 -0
  989. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/location_and_navigation.py +30 -0
  990. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/next_dst_change.py +22 -0
  991. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/phone_alert_status.py +26 -0
  992. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/pulse_oximeter_service.py +24 -0
  993. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/reference_time_update.py +24 -0
  994. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/registry.py +242 -0
  995. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/running_speed_and_cadence.py +21 -0
  996. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/scan_parameters.py +20 -0
  997. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/tx_power.py +22 -0
  998. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/unknown.py +33 -0
  999. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/user_data.py +96 -0
  1000. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/weight_scale.py +22 -0
  1001. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/special_values_resolver.py +126 -0
  1002. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/uuid_registry.py +654 -0
  1003. bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/validation.py +215 -0
  1004. bluetooth_sig-0.1.1/src/bluetooth_sig/py.typed +0 -0
  1005. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/__init__.py +17 -0
  1006. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/base.py +504 -0
  1007. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/company_identifiers/__init__.py +17 -0
  1008. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/company_identifiers/company_identifiers_registry.py +114 -0
  1009. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/__init__.py +25 -0
  1010. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/ad_types.py +137 -0
  1011. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/appearance_values.py +191 -0
  1012. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/class_of_device.py +255 -0
  1013. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/coding_format.py +145 -0
  1014. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/formattypes.py +141 -0
  1015. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/namespace_description.py +170 -0
  1016. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/uri_schemes.py +163 -0
  1017. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/gss.py +278 -0
  1018. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/profiles/__init__.py +10 -0
  1019. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/service_discovery/__init__.py +10 -0
  1020. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/utils.py +98 -0
  1021. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/__init__.py +25 -0
  1022. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/browse_groups.py +97 -0
  1023. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/declarations.py +96 -0
  1024. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/members.py +80 -0
  1025. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/mesh_profiles.py +79 -0
  1026. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/object_types.py +100 -0
  1027. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/protocol_identifiers.py +92 -0
  1028. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/sdo_uuids.py +105 -0
  1029. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/service_classes.py +89 -0
  1030. bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/units.py +182 -0
  1031. bluetooth_sig-0.1.1/src/bluetooth_sig/stream/__init__.py +9 -0
  1032. bluetooth_sig-0.1.1/src/bluetooth_sig/stream/pairing.py +69 -0
  1033. bluetooth_sig-0.1.1/src/bluetooth_sig/types/__init__.py +173 -0
  1034. bluetooth_sig-0.1.1/src/bluetooth_sig/types/ad_types_constants.py +91 -0
  1035. bluetooth_sig-0.1.1/src/bluetooth_sig/types/address.py +63 -0
  1036. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/__init__.py +64 -0
  1037. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/ad_structures.py +232 -0
  1038. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/builder.py +431 -0
  1039. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/extended.py +92 -0
  1040. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/features.py +182 -0
  1041. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/flags.py +21 -0
  1042. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/pdu.py +228 -0
  1043. bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/result.py +102 -0
  1044. bluetooth_sig-0.1.1/src/bluetooth_sig/types/alert.py +79 -0
  1045. bluetooth_sig-0.1.1/src/bluetooth_sig/types/appearance.py +113 -0
  1046. bluetooth_sig-0.1.1/src/bluetooth_sig/types/base_types.py +15 -0
  1047. bluetooth_sig-0.1.1/src/bluetooth_sig/types/battery.py +87 -0
  1048. bluetooth_sig-0.1.1/src/bluetooth_sig/types/company.py +141 -0
  1049. bluetooth_sig-0.1.1/src/bluetooth_sig/types/context.py +49 -0
  1050. bluetooth_sig-0.1.1/src/bluetooth_sig/types/data_types.py +114 -0
  1051. bluetooth_sig-0.1.1/src/bluetooth_sig/types/device_types.py +244 -0
  1052. bluetooth_sig-0.1.1/src/bluetooth_sig/types/ead.py +181 -0
  1053. bluetooth_sig-0.1.1/src/bluetooth_sig/types/gatt_enums.py +762 -0
  1054. bluetooth_sig-0.1.1/src/bluetooth_sig/types/gatt_services.py +76 -0
  1055. bluetooth_sig-0.1.1/src/bluetooth_sig/types/io.py +67 -0
  1056. bluetooth_sig-0.1.1/src/bluetooth_sig/types/location.py +24 -0
  1057. bluetooth_sig-0.1.1/src/bluetooth_sig/types/mesh.py +477 -0
  1058. bluetooth_sig-0.1.1/src/bluetooth_sig/types/peripheral_types.py +139 -0
  1059. bluetooth_sig-0.1.1/src/bluetooth_sig/types/protocols.py +30 -0
  1060. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/__init__.py +35 -0
  1061. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/ad_types.py +7 -0
  1062. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/amp.py +10 -0
  1063. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/appearance_info.py +53 -0
  1064. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/browse_group_identifiers.py +8 -0
  1065. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/characteristic_uuids.py +12 -0
  1066. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/class_of_device.py +90 -0
  1067. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/coding_format.py +7 -0
  1068. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/common.py +186 -0
  1069. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/company_identifiers.py +7 -0
  1070. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/core_version.py +7 -0
  1071. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/declarations.py +8 -0
  1072. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/descriptor_types.py +38 -0
  1073. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/descriptors.py +12 -0
  1074. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/diacs.py +7 -0
  1075. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property.py +21 -0
  1076. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property_groups.py +28 -0
  1077. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property_ids.py +26 -0
  1078. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/formattypes.py +15 -0
  1079. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/gss_characteristic.py +293 -0
  1080. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/member_uuids.py +12 -0
  1081. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/mesh_profile_uuids.py +7 -0
  1082. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/mws_channel_type.py +7 -0
  1083. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/namespace.py +11 -0
  1084. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/namespaces.py +7 -0
  1085. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/object_types.py +11 -0
  1086. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/pcm_data_format.py +7 -0
  1087. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/protocol_identifiers.py +7 -0
  1088. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/psm.py +7 -0
  1089. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/sdo_uuids.py +7 -0
  1090. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/sdp_base_uuid.py +12 -0
  1091. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/service_class.py +8 -0
  1092. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/service_uuids.py +12 -0
  1093. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/transport_layers.py +7 -0
  1094. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/units.py +20 -0
  1095. bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/uri_schemes.py +7 -0
  1096. bluetooth_sig-0.1.1/src/bluetooth_sig/types/scan_interval_window.py +59 -0
  1097. bluetooth_sig-0.1.1/src/bluetooth_sig/types/special_values.py +93 -0
  1098. bluetooth_sig-0.1.1/src/bluetooth_sig/types/units.py +157 -0
  1099. bluetooth_sig-0.1.1/src/bluetooth_sig/types/uri.py +120 -0
  1100. bluetooth_sig-0.1.1/src/bluetooth_sig/types/uuid.py +325 -0
  1101. bluetooth_sig-0.1.1/src/bluetooth_sig/utils/__init__.py +12 -0
  1102. bluetooth_sig-0.1.1/src/bluetooth_sig/utils/profiling.py +213 -0
  1103. bluetooth_sig-0.1.1/src/bluetooth_sig/utils/rssi_utils.py +33 -0
  1104. bluetooth_sig-0.1.1/stubs/simplepyble/__init__.pyi +92 -0
@@ -0,0 +1,37 @@
1
+ # https://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ end_of_line = lf
7
+ indent_style = space
8
+ indent_size = 4
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+
12
+ [*.{html,css,js,json,sh,yml,yaml}]
13
+ indent_size = 2
14
+
15
+ [*.bat]
16
+ indent_style = tab
17
+ end_of_line = crlf
18
+
19
+ [LICENSE]
20
+ insert_final_newline = false
21
+
22
+ [Makefile]
23
+ indent_style = tab
24
+ indent_size = unset
25
+
26
+ # Ignore binary or generated files
27
+ [*.{png,jpg,gif,ico,woff,woff2,ttf,eot,svg,pdf}]
28
+ charset = unset
29
+ end_of_line = unset
30
+ indent_style = unset
31
+ indent_size = unset
32
+ trim_trailing_whitespace = unset
33
+ insert_final_newline = unset
34
+ max_line_length = unset
35
+
36
+ [*.{diff,patch}]
37
+ trim_trailing_whitespace = false
@@ -0,0 +1,203 @@
1
+ ---
2
+ name: General Development Task
3
+ about: Standard template for development tasks with testing and workflow requirements
4
+ title: '[TASK] '
5
+ labels: ['enhancement']
6
+ assignees: []
7
+ ---
8
+
9
+ ## 🎯 Task Description
10
+
11
+ **Brief Summary:**
12
+ <!-- Clearly describe what needs to be done -->
13
+
14
+ **Motivation:**
15
+ <!-- Why is this task needed? What problem does it solve? -->
16
+
17
+ ## 📋 Implementation Requirements
18
+
19
+ ### Core Changes
20
+
21
+ - [ ] <!-- List specific changes needed -->
22
+ - [ ] <!-- Be precise about what files/functions to modify -->
23
+ - [ ] <!-- Include any new files that need to be created -->
24
+
25
+ ### Code Quality Standards
26
+
27
+ - [ ] Follow existing code patterns and naming conventions
28
+ - [ ] Add comprehensive docstrings and type hints
29
+ - [ ] Ensure all functions have proper error handling
30
+ - [ ] Use descriptive variable and function names
31
+ - [ ] Follow the project's architectural patterns
32
+
33
+ ## 🧪 Testing Requirements
34
+
35
+ ### Unit Tests (MANDATORY)
36
+
37
+ - [ ] Create/update unit tests for all new functionality
38
+ - [ ] Ensure 100% test coverage for new code
39
+ - [ ] Test both success and failure scenarios
40
+ - [ ] Add edge case testing (empty inputs, boundary values, etc.)
41
+ - [ ] Use appropriate test fixtures and mocking
42
+
43
+ ### Integration Tests
44
+
45
+ - [ ] Test integration with existing components
46
+ - [ ] Verify compatibility with Home Assistant integration
47
+ - [ ] Test real device scenarios if applicable
48
+ - [ ] Validate registry validation tests pass
49
+
50
+ ### Test Execution Checklist
51
+
52
+ - [ ] Run: `python -m pytest tests/ -v`
53
+ - [ ] All tests must pass with 0 failures
54
+ - [ ] No test warnings or deprecation notices
55
+
56
+ ## 🔍 Code Quality Validation
57
+
58
+ ### Script-Based Formatting and Linting (MANDATORY)
59
+
60
+ **CRITICAL: These commands MUST be run after implementation and ALL issues fixed:**
61
+
62
+ - [ ] Run: `./scripts/format.sh --fix` (fix all formatting issues)
63
+ - [ ] Run: `./scripts/format.sh --check` (verify formatting is correct)
64
+ - [ ] Run: `./scripts/lint.sh --all` (run all linting checks)
65
+ - [ ] **ALL linting checks MUST pass: flake8 + pylint 10.00/10 + shellcheck**
66
+ - [ ] **Zero violations allowed in any linting tool**
67
+
68
+ ### Individual Tool Validation (For Debugging)
69
+
70
+ - [ ] Run: `./scripts/lint.sh --flake8` (style checking)
71
+ - [ ] Run: `./scripts/lint.sh --pylint` (code analysis - MUST score 10.00/10)
72
+ - [ ] Run: `./scripts/lint.sh --shellcheck` (shell script validation)
73
+ - [ ] Run: `./scripts/format.sh --black` (Python code formatting check)
74
+ - [ ] Run: `./scripts/format.sh --isort` (import sorting check)
75
+
76
+ ### Legacy Commands (Deprecated - Use Scripts Above)
77
+
78
+ - [ ] ~~Run: `python -m black src/ tests/` (format code)~~
79
+ - [ ] ~~Run: `python -m flake8 src/ tests/` (style checking)~~
80
+ - [ ] ~~Run: `python -m pylint src/ble_gatt_device` (code analysis)~~
81
+ - [ ] **Use `./scripts/format.sh` and `./scripts/lint.sh` instead**
82
+
83
+ ### Manual Validation
84
+
85
+ - [ ] Run: `find src -name "*.py" -exec python -m py_compile {} \;` (syntax check)
86
+ - [ ] Run: `python -c "import ble_gatt_device; print('✅ Import successful')"`
87
+ - [ ] Test import of any new modules/classes
88
+ - [ ] Verify no import errors or circular dependencies
89
+
90
+ ## 🚀 GitHub Workflow Compliance
91
+
92
+ ### CI/CD Requirements (MANDATORY)
93
+
94
+ - [ ] All GitHub Actions workflows must pass
95
+ - [ ] Pull request checks must be green
96
+ - [ ] No failing status checks allowed
97
+ - [ ] Branch is up-to-date with main before merging
98
+
99
+ ### Pre-commit Validation
100
+
101
+ Before creating pull request, run these commands:
102
+
103
+ ```bash
104
+ # Activate virtual environment
105
+ source .venv/bin/activate
106
+
107
+ # MANDATORY: Format and validate code using scripts
108
+ ./scripts/format.sh --fix # Fix all formatting issues
109
+ ./scripts/format.sh --check # Verify formatting is correct
110
+ ./scripts/lint.sh --all # Run ALL linting checks (flake8 + pylint + shellcheck)
111
+
112
+ # Run comprehensive tests
113
+ python -m pytest tests/ -v
114
+
115
+ # Manual validation
116
+ find src -name "*.py" -exec python -m py_compile {} \;
117
+ python -c "import ble_gatt_device; print('✅ Framework ready')"
118
+ ```
119
+
120
+ **CRITICAL: All format and lint scripts must pass with zero issues before creating pull request.**
121
+
122
+ ## 📁 Files to Modify/Create
123
+
124
+ ### Expected File Changes
125
+
126
+ - [ ] `src/ble_gatt_device/...` <!-- List specific files -->
127
+ - [ ] `tests/test_...` <!-- List test files -->
128
+ - [ ] Update relevant `__init__.py` files for new modules
129
+ - [ ] Update documentation if needed
130
+
131
+ ### Registry Updates (if applicable)
132
+
133
+ - [ ] Update `src/ble_gatt_device/gatt/services/__init__.py`
134
+ - [ ] Update `src/ble_gatt_device/gatt/characteristics/__init__.py`
135
+ - [ ] Ensure proper registration in respective registries
136
+
137
+ ## ✅ Definition of Done
138
+
139
+ ### Functional Requirements
140
+
141
+ - [ ] All specified functionality is implemented
142
+ - [ ] Code follows project architectural patterns
143
+ - [ ] No breaking changes to existing functionality
144
+ - [ ] Home Assistant integration works correctly
145
+
146
+ ### Quality Gate (ALL MUST PASS)
147
+
148
+ - [ ] **Script-based format check passes: `./scripts/format.sh --check`**
149
+ - [ ] **Script-based lint check passes: `./scripts/lint.sh --all`**
150
+ - [ ] **Pylint score: 10.00/10**
151
+ - [ ] **Zero flake8 violations**
152
+ - [ ] **Zero shellcheck issues**
153
+ - [ ] **All tests pass: 0 failures**
154
+ - [ ] **All GitHub workflows pass**
155
+ - [ ] **No import errors or syntax issues**
156
+
157
+ ### Documentation
158
+
159
+ - [ ] Add/update docstrings for all new functions/classes
160
+ - [ ] Update relevant documentation files if needed
161
+ - [ ] Include usage examples in docstrings
162
+ - [ ] Document any new configuration options
163
+
164
+ ## 🔗 Related Information
165
+
166
+ **Dependencies:**
167
+ <!-- List any dependencies on other issues or external factors -->
168
+
169
+ **References:**
170
+
171
+ - [Bluetooth SIG Assigned Numbers](https://www.bluetooth.com/specifications/assigned-numbers/)
172
+ - [GATT Services & Characteristics Specifications](https://www.bluetooth.com/specifications/specs/)
173
+ - Local YAML Registry Files:
174
+ - Services: `bluetooth_sig/assigned_numbers/uuids/service_uuids.yaml`
175
+ - Characteristics: `bluetooth_sig/assigned_numbers/uuids/characteristic_uuids.yaml`
176
+ - Specifications: `bluetooth_sig/gss/org.bluetooth.characteristic.*.yaml`
177
+
178
+ **Breaking Changes:**
179
+ <!-- Note if this introduces any breaking changes -->
180
+
181
+ ## 🎯 Success Criteria
182
+
183
+ **The task is complete when:**
184
+
185
+ 1. All implementation requirements are met
186
+ 2. All tests pass with 100% success rate
187
+ 3. **MANDATORY: `./scripts/format.sh --check` passes with zero issues**
188
+ 4. **MANDATORY: `./scripts/lint.sh --all` passes with zero issues**
189
+ 5. All GitHub workflows are green
190
+ 6. Code is properly documented and follows project patterns
191
+ 7. No regressions in existing functionality
192
+
193
+ **Note for Copilot:**
194
+
195
+ - **MANDATORY**: Run `./scripts/format.sh --fix` and `./scripts/lint.sh --all` after implementation
196
+ - **TASK NOT COMPLETE**: Until all script-based quality checks pass with zero issues
197
+ - Follow the BLE GATT Device project's existing patterns and architecture
198
+ - Use the bluetooth_sig submodule for UUID lookups (check YAML files above)
199
+ - Ensure all characteristics implement proper `decode_value()` methods with appropriate data types
200
+ - Follow the 4-stage UUID name resolution system
201
+ - Test against real device scenarios when possible
202
+ - Maintain backward compatibility with existing implementations
203
+ - Reference Bluetooth SIG specifications for data formats and units
@@ -0,0 +1,15 @@
1
+ * Bluetooth SIG Python version:
2
+ * Python version:
3
+ * Operating System:
4
+
5
+ ### Description
6
+
7
+ Describe what you were trying to get done.
8
+ Tell us what happened, what went wrong, and what you expected to happen.
9
+
10
+ ### What I Did
11
+
12
+ ```
13
+ Paste the command(s) you ran and the output.
14
+ If there was a crash, please include the traceback here.
15
+ ```
@@ -0,0 +1,79 @@
1
+ # AI Agent Rules — GATT Characteristic Implementations
2
+
3
+ Purpose
4
+
5
+ Provide a concise, enforceable checklist for automated agents or contributors implementing files under `src/bluetooth_sig/gatt/characteristics/`.
6
+
7
+ Core principle
8
+
9
+ - Characteristics implement ONLY field-specific parsing, sentinel mapping, scaling and construction of typed return values.
10
+ - All generic validation (length, type, range) MUST be declared as class attributes and is enforced by `BaseCharacteristic.parse_value()`.
11
+
12
+ Templates & reuse
13
+
14
+ - Reuse `templates` helpers when a characteristic matches an existing template. Do not copy template parsing into concrete characteristics.
15
+ - Extend templates by composition/wrapping rather than duplicating parsing code.
16
+
17
+ Registry (GSS/YAML) guidance
18
+
19
+ - YAML registry entries are authoritative for field sizes, data types and encoding. Consult the YAML entry before implementing parsing.
20
+ - Use these helpers where available:
21
+ - `get_yaml_data_type()` — select DataParser primitive
22
+ - `get_yaml_field_size()` — set `expected_length` / `min_length`
23
+ - `is_signed_from_yaml()` — determine signed vs unsigned
24
+
25
+ Data parsing rules
26
+
27
+ - Use `DataParser` and `ieee11073` helpers for primitive reads/writes (e.g. `parse_int16`, `parse_int32`).
28
+ - Use a `pos` offset for multi-field parsing and let helpers raise `InsufficientDataError` when bytes are insufficient.
29
+ - Map sentinel/special values to `None` only after parsing the raw field.
30
+
31
+ Constants & magic numbers
32
+
33
+ - Replace inline magic numbers with named constants and a one-line comment (lengths, sentinel values, scales, masks, shifts).
34
+ - Constants placement:
35
+ - Shared across characteristics → `src/bluetooth_sig/gatt/constants.py` or `src/bluetooth_sig/types/constants.py`.
36
+ - Characteristic-local → class-level constant inside the characteristic file.
37
+
38
+ Encode/decode symmetry
39
+
40
+ - Implement `encode_value` as the logical inverse of `decode_value` using `DataParser.encode_*` helpers. Ensure field sizes, endianness and scales match the YAML spec.
41
+
42
+ Bitfields & flags
43
+
44
+ - Define masks/shifts and prefer `enum.IntFlag` when reusable. Return typed booleans or flags in outputs and document bit meanings in the docstring.
45
+ - Do NOT use plain `int` for enumerated values — use `enum.Enum` or `enum.IntFlag` for type safety and readability.
46
+ - For bit fields representing presence flags or other bit masks, use `enum.IntFlag` for type safety.
47
+
48
+ Forbidden patterns (MUST NOT)
49
+
50
+ - Do NOT perform length, range, or type validation inside `decode_value`/`encode_value` — `BaseCharacteristic` handles these.
51
+ - Do NOT reimplement endianness/signed parsing or use manual `int.from_bytes` where `DataParser` exists.
52
+ - Do NOT hardcode SIG UUIDs in parsing logic; use registry resolution or `_info = CharacteristicInfo(...)` only for vendor metadata.
53
+ - Do NOT return sentinel integers or raw bytes as "unknown" — map to `None` explicitly.
54
+
55
+ Docs & metadata
56
+
57
+ - Docstring must include: UUID/name, format/length, endianness, units, scale factor, sentinel values and mapping, bitfield layout, raised exceptions, and an example hex payload.
58
+
59
+ Testing requirements
60
+
61
+ - Each characteristic must include tests: one success case and at least two failure cases (insufficient data + invalid/out-of-range). Tests must assert exception types and `CharacteristicData` semantics.
62
+
63
+ CI / machine checks (suggested)
64
+
65
+ - Fail if `int.from_bytes` appears in `gatt/characteristics/`.
66
+ - Fail if `len(data)` checks or `raise InsufficientDataError` occur inside `decode_value`/`encode_value` for checks that class attributes cover.
67
+ - Fail if inline magic numeric literals appear near parsing code.
68
+
69
+ Example automation regexes (adjust before use)
70
+
71
+ - `\bint\.from_bytes\b`
72
+ - `if\s+len\(data\)\s*[!=<]`
73
+ - `raise\s+InsufficientDataError\(`
74
+ - `\b0x[0-9A-Fa-f]+\b` (for hex literals near parsing)
75
+
76
+ Quick DO / DO NOT
77
+
78
+ - DO: declare `expected_length = 4` then `raw = DataParser.parse_int32(data, 0, signed=True); return None if raw == VALUE_NOT_KNOWN else raw * SCALE`
79
+ - DO NOT: `if len(data) != 4: raise InsufficientDataError(...); raw = int.from_bytes(data[:4], 'little', signed=True)`
@@ -0,0 +1,114 @@
1
+ # Bluetooth SIG Standards Library - AI Agent Guidelines
2
+
3
+ **TL;DR**: Check docs → Run tests → Fix → Lint → Done
4
+
5
+ ---
6
+
7
+ ## ABSOLUTE PROHIBITIONS (Read This First)
8
+
9
+ **The following practices are FORBIDDEN. No exceptions. Violating these breaks the architecture:**
10
+
11
+ ### ❌ NEVER Use:
12
+ - `TYPE_CHECKING` blocks or lazy imports in core logic
13
+ - Hardcoded UUID strings (use the lib to resolve from registry)
14
+ - `from typing import Optional` (use `Type | None`)
15
+ - Bare `except:` or silent `pass`
16
+ - Raw `dict`/`tuple` returns (use `msgspec.Struct`)
17
+ - Untyped public function signatures
18
+
19
+ **If you catch yourself typing any of the above, STOP. They are architectural violations.**
20
+
21
+ ---
22
+
23
+ ## Core Principles (Non-Negotiable)
24
+
25
+ ### 1. Research First (MANDATORY)
26
+ Consult official Bluetooth SIG specs and Python stdlib docs before implementing. State source explicitly: "Per [X documentation]..." or note if unavailable.
27
+
28
+ ### 2. Think Before Acting
29
+ Use available thinking tools before making changes—plan approach, edge cases, and implications.
30
+
31
+ ### 3. Architecture Boundaries (ABSOLUTE)
32
+ `src/bluetooth_sig/` must remain framework-agnostic. NO imports from `homeassistant`, `bleak`, `simplepyble`, or any backend. Translation layer supports multiple backends.
33
+
34
+ ### 4. No Untested Code
35
+ Every new function needs tests: success + 2 failure cases minimum. Run `python -m pytest tests/ -v` before claiming completion.
36
+
37
+ ### 5. Quality Gates Must Pass
38
+ Run `./scripts/lint.sh --all` before completion (pipe to file, don't grep output). Fix issues, don't suppress them. For iteration, rerun only failing linter (`./scripts/lint.sh --mypy`), then rerun all at end.
39
+
40
+ ### 6. Documentation Policy
41
+ - Updating documentation (./docs/) will be asked directly if needed.
42
+ - If making code changes that will break the code blocks in the docs, update those code blocks too.
43
+ - Inline comments and docstrings (mandatory for new code)
44
+
45
+ ---
46
+
47
+ ## Workflow (Every Change)
48
+
49
+ 1. **Research** → Consult specs, verify requirements, cite sources
50
+ 2. **Think** → Plan approach, edge cases, implications
51
+ 3. **Implement** → Pure functions/dataclasses following patterns (see path-specific instructions)
52
+ 4. **Test** → Success + 2 failure cases minimum
53
+ 5. **Validate** → Run quality gates (below)
54
+
55
+ ---
56
+
57
+ ## Quality Gates (Must ALL Pass)
58
+
59
+ ```bash
60
+ ./scripts/format.sh --fix
61
+ ./scripts/format.sh --check
62
+ ./scripts/lint.sh --all
63
+ python -m pytest tests/ -v
64
+ ```
65
+
66
+ ALL must pass with zero errors. No exceptions.
67
+
68
+ ---
69
+
70
+ ## Architecture Overview
71
+
72
+ **Two-Tier API Design:**
73
+
74
+ 1. **Direct Classes** (Type-Safe, Recommended):
75
+ ```python
76
+ from bluetooth_sig.gatt.characteristics import BatteryLevelCharacteristic
77
+ char = BatteryLevelCharacteristic()
78
+ level: int = char.parse_value(bytearray([85])) # IDE knows return type
79
+ ```
80
+
81
+ 2. **Translator** (Dynamic, For Unknown UUIDs):
82
+ ```python
83
+ from bluetooth_sig import BluetoothSIGTranslator
84
+ translator = BluetoothSIGTranslator()
85
+ result = translator.parse_characteristic("2A19", bytearray([85])) # Returns Any
86
+ ```
87
+
88
+ Path-specific instructions (python-implementation, testing, bluetooth-gatt) load automatically based on file type.
89
+
90
+ ---
91
+
92
+ ## Authoritative References
93
+
94
+ Must consult and cite when adding non-trivial logic:
95
+ - Bluetooth SIG Assigned Numbers: https://www.bluetooth.com/specifications/assigned-numbers/
96
+ - Python Standard Library: https://docs.python.org/
97
+ - Project guides: `docs/AGENT_GUIDE.md`, `docs/BLUETOOTH_SIG_ARCHITECTURE.md`
98
+
99
+ If spec unavailable: state explicitly, note verification needed.
100
+
101
+ ---
102
+
103
+ ## Completion Checklist
104
+
105
+ Task complete when ALL true:
106
+ □ Submodule initialized, documentation cited
107
+ □ Tests pass (success + 2 failures), quality gates pass
108
+ □ No ABSOLUTE PROHIBITIONS violated (TYPE_CHECKING, lazy imports, hardcoded UUIDs, framework imports)
109
+ □ Type hints complete on all public functions
110
+
111
+ ---
112
+
113
+ Following these rules is mandatory. Deviations require explicit justification.
114
+
@@ -0,0 +1,40 @@
1
+ # Dependabot configuration for BLE GATT Device Framework
2
+ # This file configures automatic dependency updates for Python packages and GitHub Actions
3
+ # See: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
4
+
5
+ version: 2
6
+ updates:
7
+ # Python dependencies - automatically reads from pyproject.toml
8
+ - package-ecosystem: "pip"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "weekly"
12
+ day: "monday"
13
+ time: "09:00"
14
+ timezone: "UTC"
15
+ open-pull-requests-limit: 5
16
+ reviewers:
17
+ - "RonanB96"
18
+ assignees:
19
+ - "RonanB96"
20
+ commit-message:
21
+ prefix: "deps"
22
+ prefix-development: "deps-dev"
23
+ include: "scope"
24
+
25
+ # GitHub Actions - automatically tracks all actions in workflows
26
+ - package-ecosystem: "github-actions"
27
+ directory: "/"
28
+ schedule:
29
+ interval: "weekly"
30
+ day: "monday"
31
+ time: "10:00"
32
+ timezone: "UTC"
33
+ open-pull-requests-limit: 2
34
+ reviewers:
35
+ - "RonanB96"
36
+ assignees:
37
+ - "RonanB96"
38
+ commit-message:
39
+ prefix: "ci"
40
+ include: "scope"
@@ -0,0 +1,37 @@
1
+ ---
2
+ applyTo: "src/bluetooth_sig/gatt/**/*.py,src/bluetooth_sig/registry/**/*.py"
3
+ ---
4
+
5
+ # Bluetooth GATT Layer Guidelines
6
+
7
+ ## Architecture Boundaries (ABSOLUTE)
8
+
9
+ **Forbidden imports in `src/bluetooth_sig/`:**
10
+ - `from homeassistant` or any framework code
11
+ - `from bleak` / `from simplepyble` or any BLE backend
12
+
13
+ ## UUID Policy (ABSOLUTE)
14
+
15
+ **NEVER hardcode UUID strings.**
16
+
17
+ UUIDs only in: YAML submodule, test fixtures, custom `_info` definitions.
18
+
19
+ ## API Consistency
20
+
21
+ SIG characteristics auto-resolve UUID. Custom require `_info = CharacteristicInfo(...)`
22
+
23
+ ## Implementation
24
+
25
+ **BaseCharacteristic handles:** Length/range/special value validation
26
+
27
+ **Your `_decode_value()` only:** Parse bytes using templates, apply scaling, return typed result
28
+
29
+ **Patterns:**
30
+ - Simple value → Use template (`Uint8Template`, etc.)
31
+ - Multi-field → Override `_decode_value()`, return `msgspec.Struct`
32
+ - Enum/bitfield → Use `IntFlag`
33
+
34
+ **Standards:**
35
+ - Multi-byte: little-endian
36
+
37
+ **Reference:** See `battery_level.py`, `heart_rate_measurement.py`, `templates.py`
@@ -0,0 +1,19 @@
1
+ ---
2
+ applyTo: "docs/**/*.md, docs/*.md"
3
+ ---
4
+
5
+ # Documentation Guidelines
6
+
7
+ ## Code Samples
8
+
9
+ - Every code block must be runnable and validated
10
+ - Use Sphinx cross-references: `:class:`CharacteristicData``, `:meth:`parse_characteristic``
11
+ - Pair code with expected output
12
+
13
+ ## Style
14
+
15
+ - Google-style docstrings (see python-implementation.instructions.md)
16
+ - Task-oriented headings (nouns)
17
+ - One-sentence summaries
18
+ - Active voice, second-person
19
+ - Keep paragraphs under three sentences
@@ -0,0 +1,30 @@
1
+ ---
2
+ applyTo: '**'
3
+ ---
4
+
5
+ # Personal memory for the AI assistant
6
+
7
+ preferences:
8
+
9
+ - language: en-GB
10
+ - default_shell: bash
11
+ - communication: concise, technical, iterative progress updates
12
+
13
+ project_conventions:
14
+
15
+ - always consult official documentation before coding
16
+ - run format, lint, and tests before claiming any solution works
17
+ - never hardcode UUIDs; use registry-driven resolution
18
+ - validate all input per SIG spec
19
+ - raise clear, specific errors
20
+ - add/maintain tests for all new features
21
+
22
+ user_expectations:
23
+
24
+ - prefers direct, actionable updates
25
+ - values clarity and technical accuracy
26
+ - expects agent to proactively check for duplication, clarity, and broken references
27
+
28
+ notes:
29
+
30
+ - remember: User prefers concise, technical updates and iterative progress.
@@ -0,0 +1,41 @@
1
+ ---
2
+ applyTo: "**/*.py,**/pyproject.toml,**/requirements*.txt"
3
+ ---
4
+
5
+ # Python Implementation Guidelines
6
+
7
+ ## Prohibited Practices (ABSOLUTE)
8
+
9
+ - Hardcoded UUIDs (use registry resolution)
10
+ - `from typing import Optional` (use `Type | None`)
11
+ - `TYPE_CHECKING` blocks
12
+ - Lazy/conditional imports in core logic
13
+ - Untyped public function signatures
14
+ - `hasattr`/`getattr` when direct access is possible
15
+ - Bare `except:` or silent `pass`
16
+ - Returning raw `dict` or `tuple` (use `msgspec.Struct`)
17
+ - Magic numbers without named constants
18
+
19
+ ## Type Safety (MANDATORY)
20
+
21
+ - All public functions MUST have complete type hints
22
+ - Use `Type | None` not `Optional[Type]`
23
+ - `Any` requires inline justification
24
+
25
+ ## Data Modelling
26
+
27
+ - Use `msgspec.Struct` (frozen, kw_only)
28
+
29
+ ## Docstrings
30
+
31
+ - Google style (Args, Returns, Raises)
32
+ - Include spec references for non-obvious logic
33
+
34
+ ## Quality Gates
35
+
36
+ ```bash
37
+ ./scripts/format.sh --fix
38
+ ./scripts/format.sh --check
39
+ ./scripts/lint.sh --all
40
+ python -m pytest tests/ -v
41
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ applyTo: "**/tests/**/*.py,**/test_*.py,**/*_test.py"
3
+ ---
4
+
5
+ # Testing Requirements
6
+
7
+ ## Policy (MANDATORY)
8
+
9
+ Every new function needs: success + 2 failure cases minimum.
10
+
11
+ ## Required Test Cases
12
+
13
+ 1. Parsing success
14
+ 2. Length violation (too short, empty)
15
+ 3. Range violation
16
+ 4. Registry resolution
17
+ 5. Encoding roundtrip
18
+
19
+ ## Edge Cases
20
+
21
+ - Empty: `bytearray([])`
22
+ - Boundaries: min, max, just outside
23
+ - Sentinels: 0xFF, 0xFFFF, 0x8000
24
+
25
+ ## Commands
26
+
27
+ ```bash
28
+ python -m pytest tests/ -v
29
+ python -m pytest -k "battery" -v
30
+ python -m pytest --lf
31
+ ```
32
+
33
+ Tests must be deterministic. See `tests/gatt/` for patterns.