LCDproc development and user support list

Text archives Help


[Lcdproc] PATCH: Enable picolcd to pass IR codes to LIRC via UDP (redone)


Chronological Thread 
  • From: jack at jackpot.uk.net (Jack Cleaver)
  • Subject: [Lcdproc] PATCH: Enable picolcd to pass IR codes to LIRC via UDP (redone)
  • Date: Sat, 20 Sep 2008 10:44:33 +0100

Peter Marschall wrote:
> Hi Jack,
>
> On Wednesday, 17. September 2008, Jack Cleaver wrote:
>> OK, I've redone my patch to enable picolcd to send IR codes to
>> LIRC.
>>
>> - The revised patch was made against this base:
>> http://lcdproc.sourceforge.net/nightly/lcdproc-CVS-current.tar.gz -
>> IR functionality can be enabled in the config, default is off. -
>> Sync and gap lengths are now configurable. - Added sample stanzas
>> to LCDd.conf. - Updated the docbook to describe the new config
>> options, and to reflect my reservations about the sync and gap. -
>> I've inspected the existing docbook notes for picolcd, and I'm not
>> aware of any deficiencies in them.
>
> I have committed your patch with a few changes and given the picolcd
> driver a slight overhaul.

Thanks.
>
> Changes compared yo your version: - No config option "irenabled"
> Sending to LIRC is triggered by setting LircHost to a nonempty value

Fair enough.

> - LircHost instead of LircAddress This now should support host names
> as well !!!

Good.

> - less variables in PrivateData Some variables you had stored in
> PrivateData which were never used after initialisation have been
> converted to local variables in the respective functions.

OK, I understand.
>
> It compiles cleanly. Without having a picolcd I cannot test it more.
> Please test it and report feedback.

OK, later today.
>
> One more question: Is p->gap really necessary ? Is it a variable that
> needs to keep its value across multiple calls of ir_transcode() ?

Yes, it is a kind of running total: a single IR command can (and
generally will) produce multiple events, each event presenting one
buffer that needs to be transcoded. A typical IR command requires (I
think) seven buffers (only repeat codes fit in a single buffer). The
actual 'length' of one command is the sum of the durations of the marks
and spaces from all the buffers comprising that command.
The final gap g, after all buffers have been processed, is the value
g = f - sum(d)
where f is a notional fixed duration shared by all commands, and sum(d)
is the sum of the durations of all the mark and space intervals
comprising one command.

HTH.
--
Jack.




Archive powered by MHonArc 2.6.18.

Top of page