blatann.gap.advertise_data module
- class blatann.gap.advertise_data.AdvertisingFlags
Bases:
object- LIMITED_DISCOVERY_MODE = 1
- GENERAL_DISCOVERY_MODE = 2
- BR_EDR_NOT_SUPPORTED = 4
- BR_EDR_CONTROLLER = 8
- BR_EDR_HOST = 16
- class blatann.gap.advertise_data.AdvertisingData(flags=None, local_name=None, local_name_complete=True, service_uuid16s=None, service_uuid128s=None, has_more_uuid16_services=False, has_more_uuid128_services=False, service_data=None, manufacturer_data=None, **other_entries)
Bases:
objectClass which represents data that can be advertised
- MAX_ENCODED_LENGTH = 31
- class Types(value)
Bases:
EnumAn enumeration.
- flags = 1
- service_16bit_uuid_more_available = 2
- service_16bit_uuid_complete = 3
- service_32bit_uuid_more_available = 4
- service_32bit_uuid_complete = 5
- service_128bit_uuid_more_available = 6
- service_128bit_uuid_complete = 7
- short_local_name = 8
- complete_local_name = 9
- tx_power_level = 10
- class_of_device = 13
- simple_pairing_hash_c = 14
- simple_pairing_randimizer_r = 15
- security_manager_tk_value = 16
- security_manager_oob_flags = 17
- slave_connection_interval_range = 18
- solicited_sevice_uuids_16bit = 20
- solicited_sevice_uuids_128bit = 21
- service_data = 22
- public_target_address = 23
- random_target_address = 24
- appearance = 25
- advertising_interval = 26
- le_bluetooth_device_address = 27
- le_role = 28
- simple_pairng_hash_c256 = 29
- simple_pairng_randomizer_r256 = 30
- service_data_32bit_uuid = 32
- service_data_128bit_uuid = 33
- uri = 36
- information_3d_data = 61
- manufacturer_specific_data = 255
- property flags: int | None
The advertising flags in the payload, if set
- Getter:
Gets the advertising flags in the payload, or None if not set
- Setter:
Sets the advertising flags in the payload
- Delete:
Removes the advertising flags from the payload
- property service_data: bytes | List[int] | None
The service data in the payload, if set
- Getter:
Gets the service data in the payload, or None if not set
- Setter:
Sets the service data for the payload
- Delete:
Removes the service data from the payload
- property manufacturer_data: bytes | List[int] | None
The manufacturer data in the payload, if set
- Getter:
Gets the manufacturer data in the payload, or None if not set
- Setter:
Sets the manufacturer data for the payload
- Delete:
Removes the manufacturer data from the payload
- property service_uuids: List[Uuid]
Gets all of the 16-bit and 128-bit service UUIDs specified in the advertising data
- check_encoded_length()
Checks if the encoded length of this advertising data payload meets the maximum allowed length specified by the Bluetooth specification
- to_ble_adv_data()
Converts the advertising data to a BLEAdvData object that can be used by the nRF Driver
- Returns:
the BLEAdvData object which represents this advertising data
- Return type:
- to_bytes()
Converts the advertising data to the encoded bytes that will be advertised over the air. Advertising payloads are encoded in a length-type-value format
- Return type:
- Returns:
The encoded payload
- classmethod from_ble_adv_records(advertise_records)
Converts a dictionary of AdvertisingData.Type: value keypairs into an object of this class
- Parameters:
advertise_records (dict) – a dictionary mapping the advertise data types to their corresponding values
- Returns:
the AdvertisingData from the records given
- Return type:
- class blatann.gap.advertise_data.ScanReport(adv_report, resolved_address)
Bases:
objectRepresents a payload and associated metadata that’s received during scanning
- property device_name: str
Read Only
The name of the device, pulled from the advertising data (if advertised) or uses the Peer’s MAC Address if not set
- property is_bonded_device: bool
If the scan report is from a BLE device that the local device has a matching bond database entry
- property resolved_address: PeerAddress | None
If the scan report is from a bonded device, this is the resolved public/static/random BLE address. This may be the same as peer_addr if the device is not advertising as a private resolvable address
- update(adv_report)
Used internally to merge a new advertising payload that was received into the current scan report
- class blatann.gap.advertise_data.ScanReportCollection
Bases:
objectCollection of all the advertising data and scan reports found in a scanning session
- property advertising_peers_found: Iterable[ScanReport]
Gets the list of scans which have been combined and condensed into a list where each entry is a unique peer. The scan reports in this list represent aggregated data of each advertising packet received by the advertising device, such that later advertising packets will update/overwrite packet attributes received from earlier packets, if the data has been modified.
- Returns:
The list of scan reports, with each being a unique peer
- property all_scan_reports: Iterable[ScanReport]
Gets the list of all of the individual advertising packets received.
- Returns:
The list of all scan reports
- get_report_for_peer(peer_addr)
Gets the combined/aggregated scan report for a given Peer’s address. If the peer’s scan report isn’t found, returns None
- Parameters:
peer_addr – The peer’s address to search for
- Return type:
- Returns:
The associated scan report, if found
- clear()
Clears out all of the scan reports cached
- update(adv_report, resolved_peer_addr=None)
Used internally to update the collection with a new advertising report received
- Return type:
- Returns:
The Scan Report created from the advertising report