From: Andy Walls <awalls@md.metrocast.net>
To: Jarod Wilson <jarod@wilsonet.com>
Cc: linux-media@vger.kernel.org
Subject: Re: ir-core multi-protocol decode and mceusb
Date: Sat, 29 May 2010 08:39:53 -0400 [thread overview]
Message-ID: <1275136793.2260.18.camel@localhost> (raw)
In-Reply-To: <AANLkTinpzNYueEczjxdjAo3IgToM42NwkHhm97oz2Koj@mail.gmail.com>
On Fri, 2010-05-28 at 00:47 -0400, Jarod Wilson wrote:
> So I'm inching closer to a viable mceusb driver submission -- both a
> first-gen and a third-gen transceiver are now working perfectly with
> multiple different mce remotes. However, that's only when I make sure
> the mceusb driver is loaded w/only the rc6 decoder loaded. When
> ir-core comes up, it requests all decoders to load, starting with the
> nec decoder, followed by the rc5 decoder, then the rc6 decoder and so
> on (init_decoders() in ir-raw-event.c). When I call
> ir_raw_event_handle, all decoders get run on the ir data buffer,
> starting with nec. Well, the nec decoder doesn't like the rc6 data, so
> it pukes. The RUN_DECODER macro break's out of the routine when that
> happens, and the rc6 decoder never gets a chance to run. (Similarly,
> if only ir-nec-decoder has been removed, the rc5 decoder pukes on the
> rc6 data, same problem).
Yes, if the system kernel is going to attempt to discriminate between
various input singals, it needs to let all its "correlators" run and
produce a "confidence" number from each.
Then ideally one would take the result with the highest confidence.
Right now it looks like all the confidence determinations are boolean (0
or -EINVAL) and there is no chance to deal with the case that two
different decoders validly decode something. The first decoder that
declares a match "wins" and sends an event.
> If I'm thinking clearly, rather than breaking
> out of the loop in RUN_DECODER, we really ought to be issuing a
> continue to go on to the next decoder, and possibly be accumulating
> failures, though I don't know that _sumrc actually matters other than
> "greater than zero" (i.e., at least one decoder was successfully able
> to decode the signal). If I'm not thinking clearly, a pointer to what
> I'm missing would be appreciated. :)
You will have to deal with the case that two or more decoders may match
and each sends an IR event. (Unless the ir-core already deals with this
somehow...)
Regards,
Andy
next prev parent reply other threads:[~2010-05-29 12:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-28 4:47 ir-core multi-protocol decode and mceusb Jarod Wilson
2010-05-28 19:31 ` Jarod Wilson
2010-05-29 12:39 ` Andy Walls [this message]
2010-05-29 16:58 ` Jarod Wilson
2010-05-29 20:01 ` Andy Walls
2010-05-30 2:24 ` Jarod Wilson
2010-05-30 14:02 ` Mauro Carvalho Chehab
2010-05-30 19:57 ` Jarod Wilson
2010-05-31 6:20 ` Jarod Wilson
2010-05-31 12:15 ` Andy Walls
2010-05-31 19:06 ` Mauro Carvalho Chehab
2010-05-31 19:38 ` Andy Walls
2010-05-31 20:58 ` Mauro Carvalho Chehab
2010-05-31 21:45 ` Andy Walls
2010-05-31 22:31 ` Mauro Carvalho Chehab
2010-06-01 5:22 ` Jarod Wilson
2010-06-03 6:27 ` Jarod Wilson
2010-06-03 14:31 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1275136793.2260.18.camel@localhost \
--to=awalls@md.metrocast.net \
--cc=jarod@wilsonet.com \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.