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