linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Walls <awalls@md.metrocast.net>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Dmitri Belimov <d.belimov@gmail.com>,
	Stefan Ringel <stefan.ringel@arcor.de>,
	Felipe Sanches <juca@members.fsf.org>,
	Bee Hock Goh <beehock@gmail.com>,
	Luis Henrique Fagundes <lhfagundes@hacklab.com.br>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Jarod Wilson <jarod@redhat.com>
Subject: Re: tm6000 and IR
Date: Sat, 18 Dec 2010 08:56:35 -0500	[thread overview]
Message-ID: <1292680595.2061.37.camel@morgan.silverblock.net> (raw)
In-Reply-To: <4D0BFF4B.3060001@redhat.com>

On Fri, 2010-12-17 at 22:24 -0200, Mauro Carvalho Chehab wrote:


> Despite all discussions, we didn't reach an agreement yet.
> 
> There are some points to consider whatever solution we do:
> 
> 1) A keycode table should be able to work with a generic raw decoder. So, on all
> drivers, the bit order and the number of bits for a given protocol should be the same;
> 
> 2) we should avoid to cause regressions on the existing definitions.
> 
> That's said, suggestions to meet the needs are welcome.

Just to throw out some ideas:

It appears to me that what you are looking at are communications
protocols with

a. a common Physical layer (PHY): a pulse distance protocol with a
common carrier freq, bit symbol encoding, leader pulse, trailer pulse,
and repeat sequence.  The number of bits (and the leader pulse length?)
is allowed to vary.  

b. differing Data Link layers (LL): the data link address can be
different lengths and in different places; so can the data payload, so
can the checks on address and data payload.

For the end user, I would present each PHY/LL combination a different
protocol.  How the kernel implements it internally doesn't matter much.
It could be one raw decoder handling all the PHY/LL combinations that it
can, or one PHY decoder and several LL decoders.

The keytables should probably be working on cooked LL output from the
raw decoder.  I think that will handle a lot of the issues you mention.
The output from a LL could include

	destination address (from the transmitted code),
	source address (useful if different remotes can be detected),
	payload length,
	payload, and
	maybe button up/down.

The LL could swallow the automatic repeats, since they are just part of
the button up/down scheme.

Aside from backward compatibility with existing keytables, I don't see
much point in a decoder trying to flip bits from the PHY layer around to
present a pseudo-PHY layer output.  Don't keytables get updated with the
kernel release anyway, or did they all move to userspace utils?


Anyway, just some thoughts.

Regards,
Andy


> Thanks,
> Mauro



  reply	other threads:[~2010-12-18 13:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-07  5:28 [RFC PATCH] Audio standards on tm6000 Mauro Carvalho Chehab
2010-10-08 19:03 ` Dmitri Belimov
2010-10-08 11:52   ` Mauro Carvalho Chehab
2010-10-12 18:28     ` Dmitri Belimov
2010-10-12 16:54       ` Stefan Ringel
2010-10-13 14:13         ` Dmitri Belimov
     [not found]         ` <20101129174412.08f2001c@glory.local>
     [not found]           ` <4CF51C9E.6040600@arcor.de>
     [not found]             ` <20101201144704.43b58f2c@glory.local>
     [not found]               ` <4CF67AB9.6020006@arcor.de>
     [not found]                 ` <20101202134128.615bbfa0@glory.local>
     [not found]                   ` <4CF71CF6.7080603@redhat.com>
     [not found]                     ` <20101206010934.55d07569@glory.local>
     [not found]                       ` <4CFBF62D.7010301@arcor.de>
     [not found]                         ` <20101206190230.2259d7ab@glory.local>
     [not found]                           ` <4CFEA3D2.4050309@arcor.de>
     [not found]                             ` <20101208125539.739e2ed2@glory.local>
     [not found]                               ` <4CFFAD1E.7040004@arcor.de>
2010-12-14  3:23                                 ` tm6000 and IR Dmitri Belimov
2010-12-14 16:27                                   ` Stefan Ringel
2010-12-15  7:46                                     ` Dmitri Belimov
2010-12-15 15:52                                       ` Stefan Ringel
2010-12-16  3:26                                         ` Dmitri Belimov
2010-12-16  9:38                                         ` Dmitri Belimov
2010-12-16 17:12                                           ` Stefan Ringel
2010-12-17  1:46                                             ` Dmitri Belimov
2010-12-17  5:18                                               ` Stefan Ringel
2010-12-17  7:08                                                 ` Dmitri Belimov
2010-12-18  0:24                                                   ` Mauro Carvalho Chehab
2010-12-18 13:56                                                     ` Andy Walls [this message]
2010-12-18 15:55                                                       ` Stefan Ringel
2010-12-20  5:41                                                     ` Dmitri Belimov
2010-12-21 22:36                                                       ` Jarod Wilson
2010-12-22  8:57                                                         ` [PATCH] Rework and fix IR Dmitri Belimov
2011-01-13  3:46                                                     ` [PATCH] tm6000: rework init code Dmitri Belimov
2011-01-20  6:05                                                     ` [PATCH] tm6000: add/rework reg.defines Dmitri Belimov
2011-01-20 19:25                                                       ` Stefan Ringel
2011-01-20 23:20                                                         ` Dmitri Belimov
2011-02-17  5:12                                                         ` tm6000 and radio Dmitri Belimov
2011-02-17 20:58                                                           ` Mauro Carvalho Chehab
2011-02-18  1:11                                                             ` [PATCH] tm6000: add radio Dmitri Belimov
2011-03-01  4:55                                                             ` [PATCH] tm6000: add audio conf for new cards Dmitri Belimov
2011-03-18  0:08                                                             ` [PATCH] tm6000: fix s-video input Dmitri Belimov
2011-03-19  6:46                                                               ` Stefan Ringel
2011-03-23  2:49                                                                 ` Dmitri Belimov
2011-04-19  5:29                                                             ` [PATCH v1] tm6000: rework standards Dmitri Belimov
2011-04-19  6:42                                                               ` Stefan Ringel
2011-05-04 16:18                                                                 ` Stefan Ringel
  -- strict thread matches above, loose matches on Subject: below --
2010-06-04 21:03 tm6000 and ir Stefan Ringel
2010-06-06 15:27 ` 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=1292680595.2061.37.camel@morgan.silverblock.net \
    --to=awalls@md.metrocast.net \
    --cc=beehock@gmail.com \
    --cc=d.belimov@gmail.com \
    --cc=jarod@redhat.com \
    --cc=juca@members.fsf.org \
    --cc=lhfagundes@hacklab.com.br \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    --cc=stefan.ringel@arcor.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).