[PD] HID and timestamp

etienne deleflie et at lalila.net
Mon Aug 29 01:39:02 CEST 2005


I'm not sure if this logic is correct, but would it not be possible to 
introduce a delay that is the size of the maximum number of messages 
sent in one chunk?

for example. If the system spits out on average 4 messages together 
(every 20 msecs).... then one could introduce a 20msec delay, and then  
use the 4 messages' timestamp to define a smaller delay to spit out the 
individual messages evenly over that 20msec.

It sounds as though the logic forced by the constraints of the system 
will be: introduce a delay and get a smooth (in time) set of messages, 
or have no delay and lose some of the data.

etienne

>hello,
>
>Am Sonntag 28 August 2005 23:32 schrieb Hans-Christoph Steiner:
>  
>
>>Yes, this is an area that needs some work, but its not an easy problem
>>unfortunately.  Have you tried setting the poll time to 2ms?  That's
>>about as fast as it can go.  Basically, you can't expect smooth data
>>out of a device or sensor even it the values were coming out one at a
>>time.  I recommend smoothing the output using averaging or low-pass
>>filtering.  Try [hid_average] for example.
>>
>>    
>>
>
>one problem with that is that the actual polling intervall is somewhat defined 
>inside the device itself.
>an usb endpoint descriptor contains the _maximum_ intervall period time. this 
>is the guaranteed period after which the device gets polled.
>
>however, this time can also be shorter if possible. the usb spec say that this 
>is really only the maximum intervall. but is not guaranteed to be shorter, 
>anyways.
>
>now if you have multiple messages that the device has to send, they will be 
>sent one after each other as long as the bus active for that device.
>
>(on a sidenote:
>i have found out that i can be that when a device is polled too fast, the 
>output gets even slower! i am not sure if that is due to libusb i use, or if 
>that is a general problem on linux.)
>
>in case of multi-axis devices, like mice, tablets, etc..., it can be that two 
>messages come directly after each other. usually that is as fast the device 
>can send events, and stops only when either there are no more messages or the 
>current time-slice on the usb is over and the next device gets polled (by usb 
>itself). 
>
>this brings me to:
>
>  
>
>>Going forward, it would be a good idea for [hid] to output one value
>>per cycle when polling absolute axes like what the Wacom gives you.
>>    
>>
>
>what do you do when you have multiple messages at once in the incomming 
>stream? discard all exept the first/last? 
>
>i think, if a bunch of messages appears at once, they should be sent at once 
>(in the order they are read).
>
>  
>
>>Its on the TODO list, but I have had little time recently to work on
>>[hid] since I am working numerous freelance jobs to pay the bills.  I
>>have applied for a 1 year fellowship to work on this, let's hope I get
>>it.
>>
>>    
>>
>
>wish you best luck!
>
>  
>
>>.hc
>>
>>    
>>
>
>greetings,
>
>chris
>
>
>_______________________________________________
>PD-list at iem.at mailing list
>UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>
>
>  
>





More information about the Pd-list mailing list