class UVC::ExtensionUnitDescriptor

Attributes

bControlSize[R]
bNrInPins[R]
bNumControls[R]
bUnitID[R]
baSourceID[R]
bmControls[R]
guidExtensionCode[R]
iExtension[R]

Public Class Methods

new(bDescriptorType, bDescriptorSubType, bUnitID, guidExtensionCode, bNumControls, bNrInPins, baSourceID, bControlSize, bmControls, iExtension) click to toggle source
# File lib/uvc.rb, line 627
def initialize(bDescriptorType, bDescriptorSubType, bUnitID, guidExtensionCode, bNumControls, bNrInPins, baSourceID, bControlSize, bmControls, iExtension)
        super(bDescriptorType, bDescriptorSubType)
        @bUnitID = bUnitID
        @guidExtensionCode = guidExtensionCode
        @bNumControls = bNumControls
        @bNrInPins = bNrInPins
        @baSourceID = baSourceID
        @bControlSize = bControlSize
        @bmControls = bmControls
        @iExtension = iExtension
end
parse(bDescriptorType, bDescriptorSubType, rest) click to toggle source
# File lib/uvc.rb, line 616
def self.parse(bDescriptorType, bDescriptorSubType, rest)
        bUnitID, guidExtensionCode, bNumControls, bNrInPins, rest = *rest.unpack("ca16cca*")
        *baSourceID, rest = *rest.unpack("c#{bNrInPins}a*")
        bControlSize, rest = *rest.unpack("ca*")
        bmControls, iExtension = *rest.unpack("B#{bControlSize*8}c")

        guidExtensionCode = guidExtensionCode.unpack("H8 H4 H4 H4 H12").join("-")

        self.new(bDescriptorType, bDescriptorSubType, bUnitID, guidExtensionCode, bNumControls, bNrInPins, baSourceID, bControlSize, bmControls, iExtension)
end

Public Instance Methods

short_inspect() click to toggle source
# File lib/uvc.rb, line 639
def short_inspect
        "%s bUnitID=%d\n  %s" % [
                self.class.name.sub(/Descriptor$/, ''),
                self.bUnitID,
                self.guidExtensionCode
        ]
end