xref: /aosp_15_r20/external/autotest/server/cros/bluetooth/advertisements_data.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Lint as: python2, python3
2*9c5db199SXin Li# Copyright 2016 The Chromium OS Authors. All rights reserved.
3*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
4*9c5db199SXin Li# found in the LICENSE file.
5*9c5db199SXin Li
6*9c5db199SXin Li"""A list of advertisements data for testing purpose."""
7*9c5db199SXin Li
8*9c5db199SXin Lifrom __future__ import absolute_import
9*9c5db199SXin Lifrom __future__ import division
10*9c5db199SXin Lifrom __future__ import print_function
11*9c5db199SXin Li
12*9c5db199SXin Lifrom six.moves import range
13*9c5db199SXin Li
14*9c5db199SXin Li
15*9c5db199SXin LiADVERTISEMENT1 = {
16*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement1',
17*9c5db199SXin Li        'Type': 'peripheral',
18*9c5db199SXin Li        'ManufacturerData': {
19*9c5db199SXin Li                '0xff01': [0x1a, 0x1b, 0x1c, 0x1d, 0x1e]
20*9c5db199SXin Li        },
21*9c5db199SXin Li        'ServiceUUIDs': ['180D', '180F'],
22*9c5db199SXin Li        'SolicitUUIDs': [],
23*9c5db199SXin Li        'ServiceData': {
24*9c5db199SXin Li                '9991': [0x11, 0x12, 0x13, 0x14, 0x15]
25*9c5db199SXin Li        },
26*9c5db199SXin Li        'ScanResponseData': {
27*9c5db199SXin Li                '0x16': [0xcd, 0xab] + list(range(1, 21))
28*9c5db199SXin Li        },
29*9c5db199SXin Li        'Discoverable': True,
30*9c5db199SXin Li        'IncludeTxPower': True,
31*9c5db199SXin Li        'MinInterval': 100,
32*9c5db199SXin Li        'MaxInterval': 100,
33*9c5db199SXin Li        'TxPower': 10
34*9c5db199SXin Li}
35*9c5db199SXin Li
36*9c5db199SXin LiADVERTISEMENT2 = {
37*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement2',
38*9c5db199SXin Li        'Type': 'peripheral',
39*9c5db199SXin Li        'ManufacturerData': {
40*9c5db199SXin Li                '0xff02': [0x2a, 0x2b, 0x2c, 0x2d, 0x2e]
41*9c5db199SXin Li        },
42*9c5db199SXin Li        'ServiceUUIDs': ['1821'],
43*9c5db199SXin Li        'SolicitUUIDs': [],
44*9c5db199SXin Li        'ServiceData': {
45*9c5db199SXin Li                '9992': [0x21, 0x22, 0x23, 0x24, 0x25]
46*9c5db199SXin Li        },
47*9c5db199SXin Li        'ScanResponseData': {
48*9c5db199SXin Li                '0x16': [0xcd, 0xab] + list(range(22, 42))
49*9c5db199SXin Li        },
50*9c5db199SXin Li        'Discoverable': True,
51*9c5db199SXin Li        'IncludeTxPower': True,
52*9c5db199SXin Li        'MinInterval': 100,
53*9c5db199SXin Li        'MaxInterval': 100,
54*9c5db199SXin Li        'TxPower': 7
55*9c5db199SXin Li}
56*9c5db199SXin Li
57*9c5db199SXin LiADVERTISEMENT3 = {
58*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement3',
59*9c5db199SXin Li        'Type': 'peripheral',
60*9c5db199SXin Li        'ManufacturerData': {
61*9c5db199SXin Li                '0xff03': [0x3a, 0x3b, 0x3c, 0x3d, 0x3e]
62*9c5db199SXin Li        },
63*9c5db199SXin Li        'ServiceUUIDs': ['1819', '180E'],
64*9c5db199SXin Li        'SolicitUUIDs': [],
65*9c5db199SXin Li        'ServiceData': {
66*9c5db199SXin Li                '9993': [0x31, 0x32, 0x33, 0x34, 0x35]
67*9c5db199SXin Li        },
68*9c5db199SXin Li        'Discoverable': True,
69*9c5db199SXin Li        'IncludeTxPower': True,
70*9c5db199SXin Li        'MinInterval': 100,
71*9c5db199SXin Li        'MaxInterval': 100,
72*9c5db199SXin Li        'TxPower': 4
73*9c5db199SXin Li}
74*9c5db199SXin Li
75*9c5db199SXin LiADVERTISEMENT4 = {
76*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement4',
77*9c5db199SXin Li        'Type': 'peripheral',
78*9c5db199SXin Li        'ManufacturerData': {
79*9c5db199SXin Li                '0xff04': [0x4a, 0x4b, 0x4c, 0x4d, 0x4e]
80*9c5db199SXin Li        },
81*9c5db199SXin Li        'ServiceUUIDs': ['1808', '1810'],
82*9c5db199SXin Li        'SolicitUUIDs': [],
83*9c5db199SXin Li        'ServiceData': {
84*9c5db199SXin Li                '9994': [0x41, 0x42, 0x43, 0x44, 0x45]
85*9c5db199SXin Li        },
86*9c5db199SXin Li        'Discoverable': True,
87*9c5db199SXin Li        'IncludeTxPower': True,
88*9c5db199SXin Li        'MinInterval': 100,
89*9c5db199SXin Li        'MaxInterval': 100,
90*9c5db199SXin Li        'TxPower': 1
91*9c5db199SXin Li}
92*9c5db199SXin Li
93*9c5db199SXin LiADVERTISEMENT5 = {
94*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement5',
95*9c5db199SXin Li        'Type': 'peripheral',
96*9c5db199SXin Li        'ManufacturerData': {
97*9c5db199SXin Li                '0xff05': [0x5a, 0x5b, 0x5c, 0x5d, 0x5e]
98*9c5db199SXin Li        },
99*9c5db199SXin Li        'ServiceUUIDs': ['1818', '181B'],
100*9c5db199SXin Li        'SolicitUUIDs': [],
101*9c5db199SXin Li        'ServiceData': {
102*9c5db199SXin Li                '9995': [0x51, 0x52, 0x53, 0x54, 0x55]
103*9c5db199SXin Li        },
104*9c5db199SXin Li        'Discoverable': True,
105*9c5db199SXin Li        'IncludeTxPower': True,
106*9c5db199SXin Li        'MinInterval': 100,
107*9c5db199SXin Li        'MaxInterval': 100,
108*9c5db199SXin Li        'TxPower': -2
109*9c5db199SXin Li}
110*9c5db199SXin Li
111*9c5db199SXin LiADVERTISEMENT6 = {
112*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement6',
113*9c5db199SXin Li        'Type': 'peripheral',
114*9c5db199SXin Li        'ManufacturerData': {
115*9c5db199SXin Li                '0xff06': [0x6a, 0x6b, 0x6c, 0x6d, 0x6e]
116*9c5db199SXin Li        },
117*9c5db199SXin Li        'ServiceUUIDs': ['1820'],
118*9c5db199SXin Li        'SolicitUUIDs': [],
119*9c5db199SXin Li        'ServiceData': {
120*9c5db199SXin Li                '9996': [0x61, 0x62, 0x63, 0x64, 0x65]
121*9c5db199SXin Li        },
122*9c5db199SXin Li        'Discoverable': True,
123*9c5db199SXin Li        'IncludeTxPower': True,
124*9c5db199SXin Li        'MinInterval': 100,
125*9c5db199SXin Li        'MaxInterval': 100,
126*9c5db199SXin Li        'TxPower': -5
127*9c5db199SXin Li}
128*9c5db199SXin Li
129*9c5db199SXin LiNEARBY_BROADCAST_ADV = {
130*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement7',
131*9c5db199SXin Li        'Type': 'broadcast',
132*9c5db199SXin Li        'ManufacturerData': {
133*9c5db199SXin Li                '0xFE2C': [0x6a, 0x6b, 0x6c, 0x6d, 0x6e]
134*9c5db199SXin Li        },
135*9c5db199SXin Li        'ServiceUUIDs': ['FE2C'],
136*9c5db199SXin Li        'SolicitUUIDs': [],
137*9c5db199SXin Li        'ServiceData': {
138*9c5db199SXin Li                'FE2C': [0x61, 0x62, 0x63, 0x64, 0x65]
139*9c5db199SXin Li        },
140*9c5db199SXin Li        'IncludeTxPower': True,
141*9c5db199SXin Li        'MinInterval': 100,
142*9c5db199SXin Li        'MaxInterval': 100
143*9c5db199SXin Li}
144*9c5db199SXin Li
145*9c5db199SXin Li
146*9c5db199SXin Li#
147*9c5db199SXin Li# Nearby Mediums Fast Advertisement requirement is to put Service UUIDs and
148*9c5db199SXin Li# flags in advertising payload, and 20 bytes of Service data in Scan response
149*9c5db199SXin Li#
150*9c5db199SXin LiNEARBY_MEDIUMS_FAST_ADV = {
151*9c5db199SXin Li        'Path': '/org/bluez/test/advertisement8',
152*9c5db199SXin Li        'Type': 'peripheral',
153*9c5db199SXin Li        'ServiceUUIDs': ['FEF3'],
154*9c5db199SXin Li        'ScanResponseData': {
155*9c5db199SXin Li                '0x16': [0xf3, 0xfe] + list(range(1, 21))
156*9c5db199SXin Li        },
157*9c5db199SXin Li        'MinInterval': 100,
158*9c5db199SXin Li        'MaxInterval': 100
159*9c5db199SXin Li}
160*9c5db199SXin Li
161*9c5db199SXin LiADVERTISEMENTS = [ADVERTISEMENT1, ADVERTISEMENT2, ADVERTISEMENT3,
162*9c5db199SXin Li                  ADVERTISEMENT4, ADVERTISEMENT5, ADVERTISEMENT6]
163