Re: [PATCH 0/9 v2] IR: few fixes, additions and ENE driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-07-29 at 19:15 +0200, Christoph Bartelmus wrote: 
> Hi Maxim,
> 
> on 29 Jul 10 at 19:26, Maxim Levitsky wrote:
> > On Thu, 2010-07-29 at 11:38 -0400, Andy Walls wrote:
> >> On Thu, 2010-07-29 at 17:41 +0300, Maxim Levitsky wrote:
> >>> On Thu, 2010-07-29 at 09:23 +0200, Christoph Bartelmus wrote:
> >>>> Hi Maxim,
> >>>>
> >>>> on 29 Jul 10 at 02:40, Maxim Levitsky wrote:
> >>>> [...]
> >>>>> In addition to comments, I changed helper function that processes
> >>>>> samples so it sends last space as soon as timeout is reached.
> >>>>> This breaks somewhat lirc, because now it gets 2 spaces in row.
> >>>>> However, if it uses timeout reports (which are now fully supported)
> >>>>> it will get such report in middle.
> >>>>>
> >>>>> Note that I send timeout report with zero value.
> >>>>> I don't think that this value is importaint.
> >>>>
> >>>> This does not sound good. Of course the value is important to userspace
> >>>> and 2 spaces in a row will break decoding.
> >>>>
> >>>> Christoph
> >>>
> >>> Could you explain exactly how timeout reports work?
> >>>
> >>> Lirc interface isn't set to stone, so how about a reasonable compromise.
> >>> After reasonable long period of inactivity (200 ms for example), space
> >>> is sent, and then next report starts with a pulse.
> >>> So gaps between keypresses will be maximum of 200 ms, and as a bonus I
> >>> could rip of the logic that deals with remembering the time?
> >>>
> >>> Best regards,
> >>> Maxim Levitsky
> 
> > So, timeout report is just another sample, with a mark attached, that
> > this is last sample? right?
> 
> No, a timeout report is just an additional hint for the decoder that a  
> specific amount of time has passed since the last pulse _now_.
> 
> [...]
> > In that case, lets do that this way:
> >
> > As soon as timeout is reached, I just send lirc the timeout report.
> > Then next keypress will start with pulse.
> 
> When timeout reports are enabled the sequence must be:
> <pulse> <timeout> <space> <pulse>
> where <timeout> is optional.
> 
> lircd will not work when you leave out the space. It must know the exact  
> time between the pulses. Some hardware generates timeout reports that are  
> too short to distinguish between spaces that are so short that the next  
> sequence can be interpreted as a repeat or longer spaces which indicate  
> that this is a new key press.

Let me give an example to see if I got that right.


Suppose we have this sequence of reports from the driver:

500 (pulse)
200000 (timeout)
100000000 (space)
500 (pulse)


Is that correct that time between first and second pulse is
'100200000' ?

Best regards,
Maxim Levitsky

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux