trying to create new lircd.conf based on NEC HEX codes

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

trying to create new lircd.conf based on NEC HEX codes

Christoph Haug
Hi,

I am trying to build a new lircd.conf file for a remote whose HEX codes are
documented here:
https://dynaudio.zendesk.com/hc/en-us/articles/204162182

I have spent hours trying to figure out how this information is transformed
into a lircd.conf file, but without success. I am learning a lot about IR
remotes, but still not enough to be anywhere close to doing that job.

Could anyone help me with this?

Regards,
Christoph


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
Reply | Threaded
Open this post in threaded view
|

Re: trying to create new lircd.conf based on NEC HEX codes

Bengt Martensson-2
On 06/15/16 04:53, Christoph Haug wrote:
> Hi,
>
> I am trying to build a new lircd.conf file for a remote whose HEX codes are
> documented here:
> https://dynaudio.zendesk.com/hc/en-us/articles/204162182

IrScrutinizer can do this for you. From the page you quoted, we guess at
protocol = NEC1, devicenumber (D) = 0, subdevice (S) = FF = 255 ("Vendor
code 00FF). Parsing the table is a bit of a PITA, since it is so parser
unfriendly... Anyhow, with these assumptions, exporting from
IrScrutinizer gives the file below.

Hope this helps.

Bengt

# IrScrutinizer parametric export
#
# Creating tool: IrScrutinizer version 1.2.1expermental
# Creating user: bengt
# CreateDate: Wed Jun 15 09:27:13 CEST 2016
# Encoding: WINDOWS-1252
#
begin remote
        name Xeo
        bits 32
        flags SPACE_ENC
        eps 30
        aeps 100
        zero 573 573
        one 573 1694
        header 9041 4507
        ptrail 573
        repeat 9041 2267
        gap 36000
        repeat_bit 0
        frequency 38400
                begin codes
                        Power_On 0x00000000ff00ff
                        Power_Off 0x00000000ff28d7
                        Volume_+ 0x00000000ff609f
                        Volume_- 0x00000000ff20df
                        Mute 0x00000000ff6897
                        Input_1,_Line 0x00000000ff9867
                        Input_2,_Opt 0x00000000ffe817
                        Input_3,_Coax_-_0E* 0x00000000ff708f
                        Input_3,_Aux 0x00000000ff18e7
                        Input_4,_Bluetooth 0x00000000ffb847
                        A_(10) 0x00000000ff08f7
                        B_(11) 0x00000000ff8877
                        C_(12) 0x00000000ff48b7
                        Bluetooth_pairing 0x00000000ff04fb
                        Bluetooth,_play_/_pause 0x00000000ffd827
                        Bluetooth,_previous_track 0x00000000fff807
                        Bluetooth,_next_track 0x00000000ff38c7
                        Input_4,_USB 0x00000000ff9966
                        Status_LED_On/Off 0x00000000ff02fd
                end codes
end remote

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
Reply | Threaded
Open this post in threaded view
|

RE: trying to create new lircd.conf based on NEC HEX codes

Christoph Haug

Wow, thanks a lot Bengt. IRScrutinizer looks like the tool I have been looking for but that google wouldn't reveal to me.

The LIRC file you created doesn't work for me out of the box but I will play around to see if I can figure things out.  For now I am focused on a single key that I want to get to work and that is the power-on button. I know what the signal looks like because the irplus android app has an option to display a diagram of the codes it produces. For the Power On button it gives me the signal below. I have added some comments to show how I had interpreted it before I received your email (based on the generic NEC LIRC file in the LIRC database) and based on some additional research.

 

 

I could not figure out what the last zero (or pulse) was supposed to be nor whether the empty space at the end would need to be represented somehow.

 

Now, looking at what IR scrutinizer gave you, what strikes me is that it makes the signal a lot longer than it should be (and I say should be based on the visual representation above.

IRscrutinizer’s signal is

00000000000000000000000000000000111111110000000011111111

While it should be

                        00000000111111110000000011111111

So if I’m counting correctly, it has an extra 23 leading zeros. Now, 23 is a weird number which leaves me clueless.

 

What I like about the IRscrutinizer output is that it includes “repeat_bit   0” and by the sound of it, that might be the trailing zero that I could not figure out. The repeat_bit is not documented at http://winlirc.sourceforge.net/technicaldetails.html  which is why I didn’t know it existed.

 

Anyway, I just wanted to share this in case you or anyone else has any further ideas.

 

Christoph

 

 

> -----Original Message-----

> From: Bengt Martensson [mailto:[hidden email]]

> Sent: Wednesday, June 15, 2016 3:35 AM

> To: [hidden email]

> Subject: Re: trying to create new lircd.conf based on NEC HEX codes

>

> On 06/15/16 04:53, Christoph Haug wrote:

> > Hi,

> >

> > I am trying to build a new lircd.conf file for a remote whose HEX

> > codes are documented here:

> > https://dynaudio.zendesk.com/hc/en-us/articles/204162182

>

> IrScrutinizer can do this for you. From the page you quoted, we guess at

> protocol = NEC1, devicenumber (D) = 0, subdevice (S) = FF = 255 ("Vendor

> code 00FF). Parsing the table is a bit of a PITA, since it is so parser

> unfriendly... Anyhow, with these assumptions, exporting from IrScrutinizer

> gives the file below.

>

> Hope this helps.

>

> Bengt

>

> # IrScrutinizer parametric export

> #

> # Creating tool: IrScrutinizer version 1.2.1expermental # Creating user: bengt

> # CreateDate: Wed Jun 15 09:27:13 CEST 2016 # Encoding: WINDOWS-1252 #

> begin remote

>             name    Xeo

>             bits        32

>             flags      SPACE_ENC

>             eps        30

>             aeps      100

>             zero       573         573

>             one        573         1694

>             header 9041      4507

>             ptrail     573

>             repeat  9041      2267

>             gap        36000

>             repeat_bit          0

>             frequency          38400

>                             begin codes

>                                            Power_On         0x00000000ff00ff

>                                            Power_Off         0x00000000ff28d7

>                                            Volume_+          0x00000000ff609f

>                                            Volume_-           0x00000000ff20df

>                                            Mute    0x00000000ff6897

>                                            Input_1,_Line   0x00000000ff9867

>                                            Input_2,_Opt    0x00000000ffe817

>                                            Input_3,_Coax_-_0E*   0x00000000ff708f

>                                            Input_3,_Aux   0x00000000ff18e7

>                                            Input_4,_Bluetooth       0x00000000ffb847

>                                            A_(10)  0x00000000ff08f7

>                                            B_(11)  0x00000000ff8877

>                                            C_(12)  0x00000000ff48b7

>                                            Bluetooth_pairing          0x00000000ff04fb

>                                            Bluetooth,_play_/_pause          0x00000000ffd827

>                                            Bluetooth,_previous_track        0x00000000fff807

>                                            Bluetooth,_next_track 0x00000000ff38c7

>                                            Input_4,_USB   0x00000000ff9966

>                                            Status_LED_On/Off       0x00000000ff02fd

>                             end codes

> end remote

>

> ------------------------------------------------------------------------------

> What NetFlow Analyzer can do for you? Monitors network bandwidth and

> traffic patterns at an interface-level. Reveals which users, apps, and

> protocols are consuming the most bandwidth. Provides multi-vendor support

> for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using

> capacity planning reports.

> http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Reply | Threaded
Open this post in threaded view
|

RE: trying to create new lircd.conf based on NEC HEX codes

Christoph Haug
In reply to this post by Bengt Martensson-2

Hi again,

 

just a quick follow up on my previous email. I have tried various things with IRScrutinizer but did not come up with a functioning signal. I visually compared various signals and they seem to be basically the same except for the last but. In the screenshot below, you see (from bottom to top)

-          The signal as IRscrutinizer displays it after entering the parameters

-          The signal as the irplus android app displays the signal which actually works (see my previous email)

-          The signal as IRscrutinizer displays it when the LIRC file it produced is reimported.

 

I find it somewhat surprising that the two IRscrutinizer signals are not 100 percent identical. After all, it is the same parameters , only after conversion to LIRC. But since I don’t assume there is a bug, I guess this means that the distance of that trailing pulse doesn’t matter so much.

 

But if that is the case, then that would mean that the devil is very much in the details of the main part of the signal. Visually, the main part looks the same in all three, but since only one works, there must be tiny differences. But I have no idea how to identify those.

 

There is another uncertainty in all of this: Since the middle graph doesn’t have any scale, I have to guess it. In the image below, I did so by making the main signal match. As a result, the trailing pulse comes slightly early (in comparison to the original IRscrutinizer graph. Alternatively, I could align the trailing pulse which would slightly stretch the main part. But either way, I don’t know what to do to get a working signal…

 

Any help is greatly appreciated.

 

Christoph

 

 

> -----Original Message-----

> From: Bengt Martensson [mailto:[hidden email]]

> Sent: Wednesday, June 15, 2016 3:35 AM

> To: [hidden email]

> Subject: Re: trying to create new lircd.conf based on NEC HEX codes

>

> On 06/15/16 04:53, Christoph Haug wrote:

> > Hi,

> >

> > I am trying to build a new lircd.conf file for a remote whose HEX

> > codes are documented here:

> > https://dynaudio.zendesk.com/hc/en-us/articles/204162182

>

> IrScrutinizer can do this for you. From the page you quoted, we guess at

> protocol = NEC1, devicenumber (D) = 0, subdevice (S) = FF = 255 ("Vendor

> code 00FF). Parsing the table is a bit of a PITA, since it is so parser

> unfriendly... Anyhow, with these assumptions, exporting from IrScrutinizer

> gives the file below.

>

> Hope this helps.

>

> Bengt

>

> # IrScrutinizer parametric export

> #

> # Creating tool: IrScrutinizer version 1.2.1expermental # Creating user: bengt

> # CreateDate: Wed Jun 15 09:27:13 CEST 2016 # Encoding: WINDOWS-1252 #

> begin remote

>             name    Xeo

>             bits        32

>             flags      SPACE_ENC

>             eps        30

>             aeps      100

>             zero       573         573

>             one        573         1694

>             header 9041      4507

>             ptrail     573

>             repeat  9041      2267

>             gap        36000

>             repeat_bit          0

>             frequency          38400

>                             begin codes

>                                            Power_On         0x00000000ff00ff

>                                            Power_Off         0x00000000ff28d7

>                                            Volume_+          0x00000000ff609f

>                                            Volume_-           0x00000000ff20df

>                                            Mute    0x00000000ff6897

>                                            Input_1,_Line   0x00000000ff9867

>                                            Input_2,_Opt    0x00000000ffe817

>                                            Input_3,_Coax_-_0E*   0x00000000ff708f

>                                            Input_3,_Aux   0x00000000ff18e7

>                                            Input_4,_Bluetooth       0x00000000ffb847

>                                            A_(10)  0x00000000ff08f7

>                                            B_(11)  0x00000000ff8877

>                                            C_(12)  0x00000000ff48b7

>                                            Bluetooth_pairing          0x00000000ff04fb

>                                            Bluetooth,_play_/_pause          0x00000000ffd827

>                                            Bluetooth,_previous_track        0x00000000fff807

>                                            Bluetooth,_next_track 0x00000000ff38c7

>                                            Input_4,_USB   0x00000000ff9966

>                                            Status_LED_On/Off       0x00000000ff02fd

>                             end codes

> end remote

>

> ------------------------------------------------------------------------------

> What NetFlow Analyzer can do for you? Monitors network bandwidth and

> traffic patterns at an interface-level. Reveals which users, apps, and

> protocols are consuming the most bandwidth. Provides multi-vendor support

> for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using

> capacity planning reports.

> http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Reply | Threaded
Open this post in threaded view
|

Re: trying to create new lircd.conf based on NEC HEX codes

Bengt Martensson-2
On 06/18/16 03:36, Christoph Haug wrote:
> Hi again,
>
>
>
> just a quick follow up on my previous email. I have tried various things
> with IRScrutinizer but did not come up with a functioning signal. I
> visually compared various signals and they seem to be basically the same
> except for the last but. In the screenshot below, you see (from bottom
> to top)

[@rest: The original mail was delayed by the "moderators". In the
meantime, Christoph and I have exchanged a few private mails. I try to
"reset".]

First of all: the specification of NEC1 signals are published and well
understood. It consists of a first part carrying the information (that
is the red part on the screen shots), padded with a gap so that the
total duration is 108 ms. Then there is a repetition sequence, blue in
the screen short, repeated as long as "the key is held down". This part
is also padded to be 108 ms long. It is a sad fact that Lirc cannot
reproduce this kind of signal. There is only one parameter ("gap"),
which does not suffice, since the trailing gap of the initial signal and
the repeat both are determined by this parameter, and they do not have
the same lengths.

Normally (or at least "often"), this is not really a problem for
non-repeating signals (like "power"), only the initial part is
recognized, but it is also possible that one (or another) number of
repeats are needed for the positive recognition of the signal.

You can try to fiddle with the "gap" parameter to see if that makes a
difference. Also try sending exactly 1, 2, or 3 commands (the -#
parameter in irsend).  You can also try other means of sending NEC1 0/0,
like the mentioned irplus (which is directly supported from IrScrutinizer).

Greetz,

Bengt


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape