Monday 15 August 2011

kinect psl1ght work in progress

nuimotor: i can move it, get tilt status, set led, all fine. One only control endpoint.
nuicamera: i can write and read commands using control endpoint some command to start video and depth sometimes fail i must implement retry for write_register and send_cmd stuff. Two additional endpoints enabled for depth and video.Next step will be learn to parsing streams. I must rewrite some stuff for isoc stream and processing packets.
nuiaudio: 1 control endpoint and four exta endpoint detected. Todo almost everything for audio, i have some code from eyetoy in ps2 perhaps i can port it.

Output from actual sample driver code using psl1ght. Libfreenect was a good start point however usb stuff is something different in PlayStation:

PS3Load v0.1
Waiting for connection...
Receiving data... (0x00010687/0x00041d60)
Launching...
Initializing pad...
Function name kinectInit
Kinect Driver for PlayStation 3
Copyright (C) 2010,2011 Antonio José Ramos Márquez aka bigboss
Creating a send_sema semaforo...
Creating a send_cmd mutex...
Mutex 2231383040 is created.
initializing event queue attr
Event queue created with id=(0x000000008D003500)
Function name kinectSetNotifyEventQueue
event port created with id 234894848
event port connected to queue
Function name kinect_probe dev_id=4
USB device probe for kinect getting device descriptor
Usb device found has idVendor 5e04
New usb device found has NUI_MOTOR idProduct b002
Function name kinect_attach dev_id=4
Getting device descriptor
Function name nuimotor_attach dev_id=4
Kinect NUI_MOTOR detected
Getting configuration descriptor
Number of interfaces 1
Getting interface descriptor
Verifying number of endpoints
Getting control endpoint descriptor for NUI_MOTOR 0
tryng to open control endpoint 0
Function name nuimotor_control_transfer step=0 arg=1
Set Configuration (bConfigurationValue=1)
Function name kinect_probe dev_id=12
USB device probe for kinect getting device descriptor
init motor
Getting endpoint for NUI_CAMERA depth pipe_id 4
Function name nuicamera_control_transfer step=0 arg=1
Set Configuration (bConfigurationValue=1)
Registering kinect driver return (0)
Sending event NUICAMERA_READY
Function name kinectSetTiltDegs
NUIMOTOR angle received to 20
NUIMOTOR angle set to 40
Function name nuimotor_control_transfer step=3 arg=40
set angle
kinectSetTiltDegs return 0
Function name kinectSetLed
Function name nuimotor_control_transfer step=4 arg=1
set led
motor ready time to camera and audio sending NUIMOTOR_ENABLED
kinectSetLed return 0
Function name kinectUpdateTiltState
Sending event NUIAUDIO_READY
updating tilt state
kinectUpdateTiltState return 0
Function name nuimotor_control_done result=0x0 count=0 arg=0x3
Function name kinectGetTiltStatus
tilt status=0
Function name kinectGetTiltDegs
Function name nuimotor_control_done result=0x0 count=0 arg=0x4
Function name kinectGetMksAccel
Received event NUICAMERA_READY
Nuimotor initialized set angle and led set to red done...
Function name kinect_find_video_mode
Function name nuimotor_control_done result=0x0 count=10 arg=0x5
Function name kinect_find_depth_mode
Function name kinectSetDepthMode
Function name kinect_find_video_mode
local rgb buffer 50000830
Function name kinectSetVideoBuffer buf=50000830
Function name stream_setbuf
Received event NUIAUDIO_READY TODO audio initialization and isoc stuff
Function name kinectStartDepth
Function name kinect_find_depth_mode
Function name kinect_find_depth_mode
Function name stream_init
Function name usb_transfer type=1
Function name write_register reg=0105 <= data=00
Write Reg 0x0105 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0000 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=0006 <= data=00
Write Reg 0x0006 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0001 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=0012 <= data=03
Write Reg 0x0012 <= 0x03
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0002 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=0013 <= data=01
Write Reg 0x0013 <= 0x01
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0003 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Control cmd=0003 tag=0004 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=0006 <= data=02
Write Reg 0x0006 <= 0x02
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0005 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1
Function name setCount count=0 result=0
Function name getCount
actual_len 0
actual_len 0 send_cmd: Input control transfer failed (0)
send_cmd returned 0 [0000 f000], 0000 expected
Function name write_register reg=0017 <= data=00
Write Reg 0x0017 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0005 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name kinectStartVideo
Function name kinect_get_current_video_mode
Function name kinect_find_video_mode
Function name kinect_find_video_mode
Function name stream_init
Function name usb_transfer type=0
Function name write_register reg=000c <= data=05
Write Reg 0x000c <= 0x05
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0006 len=0004: 0
Function name stream_done type=0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=20 arg=0x1
Function name setCount count=20 result=0
Function name getCount
actual_len 20
send_cmd: Bad tag 0500 != 0600
send_cmd return FFFFFFFF
Function name write_register reg=000d <= data=01
Write Reg 0x000d <= 0x01
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0006 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=000e <= data=0f
Write Reg 0x000e <= 0x0f
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0007 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name write_register reg=0005 <= data=01
Write Reg 0x0005 <= 0x01
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0008 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1
Function name setCount count=0 result=0
Function name getCount
actual_len 0
actual_len 0 send_cmd: Input control transfer failed (0)
send_cmd returned 0 [0000 f000], 0000 expected
Function name write_register reg=0047 <= data=00
Write Reg 0x0047 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0008 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name kinectStopDepth
Function name write_register reg=0006 <= data=00
Write Reg 0x0006 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0009 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
send_cmd: Bad tag 0800 != 0900
send_cmd return FFFFFFFF
Function name stream_freebufs
Function name kinectStopVideo
Function name write_register reg=0005 <= data=00
Write Reg 0x0005 <= 0x00
Function name send_cmd
usbdControlTransfer return 0
Control cmd=0003 tag=0009 len=0004: 0
Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0
Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1
Function name setCount count=10 result=0
Function name getCount
actual_len 10
Function name stream_freebufs
Exiting for real.


more to come

No comments: