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