From e568999b2bdc78ca45b072175e538d201fcbe3f4 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 10 Jun 2020 16:25:04 -0400 Subject: [PATCH] prefix -> match_prefixes --- adafruit_ble_eddystone/__init__.py | 11 ++--------- adafruit_ble_eddystone/uid.py | 3 ++- adafruit_ble_eddystone/url.py | 3 ++- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/adafruit_ble_eddystone/__init__.py b/adafruit_ble_eddystone/__init__.py index 09aacd1..9c07136 100644 --- a/adafruit_ble_eddystone/__init__.py +++ b/adafruit_ble_eddystone/__init__.py @@ -106,7 +106,7 @@ def __set__(self, obj, value): class EddystoneAdvertisement(Advertisement): """Top level Eddystone advertisement that manages frame type. For library use only.""" - # Subclasses must provide `prefix`. + # Subclasses must provide `match_prefixes`. services = ServiceList(standard_services=[0x03], vendor_services=[0x07]) eddystone_frame = _EddystoneFrame() @@ -116,17 +116,10 @@ def __init__(self, *, minimum_size=None): self.connectable = False self.flags.general_discovery = True self.flags.le_only = True - self.frame_type = bytearray(1) - # Frame type is in the prefix. - self.frame_type[0] = self.prefix[-1] + # self.frame_type is defined by the subclass. if not self.eddystone_frame: self.eddystone_frame = bytearray(minimum_size) - @classmethod - def matches(cls, entry): - """True if the entry matches all of the prefixes. This is stricter than the scan.""" - return entry.matches(cls.prefix, all=True) - def __str__(self): parts = [] for attr in dir(self.__class__): diff --git a/adafruit_ble_eddystone/uid.py b/adafruit_ble_eddystone/uid.py index dea1ac7..3b4ddb3 100644 --- a/adafruit_ble_eddystone/uid.py +++ b/adafruit_ble_eddystone/uid.py @@ -42,7 +42,8 @@ class EddystoneUID(EddystoneAdvertisement): :param int tx_power: TX power at the beacon """ - prefix = b"\x03\x03\xaa\xfe\x04\x16\xaa\xfe\x00" + match_prefixes = (b"\x03\xaa\xfe", b"\x16\xaa\xfe\x00") + frame_type = b"\x00" tx_power = EddystoneFrameStruct("