Automation
(Last updated: Sat - Sep 6, 2008)
Linux CPU-XA Home Page
This page contains information pertaining to the software for communication between Linux and the Applied Digital Inc's CPU-XA/Ocelot (from this point on CPU-XA and Ocelot will be used interchangeably). The code here is not in the Public Domain but may be used for non-commercial use. See the Copyright for further details. Future releases may be release under an Open Source agreement (probably the GPL).
Software:Goals:Currently I have the following available:
- Mark A. Day's Linux interface to the CPUXA/Ocelot/Leopard is available. A couple of caveats, first is that you'll get an error in the make file. This is because the xclients need the FLTK library. I have 1.0.4 on my site so you can use that as it works. If you're using cpuxad just for Misterhouse then don't worry about it, ignore the error. I'll update the page specifically for Misterhouse soon. I'll explain what's needed and what can be ignored. The second is a core dump when starting up, I'll venture to guess that it has something to do with the port already being in use but that's as far as I've gotten so far.
Status:The goals of this project are currently relatively simple. The first is to create a daemon which will communicate between a client (at minimum, a telnet session to the port) and the CPU-XA attached to a serial port of the computer. Next, CLI programs to allow shell scripts to interact with the CPU-XA, followed by an events & status monitor, lastly by a GUI interface program (this includes curses and Perl/Tk based programs).
01/25/2004 - I've update the Windows version of the XALIB file. It was compiled on my WIN2K machine. The batch file xalib.bat starts up a new window and minimizes it. The batch file expects the Ocelot on COM1 but you can edit and adjust as needed.
12/23/2003 - Updated to point to the new ADICON's new BBS support page. And to point to a few new programs.
01/25/2003 - It's been a while since I've updated these pages and now it looks like a lot has changed. FutureStandards seems to be off the net but the CPUXA/Ocelot/Leopard support group has moved to Applied Digital's Support pages. It's an online forum (I prefer mail list, easier to manage all the info). I've also updated XALIB to version 0.48, this corrects a problem with getting the variable & timer info correctly. Oh, it also compiles correctly under CYGWIN for Windows so it should run under Win95 on up (yes there are a few users actually using it that way).
Hmph, I guess I'd better check all the links and add a few more.
I just received the Ocelot on 12/21/2000 and I've begun playing with it. I'm not particularly happy with the C-MAX programming interface and I hope to create something a bit different for Linux. I'm used to programming Cisco routers from the CLI, the C-MAX interface reminds me of the Bay routers interface (currently Nortel). So most of my ideas will be along these lines. I will have a GUI to make things pretty but I will always have a CLI method also.
I hope to begin coding for the CPU-XA in the January/February time frame. I'm currently stuck on a section of code for the HCS II interface. As soon as it's resolved a version will be ported to the CPU-XA.
Related links: (Yes I'm working on this. :-)
CPU-XA/Ocelot/Leopard ForumThis Forum is for the discussion of the use of the Applied Digital CPU-XA, Ocelot & Leopard controllers, and related modules, in a Home Automation environment. The list covers the use of the CPU-XA with both the included software, as well as the use and development of custom software.
CPUXA protocol (MS Word doc file)
Jay Hogg's CPU-XA IR Tools (here is a local copy of IRTools-020) and my patches to make irtools-020 compile under Linux (change the #ifdef for other Unixes). To apply the diffs, first untar Jay's files (pax is just another name for tar), cd to the directory created (irtools) then type:
tar zxvf ../irtools.diff.tgz ; ./linpat.sh ; make
It should compile clean. For those of you who are a bit confused about some of this: the .tgz ending is the sort version of .tar.gz. The .pax ending is QNX's .tar ending. The "zxvf" option used with tar works with GNU tar. If your version should fail try:
gzip -d <../irtools.diff.tgz | tar xvf - ; ./linpat.sh ; make
Joe Pasqua's CPUXA Java Compiler (XAJ).
A Sample xaj program.
Dave Alden's lex/yacc compiler/decompiler pair (oclc/ocld).
MAD's xalib V 0.48 Ocelot daemon and tools for Linux. Mark's been a bit busy so I've asked if I can post it here and he said yes (thank you Mark). This update to xalib (0.45 - 0.47) corrects a problem with getting the timer and variable info. Further work is expected so that it will correctly compile under CYGWIN (for Windows), to access more variables and add a few more options. Here is a pre-compiled Windows version of the XALIB file.
Tom Witmer went ahead and wrote a GPL'd Java toolkit ("Javacelot") for communicating with the Ocelot. It uses the RXTX utilities for the serial port communications. And theJBOC (Java Based Ocelot Compiler).
Brian Raynor has modified the OCLC compiler and has the changes, please read the ADICON Forum and ask him for his code. Eventually he'll release the code but for he has asked that I not post it here.