Jump to content
Flirc Forums

Search the Community

Showing results for 'SendIR command'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Flirc forums
    • Skip
    • Raspberry Pi Cases
    • Flirc USB
    • Flirc USB Gen1
    • Jeff Probe

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Interests

  1. I'm happy with the Flirc so far, but I found the initial set up a bit un-intuitive - so I thought I would document how I got this running on Mint Linux. Ultimately, I want to record all the codes from the huge remote that came with my screen, mount the Flirc near the IR receiver of the screen on a USB extension cable, and then use my PC as the primary control for the screen (transmitting IR via the Flirc dongle with scripts). At that point, I can put the remote in a drawer somewhere, so it's not cluttering up my space. I'm not quite there yet, but I think it's just a matter of learning how to decode the recorded codes and how to feed them to`sendir`. My process Using the commands below, I downloaded the binaries and loaded the libraries I was missing. I also pasted in the recommended udev rules. sudo apt install libreadline7 libhidapi-hidraw0 libqt5xmlpatterns5 wget http://apt.flirc.tv/arch/x86_64/flirc.latest.x86_64.tar.gz tar xvzf flirc.latest.x86_64.tar.gz cd Flirc-3.27.12 After unplugging and replugging the Flirc, I was able to successfully test it: I recorded a key press from my remote, turning it into the 'e' key. Then I pressed the key on the remote again and it typed an 'e'! Flirc-3.27.12$ ./flirc_util record e Press any button on the remote to link it with 'e' Succesfully recorded button Flirc-3.27.12$ e I successfully started the GUI, and upgraded the firmware via the GUI I successfully confirmed the firmware update, the self test, and the stored 'e key' macro. Flirc-3.27.12$ ./flirc_util settings 3.27.12 FW Version: v4.10.3 SKU: Flirc 2.0 [dori] Branch: release Config: release Hash: 0x9E8F9304 Settings: sleep detection: always enabled noise canceler: always enabled inter-key delay: N/A for current firmware variant: Flirc builtin profiles: NA Memory Info: NA product sku: Flirc 2.0 [dori] Recorded Keys: Index hash IK ID key ----- -------- --- -- ------------ 0 F6F39F97 054 01 e Flirc-3.27.12$ ./flirc_util unit_test Flirc Okay Issues encountered Adding the repository, per the docs, did not work at all for me, it comes up as 'insecure' and even using the apt flags for --allow-unauthenticated didn't help. The x86_64 repo doesn't have a Release file. That seemed to be one source of the issues, but I think there are multiple problems that would need to be addressed to allow the repo to work. After initial install, I was still getting the error below, even though the device showed up in lsusb. Ultimately it seems I was encountering an issue where udev rules are not applied until the device is removed and then reinserted. Flirc-3.27.12$ ./flirc_util settings device disconnected, can't run command Running the Flirc self test unexpectedly erased the key I had recorded during testing. I was unable to find a download for the firmware, so I had to use the GUI to update the firmware. I probably would not have loaded the GUI or it's dependencies at all otherwise.
  2. Inside a Flirc USB the IR transmitter and the IR receiver are physically very close to one another so the receiver picks up the transmitter's IR signal. Therefore, if a certain IR signal/pattern is paired with a keyboard key, the flirc_util.exe sendir --pronto/raw=<IR signal/pattern> command will also trigger the paired keyboard key, which is not always desired. Is there maybe a command line switch (or would it be possible to implement one) that would disable the Flirc's IR receiver (or ignore its input) while the sendir command is transmitting the IR signal (e.g. flirc_util.exe sendir --ignore)?
  3. Hi, I'm having an issue with sendir in flirc_util after updating the flirc package to 3.27.5. The code (if it's being sent at all) is not recognized by the device I'm trying to control with it. Works fine with 3.27.4. OS: OSMC (raspbian 11.8) FW Version: v4.6.5v4.6.5 SKU: Flirc 2.0 [dori] Branch: master Config: release Hash: 0x18BBFCFA 3.27.4 (works and code is recognized by receiving device): $ flirc_util sendir --raw='+9014 -4405 +535 -560 +588 -1615 +587 -508 +587 -1611 +587 -1611 +592 -1611 +587 -508 +587 -1615 +588 -508 +587 -482 +627 -464 +588 -508 +587 -483 +557 -1645 +609 -482 +588 -1611 +561 -538 +588 -482 +613 -1611 +587 -1611 +592 -508 +587 -478 +587 -1615 +609 -482 +592 -1611 +561 -1641 +609 -487 +587 -503 +592 -1611 +587 -1611 +592 -504 +591 -1611 +588' --repeat=2 Transmitting IR Pattern... +9014 -4405 +535 -560 +588 -1615 +587 -508 +587 -1611 +587 -1611 +592 -1611 +587 -508 +587 -1615 +588 -508 +587 -482 +627 -464 +588 -508 +587 -483 +557 -1645 +609 -482 +588 -1611 +561 -538 +588 -482 +613 -1611 +587 -1611 +592 -508 +587 -478 +587 -1615 +609 -482 +592 -1611 +561 -1641 +609 -487 +587 -503 +592 -1611 +587 -1611 +592 -504 +591 -1611 +588 -15000 Done! 3.27.5 (error and code is either not sent or not recognized by receiving device): $ flirc_util sendir --raw='+9014 -4405 +535 -560 +588 -1615 +587 -508 +587 -1611 +587 -1611 +592 -1611 +587 -508 +587 -1615 +588 -508 +587 -482 +627 -464 +588 -508 +587 -483 +557 -1645 +609 -482 +588 -1611 +561 -538 +588 -482 +613 -1611 +587 -1611 +592 -508 +587 -478 +587 -1615 +609 -482 +592 -1611 +561 -1641 +609 -487 +587 -503 +592 -1611 +587 -1611 +592 -504 +591 -1611 +588' --repeat=2 Transmitting IR Pattern... +9014 -4405 +535 -560 +588 -1615 +587 -508 +587 -1611 +587 -1611 +592 -1611 +587 -508 +587 -1615 +588 -508 +587 -482 +627 -464 +588 -508 +587 -483 +557 -1645 +609 -482 +588 -1611 +561 -538 +588 -482 +613 -1611 +587 -1611 +592 -508 +587 -478 +587 -1615 +609 -482 +592 -1611 +561 -1641 +609 -487 +587 -503 +592 -1611 +587 -1611 +592 -504 +591 -1611 +588 -15000 [E] lib/libflirc/firmware/fw_4.2.c _fl_transmit_raw(59): Value less than 40ms, increasing Done!
  4. I read that Flirc can act as an emitter, and sendir is the way to do it. However, I've found that using sendir causes Flirc to execute on the PC whatever command is bound to the sent code. That's cool, but it's not what I want. I just want it to send the IR code, basically to "forward" it. Also, when I turned on IR debugging, pressing a single key on my remote caused several lines of output, and passing any one of them to sendir works to execute the command on my PC, e.g. "Enter", "Right arrow", etc. For example, this is the output for pressing the Enter key on my remote: +2458 -507 +1261 -508 +658 -503 +1261 -503 +1261 -508 +1257 -507 +1257 -508 +662 -503 +658 -503 +1262 -507 +658 -503 +1261 -509 +1256 -507 +658 -507 +1257 -507 +658 -507 +658 -507 +658 -503 +1261 -508 +1257 -507 +1257 -11000 +2461 -508 +1263 -501 +658 -503 +1262 -503 +1261 -503 +1262 -503 +1261 -508 +658 -503 +658 -507 +1257 -508 +657 -508 +1257 -508 +1257 -507 +658 -503 +1261 -508 +657 -507 +658 -507 +658 -503 +1261 -503 +1261 -508 +1257 -11000 +2460 -508 +1261 -503 +662 -503 +1276 -488 +1257 -507 +1257 -508 +1256 -508 +657 -507 +658 -503 +1261 -504 +662 -503 +1257 -508 +1257 -508 +658 -503 +1261 -507 +658 -507 +658 -503 +662 -504 +1256 -508 +1257 -507 +1257 -11000 +2461 -507 +1261 -504 +657 -504 +1261 -503 +1258 -507 +1257 -508 +1257 -507 +658 -507 +658 -503 +1257 -508 +657 -508 +1257 -507 +1257 -508 +657 -508 +1257 -507 +658 -507 +658 -507 +733 -428 +1257 -508 +1257 -507 +1257 -11000 +2466 -503 +1262 -503 +662 -504 +1261 -503 +1257 -508 +1256 -504 +1261 -503 +662 -503 +662 -503 +1257 -507 +658 -503 +1261 -503 +1261 -503 +662 -503 +1261 -503 +662 -503 +662 -503 +657 -504 +1261 -503 +1262 -503 +1261 -36436000 Sending "+2458 -507 +1261 -508 +658 -503 +1261 -503 +1261 -508 +1257 -507 +1257 -508 +662 -503 +658 -503 +1262 -507 +658 -503 +1261 -509 +1256 -507 +658 -507 +1257 -507 +658 -507 +658 -507 +658 -503 +1261 -508 +1257 -507 +1257" causes Flirc to executed an "Enter" keystroke on my PC. I don't know what the other lines are for. Can you explain to me the proper use of sendir?
  5. Hello, I want to purchase a FLIRC but I want to be sure Ill be able to work out what i need to do before I do. My situation: Have PC (Win10) Stereo Amplifier My requirement is to be able to turn on/off the amp, and control its volume from Windows command line (my whole goal is to go remote-less) I know the FLIRC can send IR commands and can learn them too. But the process of doing this via command line with flirc_utils sendir is confusing. For my amplifier, the RAW IR codes are available in the support manual. But sending that via sendir is where I'm getting stuck. Volume down for example is: 000 006D 0022 0002 0157 00AC 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0689 0157 0056 0015 0E94 But I'm unsure how to 'convert' that info a format that sendir will accept/understand. I found these threads below, which are quite similar to what I'm after - but as above, I don't really know how to convert it. Do I/can I use IrScrutinizer? I asked ChatGPT but it gave lots of incorrect answers. Thanks!
  6. Hi! I've been happy Flirc user, at least until now. After last firmware and Flirc app update on my Windows 11 HTPC, Flirc works only until I use irtools.exe with sendir command. After using it, Flirc shows as connected in the app, but can't read any IR codes. This can be fixed by unplugging and replugging Flirc into USB port, but only until I use irtools again. This is debug output with a few button presses when Flirc doesn't work: po aug 7 2023 20:55:31 Flirc GUI Version v3.27.3 Operating System: Windows -24513000 -510000 -595000 -803000 -620000 -518000 -370000 -43000 This is output ater replugging Flirc when it starts working: po aug 7 2023 20:56:11 Flirc GUI Version v3.27.3 Operating System: Windows *** Device Disconnected *** *** Device Connected *** Firmware Version: v4.9.7 SKU: Flirc 2.0 [dori] Git Hash: 0x1de23eb8 <1>malloc_addblock(49): Heap Block: 0x20001AA4 - 0x20003BFF (8k) -13389000 +9101 -4406 +635 -474 +579 -500 +637 -450 +631 -474 +578 -504 +635 -448 +635 -492 +591 -1590 +635 -474 +608 -474 +605 -478 +634 -1595 +630 -1595 +608 -474 +635 -1595 +608 -1595 +634 -1590 +635 -447 +635 -474 +609 -473 +646 -1583 +609 -473 +635 -448 +634 -474 +604 -474 +635 -1594 +608 -1594 +635 -1594 +634 -448 +635 -1589 +635 -1594 +609 -1594 +634 -1804000 +9096 -4406 +634 -474 +609 -474 +604 -478 +635 -452 +630 -474 +605 -477 +635 -452 +605 -1616 +634 -452 +631 -473 +605 -478 +635 -1594 +604 -1603 +626 -474 +635 -1572 +630 -1594 +635 -452 +630 -474 +604 -509 +604 -447 +635 -1589 +635 -452 +630 -474 +583 -499 +635 -1594 +579 -1625 +634 -1590 +635 -1594 +579 -504 +635 -1594 +604 -1603 +626 -1594 +635 -1155000 +9100 -4403 +635 -452 +631 -474 +609 -473 +635 -448 +635 -473 +579 -504 +635 -448 +661 -1564 +635 -452 +631 -473 +583 -500 +635 -1594 +579 -1624 +631 -474 +608 -1595 +635 -1594 +635 -448 +635 -474 +604 -474 +635 -448 +635 -1594 +635 -1594 +609 -1591 +634 -474 +609 -1594 +635 -1595 +635 -1590 +609 -1594 +635 -474 +609 -474 +635 -448 +634 -1591 +609 -2326000 +9098 -4406 +605 -477 +635 -452 +631 -473 +631 -454 +633 -452 +630 -469 +609 -474 +634 -1594 +579 -504 +635 -447 +635 -469 +609 -1594 +635 -1594 +634 -448 +635 -1589 +635 -1594 +609 -473 +635 -1594 +578 -1624 +635 -1590 +635 -452 +630 -474 +604 -478 +635 -452 +630 -1594 +635 -447 +631 -473 +579 -504 +635 -1594 +612 -1590 +630 -1595 +634 -1595 +604 I am 90% positive it stopped working after upgrade, but can't be 100% sure because before the upgrade I was using flirc_utils.exe instead of irtools.exe Please help me with this issue. Thanks!
  7. 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
  8. @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?)
  9. A little follow up. I have since upgraded to version 3.27.3. It seems that the repeat part of the sendir functionality does not work reliably. I erroneously claimed in my first post that the IR signal is not being sent under certain conditions but that was an observation based on the (non)response from the IR controlled device. I have since found a slightly more reliable (but still far from ideal) detection method: by capturing the output IR signal of the Flirc's transmitter with the Flirc's receiver (inside a Flirc unit the transmitter and the receiver are physically very close to one another so the receiver picks up the transmitter's signal). By using IR receiver logging functionality I can see that in reality the IR signal is sent, but usually not the correct one. In fact different length IR signals are being sent when using the same sendir command if the number of repeats is > 0 (note that when --repeat is omitted, sendir defaults to 1 repeat): Batch 'test.cmd': @echo off for /l %%a in (1,1,4) do ( flirc_util.exe device_log --ir >nul flirc_util.exe sendir --pronto="0000 006d 0022 0002 0156 00ab 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 05d8 0156 0055 0015 0e48" --repeat=2 >nul flirc_util.exe device_log ) Output: C:\Program Files (x86)\Flirc>test -36681 +8925 -4389 +585 -1588 +585 -1596 +555 -1609 +585 -471 +580 -472 +585 -471 +581 -471 +585 -1587 +585 -472 +580 -472 +585 -1587 +585 -1587 +559 -1614 +554 -1622 +559 -1605 +559 -497 +585 -471 +581 -471 +585 -1588 +559 -493 +585 -1587 +585 -4 72 +554 -498 +592 -1580 +585 -1587 +9478 -4368 +585 -9940 +8954 -2126 +585 -2761 +8928 -4387 +585 -1587 +585 -1591 +585 -1583 +585 -471 +559 -493 +585 -471 +559 -493 +585 -1587 +585 -471 +585 -467 +585 -1587 +584 -1588 +585 -1587 +585 -1587 +585 -1588 +585 -471 +581 -471 +585 -472 +580 -1588 +584 -492 +565 -1587 +559 -4 93 +585 -472 +554 -1618 +554 -1618 +554 -1614 +559 -502 +585 -1582 +585 -472 +58 0 -1587 +8930 -4370 +585 -9625 +8951 -2130 +585 -2776 +8927 -4394 +554 -1614 +559 -1627 +524 -1636 +585 -471 +555 -498 +585 -467 +585 -472 +554 -1614 +559 -498 +559 -493 +585 -1588 +585 -1587 +585 -1587 +586 -1596 +555 -1605 +559 -498 +585 -467 +585 -471 +559 -1613 +559 -493 +585 -1588 +585 -4 71 +555 -497 +600 -1573 +585 -1587 +9476 -4368 +585 -9949 +8954 -2130 +585 -2721 +8928 -4392 +584 -1588 +585 -1587 +585 -1587 +585 -471 +580 -472 +585 -471 +580 -472 +585 -1587 +585 -467 +585 -471 +585 -1587 +585 -1587 +585 -1587 +585 -1587 +559 -1614 +558 -498 +558 -493 +559 -493 +585 -1587 +585 -489 +541 -1613 +559 -4 93 +585 -471 +559 -1614 +554 -1614 +9476 -4370 +585 -9927 +8956 -2125 +585
  10. I have a batch script that utilizes flirc_util.exe to send IR commands with Flirc USB. After upgrading Flirc (by replacing Flirc.exe & flirc_util.exe in the install dir) from 3.26.5 to 3.26.8 (because I need support for Pronto IR codes), I am having the following issue. If flirc_util.exe command is inside a for /f loop, for example: for /f "delims=" %%a in ('""C:\Program Files (x86^)\Flirc\flirc_util.exe" sendir --pronto="0000 006d 0022 0002 0156 00ab 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 05d8 0156 0055 0015 0e48" 2>&1"') do echo %%a the IR signal is NOT being sent anymore. flirc_util.exe command output is still displayed though: Transmitting IR Pattern... +8892 -4446 +546 -1664 +546 -1664 +546 -1664 +546 -546 +546 -546 +546 -546 +546 -546 +546 -1664 +546 -546 +546 -546 +546 -1664 +546 -1664 +546 -1664 +546 -1664 +546 -1664 +546 -546 +546 -546 +546 -546 +546 -1664 +546 -546 +546 -1664 +546 -5 46 +546 -546 +546 -1664 +546 -1664 +546 -1664 +546 -546 +546 -1664 +546 -546 +54 6 -1664 +546 -1664 +546 -546 +546 -38000 +8892 -2210 +546 -95000 Done! If flirc_util.exe command is called directly, for example: "C:\Program Files (x86)\Flirc\flirc_util.exe" sendir --pronto="0000 006d 0022 0002 0156 00ab 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 05d8 0156 0055 0015 0e48" 2>&1 the IR signal is still being sent (most of the time anyway*). (both examples can also be verified directly in cmd.exe if you replace %%a with %a) Can somebody please help. Thank you in advance. Regards, Franc * After some experimenting it seems like the longer (more complicated) the command line is, the less likely the IR signal will be sent. Very strange.
  11. The emitter and receiver in Flirc are just millimetres apart, so the receiver is probably picking up the signal from the emitter. There is no (official) command line switch to disable the receiver during the sendir.
  12. 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:~ $
  13. Using flirc tools 3.26.9 installed from the deb package. Trying to record a pattern and send it I get: root@box:~# irtools sendir --pattern=0,153,1231,131 --repeat=3 --ik=32000 found it [E] fl_version_compare(286): Flirc iospirit found version: 4.6.5 0x18BBFCFA [release] [E] sendir(36): Error: version >= 4.7.x required Any suggestions on how to resolve? Thanks.
  14. Hi, I have captured the following IR codes in the device log. I would like to send them using flirc_util sendir could you please convert them. Thanks my_flirc_log.txt
  15. Thanks @jason its updated. This was my recording in the device log: *** Device Connected *** Firmware Version: v4.9.7 SKU: Flirc 2.0 [dori] Git Hash: 0x1de23eb8 -19275000 +9097 -4399 +643 -452 +643 -456 +638 -456 +639 -452 +643 -452 +643 -451 +639 -456 +639 -456 +638 -1589 +639 -1589 +639 -1584 +643 -1585 +638 -1585 +643 -1585 +643 -1584 +639 -1585 +659 -1568 +639 -1588 +639 -474 +621 -456 +639 -456 +639 -456 +639 -1585 +638 -457 +638 -456 +639 -456 +639 -1589 +682 -1542 +643 -1584 +639 -1588 +639 -458 +611 -1611 +639 -40000 +9095 -2169 +613 <3>record_hash(473): hash exists I believe I should be using the command to send the IR signal - can you please confirm pi@raspberrypi:~ $ flirc_util sendir --raw="+9097 -4399 +643 -452 +643 -456 +638 -456 +639 -452 +643 -452 +643 -451 +639 -456 +639 -456 +638 -1589 +639 -1589 +639 -1584 +643 -1585 +638 -1585 +643 -1585 +643 -1584 +639 -1585 +659 -1568 +639 -1588 +639 -474 +621 -456 +639 -456 +639 -456 +639 -1585 +638 -457 +638 -456 +639 -456 +639 -1589 +682 -1542 +643 -1584 +639 -1588 +639 -458 +611 -1611 +639" --repeat=1 Here is the output: [V] util/flirc_util/src/main.c main(123): Command: flirc_util [V] util/flirc_util/src/main.c main(127): running pre-command function 0 [D] lib/libflirc/common/flirc_transport.c fl_open_hid(124): trying to open bootloader device [D] lib/libtransport/hid.c list_devs(280): --------------------------------------------------------- [D] lib/libtransport/hid.c list_devs(281): -----------------------Device List----------------------- [D] lib/libtransport/hid.c list_devs(282): --------------------------------------------------------- [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw0 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 0 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 65280 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 1 [D] lib/libtransport/hid.c list_devs(300): Usage: 6 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 12 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 1 [D] lib/libtransport/hid.c list_devs(300): Usage: 128 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 12 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw2 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 2 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 65280 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(306): --------------------------------------------------------- [V] lib/libtransport/hid.c hid_dev_open(329): Device 20A0:5 not found [V] lib/libtransport/transport.c dev_open(88): no device found [V] lib/libflirc/common/flirc_transport.c _fl_open_libhid_btldr(56): no hid device found [D] lib/libflirc/common/flirc_transport.c fl_open_hid(130): trying to open main device [D] lib/libflirc/common/flirc_transport.c _fl_open_libhid_app(92): trying to open 0x20A0, 0x0006 [D] lib/libtransport/hid.c list_devs(280): --------------------------------------------------------- [D] lib/libtransport/hid.c list_devs(281): -----------------------Device List----------------------- [D] lib/libtransport/hid.c list_devs(282): --------------------------------------------------------- [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw0 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 0 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 65280 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 1 [D] lib/libtransport/hid.c list_devs(300): Usage: 6 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 12 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 1 [D] lib/libtransport/hid.c list_devs(300): Usage: 128 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw1 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 1 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 12 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(292): Device Found type: 20a0 0006 path: /dev/hidraw2 serial_number: E7A3ABA25050323431202020FF101122 [D] lib/libtransport/hid.c list_devs(294): [D] lib/libtransport/hid.c list_devs(295): Manufacturer: flirc.tv [D] lib/libtransport/hid.c list_devs(296): Product: flirc [D] lib/libtransport/hid.c list_devs(297): Release: 200 [D] lib/libtransport/hid.c list_devs(298): Interface: 2 [D] lib/libtransport/hid.c list_devs(299): Usage Page: 65280 [D] lib/libtransport/hid.c list_devs(300): Usage: 1 [D] lib/libtransport/hid.c list_devs(306): --------------------------------------------------------- [D] lib/libtransport/hid.c hid_find(254): Device Used type: 20a0 0006 path: /dev/hidraw0 serial_number: E7A3ABA25050323431202020FF101122[D] lib/libtransport/hid.c hid_find(256): Manufacturer: flirc.tv [D] lib/libtransport/hid.c hid_find(257): Product: flirc [D] lib/libtransport/hid.c hid_find(258): Release: 200 [D] lib/libtransport/hid.c hid_find(259): Interface: 0 [D] lib/libtransport/hid.c hid_find(260): Usage Page: 65280 [D] lib/libtransport/hid.c hid_find(261): Usage: 1 [V] lib/libtransport/hid.c hid_dev_open(336): Manufacturer String: flirc.tv [V] lib/libtransport/hid.c hid_dev_open(341): Product String: flirc [V] lib/libtransport/hid.c hid_dev_open(346): Serial Number String: E7A3ABA25050323431202020FF101122 [V] lib/libtransport/hid.c hid_dev_open(347): [V] lib/libtransport/hid.c hid_send_packet(79): Report ID: 2 [V] lib/libtransport/hid.c hid_send_packet(80): Report len: 33 00: 02 67 65 74 76 65 72 73 69 6f 6e 00 00 b4 79 03 .getversion...y. 10: 00 d4 ea 8f ff 04 00 00 00 00 00 00 00 78 ea 8f .............x.. 20: ff . [V] lib/libtransport/hid.c hid_send_packet(91): hid_write = 33 [V] lib/libtransport/hid.c hid_recv_packet(144): Report ID: 1 [V] lib/libtransport/hid.c hid_recv_packet(145): Report len: 33 [V] lib/libtransport/hid.c hid_recv_packet(156): 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 . [V] lib/libflirc/common/flirc_transport.c transport_new_get_version(35): Version: 4.9.7 0x1DE23EB8 [release] [D] lib/libflirc/flirc_driver.c determine_iface(116): fw_state: firmware [D] lib/libflirc/flirc_driver.c determine_iface(118): version: 4.9 [D] lib/libflirc/flirc_driver.c determine_iface(256): initializing fw ver4.9 [D] lib/libflirc/common/flirc_transport.c _fl_open_libhid_app(113): [Device Found] [V] lib/libflirc/common/flirc_transport.c _fl_open_libhid_app(114): FIRMWARE: 2 [V] lib/libflirc/common/flirc_transport.c fl_open_hid(132): application found [D] lib/libflirc/flirc_driver.c fl_open_device(285): device found, state: 2 [V] lib/libcmds/cmds.c run_cmds(251): running command: sendir [V] lib/libcmds/cmds.c cmd_getopt(223): opt: --raw=+9097 -4399 +643 -452 +643 -456 +638 -456 +639 -452 +643 -452 +643 -451 +639 -456 +639 -456 +638 -1589 +639 -1589 +639 -1584 +643 -1585 +638 -1585 +643 -1585 +643 -1584 +639 -1585 +659 -1568 +639 -1588 +639 -474 +621 -456 +639 -456 +639 -456 +639 -1585 +638 -457 +638 -456 +639 -456 +639 -1589 +682 -1542 +643 -1584 +639 -1588 +639 -458 +611 -1611 +639, carg = 1 [V] lib/libcmds/cmds.c cmd_getopt(223): opt: --repeat=1, carg = 2 Transmitting IR Pattern... [V] lib/libtransport/hid.c hid_send_packet(79): Report ID: 6 [V] lib/libtransport/hid.c hid_send_packet(80): Report len: 65 00: 06 69 72 74 72 61 6e 73 65 74 00 00 00 44 00 98 .irtranset...D.. 10: 3a 01 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 ff ff ff ff 00 00 00 00 dc 99 61 f7 c8 fb 80 ...........a.... 40: f7 . [V] lib/libtransport/hid.c hid_send_packet(91): hid_write = 65 [V] lib/libtransport/hid.c hid_recv_packet(144): Report ID: 5 [V] lib/libtransport/hid.c hid_recv_packet(145): Report len: 65 [V] lib/libtransport/hid.c hid_recv_packet(156): 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 89 23 2f 11 83 02 c4 01 83 02 c8 01 7e 02 ...#/.........~. 10: c8 01 7f 02 c4 01 83 02 c4 01 83 02 c3 01 7f 02 ................ 20: c8 01 7f 02 c8 01 7e 02 35 06 7f 02 35 06 7f 02 ......~.5...5... 30: 30 06 83 02 0... [V] lib/libtransport/hid.c hid_send_packet(79): Report ID: 6 [V] lib/libtransport/hid.c hid_send_packet(80): Report len: 65 00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 00 00 89 .irtransraw..... 10: 23 2f 11 83 02 c4 01 83 02 c8 01 7e 02 c8 01 7f #/.........~.... 20: 02 c4 01 83 02 c4 01 83 02 c3 01 7f 02 c8 01 7f ................ 30: 02 c8 01 7e 02 35 06 7f 02 35 06 7f 02 30 06 83 ...~.5...5...0.. 40: 02 . [V] lib/libtransport/hid.c hid_send_packet(91): hid_write = 65 [V] lib/libtransport/hid.c hid_recv_packet(144): Report ID: 5 [V] lib/libtransport/hid.c hid_recv_packet(145): Report len: 65 [V] lib/libtransport/hid.c hid_recv_packet(156): 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: 31 06 7e 02 31 06 83 02 31 06 83 02 30 06 7f 02 1.~.1...1...0... 10: 31 06 93 02 20 06 7f 02 34 06 7f 02 da 01 6d 02 1... ...4.....m. 20: c8 01 7f 02 c8 01 7f 02 c8 01 7f 02 31 06 7e 02 ............1.~. 30: c9 01 7e 02 ..~. [V] lib/libtransport/hid.c hid_send_packet(79): Report ID: 6 [V] lib/libtransport/hid.c hid_send_packet(80): Report len: 65 00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 31 06 7e .irtransraw..1.~ 10: 02 31 06 83 02 31 06 83 02 30 06 7f 02 31 06 93 .1...1...0...1.. 20: 02 20 06 7f 02 34 06 7f 02 da 01 6d 02 c8 01 7f . ...4.....m.... 30: 02 c8 01 7f 02 c8 01 7f 02 31 06 7e 02 c9 01 7e .........1.~...~ 40: 02 . [V] lib/libtransport/hid.c hid_send_packet(91): hid_write = 65 [V] lib/libtransport/hid.c hid_recv_packet(144): Report ID: 5 [V] lib/libtransport/hid.c hid_recv_packet(145): Report len: 65 [V] lib/libtransport/hid.c hid_recv_packet(156): 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: c8 01 7f 02 c8 01 7f 02 35 06 aa 02 06 06 83 02 ........5....... 10: 30 06 7f 02 34 06 7f 02 ca 01 63 02 4b 06 7f 02 0...4.....c.K... [V] lib/libtransport/hid.c hid_send_packet(79): Report ID: 6 [V] lib/libtransport/hid.c hid_send_packet(80): Report len: 65 00: 06 69 72 74 72 61 6e 73 72 61 77 00 00 c8 01 7f .irtransraw..... 10: 02 c8 01 7f 02 35 06 aa 02 06 06 83 02 30 06 7f .....5.......0.. 20: 02 34 06 7f 02 ca 01 63 02 4b 06 7f 02 00 00 00 .4.....c.K...... 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40: 00 . [V] lib/libtransport/hid.c hid_send_packet(91): hid_write = 65 [V] lib/libtransport/hid.c hid_recv_packet(144): Report ID: 5 [V] lib/libtransport/hid.c hid_recv_packet(145): Report len: 65 [V] lib/libtransport/hid.c hid_recv_packet(156): 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 . +9097 -4399 +643 -452 +643 -456 +638 -456 +639 -452 +643 -452 +643 -451 +639 -456 +639 -456 +638 -1589 +639 -1589 +639 -1584 +643 -1585 +638 -1585 +643 -1585 +643 -1584 +639 -1585 +659 -1568 +639 -1588 +639 -474 +621 -456 +639 -456 +639 -456 +639 -1585 +638 -457 +638 -456 +639 -456 +639 -1589 +682 -1542 +643 -1584 +639 -1588 +639 -458 +611 -1611 +639 -15000 Done! [V] util/flirc_util/src/main.c main(173): running post-command function 0 [V] util/flirc_util/src/prepost.c flirc_deinit(39): closing device [D] lib/libflirc/flirc_driver.c fl_close_device(443): closing device [D] lib/libflirc/flirc_driver.c fl_close_device(454): freeing iface pi@raspberrypi:~ $
  16. Also, when --repeat is omitted when running flirc_util.exe sendir --pronto="<pronto hex code>", flirc_util.exe defaults to 1 repeat. Not really a problem (you can specify --repeat=0), just slightly confusing.
  17. Try flirc_util.exe sendir --pattern=0,8834,4157,509,1534,510,494,509,493,507,495,508,1536,509,494,509,493,509,494,508,495,509,493,535,469,508,495,506,495,510,493,507,496,508,496,508,1534,509,495,522,480,507,496,508,494,508,495,509,494,509,493,508,1534,509,494,508,495,507,495,508 --repeat=0 Close Flirc GUI before running the command. --raw and --pronto arguments are not available before version 3.26.8.
  18. Hello, I'm trying to replicate my AC remote using Flirc. I did it a few months ago, but I can't seem to get it back. I captured this log using Flirc GUI: Firmware Version: v4.9.61 SKU: Flirc 2.0 [dori] Git Hash: 0x4b35b711 <3>record_hash(473): hash exists -40481 +8834 -4157 +509 -1534 +510 -494 +509 -493 +507 -495 +508 -1536 +509 -494 +509 -493 +509 -494 +508 -495 +509 -493 +535 -469 +508 -495 +506 -495 +510 -493 +507 -496 +508 -496 +508 -1534 +509 -495 +522 -480 +507 -496 +508 -494 +508 -495 +509 -494 +509 -493 +508 -1534 +509 -494 +508 -495 +507 -495 +508 I'm trying to replicate this command using flirc_util, but I can't get it to work: flirc_util.exe sendir --raw="-40481 +8834 -4157 +509 -1534 +510 -494 +509 -493 +507 -495 +508 -1536 +509 -494 +509 -493 +509 -494 +508 -495 +509 -493 +535 -469 +508 -495 +506 -495 +510 -493 +507 -496 +508 -496 +508 -1534 +509 -495 +522 -480 +507 -496 +508 -494 +508 -495 +509 -494 +509 -493 +508 -1534 +509 -494 +508 -495 +507 -495 +508" [W] lib/libcmds/cmds.c handle_longopt(182): `sendir' doesn not take '--raw' option Error: must specify an option flirc_util.exe sendir --pronto="-40481 +8834 -4157 +509 -1534 +510 -494 +509 -493 +507 -495 +508 -1536 +509 -494 +509 -493 +509 -494 +508 -495 +509 -493 +535 -469 +508 -495 +506 -495 +510 -493 +507 -496 +508 -496 +508 -1534 +509 -495 +522 -480 +507 -496 +508 -494 +508 -495 +509 -494 +509 -493 +508 -1534 +509 -494 +508 -495 +507 -495 +508" Transmitting IR Pattern... (but doesn't work) flirc_util.exe sendir --pronto="0,40481,8834,4157,509,1534,510,494,509,493,507,495,508,1536,509,494,509,493,509,494,508,495,509,493,535,469,508,495,506,495,510,493,507,496,508,496,508,1534,509,495,522,480,507,496,508,494,508,495,509,494,509,493,508,1534,509,494,508,495,507,495,508" [E] lib/libtransport/transport.c _dev_send_cmd(223): Wrong response: 'ir_state' Error getting version device disconnected, can't run command ¿Any idea? Thanks!
  19. pi@raspberrypi:~ $ curl apt.flirc.tv/install.sh | sudo bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8266 100 8266 0 0 15450 0 --:--:-- --:--:-- --:--:-- 15479 `..-:://++ooossyyyyhhhhhhhhhhhhhhhhyyysso++/:-.` `.:/+oosyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyo:` -/oyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhy /hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh- hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh: yhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh: ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh- -hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh` yhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhs /hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh/ yhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhho:-:+hhhhhhhhhhhh. /hhhhhhhhhhhs- -shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh. `hhhhhhhhhhs yhhhhhhhhhh` .hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yhhhhhhhhh- :hhhhhhhhhho` `ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhs:` `-shhhhhhhhho shhhhhhhhhhhssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh` .hhhhhhhhhhhhhhysso++///:::-----........-----:://+oshhhhhhhhhhh: :hhhhhhhhhhhs/:---......```````````.......---:::/+ohhhhhhhhhho +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhs ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhy` +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhs` -shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhys: `.-://++oosssyyyyyhhhhhhhhhhhhhyyyssoo++//:--.` Distribution: debian Checking for curl... Detected curl... Installing flirc deb-repo... Running apt-get update... done. Installing apt-transport-https... done. Installing /etc/apt/sources.list.d/flirc_fury.list...done. Running apt-get update... done. Do you want to install the flirc utilities? [Y/n] Installing flirc utilities...done. pi@raspberrypi:~ $ flirc_util sendir --raw="+9092 -4403 +638 -456 +639 -456 +638 -456 +639 -456 +638 -456 +635 -456 +638 -456 +639 -456 +638 -1589 +638 -1585 +638 -1589 +638 -1584 +643 -1585 +638 -1584 +617 -1610 +639 -1584 +642 -452 +643 -1584 +638 -456 +639 -1584 +642 -1585 +638 -456 +613 -1610 +643 -451 +643 -1584 +638 -456 +639 -1588 +639 -451 +643 -452 +617 -1610 +639 -456 +638 -1584 +643" --repeat=1 [W] lib/libcmds/cmds.c handle_longopt(182): `sendir' doesn not take '--raw' option
  20. 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?
  21. i can send you the previous firmware, but would also need to include support for the comma delimited sendir command, is that correct?
  22. Unfortunately the documentation and support is rather lacking on this feature possibly due to lack of dev cycles anyway here is a "how to" of the " SendIR waveform function" from latest git as of feb 8 2021 on Ubuntu 20 x64: ( this guide assumes basic Linux know how, and may be invalidated over time due to updates to git) Side note: There exists other devices I bought like USB-UIRT which do a better job but have their own issues, flirc however I find a little easier to capture IR waveforms so has some uses the issue is the transceiver its not going to work unless your literally sitting the usb unit in front of the device you want to control. Objective: What is Send IR, its a way to remotely send Infrared signals directly outbound, as opposed to what Flirc was designed for which is mainly inbound device control. 1. You will need Ubuntu 20 or equivalent 2. You will need V2 of the Flirc Steps: a. install flirc using the known methods namely: Debian [64], Redhat [64bit], or Raspberry Pi Debian curl apt.flirc.tv/install.sh | sudo bash b. get git, sudo apt install git c. Make a directory and install and compile the sdk Commands from your home directory: cd ~ mkdir buildsdk cd buildsdk git clone https://github.com/flirc/sdk.git cd sdk cd cli sudo apt-get install libusb-1.0-0-dev libreadline-dev libhidapi-dev make all now your tool will be compiled in: ~/buildsdk/sdk/cli/buildresults/Linux_x86_64/x86_64_linux_gnu_gcc_10/flirc_util/debug/ And it is called flirc_util (latest version from git) d. Capture IR command signal Open the traditional Flic setup and control tool, my tool which was installed in step (a) is Flirc v3.25.3 it says connected as my flirc is inserted in the computer, if you cannot find it refer to installation again in step (a). open the app, goto File, drop down: click device log, click on the checkmark (x) Enable IR debugging. This will record all IR signals being sent to the flirc you will need this to create your IR commands. So Example: Mon. Feb. 8 2021 01:51:26 Flirc GUI Version v3.25.3 Operating System: Linux *** Device Disconnected *** *** Device Connected *** So lets say I want to record the power off, power on button for my heater; When I press power on/off button while pointed towards the flirc the waveform command is, captured and immediately shows up in the debugging window as: 0,9073,4414,618,1595,622,470,618,469,649,443,618,470,622,465,623,469,622,466,622,470,617,1596,622,1595,622,1595,618,1595,622,1595,622,1595,622,1594,618,1599,618,1594,622,470,618,1595,626,465,622,466,622,469,618,470,622,470,617,470,621,1595,618,469,622,1595,621,1595,622,1591,622,1595,622 Now you have successfully captured the IR signal. e. Send IR command signal in step C, you created the flirc_util from git so, Point the USB flirc at whatever device you want to control in my case heater now from command prompt goto ~/buildsdk/sdk/cli/buildresults/Linux_x86_64/x86_64_linux_gnu_gcc_10/flirc_util/debug/ and run this command: flirc_util sendir 0,9073,4414,618,1595,622,470,618,469,649,443,618,470,622,465,623,469,622,466,622,470,617,1596,622,1595,622,1595,618,1595,622,1595,622,1595,622,1594,618,1599,618,1594,622,470,618,1595,626,465,622,466,622,469,618,470,622,470,617,470,621,1595,618,469,622,1595,621,1595,622,1591,622,1595,622 Now in my case the heater if turned on turns off, and if the heater is off turns on, You have successfully transmitted the IR signal by the computer. Main use cases would be remote ( ie not even home) control of appliances and some robotics applications. Where you can remote into your computer from away and run scripts to control things, I guess use your imagination. Good luck
  23. 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
  24. 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
  25. I'm curious, what is the format for sending IR codes using the `./flirc_util sendir`. I captured the below from a Bose wave radio remote in flirc and I'd like to send it out through the flirc. <1>malloc_addblock(49): Heap Block: 0x20001AA4 - 0x20003BFF (8k) :e:23420 0,9064,4415,624,462,597,1608,623,463,597,1608,623,1586,600,1605,597,489,593,1612,619,1587,597,488,619,1586,593,519,593,493,593,489,593,1586,597,515,593,1586,598,1612,619,493,567,515,593,493,593,492,567,515,612,474,593,493,567,514,593,1586,597,1609,623,1586,619,1587,593,1612,624,1582,623 :e:40 0,9092,2129,623 I then tried to send it out via the flirc_util sendir, but nothing happened on the Bose, even when I held it next to the radio. > ./flirc_util sendir --pattern=0,9064,4415,624,462,597,1608,623,463,597,1608,623,1586,600,1605,597,489,593,1612,619,1587,597,488,619,1586,593,519,593,493,593,489,593,1586,597,515,593,1586,598,1612,619,493,567,515,593,493,593,492,567,515,612,474,593,493,567,514,593,1586,597,1609,623,1586,619,1587,593,1612,624,1582,623 --repeat=1 Transmitting IR Pattern...Done! Suggestions? Thanks, Ben
×
×
  • Create New...