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