fake-devices.js (4516B)
1 'use strict'; 2 3 let fakeDeviceInit = { 4 usbVersionMajor: 2, 5 usbVersionMinor: 0, 6 usbVersionSubminor: 0, 7 deviceClass: 7, 8 deviceSubclass: 1, 9 deviceProtocol: 2, 10 vendorId: 0x18d1, 11 productId: 0xf00d, 12 deviceVersionMajor: 1, 13 deviceVersionMinor: 2, 14 deviceVersionSubminor: 3, 15 manufacturerName: 'Google, Inc.', 16 productName: 'The amazing imaginary printer', 17 serialNumber: '4', 18 activeConfigurationValue: 0, 19 configurations: [ 20 { 21 configurationValue: 1, 22 configurationName: 'Printer Mode', 23 interfaces: [ 24 { 25 interfaceNumber: 0, 26 alternates: [{ 27 alternateSetting: 0, 28 interfaceClass: 0xff, 29 interfaceSubclass: 0x01, 30 interfaceProtocol: 0x01, 31 interfaceName: 'Control', 32 endpoints: [{ 33 endpointNumber: 1, 34 direction: 'in', 35 type: 'interrupt', 36 packetSize: 8 37 }] 38 }] 39 }, 40 { 41 interfaceNumber: 1, 42 alternates: [{ 43 alternateSetting: 0, 44 interfaceClass: 0xff, 45 interfaceSubclass: 0x02, 46 interfaceProtocol: 0x01, 47 interfaceName: 'Data', 48 endpoints: [ 49 { 50 endpointNumber: 2, 51 direction: 'in', 52 type: 'bulk', 53 packetSize: 1024 54 }, 55 { 56 endpointNumber: 2, 57 direction: 'out', 58 type: 'bulk', 59 packetSize: 1024 60 } 61 ] 62 }] 63 } 64 ] 65 }, 66 { 67 configurationValue: 2, 68 configurationName: 'Fighting Robot Mode', 69 interfaces: [{ 70 interfaceNumber: 0, 71 alternates: [ 72 { 73 alternateSetting: 0, 74 interfaceClass: 0xff, 75 interfaceSubclass: 0x42, 76 interfaceProtocol: 0x01, 77 interfaceName: 'Disabled', 78 endpoints: [] 79 }, 80 { 81 alternateSetting: 1, 82 interfaceClass: 0xff, 83 interfaceSubclass: 0x42, 84 interfaceProtocol: 0x01, 85 interfaceName: 'Activate!', 86 endpoints: [ 87 { 88 endpointNumber: 1, 89 direction: 'in', 90 type: 'isochronous', 91 packetSize: 1024 92 }, 93 { 94 endpointNumber: 1, 95 direction: 'out', 96 type: 'isochronous', 97 packetSize: 1024 98 } 99 ] 100 } 101 ] 102 }] 103 }, 104 { 105 configurationValue: 3, 106 configurationName: 'Non-sequential interface number and alternate ' + 107 'setting Mode', 108 interfaces: [ 109 { 110 interfaceNumber: 0, 111 alternates: [ 112 { 113 alternateSetting: 0, 114 interfaceClass: 0xff, 115 interfaceSubclass: 0x01, 116 interfaceProtocol: 0x01, 117 interfaceName: 'Control', 118 endpoints: [{ 119 endpointNumber: 1, 120 direction: 'in', 121 type: 'interrupt', 122 packetSize: 8 123 }] 124 }, 125 { 126 alternateSetting: 2, 127 interfaceClass: 0xff, 128 interfaceSubclass: 0x02, 129 interfaceProtocol: 0x01, 130 interfaceName: 'Data', 131 endpoints: [ 132 { 133 endpointNumber: 2, 134 direction: 'in', 135 type: 'bulk', 136 packetSize: 1024 137 }, 138 { 139 endpointNumber: 2, 140 direction: 'out', 141 type: 'bulk', 142 packetSize: 1024 143 } 144 ] 145 } 146 ] 147 }, 148 { 149 interfaceNumber: 2, 150 alternates: [{ 151 alternateSetting: 0, 152 interfaceClass: 0xff, 153 interfaceSubclass: 0x02, 154 interfaceProtocol: 0x01, 155 interfaceName: 'Data', 156 endpoints: [ 157 { 158 endpointNumber: 2, 159 direction: 'in', 160 type: 'bulk', 161 packetSize: 1024 162 }, 163 { 164 endpointNumber: 2, 165 direction: 'out', 166 type: 'bulk', 167 packetSize: 1024 168 } 169 ] 170 }] 171 } 172 ] 173 } 174 ] 175 };