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.
- bluetooth_sig-0.1.1/.editorconfig +37 -0
- bluetooth_sig-0.1.1/.github/ISSUE_TEMPLATE/general-task.md +203 -0
- bluetooth_sig-0.1.1/.github/ISSUE_TEMPLATE.md +15 -0
- bluetooth_sig-0.1.1/.github/ai-agent-characteristic-rules.md +79 -0
- bluetooth_sig-0.1.1/.github/copilot-instructions.md +114 -0
- bluetooth_sig-0.1.1/.github/dependabot.yml +40 -0
- bluetooth_sig-0.1.1/.github/instructions/bluetooth-gatt.instructions.md +37 -0
- bluetooth_sig-0.1.1/.github/instructions/documentation.instructions.md +19 -0
- bluetooth_sig-0.1.1/.github/instructions/memory.instruction.md +30 -0
- bluetooth_sig-0.1.1/.github/instructions/python-implementation.instructions.md +41 -0
- bluetooth_sig-0.1.1/.github/instructions/testing.instructions.md +33 -0
- bluetooth_sig-0.1.1/.github/workflows/README.md +74 -0
- bluetooth_sig-0.1.1/.github/workflows/copilot-setup-steps.yml +70 -0
- bluetooth_sig-0.1.1/.github/workflows/lint-check.yml +95 -0
- bluetooth_sig-0.1.1/.github/workflows/release.yml +88 -0
- bluetooth_sig-0.1.1/.github/workflows/test-coverage.yml +477 -0
- bluetooth_sig-0.1.1/.gitignore +241 -0
- bluetooth_sig-0.1.1/.gitmodules +3 -0
- bluetooth_sig-0.1.1/CODE_OF_CONDUCT.md +83 -0
- bluetooth_sig-0.1.1/CONTRIBUTING.md +139 -0
- bluetooth_sig-0.1.1/DOCS_BUILD.md +350 -0
- bluetooth_sig-0.1.1/LICENSE +21 -0
- bluetooth_sig-0.1.1/PKG-INFO +365 -0
- bluetooth_sig-0.1.1/README.md +263 -0
- bluetooth_sig-0.1.1/bluetooth_sig/.git +1 -0
- bluetooth_sig-0.1.1/bluetooth_sig/.gitignore +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/company_identifiers/company_identifiers.yaml +11813 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/ad_types.yaml +187 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/amp.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/appearance_values.yaml +714 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/class_of_device.yaml +272 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/coding_format.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/core_version.yaml +66 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/diacs.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/formattypes.yaml +170 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/mws_channel_type.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/namespace.yaml +580 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/namespaces.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/pcm_data_format.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/psm.yaml +68 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/sdp_base_uuid.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/transport_layers.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/core/uri_schemes.yaml +406 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/dfumbt_model_uuids.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/dfumbt_opcodes.yaml +163 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/iec_model_uuids.yaml +37 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/iec_opcodes.yaml +37 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_beacon_types.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_health_faults.yaml +138 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_metadata_ids.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_model_uuids.yaml +100 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_opcodes.yaml +622 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_provisioning_pdu_types.yaml +76 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_proxy_pdu_types.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mesh_transport_control_opcodes.yaml +88 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_light_purposes.yaml +86 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_model_uuids.yaml +190 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/mesh/mmdl_opcodes.yaml +622 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/a2dp/a2dp.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avdtp/avdtp_content_protection_method.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avdtp/avdtp_media_type.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_folder_type.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_major_player_type.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_media_attributes.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_media_type.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_player_application_settings.yaml +75 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/avrcp/avrcp_player_sub_type.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/esl/display_types.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/ess/ess_permitted_characteristics.yaml +67 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/audio_input_type_definitions.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/audio_location_definitions.yaml +92 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_audio_channel_counts.yaml +63 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_frame_durations.yaml +55 -0
- 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
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_octets_per_codec_frame.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_capabilities/supported_sampling_frequencies.yaml +73 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/audio_channel_allocation_configuration.yaml +43 -0
- 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
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/frame_duration_configuration.yaml +48 -0
- 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
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/codec_configuration_ltv/sampling_frequency_configuration.yaml +70 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/context_type.yaml +70 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/assisted_listening_stream.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/audio_active_state.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/broadcast_audio_immediate_rendering_flag.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/broadcast_name.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/ccid_list.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/extended_metadata.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/language.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/parental_rating.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/preferred_audio_contexts.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/program_info.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/programinfo_uri.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/streaming_audio_contexts.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/generic_audio/metadata_ltv/vendor_specific.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hdp/data_exchange_specs.yaml +37 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hdp/device_data_specs.yaml +176 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hfp/bearer_technology.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/hfp/hf_indicators.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/imds/imds_permitted_characteristics.yaml +43 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/chat_state.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/message_extended_data.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/map/presence.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/tbs/uniform_caller_identifiers.yaml +144 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/tds/transport_discovery_service_id.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/uds/uds_permitted_characteristics.yaml +75 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/profiles_and_services/vdp/vdp.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_id_offsets_for_strings.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/a2dp.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/avrcp.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/bip.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/bpp.yaml +72 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/browse_group_descriptor_service.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/calendar_tasks_and_notes.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/cordless_telephony_profile.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/device_identification_profile.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/dun.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/fax_profile.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/file_transfer_profile.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/gnss.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/hands_free_profile.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/hardcopy_replacement_profile.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/headset_profile.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/health_device_profile.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/human_interface_device_profile.yaml +68 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/interoperability_requirements.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/message_access_profile.yaml +42 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/multi_profile.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/object_push_profile.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/pan_profile.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/phone_book_access_profile.yaml +40 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/sdp.yaml +38 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/synchronization_profile.yaml +36 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/attribute_ids/universal_attributes.yaml +62 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/service_discovery/protocol_parameters.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/browse_group_identifiers.yaml +37 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/characteristic_uuids.yaml +1477 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/declarations.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/descriptors.yaml +100 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/member_uuids.yaml +1412 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/mesh_profile_uuids.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/object_types.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/protocol_identifiers.yaml +82 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/sdo_uuids.yaml +68 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/service_class.yaml +262 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/service_uuids.yaml +250 -0
- bluetooth_sig-0.1.1/bluetooth_sig/assigned_numbers/uuids/units.yaml +415 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.active_energy_loadside.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.active_power_loadside.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.air_pressure.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_energy.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_power.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_wind_direction.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.apparent_wind_speed.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_ambient_temperature_in_a_period_of_day.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_input_current.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_input_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_output_current.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.average_output_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.building_floor.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.center_beam_intensity_at_full_power.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.chromaticity_tolerance.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.coarse_ambient_relative_humidity.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.coarse_present_ambient_light_level.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.color_rendering_index_r9.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.color_rendering_index_ra.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.desired_ambient_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_appearance.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_country_of_origin.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_date_of_manufacture.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_energy_use_since_turn_on.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_firmware_revision.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_global_trade_item_number.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_hardware_revision.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_manufacturer_name.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_model_number.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_operating_temperature_range_specification.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_operating_temperature_statistical_values.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_over_temperature_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_power_range_specification.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_runtime_since_turn_on.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_runtime_warranty.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_serial_number.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_software_revision.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.device_under_temperature_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.dew_point.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.external_supply_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.external_supply_voltage_frequency.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.gust_factor.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.heat_index.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_occupancy_minimum_run_time.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_occupancy_threshold_time.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.hvac_vacancy_threshold_time.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.indoor_ambient_temperature_statistical_values.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_cie_1931_chromaticity_coordinates.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_correlated_color_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_luminous_flux.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.initial_planckian_distance.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_current_range_specification.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_current_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_current_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_ripple_voltage_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_over_voltage_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_under_current_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_under_voltage_event_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_range_specification.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_ripple_specification.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.input_voltage_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_on.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_prolong.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_ambient_luxlevel_standby.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_on.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_prolong.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_lightness_standby.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_accuracy.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kid.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kiu.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kpd.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_regulator_kpu.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_on.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_standby_auto.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_fade_standby_manual.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_occupancy_delay.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_prolong.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_control_time_run_on.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_distribution.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_current.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_on_time_not_resettable.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_on_time_resettable.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_open_circuit_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_overall_failures_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_short_circuit_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_start_counter_resettable.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_thermal_derating_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_thermal_shutdown_statistics.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_total_power_on_cycles.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_type.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.light_source_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.local_asset_identifier.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.local_asset_name.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.lumen_maintenance_factor.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_color.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_identification_number.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_identification_string.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_manufacturer_gtin.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_input_power.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_maximum_ac_mains_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_nominal_minimum_ac_mains_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_power_at_minimum_dim_level.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminaire_time_of_manufacture.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_efficacy.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_energy_since_turn_on.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_exposure.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.luminous_flux_range.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_declination.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_flux_density_2d.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.magnetic_flux_density_3d.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_sensed.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_threshold.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.motion_threshold_steps.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.nominal_light_output.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.open_circuit_event_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.outdoor_statistical_values.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_percent.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_range.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_current_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_power_limitation.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_ripple_voltage_specification.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_voltage_range.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.output_voltage_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.over_output_ripple_voltage_event_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.overall_failure_condition.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.people_count.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.pollen_concentration.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.power_factor.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.precise_present_ambient_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.precise_total_device_energy_use.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.presence_detected.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_carbon_dioxide_concentration.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_light_level.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_noise.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_relative_humidity.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_temperature_and_coarse_ambient_relative_humidity.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_ambient_volatile_organic_compounds_concentration.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_cie_1931_chromaticity_coordinates.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_correlated_color_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_input_power.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_operating_efficiency.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_device_operating_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_illuminance.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_indoor_ambient_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_indoor_relative_humidity.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_current.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_ripple_voltage.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_input_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_luminous_flux.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_outdoor_ambient_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_outdoor_relative_humidity.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_output_current.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_output_voltage.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_planckian_distance.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_precise_ambient_temperature_and_relative_humidity.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.present_relative_output_ripple_voltage.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.pressure.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rainfall.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rated_median_useful_life_of_luminaire.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.rated_median_useful_light_source_starts.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.reference_temperature.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_device_energy_use_in_a_period_of_day.yaml +57 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_device_runtime_in_a_generic_level_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_exposure_time_in_an_illuminance_range.yaml +53 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_a_correlated_color_temperature_range.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_a_device_operating_temperature_range.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_an_input_current_range.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.relative_runtime_in_an_input_voltage_range.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.sensor_gain.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.short_circuit_event_statistics.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.spatial_unit_category.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.spatial_unit_name.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_2.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_3.yaml +57 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_4.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_5.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_6.yaml +62 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_7.yaml +64 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.subsensor_weights_8.yaml +66 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.thermal_derating.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.time_since_motion_sensed.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.time_since_presence_detected.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_energy_use.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_off_on_cycles.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_power_on_cycles.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_power_on_time.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_runtime.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_device_starts.yaml +41 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_light_exposure_time.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.total_luminous_energy.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.true_wind_direction.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.true_wind_speed.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.uv_index.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/properties/org.bluetooth.property.wind_chill.yaml +39 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/property_groups.yaml +109 -0
- bluetooth_sig-0.1.1/bluetooth_sig/dp/property_ids.yaml +432 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration_3D.yaml +74 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.acceleration_detection_status.yaml +55 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.activity_goal.yaml +119 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_heart_rate_lower_limit.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_heart_rate_upper_limit.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.aerobic_threshold.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.age.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_category_id.yaml +72 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_category_id_bit_mask.yaml +72 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_level.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_notification_control_point.yaml +55 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.alert_status.yaml +67 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ammonia_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_heart_rate_lower_limit.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_heart_rate_upper_limit.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.anaerobic_threshold.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_energy_32.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_power.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_wind_direction.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.apparent_wind_speed.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.average_current.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.average_voltage.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.barometric_pressure_trend.yaml +70 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_critical_status.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_energy_status.yaml +110 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_health_information.yaml +79 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_health_status.yaml +90 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_information.yaml +177 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_level.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_level_status.yaml +149 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.battery_time_status.yaml +80 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_feature.yaml +95 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_measurement.yaml +179 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.blood_pressure_record.yaml +97 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_composition_feature.yaml +92 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_composition_measurement.yaml +172 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.body_sensor_location.yaml +64 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.boolean.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.caloric_intake.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.carbon_monoxide_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_feature.yaml +157 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_measurement.yaml +201 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_session_run_time.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_session_start_time.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_specific_ops_control_point.yaml +281 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cgm_status.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromatic_distance_from_planckian.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_coordinate.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_coordinates.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_in_cct_and_duv_values.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.chromaticity_tolerance.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cie_13.3-1995_color_rendering_index.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.co2_concentration.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.coefficient.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.contact_status_8.yaml +88 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.content_control_id.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.correlated_color_temperature.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cosine_of_the_angle.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.count_16.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.count_24.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.country_code.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cross_trainer_data.yaml +239 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.csc_feature.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.csc_measurement.yaml +94 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.current_time.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_control_point.yaml +215 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_feature.yaml +100 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_measurement.yaml +231 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.cycling_power_vector.yaml +108 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.database_change_increment.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_of_birth.yaml +94 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_of_threshold_assessment.yaml +95 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_time.yaml +64 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.date_utc.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.day_date_time.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.day_of_week.yaml +53 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.device_wearing_position.yaml +132 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.dew_point.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.door_window_status.yaml +57 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.dst_offset.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.elapsed_time.yaml +102 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_range.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_specification.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.electric_current_statistics.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.elevation.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.email_address.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy_32.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.energy_in_a_period_of_day.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.enhanced_blood_pressure_measurement.yaml +173 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.enhanced_intermediate_cuff_pressure.yaml +126 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.estimated_service_date.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.event_statistics.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.exact_time_256.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fat_burn_heart_rate_lower_limit.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fat_burn_heart_rate_upper_limit.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.firmware_revision_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.first_name.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.five_zone_heart_rate_limits.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_16.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_24.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_36.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_64.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.fixed_string_8.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.force.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.four_zone_heart_rate_limits.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.gender.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.generic_level.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.global_trade_item_number.yaml +46 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_feature.yaml +105 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_measurement.yaml +243 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.glucose_measurement_context.yaml +274 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.gust_factor.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.handedness.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.hardware_revision_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_control_point.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_max.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heart_rate_measurement.yaml +104 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.heat_index.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.height.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_intensity_exercise_threshold.yaml +90 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_resolution_height.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_temperature.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.high_voltage.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.hip_circumference.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.humidity.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.humidity_8.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ieee_11073-20601_regulatory_certification_data_list.yaml +45 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.illuminance.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.illuminance_16.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.indoor_bike_data.yaml +193 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.intermediate_cuff_pressure.yaml +161 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.intermediate_temperature.yaml +91 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.irradiance.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.language.yaml +45 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.last_name.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.length.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_distribution.yaml +63 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_output.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.light_source_type.yaml +70 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.linear_position.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ln_control_point.yaml +157 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ln_feature.yaml +92 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.local_time_information.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.location_and_speed.yaml +148 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_efficacy.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_energy.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_exposure.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_flux.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_flux_range.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.luminous_intensity.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_declination.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_flux_density_-_2d.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.magnetic_flux_density_-_3d.yaml +61 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.manufacturer_name_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.mass_flow.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.maximum_recommended_heart_rate.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.measurement_interval.yaml +54 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.methane_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.middle_name.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.model_number_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.navigation.yaml +119 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.new_alert.yaml +83 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.nitrogen_dioxide_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.noise.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.non-methane_volatile_organic_compounds_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_first-created.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_id.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_last-modified.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_name.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.object_type.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ozone_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm10_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm1_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.particulate_matter_-_pm2.5_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.perceived_lightness.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.percentage_8.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.percentage_8_steps.yaml +56 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pnp_id.yaml +68 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pollen_concentration.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.position_quality.yaml +121 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.power.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.power_specification.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.precise_acceleration_3D.yaml +74 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.preferred_units.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pressure.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.pushbutton_status_8.yaml +73 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rainfall.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.record_access_control_point.yaml +181 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.reference_time_information.yaml +62 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_correlated_color_temperature_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_current_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_runtime_in_a_generic_level_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_period_of_day.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_temperature_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_a_voltage_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.relative_value_in_an_illuminance_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.resting_heart_rate.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ringer_control_point.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.ringer_setting.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rotational_speed.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rower_data.yaml +196 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rsc_feature.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.rsc_measurement.yaml +86 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sc_control_point.yaml +131 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sedentary_interval_notification.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sensor_location.yaml +84 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.serial_number_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.software_revision_string.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sport_type_for_aerobic_and_anaerobic_thresholds.yaml +74 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.stair_climber_data.yaml +157 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.step_climber_data.yaml +154 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.stride_length.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sulfur_dioxide_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.sulfur_hexafluoride_concentration.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_heart_rate_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_inclination_range.yaml +61 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_new_alert_category.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_power_range.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_resistance_level_range.yaml +61 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_speed_range.yaml +61 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.supported_unread_alert_category.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.system_id.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8_in_a_period_of_day.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_8_statistics.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_measurement.yaml +91 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_range.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_statistics.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.temperature_type.yaml +70 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.three_zone_heart_rate_limits.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_accuracy.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_decihour_8.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_exponential_8.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_hour_24.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_millisecond_24.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_16.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_32.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_second_8.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_source.yaml +86 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_update_control_point.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_update_state.yaml +58 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_with_dst.yaml +48 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.time_zone.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.torque.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.treadmill_data.yaml +214 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.true_wind_direction.yaml +49 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.true_wind_speed.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.two_zone_heart_rate_limits.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.tx_power_level.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.udi_for_medical_devices.yaml +85 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.unread_alert_status.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.user_index.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.uv_index.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.vo2_max.yaml +44 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voc_concentration.yaml +50 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_frequency.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_specification.yaml +52 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.voltage_statistics.yaml +60 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.volume_flow.yaml +51 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.waist_circumference.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight.yaml +47 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight_measurement.yaml +90 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.weight_scale_feature.yaml +76 -0
- bluetooth_sig-0.1.1/bluetooth_sig/gss/org.bluetooth.characteristic.wind_chill.yaml +44 -0
- bluetooth_sig-0.1.1/docs/source/_static/custom.css +71 -0
- bluetooth_sig-0.1.1/docs/source/_static/performance/.gitkeep +2 -0
- bluetooth_sig-0.1.1/docs/source/_templates/breadcrumbs.html +12 -0
- bluetooth_sig-0.1.1/docs/source/_templates/page.html +8 -0
- bluetooth_sig-0.1.1/docs/source/_templates/search.html +7 -0
- bluetooth_sig-0.1.1/docs/source/api/index.md +26 -0
- bluetooth_sig-0.1.1/docs/source/community/code-of-conduct.md +83 -0
- bluetooth_sig-0.1.1/docs/source/community/index.md +42 -0
- bluetooth_sig-0.1.1/docs/source/conf.py +630 -0
- bluetooth_sig-0.1.1/docs/source/explanation/api-overview.md +224 -0
- bluetooth_sig-0.1.1/docs/source/explanation/architecture/c4-model.md +97 -0
- bluetooth_sig-0.1.1/docs/source/explanation/architecture/decisions.md +253 -0
- bluetooth_sig-0.1.1/docs/source/explanation/architecture/internals.md +831 -0
- bluetooth_sig-0.1.1/docs/source/explanation/architecture/overview.md +128 -0
- bluetooth_sig-0.1.1/docs/source/explanation/architecture/registry-system.md +617 -0
- bluetooth_sig-0.1.1/docs/source/explanation/index.md +38 -0
- bluetooth_sig-0.1.1/docs/source/explanation/limitations.md +151 -0
- bluetooth_sig-0.1.1/docs/source/explanation/what-it-solves.md +360 -0
- bluetooth_sig-0.1.1/docs/source/explanation/why-use.md +245 -0
- bluetooth_sig-0.1.1/docs/source/how-to/adding-characteristics.md +226 -0
- bluetooth_sig-0.1.1/docs/source/how-to/advertising-parsing.md +448 -0
- bluetooth_sig-0.1.1/docs/source/how-to/async-usage.md +478 -0
- bluetooth_sig-0.1.1/docs/source/how-to/ble-integration.md +530 -0
- bluetooth_sig-0.1.1/docs/source/how-to/characteristics.md +330 -0
- bluetooth_sig-0.1.1/docs/source/how-to/contributing.md +119 -0
- bluetooth_sig-0.1.1/docs/source/how-to/import-patterns.md +307 -0
- bluetooth_sig-0.1.1/docs/source/how-to/index.md +61 -0
- bluetooth_sig-0.1.1/docs/source/how-to/migration.md +665 -0
- bluetooth_sig-0.1.1/docs/source/how-to/performance-tuning.md +205 -0
- bluetooth_sig-0.1.1/docs/source/how-to/services.md +362 -0
- bluetooth_sig-0.1.1/docs/source/how-to/testing.md +616 -0
- bluetooth_sig-0.1.1/docs/source/how-to/usage.md +394 -0
- bluetooth_sig-0.1.1/docs/source/index.md +142 -0
- bluetooth_sig-0.1.1/docs/source/performance/benchmarks.md +295 -0
- bluetooth_sig-0.1.1/docs/source/performance/index.md +18 -0
- bluetooth_sig-0.1.1/docs/source/performance/performance-data.md +161 -0
- bluetooth_sig-0.1.1/docs/source/reference/registry-coverage.md +138 -0
- bluetooth_sig-0.1.1/docs/source/tutorials/index.md +63 -0
- bluetooth_sig-0.1.1/docs/source/tutorials/installation.md +52 -0
- bluetooth_sig-0.1.1/docs/source/tutorials/quickstart.md +190 -0
- bluetooth_sig-0.1.1/examples/README.md +142 -0
- bluetooth_sig-0.1.1/examples/__init__.py +17 -0
- bluetooth_sig-0.1.1/examples/advertising_parsing.py +592 -0
- bluetooth_sig-0.1.1/examples/async_ble_integration.py +195 -0
- bluetooth_sig-0.1.1/examples/basic_usage.py +31 -0
- bluetooth_sig-0.1.1/examples/benchmarks/__init__.py +5 -0
- bluetooth_sig-0.1.1/examples/benchmarks/parsing_performance.py +331 -0
- bluetooth_sig-0.1.1/examples/comprehensive_test.py +84 -0
- bluetooth_sig-0.1.1/examples/connection_managers/__init__.py +23 -0
- bluetooth_sig-0.1.1/examples/connection_managers/bleak_retry.py +804 -0
- bluetooth_sig-0.1.1/examples/connection_managers/bleak_utils.py +159 -0
- bluetooth_sig-0.1.1/examples/connection_managers/bless_peripheral.py +375 -0
- bluetooth_sig-0.1.1/examples/connection_managers/bluepy.py +744 -0
- bluetooth_sig-0.1.1/examples/connection_managers/simpleble.py +749 -0
- bluetooth_sig-0.1.1/examples/notifications.py +36 -0
- bluetooth_sig-0.1.1/examples/pure_sig_parsing.py +263 -0
- bluetooth_sig-0.1.1/examples/scanning.py +210 -0
- bluetooth_sig-0.1.1/examples/service_discovery.py +33 -0
- bluetooth_sig-0.1.1/examples/test_scanning_features.py +460 -0
- bluetooth_sig-0.1.1/examples/utils/__init__.py +42 -0
- bluetooth_sig-0.1.1/examples/utils/argparse_utils.py +192 -0
- bluetooth_sig-0.1.1/examples/utils/connection_helpers.py +103 -0
- bluetooth_sig-0.1.1/examples/utils/data_parsing.py +215 -0
- bluetooth_sig-0.1.1/examples/utils/demo_functions.py +253 -0
- bluetooth_sig-0.1.1/examples/utils/device_scanning.py +71 -0
- bluetooth_sig-0.1.1/examples/utils/library_detection.py +161 -0
- bluetooth_sig-0.1.1/examples/utils/mock_data.py +40 -0
- bluetooth_sig-0.1.1/examples/utils/models.py +66 -0
- bluetooth_sig-0.1.1/examples/utils/notification_utils.py +44 -0
- bluetooth_sig-0.1.1/examples/utils/simpleble_integration.py +160 -0
- bluetooth_sig-0.1.1/examples/with_bleak_retry.py +205 -0
- bluetooth_sig-0.1.1/examples/with_bluepy.py +217 -0
- bluetooth_sig-0.1.1/examples/with_simpleble.py +189 -0
- bluetooth_sig-0.1.1/hatch_build.py +56 -0
- bluetooth_sig-0.1.1/justfile +98 -0
- bluetooth_sig-0.1.1/pyproject.toml +387 -0
- bluetooth_sig-0.1.1/pyrightconfig.json +43 -0
- bluetooth_sig-0.1.1/src/__init__.py +3 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/__init__.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/_version.py +34 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/__init__.py +108 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/base.py +211 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/ead_decryptor.py +410 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/encryption.py +225 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/exceptions.py +252 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/pdu_parser.py +781 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/registry.py +271 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/service_data_parser.py +150 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/service_resolver.py +164 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/sig_characteristic_interpreter.py +151 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/advertising/state.py +75 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/core/__init__.py +11 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/core/async_context.py +119 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/core/translator.py +1358 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/__init__.py +39 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/advertising.py +478 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/client.py +491 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/connected.py +476 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/device.py +1171 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/device/peripheral.py +495 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/__init__.py +52 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/__init__.py +430 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration.py +46 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration_3d.py +66 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/acceleration_detection_status.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/activity_goal.py +207 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_heart_rate_lower_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_heart_rate_upper_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/aerobic_threshold.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/age.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_category_id.py +34 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_category_id_bit_mask.py +71 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_level.py +47 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_notification_control_point.py +95 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/alert_status.py +88 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/altitude.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ammonia_concentration.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_heart_rate_lower_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_heart_rate_upper_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/anaerobic_threshold.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_energy_32.py +47 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_power.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_wind_direction.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/apparent_wind_speed.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/appearance.py +53 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/average_current.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/average_voltage.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/barometric_pressure_trend.py +64 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/base.py +1655 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_critical_status.py +52 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_level.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/battery_level_status.py +237 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_common.py +165 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_feature.py +99 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/blood_pressure_measurement.py +139 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_composition_feature.py +254 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_composition_measurement.py +588 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/body_sensor_location.py +36 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/bond_management_control_point.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/bond_management_feature.py +81 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boolean.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_keyboard_input_report.py +101 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_keyboard_output_report.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/boot_mouse_input_report.py +101 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/caloric_intake.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/carbon_monoxide_concentration.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/chromaticity_coordinate.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/co2_concentration.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/coefficient.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/correlated_color_temperature.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/count_16.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/count_24.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/csc_feature.py +91 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/csc_measurement.py +236 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/current_time.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/custom.py +171 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_control_point.py +299 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_feature.py +96 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_measurement.py +254 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/cycling_power_vector.py +199 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/database_change_increment.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_of_birth.py +64 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_of_threshold_assessment.py +89 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/date_time.py +62 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/day_date_time.py +77 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/day_of_week.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_info.py +13 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_name.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/device_wearing_position.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/dew_point.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/dst_offset.py +29 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_range.py +101 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_specification.py +92 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/electric_current_statistics.py +111 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/elevation.py +28 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/email_address.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/exact_time_256.py +80 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/fat_burn_heart_rate_lower_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/fat_burn_heart_rate_upper_limit.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/firmware_revision_string.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/first_name.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/five_zone_heart_rate_limits.py +70 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/floor_number.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/force.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/four_zone_heart_rate_limits.py +66 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/gender.py +28 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_feature.py +204 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_measurement.py +342 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/glucose_measurement_context.py +544 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/gust_factor.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/handedness.py +29 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hardware_revision_string.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_control_point.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_max.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heart_rate_measurement.py +243 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/heat_index.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/height.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hid_control_point.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hid_information.py +99 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_intensity_exercise_threshold.py +123 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_resolution_height.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/high_voltage.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/hip_circumference.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/humidity.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/illuminance.py +50 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/indoor_positioning_configuration.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/intermediate_cuff_pressure.py +119 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/intermediate_temperature.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/irradiance.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/language.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/last_name.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/latitude.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/linear_position.py +46 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ln_control_point.py +275 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ln_feature.py +150 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_east_coordinate.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_north_coordinate.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/local_time_information.py +188 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/location_and_speed.py +253 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/location_name.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/longitude.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_declination.py +51 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_flux_density_2d.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/magnetic_flux_density_3d.py +73 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/manufacturer_name_string.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/maximum_recommended_heart_rate.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/measurement_interval.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/methane_concentration.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/middle_name.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/model_number_string.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/navigation.py +202 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/new_alert.py +114 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/nitrogen_dioxide_concentration.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/noise.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/non_methane_voc_concentration.py +19 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ozone_concentration.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/peripheral_preferred_connection_parameters.py +71 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/peripheral_privacy_flag.py +27 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/plx_features.py +71 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/plx_spot_check_measurement.py +191 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm10_concentration.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm1_concentration.py +28 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pm25_concentration.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pnp_id.py +86 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pollen_concentration.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/position_quality.py +187 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/power_specification.py +98 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/preferred_units.py +116 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pressure.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/protocol_mode.py +31 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/pulse_oximetry_measurement.py +184 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rainfall.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/reconnection_address.py +42 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/reference_time_information.py +174 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/registry.py +269 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/report.py +56 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/report_map.py +56 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/resting_heart_rate.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ringer_control_point.py +57 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/ringer_setting.py +74 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rotational_speed.py +46 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rsc_feature.py +103 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/rsc_measurement.py +193 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/scan_interval_window.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/scan_refresh.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sedentary_interval_notification.py +19 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/serial_number_string.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/service_changed.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/software_revision_string.py +18 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sport_type_for_aerobic_and_anaerobic_thresholds.py +37 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/stride_length.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/sulfur_dioxide_concentration.py +27 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_new_alert_category.py +66 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_power_range.py +94 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/supported_unread_alert_category.py +66 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/system_id.py +64 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature_measurement.py +137 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/temperature_type.py +37 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/templates.py +1487 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/three_zone_heart_rate_limits.py +62 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_accuracy.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_source.py +35 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_update_control_point.py +28 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_update_state.py +68 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_with_dst.py +40 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/time_zone.py +115 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/true_wind_direction.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/true_wind_speed.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/two_zone_heart_rate_limits.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/tx_power_level.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/uncertainty.py +46 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/unknown.py +81 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/unread_alert_status.py +92 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/user_index.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/__init__.py +100 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/bit_field_utils.py +288 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/data_parser.py +158 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/data_validator.py +77 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/debug_utils.py +150 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/extractors.py +397 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/ieee11073_parser.py +324 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/parse_trace.py +58 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils/translators.py +298 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/utils.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/uv_index.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/vo2_max.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voc_concentration.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_frequency.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_specification.py +105 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/voltage_statistics.py +127 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/waist_circumference.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight.py +19 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight_measurement.py +241 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/weight_scale_feature.py +216 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/characteristics/wind_chill.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/constants.py +83 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/context.py +13 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptor_utils.py +154 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/__init__.py +120 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/base.py +181 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/cccd.py +96 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_aggregate_format.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_extended_properties.py +72 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_presentation_format.py +194 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/characteristic_user_description.py +47 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/complete_br_edr_transport_block_data.py +45 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_configuration.py +85 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_measurement.py +85 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/environmental_sensing_trigger_setting.py +60 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/external_report_reference.py +49 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/imd_trigger_setting.py +49 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/manufacturer_limits.py +70 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/measurement_description.py +47 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/number_of_digitals.py +52 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/observation_schedule.py +43 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/process_tolerances.py +65 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/registry.py +70 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/report_reference.py +82 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/server_characteristic_configuration.py +72 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/time_trigger_setting.py +50 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/valid_range.py +58 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/valid_range_and_accuracy.py +70 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/descriptors/value_trigger_setting.py +87 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/exceptions.py +518 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/registry_utils.py +116 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/resolver.py +355 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/__init__.py +81 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/alert_notification.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/automation_io.py +38 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/base.py +749 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/battery_service.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/blood_pressure.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/body_composition.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/bond_management.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/current_time_service.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/custom.py +59 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/cycling_power.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/cycling_speed_and_cadence.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/device_information.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/environmental_sensing.py +79 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/fitness_machine_service.py +48 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/generic_access.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/generic_attribute.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/glucose.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/health_thermometer.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/heart_rate.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/human_interface_device.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/immediate_alert.py +23 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/indoor_positioning_service.py +36 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/link_loss.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/location_and_navigation.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/next_dst_change.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/phone_alert_status.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/pulse_oximeter_service.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/reference_time_update.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/registry.py +242 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/running_speed_and_cadence.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/scan_parameters.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/tx_power.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/unknown.py +33 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/user_data.py +96 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/services/weight_scale.py +22 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/special_values_resolver.py +126 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/uuid_registry.py +654 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/gatt/validation.py +215 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/py.typed +0 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/__init__.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/base.py +504 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/company_identifiers/__init__.py +17 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/company_identifiers/company_identifiers_registry.py +114 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/__init__.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/ad_types.py +137 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/appearance_values.py +191 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/class_of_device.py +255 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/coding_format.py +145 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/formattypes.py +141 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/namespace_description.py +170 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/core/uri_schemes.py +163 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/gss.py +278 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/profiles/__init__.py +10 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/service_discovery/__init__.py +10 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/utils.py +98 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/__init__.py +25 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/browse_groups.py +97 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/declarations.py +96 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/members.py +80 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/mesh_profiles.py +79 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/object_types.py +100 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/protocol_identifiers.py +92 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/sdo_uuids.py +105 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/service_classes.py +89 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/registry/uuids/units.py +182 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/stream/__init__.py +9 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/stream/pairing.py +69 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/__init__.py +173 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/ad_types_constants.py +91 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/address.py +63 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/__init__.py +64 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/ad_structures.py +232 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/builder.py +431 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/extended.py +92 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/features.py +182 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/flags.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/pdu.py +228 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/advertising/result.py +102 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/alert.py +79 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/appearance.py +113 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/base_types.py +15 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/battery.py +87 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/company.py +141 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/context.py +49 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/data_types.py +114 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/device_types.py +244 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/ead.py +181 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/gatt_enums.py +762 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/gatt_services.py +76 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/io.py +67 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/location.py +24 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/mesh.py +477 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/peripheral_types.py +139 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/protocols.py +30 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/__init__.py +35 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/ad_types.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/amp.py +10 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/appearance_info.py +53 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/browse_group_identifiers.py +8 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/characteristic_uuids.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/class_of_device.py +90 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/coding_format.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/common.py +186 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/company_identifiers.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/core_version.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/declarations.py +8 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/descriptor_types.py +38 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/descriptors.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/diacs.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property.py +21 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property_groups.py +28 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/dp_property_ids.py +26 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/formattypes.py +15 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/gss_characteristic.py +293 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/member_uuids.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/mesh_profile_uuids.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/mws_channel_type.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/namespace.py +11 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/namespaces.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/object_types.py +11 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/pcm_data_format.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/protocol_identifiers.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/psm.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/sdo_uuids.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/sdp_base_uuid.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/service_class.py +8 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/service_uuids.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/transport_layers.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/units.py +20 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/registry/uri_schemes.py +7 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/scan_interval_window.py +59 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/special_values.py +93 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/units.py +157 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/uri.py +120 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/types/uuid.py +325 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/utils/__init__.py +12 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/utils/profiling.py +213 -0
- bluetooth_sig-0.1.1/src/bluetooth_sig/utils/rssi_utils.py +33 -0
- 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.
|