|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
alex750
Joined: 14 Sep 2003 Posts: 70 Location: Fayetteville AR USA |
Posted: Fri Dec 19, 2003 2:41 am Post subject: Porting IR to the Mac: It's time to ask |
|
|
Now that a USB interface is available, the big question becomes: what about porting IR to the Macintosh?
One early idea I had was starting with lirc (the Linux JP1 program), porting that to OS X's command line, then building an Aqua interface. But lirc is not IR; most JP1ers use IR to handle actual programming, and most newbie questions, FAQs, and other docs refer to IR, not lirc.
Plus, an OS X-only solution would leave Classic users out in the cold: there are lots of Macs out there (starting with the 7200) which can use USB cards, under MacOS 8.6 or later, but cannot run Mac OS X. On the other hand, the newest Macs require OS X and cannot run Classic at all, and those of us who can use OS X would definitely want to do our JP1 programming there; RM doesn't work well in Classic, and an OS-specific Excel (Excel:mac 2000 for Classic, Excel:mac X for OS X) is preferable for running KM and PB.
For the record, RM 0.81 works just fine on my Mac, running under Java 1.4.1 in OS X 10.2.6 'Jaguar' on a Beige G3. I don't have Excel on the Mac, but I've been able to import my KM upgrades and work with them in RM, and the resulting upgrade codes are byte-for-byte identical. As for PB, I haven't had the need (yet) for custom protocols.
The need for back- and forward compatibility means 'MacIR' should probably be built as a Carbon application, at least for now; this would permit the same program to be used with OS versions from Classic 8.6 to the present OS X 10.3.2 'Panther'. I envisioned the interface to look and feel as much like IR as possible, but also conform to Apple's Human Interface Standard (e.g., Quit is always Command-Q, and is always the last item in the File menu; the Edit menu always includes Cut, Copy, Paste, Clear, and Select All; TextEdit and other system services must be supported; and so on). For Classic operation, a USB driver might also be needed; USB support is built into OS X. There would be no need for a "Set Port Address" option, since no Mac has a parallel port, but "Check Interface" might still be used.
New features might include better integration with KM, PB, and/or RM, automatic updating of RDFs, and possibly a provision for installing and removing extenders; since extenders are now built into, and distributed via, the RDFs, this could be done within MacIR without the need for a separate extender installer. (Of course, extender developers still need S3C80, 6805, and 740 editors, assemblers, debuggers, RDF build tools, etc., but that's another story.) |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21237 Location: Chicago, IL |
Posted: Fri Dec 19, 2003 10:08 am Post subject: |
|
|
The problem has always been finding people to do the Mac work. The guys who created all the current JP1 tools are PC only people AFAIK, so it would be up to someone like yourself to take the initiative and start the Mac project. If you're up for it, go for it. _________________ Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help! |
|
Back to top |
|
|
jamesgammel Exile Island Resident
Joined: 03 Aug 2003 Posts: 394 Location: Gillette, Wyoming |
Posted: Fri Dec 19, 2003 11:18 am Post subject: |
|
|
Rob, suggestion.
This MAC issue has come up several times in the past. Obviously it's going to take programmers with MAC knowledge. How about setting up a "Poll" to see how many Mac/programming "experts" would be willing to co-work on the project. if you can get at least 4-5, then maybe set up and give them a yahoo JP1-MAC forum for someplace to share ideas, program code, division of "project" areas, etc. Right now, I don't know if we have enough programming experts to co-share in working on a project of this magnitude. Maybe they could start with a MAC version of IR. I'd assume at least one would have to know delphi to see how IR is set up (to read and interpret IR's code).
Jim |
|
Back to top |
|
|
Nils_Ekberg Expert
Joined: 02 Aug 2003 Posts: 1689 Location: Near Albany, NY |
Posted: Fri Dec 19, 2003 8:11 pm Post subject: |
|
|
Since the ultimate goal is for RM to incorporate IR functionality the question on my mind is which will take longer to get there, RM or IRMac. Since so far no one has volunteered to do the Mac work RM may get there quicker but that is going to be a long time I think.
I know Greg has his hands full just getting all of the KM to RM functions in place even though it is real close now. _________________ Nils
Files Section
Diagnosis File Section |
|
Back to top |
|
|
alex750
Joined: 14 Sep 2003 Posts: 70 Location: Fayetteville AR USA |
Posted: Sat Dec 20, 2003 12:44 am Post subject: still Delphi based? |
|
|
Is IR still based on the Delphi libraries? I thought one of the goals of the 4.0 version was to get away from that...
For Jaguar users, Apple's Developer Tools suite includes the Cocoa (native OS X) and Carbon (common Classic-OS X) runtime libraries. Its native language is Objective C, but it's supposed to be backward-compatible with ANSI C and C++.
If you're running Panther (which I can't, yet) the new XCode environment (from what I can gather from Apple's developer site) is said to include a greatly expanded class library as well as some new tools to make interface building easier.
Of course, there's also the BSD/Darwin development environment, which includes all the familiar (to Unix geeks) GNU tools and libraries: gcc and gcc++, glibc, gtk, a CVS system with fink, and so on: this, again, is the route I initially envisioned taking with lirc.
All these are free, under either the GNU or Apple Open Source licenses. Whether use of these would require opening IR's source code is uncertain. If a Mac port of IR would require a wholesale rewrite, or a completely new code base, in order to function, perhaps a Java solution (either as part of RM or a separate program) would be better. The only problem I have with Java is speed, or lack thereof: RM takes so long to load that I sometimes forget I've launched it! (Once it's running, though, it's not too bad--it's at least as fast as KM on my antique Pentium. 8) ) |
|
Back to top |
|
|
VitalyRindner
Joined: 18 Jan 2004 Posts: 3
|
Posted: Sun Jan 18, 2004 4:08 am Post subject: |
|
|
Maybe I'm missing something but, I am able to run RemoteMaster from my Mac running Panther.
Unfortunately, I don't yet have a JP1 USB cable so that I can test.
I also noticed that I get an error when trying to open the KM excel sheet under Microsoft Office v.X. Anyone else try this?
Last edited by VitalyRindner on Mon Jan 19, 2004 10:53 am; edited 1 time in total |
|
Back to top |
|
|
cdhixson
Joined: 04 Aug 2003 Posts: 48 Location: Charlotte, NC USA |
Posted: Mon Jan 19, 2004 9:00 am Post subject: |
|
|
I see a bigger problem that needs to be addressed. The USB interface needs a special driver written by the USB chip maker. The driver is only for Windows as far as I can tell. Someone will have to write a Mac driver for this hardware. That doesn't sound easy to me. _________________ Chris |
|
Back to top |
|
|
VitalyRindner
Joined: 18 Jan 2004 Posts: 3
|
Posted: Mon Jan 19, 2004 10:52 am Post subject: |
|
|
About the KM spreadsheet, upon further analysis, it seems that it works except for the New, Load, Save buttons. Everything else seems to work. |
|
Back to top |
|
|
VitalyRindner
Joined: 18 Jan 2004 Posts: 3
|
Posted: Mon Jan 19, 2004 10:55 am Post subject: |
|
|
Has anyone tried one of those USB->serial cables on a Mac?
If that works, we could use the JP1 serial cable. |
|
Back to top |
|
|
Mark Pierson Expert
Joined: 03 Aug 2003 Posts: 3017 Location: Connecticut, USA |
Posted: Mon Jan 19, 2004 11:08 am Post subject: |
|
|
VitalyRindner wrote: | If that works, we could use the JP1 serial cable. |
I think you'd have the same sort of problem that the USB interface has: drivers. IR contains its own driver used by the serial and parallel ports. It's obviously Windows-specific, so I'm certain it wouldn't run on a Mac. _________________ Mark |
|
Back to top |
|
|
bsoplinger
Joined: 04 Jan 2004 Posts: 37
|
Posted: Thu Jan 22, 2004 9:12 am Post subject: |
|
|
Hmm, what about the keyspan (or other) USB->serial adapter. Lots of things that talk serial seem to work with that, so couldn't we just talk serial to the general serial port and pray that keyspan will do all the work we need? After all, the Palm program works fine for folks and I'm sure it doesn't do anything special with the serial port. Then we could just use the IR code for its serial work, unless there's some very fancy timing issues built into the code, no? |
|
Back to top |
|
|
gjarboni Expert
Joined: 20 Sep 2003 Posts: 294 Location: Columbia, MD |
Posted: Fri Jan 23, 2004 8:31 pm Post subject: |
|
|
bsoplinger wrote: | Hmm, what about the keyspan (or other) USB->serial adapter. Lots of things that talk serial seem to work with that, ... |
Unfortunately, it's not that simple. The serial interface designed by Tommy does not use normal serial communications. To quote from his "HOW TO BUILD A SERIAL PORT INTERFACE FOR JP1":
Quote: | Instead, the PC uses the Transmit Data (TXD) line and two handshake lines, Data Terminal Ready (DTR), and Request To Send (RTS), to control RESET, SDA, and SCL signals to the EEPROM. And it uses the Clear To Send (CTS) status input to receive data on the SDA line from the EEPROM.
|
This approach is sometimes called "bit banging" and it raises and lowers signal lines to talk I2C to the eeprom. I don't know specifics of I2C, but uploading to a 2K eeprom could take at least 16,000 toggles (almost definitely more, I've never looked into the I2C protocol). I've tried using USB -> Serial adapaters (and others have as well) and the adapters can't keep up.
In order to get Mac support you'd need a chip that has I2C (inter-IC Communications) commands and Mac support. That way you could design a Mac USB JP1 interface. Or you could port the Windows driver for the Delcom chip to the Mac. |
|
Back to top |
|
|
gjarboni Expert
Joined: 20 Sep 2003 Posts: 294 Location: Columbia, MD |
Posted: Fri Jan 23, 2004 8:35 pm Post subject: |
|
|
gjarboni wrote: | Or you could port the Windows driver for the Delcom chip to the Mac. |
Actually, it looks like things are looking a little better for you Mac users. Delcom has released a Mac driver. You can check it out here: |
|
Back to top |
|
|
robert
Joined: 27 Mar 2004 Posts: 6
|
Posted: Sat Mar 27, 2004 11:09 pm Post subject: |
|
|
Where is the USB communication code in the current PC system - application and file?
I'm a Mac developer interested in this software. But, I just stumbled onto this whole thing tonight, so I'm completely unfamiliar with "RM", "IR", etc. What I have looked at is that on the PC there are Decode_IR.DLL which decodes IR sequences and there is IR.exe which is where all the programming happens.
I'm also an electrical engineer. I looked at the USB chip. I see there is mention of a Mac driver, but I don't think it is necesarily needed. On the Delcom site, they clearly indicate that you can either use their driver with it's built in commands or you can write commands (fully documented on their site) directly to their chip via the USB port. Since OS X supports USB, this latter option should be fairly easy.
So, my first question is "where should/would I begin"? I think what would make the most sense would be to first establish communication capabilities and build from there. So I need to build a cable - that's just a matter of taking some time to do it. Next is figuring out what I need to send to the cable for communication. So here's the real question - where is the USB communication code in the PC application. Is it in IR.exe and if so, what file?
Any additional "quick reference" of applications (if one already exists, just point me to it), their names and what they are for, how they all relate and fit together, would be greatly appreciated.
Robert |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21237 Location: Chicago, IL |
Posted: Sat Mar 27, 2004 11:21 pm Post subject: |
|
|
You've found the main one that you need, that being IR.exe. That's the first and most important stumbling block. If you can get that to communicate with any of the interfaces, that would be a great start.
Next up would be the DecodeIR.dll, which as you found, is used to decode learned signals.
KM is an Excel spreadsheet that is used to create upgrades. There's virtually no chance that this will work with Excel for Mac, so you can skip right past that.
Finally there's RM, which is a Java program that does the same task as KM, it's used to create upgrades. In theory at least, this one should be ready to go on the Mac platform as Java is supposed to be platform independant.
Good luck. _________________ Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|