What happens with the "Lirc" exporter when trying to export a complex code? #424
-
Hi, I'm just curious. There's a "Lirc Raw" mode to export any code via raw timings. But I prefer the "Lirc" mode since it's more compact. Therefore I wonder what happens in "Lirc" export mode when it encounters too-complex codes, such as the thing that was blocked in this commit: bengtmartensson/IrProtocolCodeGeneration@d8b124a I don't think that I have such remotes at the moment. But this is just a more general question about what IrScrutinizer does during export of too-complex codes? Does "Format:Lirc" then do a mix of compact sequences for the simple buttons, and "raw timings" sequences for the difficult buttons that it could not encode compactly? Or does it throw away the complex buttons from the exported config completely? Or perhaps something else? :-) PS: The more I learn about lirc thanks to your project, the less impressed I am by lirc. Wish they had accepted your ccf patches to let people easily debug / test newly captured or generated codes. ;-) And... let's not even talk about how bad their "irrecord" is at recording IR, holy hell... Thank you for creating IrScrutinizer and making the lirc ecosystem bearable. You literally saved my sanity today after I spent hours trying to record with lirc's broken tools (irrecord, mode2). :-P |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 8 replies
-
If a protocol is not handled explicitly by the protocol transformations in exportformats.d/lirc.xml, it fallbacks to the generic transformation, which creates a raw Lirc file, lines 69--131 in the current version. (That is how templates are matched in XSLT.)
Just type in for example a RC5x signal in the table of Scrutinizer Remote/Parametrized, and export it.
It generates several (Lirc) remotes in the export.
Yeah, the depressing thing is not that Lirc sucks, but how many people believe that Lirc is the best thing since sliced bread. See my review here.
Thanx for those nice words! Check out Lirconian which is a replacement of the equally horrendous irsend. |
Beta Was this translation helpful? Give feedback.
-
@Bananaman: are you satisfied with the answer? |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm sorry for not replying earlier. I was busy and didn't notice that you had started a discussion. I'm here now. :-) Thank you for the fantastic answer. It's great to know that IrScrutinizer will always create valid Lirc files even when the normal non-raw mode was selected. :-) You're honestly way beyond the skill level of the Lirc project. And it really saddens me to see people believe that Lirc is something amazing. Everything I have seen so far has been really messy and incompetent. For example, okay, let's say they don't want to let internet API users send arbitrary IR commands just in case someone sends evil commands to turn on your hairdryer in your server room? Well, then how about a local binary that has that privilege? And let's say they don't want the local binary to have that privilege? Well, then how about a config setting for people who want to allow that local access? But nope, their reply was just to shut out all the users that want a quick way to debug IR codes. I discovered IrScrutinizer by seeing how helpful you were on their mailing list. And the stark contrast between their bad attitude and your skill was horrifying to watch. In fact, IrScrutinizer is the only reason I was able to record my remotes, because irrecord and mode2 both failed completely. Because of Lirc's incompetence, I had to think of workarounds and actually used IrScrutinizers "generate missing F-codes" to generate every other function, exported them all to a Lirc config, and then ran a bash script to loop through "irsend" with each of the auto-generated commands, to see which ones triggered hidden functions on my devices. I was able to find some more modes and features. All thanks to you. You are brilliant. Thanks for pointing me to Lirconian. I will switch to that instead if I stay on lirc. You've really cleaned up the horrendous commandline that irsend had, wow.
Tried to click that but it leads to the official lirc project site. 😄 I have one important question that arose today, actually. I'll write it in a separate message below. |
Beta Was this translation helpful? Give feedback.
-
I recently purchased a Irdroid USB IR Transceiver, unfortunately. Didn't realize that it was just a stolen IrToy design which had removed the original author's credits, removed the IR detector, doubled the price, removed the software reflash bootloader, and ran on a buggy old 2.0 firmware (just renamed by Irdroid to "2.5" to fool customers), with no way to upgrade without flashing hardware. Ugh. Wish I had seen your 2015 or so posts about this before I ordered. That's $40 down the drain. But at least it was a learning experience. Your messages on the lirc mailing list about Irdroid were very entertaining. What's not so funny though is that Georgi (I think that's his name) who created the Irdroid IrToy ripoff still hasn't improved a single thing about it half a decade later and still charges over twice the IrToy price... But after some more research, I then realized that IrToy itself is awful too. It's a messy product abandoned in 2011 and has numerous bugs (disconnects itself from host after PC sleeps due to buggy USB stack, getting stuck in debug mode by itself, and tons of IR sampling errors due to poor code). And then I suddenly discovered your messages about something called Girs. It seems like you've created the entire Girs ecosystem yourself. And the most interesting piece was "AGirs" for a little Arduino Nano-based IR transceiver. Would you suggest that I build that device and move over to Girs instead? Or would you suggest something else such as http://www.iguanaworks.net/products/usb-ir-transceiver/ ? Here are my questions about AGirs:
I am very excited about the idea of building the AGirs IR arduino board. My use cases are a Home Assistant server to automate various dumb IR-based home devices (so the IR dongle needs to be able to "stay alive" with minimal or no crashes/needs to unplug the dongle). And to play around with hacking devices by sending custom IR commands. Would the AGirs Arduino IR transceiver be the path you recommend, or something else? 😄 With best regards, Johnny |
Beta Was this translation helpful? Give feedback.
-
Would writing a Girr driver for the Home assistant be a feasible project? |
Beta Was this translation helpful? Give feedback.
If a protocol is not handled explicitly by the protocol transformations in exportformats.d/lirc.xml, it fallbacks to the generic transformation, which creates a raw Lirc file, lines 69--131 in the current version. (That is how templates are matched in XSLT.)
Just type in for example a RC5x signal in the table of Scrutinizer Remote/Parametrized, and export it.