Has anyone gotten the USB IR Toy to work with Mac OS X? I just grabbed RXTX and sump, and they run, but it doesn't communicate with the Toy.
I'm not sure whether the /dev/tty.usbmodemFFFF or /dev/cu.usbmodemFFFF device should be appropriate. I can probably do a little research here with OSC documentation to determine that. Meanwhile, I tried both and each failed. I do know that these device files appear when the Toy is attached, and disappear when it is removed, so that's a sign that OSX is happy with the Toy.
Is there any interest in a client other than sump which is OSX native? There should be enough information to get this working, but I'm curious how many others have similar interests.
There is a new logic analyzer client that will soon support the open logic sniffer, and as a result the IR Toy and Bus Pirate. You might check it, it's not java and is cross platform:
http://sigrok.org/wiki/Main_Page (http://sigrok.org/wiki/Main_Page)
Support isn't there yet, but it should be soon.
I tried to build that the sources are not stable. (Includes and libs that do not exist.) Is there a version that is know to at least compile?
I have started writing a native Mac client as part of my exploration of the USB IR Toy.
If you want to take a look, check out http://www.sounds.wa.com/software/IRToy-alpha.dmg (http://www.sounds.wa.com/software/IRToy-alpha.dmg)
It's Universal, testing on Leopard PPC, but the beta will be back-ported to Tiger.
So far, it has a long way to go, which is why I'm calling it an alpha release. I may never finish this thing, but I'll see how far I can get. Right now, it's half a test bed, and only has one useful feature - waveform display in IRIO mode.
There are five buttons:
* Reset sends three 0x00 commands to the USB IR Toy, which "should" break it out of any other mode and leave it in IR decoder mode.
* SUMP ID simply requests the ID and prints the response as text
* IRMan assumes IR decoder mode, sends "IR" and then either prints "OK" or fail
* IRIO selects the mode and prints the "X01" response (or fail), and will then graph results from the IR Toy in an autoscaling (but non-scrolling and non-zooming) scope view.
* Test selects the mode and prints the "V101" or "FAIx" response. There is a dedicated field which shows the numeric version (when positive) or the error code (when negative). i.e. FAI2 prints "-2"
They may be as much as a 2-second delay between pressing a button and the displayed result, due to the update rate that I chose, and the fact that I usually automatically reset the IR Toy before most commands and flush any old data. This refresh rate parameter and others will eventually show up in Preferences in a later release, as well as an app icon and all the other usual stuff. I'd like to enable scaling, zooming, and scrolling on the logic analyzer display, and possibly also show the pulse width in ms or µs when you click. Another feature would be a way to type in an IR string. For now, it's really only useful for analysis, and you'd need to use "screen /dev/tty.usbmodemFFFF" from Terminal.app for the other USB IR Toy features.
One thing I've learned is that the default IR decoder mode seems to send nothing. Perhaps my Sony remote controls are not RC5/RC5x compatible? However, the IRIO mode seems to work perfectly. I have not even tried the SUMP mode other than to request the SUMP ID.
Finally, if anyone has requests, suggestions, or even an explanation of why IR decoder mode 0x00 is not working, feel free to reply here. I hope to make a beta release soon.
I tried your client, but I am missing something. I do not have a lot of remotes, so I was using a tv-b-gone as a source of codes. It at least generates a lot of codes. I got lost trying to get rmio or rmman to display anything. Is there a list of steps I should try?
max os 10.6.3 on a intel mac
Thanks for the feedback. Try the beta at http://www.sounds.wa.com/software/IRToy-beta.dmg (http://www.sounds.wa.com/software/IRToy-beta.dmg)
The disk image includes a ReadMe.rtf with more instructions. The user interface is also improved.
The alpha version was very simplistic and did not implement much more than display of responses from the IR Toy. The most useful mode in the alpha version is to select IRIO mode and then look at the waveforms for various remotes.
I think that the rmio/rmman modes on the USB IR Toy only support RC-5 protocol remotes. I had similar problems as you, because I mostly have Sony remotes. The beta of my app will at least show something for every remote protocol, both hex and waveform.
Okay I will test it tonight. Thanks for the good work.
Okay with the beta you pointed me at I set IRIO and I now see codes, and wave forms.
I am however seeing way too many entries that translate to XXXX protocol, it widely varies, 70 00 00 00 00 00, and repeated strings of that pattern.
Thanks for the report. The code needs more testing with varied IR protocols. I believe it works great with Sony SIRC, and I'm beginning to see reasonable performance with RC-5 (I can't remember whether that's available in the beta release). I tried to support JVC, NEC, et cetera, but those protocols are too similar in their timing to reliably distinguish. In other words, the same button on the same remote control will be detected as JVC one time and NEC the next time. I need to refine the detection.
When you say XXXX protocol, do you mean that it literally says 'XXXX' in the text view?
I believe that if you're seeing hex with patterns like "70 00 00 00 00 00" then that's what the USB IR Toy is sending, and I can't really do much beyond what information is sent. That does look like IR decoder mode, so you might need to Reset and then select IRIO mode again, being sure that you see 'X01' in the response.
No XXXXX is varied and different protocols are displayed here.
There are two levels: protocol detection and decoding. In the beta, only Sony SIRC is decoded, and maybe RC-5, and those should not vary. The rest of the list is just detected, but I haven't written decoding functions yet. As I add decoding for each protocol, my intention is to make the detected protocol name consistent if at all possible. Right now, as I mentioned JVC, NEC, and one other are so close in their timing that they get mixed up.
No problem, I was just noticing that I was getting the same ascii string, when the displayed signal was very different. Saw tooth versus square wave and different time durations. I am still learn about IR encodings in my copious free time, so I was playing around with a tv-b-gone that just transmits all the off codes know to all devices sold in a region, one after the other. It was the closest IR tranmitter to where I was at the moment. It would be probably the hardest thing to accurately detect since in tries to emulate very know TV remotes off function. But it is a quick and continous source of IR transmissions when I was just trying to get things started.
Thanks for the additional details.
If you're getting a sawtooth, then the auto zoom must be extreme. Try the native zoom for best results. I've only seen a sawtooth edge on the first bit transition, never afterwards.
The TV-B-Gone is not supported. My detection code assumes that you're pressing a single button on a single remote. It's not worth the extra effort to write code to break apart the TV-B-Gone output into individual messages, when no other remote operates in this manner.
Note that I have tested what happens when you press and hold a button. That's supported because it's still only a single button on a single remote, even if the bit pattern is very long. IRToy.app will try to analyze even very long strings of bits from a single remote, but there's a chance that the beta will suffer a buffer-overflow crash.
I may have had that crash, but I could not reproduce it so I was uncertain. I understand that a tv-b-gone is an unusual test case, and very hard to handle, that is why I was trying to be clear what I was doing. It how ever a great source of change code for an analyzer mode test.
I've marked this thread as solved, since my original question is no longer relevant. If anyone want to continue discussing my native front end for the USB IR Toy, you can use the thread titled "New Mac OS X client application"
http://dangerousprototypes.com/forum/in ... opic=520.0 (http://dangerousprototypes.com/forum/index.php?topic=520.0)