ffwema Posted May 22, 2023 Report Share Posted May 22, 2023 (edited) 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. Edited May 22, 2023 by ffwema Updated with new findings Quote Link to comment Share on other sites More sharing options...
ffwema Posted May 30, 2023 Author Report Share Posted May 30, 2023 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. Quote Link to comment Share on other sites More sharing options...
ffwema Posted July 26, 2023 Author Report Share Posted July 26, 2023 (edited) 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 Edited July 26, 2023 by ffwema Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.