Source code

Revision control

Copy as Markdown

Other Tools

'use strict';
let fakeDeviceInit = {
usbVersionMajor: 2,
usbVersionMinor: 0,
usbVersionSubminor: 0,
deviceClass: 7,
deviceSubclass: 1,
deviceProtocol: 2,
vendorId: 0x18d1,
productId: 0xf00d,
deviceVersionMajor: 1,
deviceVersionMinor: 2,
deviceVersionSubminor: 3,
manufacturerName: 'Google, Inc.',
productName: 'The amazing imaginary printer',
serialNumber: '4',
activeConfigurationValue: 0,
configurations: [
{
configurationValue: 1,
configurationName: 'Printer Mode',
interfaces: [
{
interfaceNumber: 0,
alternates: [{
alternateSetting: 0,
interfaceClass: 0xff,
interfaceSubclass: 0x01,
interfaceProtocol: 0x01,
interfaceName: 'Control',
endpoints: [{
endpointNumber: 1,
direction: 'in',
type: 'interrupt',
packetSize: 8
}]
}]
},
{
interfaceNumber: 1,
alternates: [{
alternateSetting: 0,
interfaceClass: 0xff,
interfaceSubclass: 0x02,
interfaceProtocol: 0x01,
interfaceName: 'Data',
endpoints: [
{
endpointNumber: 2,
direction: 'in',
type: 'bulk',
packetSize: 1024
},
{
endpointNumber: 2,
direction: 'out',
type: 'bulk',
packetSize: 1024
}
]
}]
}
]
},
{
configurationValue: 2,
configurationName: 'Fighting Robot Mode',
interfaces: [{
interfaceNumber: 0,
alternates: [
{
alternateSetting: 0,
interfaceClass: 0xff,
interfaceSubclass: 0x42,
interfaceProtocol: 0x01,
interfaceName: 'Disabled',
endpoints: []
},
{
alternateSetting: 1,
interfaceClass: 0xff,
interfaceSubclass: 0x42,
interfaceProtocol: 0x01,
interfaceName: 'Activate!',
endpoints: [
{
endpointNumber: 1,
direction: 'in',
type: 'isochronous',
packetSize: 1024
},
{
endpointNumber: 1,
direction: 'out',
type: 'isochronous',
packetSize: 1024
}
]
}
]
}]
},
{
configurationValue: 3,
configurationName: 'Non-sequential interface number and alternate ' +
'setting Mode',
interfaces: [
{
interfaceNumber: 0,
alternates: [
{
alternateSetting: 0,
interfaceClass: 0xff,
interfaceSubclass: 0x01,
interfaceProtocol: 0x01,
interfaceName: 'Control',
endpoints: [{
endpointNumber: 1,
direction: 'in',
type: 'interrupt',
packetSize: 8
}]
},
{
alternateSetting: 2,
interfaceClass: 0xff,
interfaceSubclass: 0x02,
interfaceProtocol: 0x01,
interfaceName: 'Data',
endpoints: [
{
endpointNumber: 2,
direction: 'in',
type: 'bulk',
packetSize: 1024
},
{
endpointNumber: 2,
direction: 'out',
type: 'bulk',
packetSize: 1024
}
]
}
]
},
{
interfaceNumber: 2,
alternates: [{
alternateSetting: 0,
interfaceClass: 0xff,
interfaceSubclass: 0x02,
interfaceProtocol: 0x01,
interfaceName: 'Data',
endpoints: [
{
endpointNumber: 2,
direction: 'in',
type: 'bulk',
packetSize: 1024
},
{
endpointNumber: 2,
direction: 'out',
type: 'bulk',
packetSize: 1024
}
]
}]
}
]
}
]
};