@@ -63,16 +63,19 @@ class RpsEncDataAdvertisement(Advertisement):
6363 """
6464 flags = None
6565
66- _PREFIX_FMT = "<B" " BHBH"
66+ _PREFIX_FMT = "<BHBH"
6767 _DATA_FMT_ENC_DATA = "8s"
6868
69- prefix = struct .pack (
70- _PREFIX_FMT ,
71- struct .calcsize (_PREFIX_FMT ) - 1 ,
72- MANUFACTURING_DATA_ADT ,
73- ADAFRUIT_COMPANY_ID ,
74- struct .calcsize ("<H" + _DATA_FMT_ENC_DATA ),
75- RPS_ENC_DATA_ID
69+ # match_prefixes tuple replaces deprecated prefix
70+ # comma for 1 element is very important!
71+ match_prefixes = (
72+ struct .pack (
73+ _PREFIX_FMT ,
74+ MANUFACTURING_DATA_ADT ,
75+ ADAFRUIT_COMPANY_ID ,
76+ struct .calcsize ("<H" + _DATA_FMT_ENC_DATA ),
77+ RPS_ENC_DATA_ID
78+ ),
7679 )
7780 manufacturer_data = LazyObjectField (
7881 ManufacturerData ,
@@ -111,20 +114,19 @@ class RpsKeyDataAdvertisement(Advertisement):
111114 """
112115 flags = None
113116
114- _PREFIX_FMT = "<B" " BHBH"
117+ _PREFIX_FMT = "<BHBH"
115118 _DATA_FMT_KEY_DATA = "8s"
116119
117- # prefix appears to be used to determine whether an incoming
118- # packet matches this class
119- # The second struct.calcsize needs to include the _DATA_FMT for some
120- # reason I either don't know or can't remember
121- prefix = struct .pack (
122- _PREFIX_FMT ,
123- struct .calcsize (_PREFIX_FMT ) - 1 ,
124- MANUFACTURING_DATA_ADT ,
125- ADAFRUIT_COMPANY_ID ,
126- struct .calcsize ("<H" + _DATA_FMT_KEY_DATA ),
127- RPS_KEY_DATA_ID
120+ # match_prefixes tuple replaces deprecated prefix
121+ # comma for 1 element is very important!
122+ match_prefixes = (
123+ struct .pack (
124+ _PREFIX_FMT ,
125+ MANUFACTURING_DATA_ADT ,
126+ ADAFRUIT_COMPANY_ID ,
127+ struct .calcsize ("<H" + _DATA_FMT_KEY_DATA ),
128+ RPS_KEY_DATA_ID
129+ ),
128130 )
129131 manufacturer_data = LazyObjectField (
130132 ManufacturerData ,
@@ -164,15 +166,18 @@ class RpsRoundEndAdvertisement(Advertisement):
164166 """
165167 flags = None
166168
167- _PREFIX_FMT = "<B" "BHBH"
168-
169- prefix = struct .pack (
170- _PREFIX_FMT ,
171- struct .calcsize (_PREFIX_FMT ) - 1 ,
172- MANUFACTURING_DATA_ADT ,
173- ADAFRUIT_COMPANY_ID ,
174- struct .calcsize ("<H" + _DATA_FMT_ROUND ),
175- RPS_ROUND_ID
169+ _PREFIX_FMT = "<BHBH"
170+
171+ # match_prefixes tuple replaces deprecated prefix
172+ # comma for 1 element is very important!
173+ match_prefixes = (
174+ struct .pack (
175+ _PREFIX_FMT ,
176+ MANUFACTURING_DATA_ADT ,
177+ ADAFRUIT_COMPANY_ID ,
178+ struct .calcsize ("<H" + _DATA_FMT_ROUND ),
179+ RPS_ROUND_ID
180+ ),
176181 )
177182 manufacturer_data = LazyObjectField (
178183 ManufacturerData ,
@@ -207,18 +212,19 @@ class JoinGameAdvertisement(Advertisement):
207212 """
208213 flags = None
209214
210- _PREFIX_FMT = "<B" " BHBH"
215+ _PREFIX_FMT = "<BHBH"
211216 _DATA_FMT = "8s" # this NUL pads for 8s if necessary
212217
213- prefix = struct .pack (
214- _PREFIX_FMT ,
215- struct .calcsize (_PREFIX_FMT ) - 1 ,
216- MANUFACTURING_DATA_ADT ,
217- ADAFRUIT_COMPANY_ID ,
218- ##struct.calcsize("<H" + _SEQ_FMT + _DATA_FMT),
219- struct .calcsize ("<H" + _DATA_FMT ),
220- ##struct.calcsize("<H"),
221- GM_JOIN_ID
218+ # match_prefixes tuple replaces deprecated prefix
219+ # comma for 1 element is very important!
220+ match_prefixes = (
221+ struct .pack (
222+ _PREFIX_FMT ,
223+ MANUFACTURING_DATA_ADT ,
224+ ADAFRUIT_COMPANY_ID ,
225+ struct .calcsize ("<H" + _DATA_FMT ),
226+ GM_JOIN_ID
227+ ),
222228 )
223229 manufacturer_data = LazyObjectField (
224230 ManufacturerData ,
0 commit comments