Jump to content
Flirc Forums

Ver 3.26.5 IR Debugging capture copy to flirc_util now have to regex string before copy


robroy87010

Recommended Posts

Windows 11, seems that this version is required otherwise mostly get failures on flirc_util --sendir --pattern=...... when using 3.26.0 

Updated the software, but found on capture that format has changed (maybe for the better) but where I used to get:

0,8954,4446,581,508,575,1647,578,512,571,1652,573,516,577,1646,579,1644,570,1652,573,1649,575,1647,578,1645,579,510,573,517,577,513,580,1642,573,1650,574,1648,606,1617,579,511,572,518,576,514,579,511,572,517,577,513,580,510,573,517,576,1647,578,1645,580,1642,572,1651,574,1659,566,1646,579

which I could cut and paste into flirc_util --sendir --pattern=0,8954,4446,581,508,575,1647,578,512,571,1652,573,516,577,1646,579,1644,570,1652,573,1649,575,1647,578,1645,579,510,573,517,577,513,580,1642,573,1650,574,1648,606,1617,579,511,572,518,576,514,579,511,572,517,577,513,580,510,573,517,576,1647,578,1645,580,1642,572,1651,574,1659,566,1646,579

now IR capture displays

-39942

+8990 -4421 +596 -493 +601 -1624 +570 -520 +604 -1620 +574 -517 +577 -1648 +577 -1648 +578 -1646 +599 -1625 +600 -1624 +570 -1654 +571 -520 +604 -487 +597 -493 +579 -1645 +601 -1623 +571 -520 +604 -1620 +574 -517 +577 -513 +601 -1624 +601 -489 +605 -1619 +574 -517 +577 -1647 +599 -492 +602 -1622 +605 -1619 +604 -487 +575 -1650 +607 -483 +579 -1646 +579
 

I dont see anything in the ini file to "old school" this capture, and the flirc_utility doesnt yet appear to accept the new capture stream.

Comments anyone? Where is this going?

With kind regards,

Rob

  • Like 1
Link to comment
Share on other sites

No worries, it is a minor complaint compared to a bug!

No rush to this below question:

I don't see any explanation why 3.26.0 is now broken with fully up to date Win 11 22H2.

Testing 3.26.0 using the command line repeatedly verified this on several machines.

These machines were minimal-ist machines (Minisforums N40 mostly).

No easily accessible method to raise the priority of the command line to see if that would improve.

Is there a flirc_util command line switch for verbose that might offer a better error enumeration than

                      >> [E] util/flirc_util/src/cmds/ir_transmit.c sendir(96): Error: invalid length, must be even

Link to comment
Share on other sites

This was long overdue, and should be fixed in an update I just pushed:

Now supports pronto codes or the raw format that is printed directly from the GUI. Examples below. Just put the code in a string.

Just a note, interkey delay is built into pronto codes. You can specify it, but it will be ignored. Also pronto codes should work with comma's or spaces.

Sorry, it was batshit stupid before, especially with the leading zero needed. This is much easier to comprehend.

  sendir --pronto="0000,006D,0022,0002,0154,00A9,0014,0014,0014,0014,0014,0040,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0040,0014,0040,0014,0014,0014,0040,0014,0040,0014,0040,0014,0040,0014,0040,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0014,0040,0014,0014,0014,0040,0014,0040,0014,0040,0014,0040,0014,0040,0014,0040,0014,0014,0014,0040,0014,0608,0154,0056,0014,04F" --repeat=4

  sendir --raw="+8840 -4394 +520 -520 +520 -520 +520 -1664 +520 -520 +520 -520 +520 -520 +520 -520 +520 -520 +520 -1664 +520 -1664 +520 -520 +520 -1664 +520 -1664 +520 -1664 +520 -1664 +520 -1664 +520 -520 +520 -520 +520 -520 +520 -520 +520 -520 +520 -520 +520 -1664 +520 -520 +520 -1664 +520 -1664 +520 -1664 +520 -1664 +520 -1664 +520 -1664 +520 -520 +520 -1664 +520" --ik=23000 --repeat=10

  • Like 1
Link to comment
Share on other sites

Hi,

I have a short term problem. Our software we are using only sends the --pattern= in the exported command line.

 So now that I have upgraded the firmware (there is no going back right? possible to flirc_util upgrade oldfirmware x?)

I dont (currently) have a path to convert the --raw= current captured codes to the --pattern= codes

      (b/c our current software database and execution is dependent on / hard coded --dont shoot me pls! We will fix just takes time!) 

Any options like: GUI secret setting? command line capture to specific format?

With kind regards,

Rob

Link to comment
Share on other sites

3 minutes ago, robroy87010 said:

Hi,

I have a short term problem. Our software we are using only sends the --pattern= in the exported command line.

 So now that I have upgraded the firmware (there is no going back right? possible to flirc_util upgrade oldfirmware x?)

I dont (currently) have a path to convert the --raw= current captured codes to the --pattern= codes

      (b/c our current software database and execution is dependent on / hard coded --dont shoot me pls! We will fix just takes time!) 

Any options like: GUI secret setting? command line capture to specific format?

With kind regards,

Rob

i can send you the previous firmware, but would also need to include support for the comma delimited sendir command, is that correct?

Link to comment
Share on other sites

Hi, That would be great!

     No support (for comma delimited sendir) required since I can roll back the GUI software to 3.26.0 

Our use case for FLIRC is programatically sending IR codes. These IR codes are a large variety of TV codes which depends on which TV(s) the customer has installed. On a lot of TVs that we dont have in our database, or for some reasone they dont work, we have to capture the IR codes, assemble them into a group/database, and then we are able to use these programatically with flirc_util -sendir as needed.

We need to improve the current capture process, opening the FLIRC GUI Device Log IR Debugging, pressing the remote, copying the captured ir code, pasting into a database/file, verifying operation by replay, and adding meta data ....  it is not automated at the customer end currently. As a result we cannot scale product sales due to tech support hours required (not all tech support hours are for this process but it would signifcantly help)

Is it possible to extend flirc_util record (or record_api) to produce the captured codes either in a file or as console output?

Or there is a better way that we are just not seeing?  

Edited by robroy87010
Link to comment
Share on other sites

Hi,

 We do NOT need the prior version firmware, just proved that regex will reformat the capture string. duh that was the title of the post! 

The capture is imprecise, have to try a number of samples before finding the one that works for each code. 

I dont see any TV codes for ONN anywhere, when I finish testing these, where is the database to push to?

 

With kind regards,

Rob 

Link to comment
Share on other sites

  • 1 month later...

Is it possible to parse the raw data to match it with a protocol, address and command code? I guess it should be doable especially if you can take an informed guess about the protocol being used. Is the raw data format documented somewhere?

Edited by Slion
Link to comment
Share on other sites

On 5/29/2023 at 1:09 PM, jason said:

I’m almost done redoing all my build tools so this will be included in the release. 

I've pushed updates. My effort was focused on fixing auto-updates, linux builds, pi builds, deb packages, etc. I don't know where I left flirc_util, however another utility is now included called irtools.

This is my go to app for debugging protocols, transmitting, etc.

Since it runs on a different interface, you can run it along side the flirc GUI and both apps will be able to open and communicate with the device.

You can use irtools to listen in raw mode. You can also live decode showing the results of my own decoder, the arduino decoder, and decodeir (similar to irscrutinizer)

You can listen and print out pronto equivalent codes

You can transmit using raw codes, or pronto codes.

I do not support transmitting with protocols yet (XMP, HEX: 0x21314) for example.

I do not do any edge cleanup. Meaning, if I successfully decode a protocol, I will eventually take the signal, clean up the edges so they are idealized against what the protocol specifies, and reprint those out.

I will also eventually turn this into a library.

Link to comment
Share on other sites

This should be helpful as my help command is not great, will fix that:


 irtools decode --raw="+8900 -4547 +484 -588 +456 -618 +495 -599 +484 -560 +456 -641 +458 -560 +510 -1721 +484 -587 +483 -1724 +456 -1776 +432 -1747 +511 -1722 +484 -1696 +510 -1695 +512 -562 +483 -1721 +485 -639 +405 -1748 +506 -591 +482 -564 +482 -615 +455 -1725 +478 -618 +430 -641 +57 -1723 +483 -588 +481 -1749 +433 -1801 +428 -1727 +477 -644 +430 -1722 +511 -1723 +483"


+8900 -4547 +484 -588 +456 -618 +495 -599 +484 -560 +456 -641 +458 -560 +510 -1721 +484 -587 +483 -1724 +456 -1776 +432 -1747 +511 -1722 +484 -1696 +510 -1695 +512 -562 +483 -1721 +485 -639 +405 -1748 +506 -591 +482 -564 +482 -615 +455 -1725 +478 -618 +430 -641 +457 -1723 +483 -588 +481 -1749 +433 -1801 +428 -1727 +477 -644 +430 -1722 +511 -1723 +483 
:: FLIRC    :: NEC           - scancode: 0x02FD44BB
0000 006D 0022 0002 0156 00AE 0012 0016 0011 0017 0013 0017 0012 0015 0011 0018 0011 0015 0013 0042 0012 0016 0012 0042 0011 0044 0010 0043 0013 0042 0012 0041 0013 0041 0013 0015 0012 0042 0012 0018 000F 0043 0013 0016 0012 0015 0012 0017 0011 0042 0012 0017 0010 0018 0011 0042 0012 0016 0012 0043 0010 0045 0010 0042 0012 0018 0010 0042 0013 0042 0012 05F1 0156 0056 0015 0E4A
:: DECODEIR :: NEC           - scancode: 0x00BB  D:0x0040  S:0xFFFFFFFF
:: FLIRC    :: NEC           - scancode: 0x02FD44BB
:: ARDUINO  :: UNKNOWN       - scancode: 0x2A300DA3 {32}
++++
 

Picture for easier consumption. 

Here I'm invoking the command to decode a signal with raw timing, specifying the input as a parameter in quotes. The output is shown as hex codes, and it also prints back the PRONTO code. Helpful is that it appends the necessary repeat needed for NEC, which is a different sequence than the first initial signal.

image.png

Link to comment
Share on other sites

Hi @jason

Thanks for your continued efforts on this. I am not 100% sure it's working on the raspberry pi - please see the output below it all looks successful however the IR signal is not transmitted.  Also from a usability perspective it would be great if you could have the raw signal as an input for the transmission using irtools rather than having to decode and then add commas into the before issuing a send command. Something like:

irtools sendir --raw="..." --repeat=1

 

pi@raspberrypi:~ $ irtools decode --raw="+9071 -4425 +638 -456 +639 -456 +639 -451 +644 -451 +643 -452 +643 -452 +639 -456 +638 -456 +639 -1584 +643 -1584 +643 -1579 +643 -1584 +643 -1585 +638 -1585 +643 -1584 +639 -1584 +643 -452 +643 -451 +639 -1584 +643 -1584 +643 -452 +639 -456 +664 -430 +639 -452 +643 -1584 +639 -1584 +643 -452 +643 -451 +643 -1585 +638 -1584 +669 -1559 +638 -1585 +643"
[V] main(121): Command: irtools
[V] main(125): running pre-command function 0
[D] list_devs(254): ---------------------------------------------------------
[D] list_devs(255): -----------------------Device List-----------------------
[D] list_devs(256): ---------------------------------------------------------
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw0
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    0
[D] list_devs(274):   Usage Page:   65280
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   1
[D] list_devs(275):   Usage:        6
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   12
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   1
[D] list_devs(275):   Usage:        128
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   12
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw2
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    2
[D] list_devs(274):   Usage Page:   65280
[D] list_devs(275):   Usage:        1
[D] list_devs(281): ---------------------------------------------------------
[D] hid_find(229): Device Used
  type: 20a0 0006
  path: /dev/hidraw2
  serial_number: E7A3ABA25050323431202020FF101122
[D] hid_find(231):   Manufacturer: flirc.tv
[D] hid_find(232):   Product:      flirc
[D] hid_find(233):   Release:      200
[D] hid_find(234):   Interface:    2
[D] hid_find(235):   Usage Page:   65280
[D] hid_find(236):   Usage:        1
[V] hid_dev_open(311): Manufacturer String: flirc.tv
[V] hid_dev_open(316): Product String: flirc
[V] hid_dev_open(321): Serial Number String: E7A3ABA25050323431202020FF101122
[V] hid_dev_open(322): 
[V] hid_send_packet(79): Report ID:  2
[V] hid_send_packet(80): Report len: 33
00: 02 75 73 62 5f 69 66 00 00 00 00 00 00 01 00 00  .usb_if.........
10: 00 01 04 f5 00 bc 47 9f ff c8 3b 01 00 c8 47 9f  ......G...;...G.
20: ff                                               .               
[V] hid_send_packet(91): hid_write = 33
[V] hid_recv_packet(144): Report ID:  1
[V] hid_recv_packet(145): Report len: 33
[V] hid_recv_packet(155): retval = 33
00: 01 75 73 62 5f 69 66 00 00 00 00 00 00 00 00 00  .usb_if.........
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00                                               .               
found it
[V] lib/libcmds/cmds.c run_cmds(251): running command: decode
[V] lib/libcmds/cmds.c cmd_getopt(223): opt: --raw=+9071 -4425 +638 -456 +639 -456 +639 -451 +644 -451 +643 -452 +643 -452 +639 -456 +638 -456 +639 -1584 +643 -1584 +643 -1579 +643 -1584 +643 -1585 +638 -1585 +643 -1584 +639 -1584 +643 -452 +643 -451 +639 -1584 +643 -1584 +643 -452 +639 -456 +664 -430 +639 -452 +643 -1584 +639 -1584 +643 -452 +643 -451 +643 -1585 +638 -1584 +669 -1559 +638 -1585 +643, carg = 1
+9071 -4425 +638 -456 +639 -456 +639 -451 +644 -451 +643 -452 +643 -452 +639 -456 +638 -456 +639 -1584 +643 -1584 +643 -1579 +643 -1584 +643 -1585 +638 -1585 +643 -1584 +639 -1584 +643 -452 +643 -451 +639 -1584 +643 -1584 +643 -452 +639 -456 +664 -430 +639 -452 +643 -1584 +639 -1584 +643 -452 +643 -451 +643 -1585 +638 -1584 +669 -1559 +638 -1585 +643 
[V] analyze_edge(66): removing decoder: rc5 8182 > 2000
[V] analyze_edge(66): removing decoder: mce 6407 > 2000
[V] analyze_edge(66): removing decoder: xmp 8861 > 2000
[V] analyze_edge(66): removing decoder: ortek 7151 > 2000
[V] analyze_edge(66): removing decoder: sharp 7223 > 2000
[V] analyze_edge(66): removing decoder: sony 6671 > 2000
[V] analyze_edge(66): removing decoder: denon 8807 > 2000
[V] analyze_edge(66): removing decoder: flirc 4171 > 2000
[V] analyze_edge(66): removing decoder: nokia 8659 > 2000
[V] analyze_edge(66): removing decoder: TDC 8756 > 2000
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] finish_nec(72): nec
[V] ir_decode(74): handler match: NEC
[V] ir_nec_bytes_to_scancode(72): NEC       Scancode: 0x0030
[V] ir_nec_decode(122): Device: 0x00     ~Device: 0xFF   Command: 0x30  ~Command: 0xCF  ScanCode: 0x00FF30CF
:: FLIRC    :: NEC           - scancode: 0x00FF30CF
0000 006D 0022 0002 015C 00AA 0018 0011 0018 0011 0018 0011 0018 0011 0018 0011 0018 0011 0018 0011 0018 0011 0018 003C 0018 003C 0018 003C 0018 003C 0018 003C 0018 003C 0018 003C 0018 003C 0018 0011 0018 0011 0018 003C 0018 003C 0018 0011 0018 0011 0019 0010 0018 0011 0018 003C 0018 003C 0018 0011 0018 0011 0018 003C 0018 003C 0019 003B 0018 003C 0018 05F1 0156 0056 0015 0E4A
[V] DecodeIR(5900): NEC       Device: 0x00   SubDevice: 0xFFFFFFFF   OBC: 0xFFFFFFFFFFFFFFFFFFFFFFFF000000CF   MISC: no repeat ERROR: 
:: DECODEIR :: NEC           - scancode: 0x00CF  D:0x0000  S:0xFFFFFFFF
[V] analyze_edge(66): removing decoder: rc5 8182 > 2000
[V] analyze_edge(66): removing decoder: mce 6407 > 2000
[V] analyze_edge(66): removing decoder: xmp 8861 > 2000
[V] analyze_edge(66): removing decoder: ortek 7151 > 2000
[V] analyze_edge(66): removing decoder: sharp 7223 > 2000
[V] analyze_edge(66): removing decoder: sony 6671 > 2000
[V] analyze_edge(66): removing decoder: denon 8807 > 2000
[V] analyze_edge(66): removing decoder: flirc 4171 > 2000
[V] analyze_edge(66): removing decoder: nokia 8659 > 2000
[V] analyze_edge(66): removing decoder: TDC 8756 > 2000
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] get_closest_proto(40): list entry: NEC
[V] get_closest_proto(46): choosing: NEC
[V] finish_nec(72): nec
[V] ir_decode(74): handler match: NEC
[V] ir_nec_bytes_to_scancode(72): NEC       Scancode: 0x0030
[V] ir_nec_decode(122): Device: 0x00     ~Device: 0xFF   Command: 0x30  ~Command: 0xCF  ScanCode: 0x00FF30CF
:: FLIRC    :: NEC           - scancode: 0x00FF30CF
:: ARDUINO  :: NEC           - scancode: 0x00FF30CF {32}
++++

[V] main(153): running post-command function 0
[V] flirc_deinit(89): closing serial device
pi@raspberrypi:~ $ irtools sendir --pattern="0000,006D,0022,0002,015C,00AA,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,0011,0018,0011,0018,003C,0018,003C,0018,0011,0018,0011,0019,0010,0018,0011,0018,003C,0018,003C,0018,0011,0018,0011,0018,003C,0018,003C,0019,003B,0018,003C,0018,05F1,0156,0056,0015,0E4A" --repeat=1
[V] main(121): Command: irtools
[V] main(125): running pre-command function 0
[D] list_devs(254): ---------------------------------------------------------
[D] list_devs(255): -----------------------Device List-----------------------
[D] list_devs(256): ---------------------------------------------------------
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw0
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    0
[D] list_devs(274):   Usage Page:   65280
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   1
[D] list_devs(275):   Usage:        6
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   12
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   1
[D] list_devs(275):   Usage:        128
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw1
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    1
[D] list_devs(274):   Usage Page:   12
[D] list_devs(275):   Usage:        1
[D] list_devs(267): Device Found
  type: 20a0 0006
  path: /dev/hidraw2
  serial_number: E7A3ABA25050323431202020FF101122
[D] list_devs(269): 
[D] list_devs(270):   Manufacturer: flirc.tv
[D] list_devs(271):   Product:      flirc
[D] list_devs(272):   Release:      200
[D] list_devs(273):   Interface:    2
[D] list_devs(274):   Usage Page:   65280
[D] list_devs(275):   Usage:        1
[D] list_devs(281): ---------------------------------------------------------
[D] hid_find(229): Device Used
  type: 20a0 0006
  path: /dev/hidraw2
  serial_number: E7A3ABA25050323431202020FF101122
[D] hid_find(231):   Manufacturer: flirc.tv
[D] hid_find(232):   Product:      flirc
[D] hid_find(233):   Release:      200
[D] hid_find(234):   Interface:    2
[D] hid_find(235):   Usage Page:   65280
[D] hid_find(236):   Usage:        1
[V] hid_dev_open(311): Manufacturer String: flirc.tv
[V] hid_dev_open(316): Product String: flirc
[V] hid_dev_open(321): Serial Number String: E7A3ABA25050323431202020FF101122
[V] hid_dev_open(322): 
[V] hid_send_packet(79): Report ID:  2
[V] hid_send_packet(80): Report len: 33
00: 02 75 73 62 5f 69 66 00 00 00 00 00 00 01 00 00  .usb_if.........
10: 00 01 54 d6 01 1c 46 c1 ff c8 3b 01 00 28 46 c1  ..T...F...;..(F.
20: ff                                               .               
[V] hid_send_packet(91): hid_write = 33
[V] hid_recv_packet(144): Report ID:  1
[V] hid_recv_packet(145): Report len: 33
[V] hid_recv_packet(155): retval = 33
00: 01 75 73 62 5f 69 66 00 00 00 00 00 00 00 00 00  .usb_if.........
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00                                               .               
found it
[V] lib/libcmds/cmds.c run_cmds(251): running command: sendir
[V] lib/libcmds/cmds.c cmd_getopt(223): opt: --pattern=0000,006D,0022,0002,015C,00AA,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,0011,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,003C,0018,0011,0018,0011,0018,003C,0018,003C,0018,0011,0018,0011,0019,0010,0018,0011,0018,003C,0018,003C,0018,0011,0018,0011,0018,003C,0018,003C,0019,003B,0018,003C,0018,05F1,0156,0056,0015,0E4A, carg = 1
[V] lib/libcmds/cmds.c cmd_getopt(223): opt: --repeat=1, carg = 2
[V] hid_send_packet(79): Report ID:  2
[V] hid_send_packet(80): Report len: 33
00: 02 67 65 74 76 65 72 73 69 6f 6e 00 00 c8 19 d7  .getversion.....
10: f7 d0 06 01 00 00 00 00 00 94 1b d7 f7 00 00 00  ................
20: 00                                               .               
[V] hid_send_packet(91): hid_write = 33
[V] hid_recv_packet(144): Report ID:  1
[V] hid_recv_packet(145): Report len: 33
[V] hid_recv_packet(155): retval = 33
00: 01 67 65 74 76 65 72 73 69 6f 6e 00 00 04 00 09  .getversion.....
10: 00 07 00 b8 3e e2 1d 72 65 6c 65 61 73 65 00 00  ....>..release..
20: 00                                               .               
[E] fl_version_compare(281): Flirc iospirit found version: 4.9.7 0x1DE23EB8 [release]
[D] csv_to_buf(44): number of commas in string: 75
[V] hid_send_packet(79): Report ID:  6
[V] hid_send_packet(80): Report len: 65
Transmitting IR Pattern...00: 06 69 72 74 72 61 6e 73 65 74 00 00 00 4a 00 00  .irtranset...J..
10: 00 01 89 45 df d0 de d3 f7 00 10 05 00 90 61 01  ...E..........a.
20: 00 a8 18 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
30: 00 00 10 d7 f7 fc 45 c1 ff d0 08 9e f7 f4 44 c1  ......E.......D.
40: ff                                               .               
[V] hid_send_packet(91): hid_write = 65
[V] hid_recv_packet(144): Report ID:  5
[V] hid_recv_packet(145): Report len: 65
[V] hid_recv_packet(155): retval = 65
00: 05 69 72 74 72 61 6e 73 65 74 00 00 00 00 00 00  .irtranset......
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
40: 00                                               .               
00: 00 00 06 00 16 00 02 00 0f 00 00 00 12 00 0b 00  ................
10: 12 00 0b 00 12 00 0b 00 12 00 0b 00 12 00 0b 00  ................
20: 12 00 0b 00 12 00 0b 00 12 00 0b 00 12 00 03 00  ................
30: 12 00 03 00                                      ....            
[V] hid_send_packet(79): Report ID:  6
[V] hid_send_packet(80): Report len: 65
00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 00 00 06  .irtransraw.....
10: 00 16 00 02 00 0f 00 00 00 12 00 0b 00 12 00 0b  ................
20: 00 12 00 0b 00 12 00 0b 00 12 00 0b 00 12 00 0b  ................
30: 00 12 00 0b 00 12 00 0b 00 12 00 03 00 12 00 03  ................
40: 00                                               .               
[V] hid_send_packet(91): hid_write = 65
[V] hid_recv_packet(144): Report ID:  5
[V] hid_recv_packet(145): Report len: 65
[V] hid_recv_packet(155): retval = 65
00: 05 69 72 74 72 61 6e 73 72 61 77 00 00 00 00 00  .irtransraw.....
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
40: 00                                               .               
00: 12 00 03 00 12 00 03 00 12 00 03 00 12 00 03 00  ................
10: 12 00 03 00 12 00 03 00 12 00 0b 00 12 00 0b 00  ................
20: 12 00 03 00 12 00 03 00 12 00 0b 00 12 00 0b 00  ................
30: 13 00 0a 00                                      ....            
[V] hid_send_packet(79): Report ID:  6
[V] hid_send_packet(80): Report len: 65
00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 12 00 03  .irtransraw.....
10: 00 12 00 03 00 12 00 03 00 12 00 03 00 12 00 03  ................
20: 00 12 00 03 00 12 00 0b 00 12 00 0b 00 12 00 03  ................
30: 00 12 00 03 00 12 00 0b 00 12 00 0b 00 13 00 0a  ................
40: 00                                               .               
[V] hid_send_packet(91): hid_write = 65
[V] hid_recv_packet(144): Report ID:  5
[V] hid_recv_packet(145): Report len: 65
[V] hid_recv_packet(155): retval = 65
00: 05 69 72 74 72 61 6e 73 72 61 77 00 00 00 00 00  .irtransraw.....
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
40: 00                                               .               
00: 12 00 0b 00 12 00 03 00 12 00 03 00 12 00 0b 00  ................
10: 12 00 0b 00 12 00 03 00 12 00 03 00 13 00 03 00  ................
20: 12 00 03 00 12 00 05 00 9c 00 38 00              ..........8.    
[V] hid_send_packet(79): Report ID:  6
[V] hid_send_packet(80): Report len: 65
00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 12 00 0b  .irtransraw.....
10: 00 12 00 03 00 12 00 03 00 12 00 0b 00 12 00 0b  ................
20: 00 12 00 03 00 12 00 03 00 13 00 03 00 12 00 03  ................
30: 00 12 00 05 00 9c 00 38 00 00 00 00 00 00 00 00  .......8........
40: 00                                               .               
[V] hid_send_packet(91): hid_write = 65
[V] hid_recv_packet(144): Report ID:  5
[V] hid_recv_packet(145): Report len: 65
[V] hid_recv_packet(155): retval = 65
00: 05 69 72 74 72 61 6e 73 72 61 77 00 00 00 00 00  .irtransraw.....
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
40: 00                                               .               
Done!
[V] main(153): running post-command function 0
[V] flirc_deinit(89): closing serial device
pi@raspberrypi:~ $ 
 

Link to comment
Share on other sites

Yeah sorry, it looks like it got sent with a debug version which has logging enabled by default. Let me confirm, make some changes, and push another update. It should work the way you proposed, but I just added irtools in from another project directory, so I might have missed this. Hang on.

Link to comment
Share on other sites

Okay, I'm pushing an update to fix this. I think the result is there, it's just adding a bunch of muck. Here is what it should look like:

I think I have an extra decode on there, but the results are easier to read. I print the raw code, the pronto code, and a bunch of decoding results. 

I'll eventually turn this into a library so you can pass it a buff, and get a result

image.png

Link to comment
Share on other sites

  • 1 month later...

@jason or anyone. Is there a tool or website available that helps me convert the flirc codes to the new format? I have a bunch of flirc codes lying around that need updating to use with the new Pi software. I tried getting phind.com to write a tool for me which resulted in this python code:
 

import math

 
# define constants
PRONTO_CODE = '0000'
FREQUENCY = '006D'
ZERO = '0000'
PULSE = 9025
SPACE = 4391
 
# input sequence (change this to your input)
ir_sequence = [0,9025,4391,643,448,617,469,643,443,643,448,638,448,617,470,643,443,643,1568,617,1597,643,1568,643,1572,643,1568,643,1568,621,1594,643,1568,643,448,643,1568,643,443,643,447,617,469,643,444,643,447,639,447,643,444,643,443,643,1568,621,1593,643,1568,617,1598,643,1567,643,1567,647,1568,643]
 
# convert IR sequence to Pronto Code
pronto_sequence = []
 
for i in range(2, len(ir_sequence), 2):
    space = ir_sequence[i]
    pulse = ir_sequence[i+1]
   
    pulse_hex = hex(int(pulse/PULSE*0x10))
    space_hex = hex(int(space/SPACE*0x10))
   
    pronto_sequence.append(str(space_hex)[2:].zfill(4))
    pronto_sequence.append(str(pulse_hex)[2:].zfill(4))
 
print(PRONTO_CODE, FREQUENCY, ZERO, ZERO, ''.join(pronto_sequence))
 
 
but it gave me a completely different result from the working expected pronto code that i have for that one command:

Expected result: 
0000 006D 0022 0000 0159 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0042 0014 0042 0015 0041 0016 0041 0015 0042 0015 0042 0015 0042 0015 0042 0015 0016 0016 0042 0015 0016 0016 0016 0016 0016 0016 0016 0016 0016 0015 0016 0015 0016 0016 0016 0016 0041 0015 0041 0016 0042 0015 0042 0015 0042 0015 0041 0015 0041 0015 06C3
 
Actual result:
0000 006D 0000 0000 001000010001000100010001000100010001000100010001000100010001000100050001000500010005000100050001000500010005000100050001000500010001000100050001000100010001000100010001000100010001000100010001000100010001000100050001000500010005000100050001000500010005000100050001
 
EDIT: I now also tried your tool from above but it says "--pattern" can and can't be used at the same time:

blu@automater:/var/www $ irtools help decode 0,9025,4391,643,448,617,469,643,443,643,448,638,448,617,470,643,443,643,1568,617,1597,643,1568,643,1572,643,1568,643,1568,621,1594,643,1568,643,448,643,1568,643,443,643,447,617,469,643,444,643,447,639,447,643,444,643,443,643,1568,621,1593,643,1568,617,1598,643,1567,643,1567,647,1568,643
Help for `decode' command:
usage: decode <opts>
  decode --pattern=143,2123,13...
OPTIONS:
  -l, --listen         open the hardware, listen, decode results
  -r, --read           read and decode from a file
  -t, --time           comma delimited timing in microseconds
  -x, --raw            +8248 -1291 +212 ...
  -p, --pronto         pronto comma delimited pattern
  -e, --elapsed        show elapsed time
blu@automater:/var/www $ irtools decode --pattern=0,9025,4391,643,448,617,469,643,443,643,448,638,448,617,470,643,443,643,1568,617,1597,643,1568,643,1572,643,156
8,643,1568,621,1594,643,1568,643,448,643,1568,643,443,643,447,617,469,643,444,643,447,639,447,643,444,643,443,643,1568,621,1593,643,1568,617,1598,643,1567,643,15
67,647,1568,643
[W] lib/libcmds/cmds.c handle_longopt(181): `decode' doesn not take '--pattern' option
Error: must specify an option
 
EDIT 2:
I now found the right command to atleast send the old commands in the meantime: irtools sendir --ik=23000 --repeat=0 --csv="0,9025,4391,..."
 
this will help me until i have all codes converted to pronto. (Quick question: What happens if i send codes from flirc_util and irtools at the same time?)
Edited by Bluscream
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...