Ustaw ręcznie typ przesyłania USB dla urządzenia
Próbuję uruchomić Asus xtion na płycie ARM (Pandaboard) i już zainstalowałem i użyłem próbek (np. NiSimpleRead) dostarczonych przez openni. Aby te próbki były uruchomione na tej platformie, potrzebne były pewne usprawnienia, jednym z nich jest ręczne ustawienie UsbInterface na izochroniczny (w GlobalDefaults.ini). Ale potem wszystko działa płynnie
Teraz chcę użyć PCL (opartego na openni), aby pobrać kilka klatek, ale PCL nie działa. Uważam, że pcl próbuje samodzielnie ustawić interfejs USB (prawdopodobnie używa XnUSBLinux.cpp, aby był ogólny) i próbuje pominąć odpowiednio GlobalDefaults.ini, nie używając mojego ręcznie ustawionego interfejsu USB.
Moje pytanie brzmi, czy mogę ustawić opcję interfejsu USB na izochroniczny globalnie dla urządzenia? lub jak mogłem zmienić XnUSBLinux.cpp, aby go uruchomić.
Jest to wyjście z lsusb -v (zredukowane do części urządzenia asus) i pokazuje opcję dwóch operacji (masowa i izochroniczna)
Bus 001 Device 006: ID 1d27:0600
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1d27
idProduct 0x0600
bcdDevice 0.01
iManufacturer 2 PrimeSense
iProduct 1 PrimeSense Device
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 69
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0b70 2x 880 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x135c 3x 860 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x1040 3x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Byłoby wspaniale uzyskać pomoc dotyczącą ręcznego ustawiania jednej opcji.