I'm using the USB IR Toy on WinXP but I can't get it working with WinLirc.
Details:
WinLirc version: 0.6.5
USBIRTOY Firmware: 20100305 R85
Connection Virtual COM8, 115200 bps
Using PuTTY of Hyperterm . . .
SelfTest Response on "t": V101
IrMan response on "IR": OK
Firmware updated are OK (
IR LED orientarion corrected and 330 Ohm paralleled to R4.
WinLIRC Error: WinLIRC failed to Initialize (Would you like to change the configuration . . . .?
It could be the configuration file that defines the remote control. WinLIRC comes with a sample configuration file, but it can learn your remote.
http://www.xs4all.nl/~laarnink/winlirc.html (http://http://www.xs4all.nl/~laarnink/winlirc.html)
"After installing WinLIRC (all you need is winlirc.exe) you probably need to build a new configuration file for your remote control. Maybe you can download it from the internet. Because WinLIRC can "learn" the signals from your remote you can use almost any remote control. After starting winlirc.exe you need to adjust the configuration because WinLIRC does not detect on what port the IR-reciever is connected. You need to set the port, enter the name and location of the new configuration file and press the 'learn' button. Then you have to enter a name for the remote control. The next 2 questions can be answered by pressing 'Enter'. The defaults will be used then for signal gap, signal length and repeat codes."
LIRC Config Files for Supported Remote Controls (Linux version)
http://lirc.sourceforge.net/remotes/ (http://http://lirc.sourceforge.net/remotes/)
Configuration File Format
http://winlirc.sourceforge.net/technicaldetails.html (http://http://winlirc.sourceforge.net/technicaldetails.html)
Thanks for the extensive information.
I always get stuck in learning the remote (tried 3 several remotes from different brands [Netgear, Sony, MCE(Asrock)]):
Step One: Determine signal gap, signal length, and repeat codes.
------------------------------------------------------------------------------------------------------------------------
You will be asked to press an arbitrary button a number of times.
Please hold it in for at least one second each time, and wait at
least one second between keypresses.
If you want to manually enter a signal gap and signal length, you
may do so now (ie, "31000 52"). Otherwise, just hit ENTER.
Gap and length?
Press a button.
Error reading signal; please try again.
SUMP is doing OK:(http://http://members.chello.nl/h.tigchelaar/untitled.JPG)
And PuTTY is also displaying characters when pressing a button on the NetGear remote.
Are you pressing [Enter] or giving any parameters?
Have you tried different COM port, speed, signal gap/length (from LIRC config files) parameters?
There is a Logic Analyzer Client that doesn't require Java to be installed (is portable):
[JRE1.6.0_14-b08]
BPLogicAnalyzer.exe
Analyzer.jar
BFP Logic Analyzer 0.8.1
http://www.gadgetfactory.net/gf/download/frsrelease/101/100/BFP_Logic_Analyzer_0.8.1.zip (http://http://www.gadgetfactory.net/gf/download/frsrelease/101/100/BFP_Logic_Analyzer_0.8.1.zip)
[quote author="scanboostar"]
I always get stuck in learning the remote (tried 3 several remotes from different brands Netgear, Sony, MCE(Asrock)]:
[/quote]
Currently the USB IR Toy only decodes remote that speak RC5 in irman compatible mode. I had to use a universal remote and try
a few different codes until I found a remote code that used RC5. All of the remotes I wanted to use were of course not RC5.
I haven't tried WinLIRC only LIRC, but what you are doing looks to be the same.
SUMP is doing OK: (SUMP screen shot)
(http://http://members.chello.nl/h.tigchelaar/untitled.JPG)
When the USB IR Toy is put into SUMP mode, it's transmitting the sampled IR receiver state using the SUMP protocol and is *not* trying to do any remote decoding.
And PuTTY is also displaying characters when pressing a button on the NetGear remote.
Do you know what mode the USB IR Toy is in when you are using it with putty? Did you type an 'R' to put it into IR man mode (the one that responds with 'OK')? Or did you type an X, which puts it into raw I/O mode (it respods with X01.
If you can get characters transmitted from the USB IR toy with the netgear remote when in IRman mode, (send an 'r') than you should be able to use that with LIRC/WinLIRC.
Hope This Helps,
--Rob
[quote author="liyin"]
Are you pressing [Enter] or giving any parameters?
Have you tried different COM port, speed, signal gap/length (from LIRC config files) parameters?
There is a Logic Analyzer Client that doesn't require Java to be installed (is portable):
[JRE1.6.0_14-b08]
BPLogicAnalyzer.exe
Analyzer.jar
BFP Logic Analyzer 0.8.1
http://www.gadgetfactory.net/gf/download/frsrelease/101/100/BFP_Logic_Analyzer_0.8.1.zip (http://http://www.gadgetfactory.net/gf/download/frsrelease/101/100/BFP_Logic_Analyzer_0.8.1.zip)
[/quote]
I pressed [ENTER] on all requests this time, I tried different values/responses (COM port, speed, signal gap/length) but with the same result.
I am using the portable Logic Analyzer Client, I installed it for my BusPirate.
[quote author="rct"]
[quote author="scanboostar"]
I always get stuck in learning the remote (tried 3 several remotes from different brands Netgear, Sony, MCE(Asrock)]:
[/quote]
Currently the USB IR Toy only decodes remote that speak RC5 in irman compatible mode. I had to use a universal remote and try
a few different codes until I found a remote code that used RC5. All of the remotes I wanted to use were of course not RC5.
[/quote]Good suggestion I will check my remotes to find if they are RC5
And PuTTY is also displaying characters when pressing a button on the NetGear remote.
Do you know what mode the USB IR Toy is in when you are using it with putty? Did you type an 'R' to put it into IR man mode (the one that responds with 'OK')? Or did you type an X, which puts it into raw I/O mode (it respods with X01.
The default mode is IRman
mode=IR_DECODER; //mode variable tracks the IR Toy mode
A funny thing happens when I press button [5] on the Netgear remote: PuTTY displays V101 (Test mode) and the decoding stops until I enter 'R' from PuTTY.
If you can get characters transmitted from the USB IR toy with the netgear remote when in IRman mode, (send an 'r') than you should be able to use that with LIRC/WinLIRC.
Hope This Helps,
--Rob
Thanks !
I also tried a JVC and a Pioneer remote but only the Netgear remote responds in IRman mode.
X (IRIO) mode is displaying multiple characters (RAW Data) with all of the remotes.
Recap: I will find a RC5 remote and try WinLIRC again.
Hessel.
[quote author="scanboostar"]
The default mode is IRman
mode=IR_DECODER; //mode variable tracks the IR Toy mode
[/quote]
True, but it only takes a single typed (or otherwise input character) to change the mode. So to test if your remote is being decoded in IRman mode, I'd type the R and make sure you get the OK and then start pushing buttons to see if you get anything back.
A funny thing happens when I press button [5] on the Netgear remote: PuTTY displays V101 (Test mode) and the decoding stops until I enter 'R' from PuTTY.
A number of dumb serial terminals had a sequence the host could send to figure out what sort of terminal is connected. I'm guessing that sequence (for the terminal putty is emulating) is being generated in IRIO mode, putty interprets it and sends the answer back. You're only aware of it because it contained the character to perform a self test.
I also tried a JVC and a Pioneer remote but only the Netgear remote responds in IRman mode. X (IRIO) mode is displaying multiple characters (RAW Data) with all of the remotes.
Since IRIO mode is sending samples that is to be expected. Your netgear remote is probably RC5.
WinLIRC doesn't use the data coming from the IR Toy through the USB port, it times the pulses coming in on pin 1 of the serial port, and because the timing of those pulses is critical, it can never use a USB receiver as the overhead is too much and breaks things, so using a USB to Serial adapter is also not an option.
With WinLIRC you are limited to the original LIRC serial port IR receiver, but the new version of WinLIRC (0.8.6) has a plugin for using your audio card instead of a serial port. I've read LIRC allows other IR receivers.
Hopefully WinLIRC would allow plugins for other interfaces besides RS-232 and audio. The USB IR Toy can be much more accurate than timing pin 1 pulses, but WinLIRC would need a protocol to offload the timing measurements. Audio is a step in the right direction, but still puts the measurements inside the WinLIRC code.
I suppose it would be possible to write code which converts the USB IR Toy response into an audio file, but that would require WinLIRC to allow loading audio files in addition to live audio card input.
Hi,
If you can feed raw IR timing information to WinLIRC it would be a peice of cake to write a plugin to support this receiver. The plugin design is flexible though, I recently wrote one for the streamzap remote, and I just wrote my own simple decoding algorithm for their remote based off nothing but guess work :p The only requirement for the plugins for WinLIRC is, they spit out the name of the button pushed on the remote, what you do, internally decoding wise is entirely up to you.
With USB IR receivers like the IR Toy, WinLIRC becomes irrelevant. WinLIRC allowed a very basic IR circuit made of a few discreet parts to interface with a PC. Applications only needed to listen for WinLIRC messages (interpreted IR codes) on a specified address:port.
Once you start using an IR Toy you can do away with WinLIRC, it is not needed to measure pulses coming on the serial port anymore (you get UART data now), and you are better off coding a much simpler front-end to translate the IR Toy's IR codes into messages that your scripts can respond to, if you are into scripts & automation, which is the easiest and most convenient way.
If you have setup WinLIRC to work with your scripts, you only need an application that translates the codes coming on the virtual serial port (0x000000000000100C) into messages ("TV_Power"), using the same address:port (127.0.0.1:8765).
have you checked the winlirc webpage recently ? I rewrote basically the entire project, redesigning it so it now has a dll/plugin architecture. I've already supported 2 usb receivers ! You need to have a little understanding of the signal, more than just converting timing codes to a button name, otherwise you will get in trouble with toggle bits and button repeats. I only suggested feeding raw timing info because the code to decode that is already written. The code supports other types of IR info also. The whole point is to get winlirc, to do this decoding for you, instead of rewriting the wheel ? Hell, I would have probably even written a plugin for you guys, if you loaned me some hardware.
Didn't know you are coding WinLIRC, that's nice. If that's the case, I have a question, what changes in the new version, the simple RC5 configuration file I'm using doesn't work with version 0.8.6b (tried contacting a bunch of WinLIRC people @ SourceForge). No doubt WinLIRC has taken an interesting turn with the plugin system, and the audio plugin is an alternative. I'm sure you can use the IR Toy's raw IO mode.
I'm using a simple LIRC IR circuit with WinLIRC (0.6.5) and my own scripts. It works perfect, but I'm moving things to USB for the long term. I still have version 0.8.6b in my PC in case I find the time to see what the problem is.
Well, the plugin decoding is based off LIRC 0.8.6, instead of the really old version. I know there's been a few changes made to the config file format over the years, but I assume they are mostly backward compatable. If you post the file I can see if it loads correctly in the latest version. But you can always try generating a new config file with IRRecord. If you have problems you should file a bug report or something.
Hi dukey - Nice work on winLIRC, I didn't know there was an update. I'll post it up on the blog. I could never get the older version to work for me.
The IR Toy has a irman compatible decoder, can that be used with the serialdevice.dll? There is also a raw sampling mode that gives bitmaps of the IR signal which might be useful for a more generic decoder.
Let me know if there's anything I can do to help with the project.