PDA

View Full Version : Anyone need a dedicated Ocelot plugin?



Sef
April 17th, 2004, 07:30 PM
Hi,

I'm a newbie to Girder, I only downloaded it yesterday to see if it would improve my PC running myHTPC and SnapStream BeyondTV.

Some background: I have an ADI Ocelot connected to the PC and use it mostly for sending X10 and IR. It acts as the IR blaster for BeyondTV to change the channel on my Sky Digibox, I use some buttons in myHTPC that send X10 to control the lighting around my flat, and there's a button on my remote that triggers a batch file to turn my TV to the right channel and make sure myHTPC has focus.

I originally looked at Girder as a way of controlling Winamp from a Marmitek remote control that has X10 RF control. My thinking was that I could send X10 commands from the remote, the Ocelot would read the commands and somehow pass them to Girder which could in turn control Winamp. This all seemed perfectly do-able, but I found the serial port plugin for Girder to be a bit lacking. I needed to do a lot of programming on the Ocelot side to send the appropriate messages back, and the plugin grabs hold of the serial port and won't let anything else communicate with the Ocelot. This meant that my BeyondTV driver that uses the Ocelot to change channels stopped working, and I had to quit Girder to be able to use C-Max. :x Something needed to be done...

In short, I've written an Ocelot plugin for Girder that periodically connects via the serial port, checks for received X10 commands, then disconnects the port. It needs no special programming on the Ocelot and it reports X10 commands such as "X10 A/1 ON", "X10 H/3 OFF", "X10 B DIM", etc. It also doesn't interfere with any other applications that talk to the Ocelot. Obviously, it can't connect to it while C-Max is connected for example, but I don't have to quit Girder for it to work, and my channel changing driver only grabs the port for a few seconds so it can happily co-exist. :D

I'm planning to add to the plugin over the next few weeks so I can use Girder to send X10 and IR commands and also make it more configurable. I've looked around the forums and a few people seem to have requested something like this, so my quest is: is there enough call for this plugin and should I release it to the public? If so, I'd be interested in hearing feature requests and would like a few beta testers to help me out.

Cheers

Promixis
April 17th, 2004, 09:28 PM
I think it would be great. I have an ocelot that I mainly use as a standalone controler but would really like to be able to talk to from Girder.

Sef
April 24th, 2004, 04:50 AM
Just one reply? :-? That's not exactly encouraging. :D

Thanks, Mike. I'm going to go ahead and finish the plugin anyway, just because I find it useful.

While I'm here, I've already asked on the ADI forums but even Guy Lavoie couldn't help me. Does anyone know how to set the value of a timer using the Ocelot/Leopard serial protocol? I can set variables, but don't have a command for setting a timer.

Cheers

Promixis
April 24th, 2004, 05:15 AM
Glad you are going to finish it :)

I also thought you would have more takers ;)

If Guy doesn't know the answer... I can't believe he doesn't know the answer!


The ADI guys (Dan) haven't been able to help?

Sef
April 24th, 2004, 05:22 AM
Not so far. Guy did have the answers to some of my other obscure questions about the serial protocol, but not (at least not yet) to the main issue of setting timer values.

Here's the thread on the ADI forums: http://www.appdigsupport.com/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=2;t=000314

I'm wondering if I can maybe intercept C-Max's traffic to and from the serial port somehow and figure out what commands it's using to set timers. Anybody have any experience of doing something like this?

Promixis
April 24th, 2004, 06:08 AM
I have seen a progam that will spy on serial traffic. I just cannot remember the name or where I saw it! :(

Promixis
April 24th, 2004, 06:09 AM
Are you planning on doing this via the Serial plugin or via C?

Sef
April 24th, 2004, 12:08 PM
Are you planning on doing this via the Serial plugin or via C?

You mean the spying? I dunno, I wrote a DLL once that intercepted an applications calls to OpenGL. By making my own OpenGL.DLL and putting it in the same directory as the app, I could monitor what calls it made, then pass the calls through to the real OpenGL.DLL. I was thinking I could do something like that, but hijacking Win32 calls to the serial port. I haven't put too much thought into this yet and it's probably more difficult than I realise. :-?

I'll have a look around to see if anything already exists. It'll have to wait until tomorrow though, I'm being forced to spring clean my flat today. :cry:

Promixis
April 24th, 2004, 03:06 PM
No, I meant the plugin in C or using the serial plugin. There are programs on the net for spying on the serial port...

Sef
April 24th, 2004, 05:05 PM
No, I meant the plugin in C or using the serial plugin. There are programs on the net for spying on the serial port...

:lol: That's what I thought you meant, typed out a reply, then changed my mind and retyped the whole thing.

The plugin's written entirely in C++ and uses ADI's binary serial protocol to talk to the Ocelot.

Promixis
May 1st, 2004, 04:45 AM
Hi Sef,

Thank you for doing this. Getting ready for a del homeseer*.*

Whats working

Send X10, Send IR, Set Variable, Set Timer.

Not Working

Receive X10 doesn't generate any payload event.
No event from receive IR

On Girder Exit, I get a error:access violation, tried to read from ....

When I first tried the plugin, it would not connect. So I started up cmax to make sure the connection was good. It was. Then restarted Girder and it worked fine.



[05/01/04 06:47:55] Received X10: (2:E)
[05/01/04 06:47:56] Received X10: (2:8E)
[05/01/04 06:47:56] Received X10: (2:12)
[05/01/04 06:48:08] - Monitor_Stop
[05/01/04 06:48:08] - Stopped
[05/01/04 06:48:08] - Monitor_Start
[05/01/04 06:48:08] - Started
[05/01/04 06:48:08] [MonitorThread] Starting
[05/01/04 06:48:08] [Ocelot] Opening port: COM1:
[05/01/04 06:48:08] [Ocelot] Opened port: COM1:
[05/01/04 06:48:08] [Ocelot] Insufficient data read from port
[05/01/04 06:48:09] [Ocelot] Insufficient data read from port
[05/01/04 06:48:09] [Ocelot] Insufficient data read from port
[05/01/04 06:48:09] [Ocelot] Insufficient data read from port
[05/01/04 06:48:09] [Ocelot] Insufficient data read from port
[05/01/04 06:48:09] [Ocelot] Insufficient data read from port
[05/01/04 06:48:10] [Ocelot] Insufficient data read from port
[05/01/04 06:48:10] [Ocelot] Insufficient data read from port
[05/01/04 06:48:10] [Ocelot] Insufficient data read from port
[05/01/04 06:48:10] [Ocelot] Insufficient data read from port
[05/01/04 06:48:10] [Ocelot] Insufficient data read from port
[05/01/04 06:48:11] [Ocelot] Insufficient data read from port
[05/01/04 06:48:11] [Ocelot] Insufficient data read from port
[05/01/04 06:48:11] [Ocelot] Insufficient data read from port
[05/01/04 06:48:11] [Ocelot] Insufficient data read from port
[05/01/04 06:48:11] [Ocelot] Insufficient data read from port
[05/01/04 06:48:12] [Ocelot] Insufficient data read from port
[05/01/04 06:48:12] [Ocelot] Insufficient data read from port
[05/01/04 06:48:12] [Ocelot] Insufficient data read from port
[05/01/04 06:48:12] [Ocelot] Insufficient data read from port
[05/01/04 06:48:12] [Ocelot] Insufficient data read from port
[05/01/04 06:48:13] [Ocelot] Insufficient data read from port
[05/01/04 06:48:13] [Ocelot] Insufficient data read from port
[05/01/04 06:48:13] [Ocelot] Insufficient data read from port
[05/01/04 06:48:13] [Ocelot] Insufficient data read from port
[05/01/04 06:48:13] [Ocelot] Insufficient data read from port
[05/01/04 06:48:14] [Ocelot] Insufficient data read from port
[05/01/04 06:48:14] [Ocelot] Insufficient data read from port
[05/01/04 06:48:14] [Ocelot] Insufficient data read from port
[05/01/04 06:48:14] [Ocelot] Insufficient data read from port
[05/01/04 06:48:14] [Ocelot] Insufficient data read from port
[05/01/04 06:48:15] [Ocelot] Insufficient data read from port
[05/01/04 06:48:15] [Ocelot] Insufficient data read from port
[05/01/04 06:48:15] [Ocelot] Insufficient data read from port
[05/01/04 06:48:15] [Ocelot] Insufficient data read from port
[05/01/04 06:48:15] [Ocelot] Insufficient data read from port
[05/01/04 06:48:16] [Ocelot] Insufficient data read from port
[05/01/04 06:48:16] [Ocelot] Insufficient data read from port
[05/01/04 06:48:16] [Ocelot] Insufficient data read from port
[05/01/04 06:48:16] [Ocelot] Insufficient data read from port
[05/01/04 06:48:16] [Ocelot] Insufficient data read from port
[05/01/04 06:48:17] [Ocelot] Insufficient data read from port
[05/01/04 06:48:17] [Ocelot] Insufficient data read from port
[05/01/04 06:48:17] [Ocelot] Insufficient data read from port
[05/01/04 06:48:17] [Ocelot] Insufficient data read from port
[05/01/04 06:48:17] [Ocelot] Insufficient data read from port
[05/01/04 06:48:18] [Ocelot] Insufficient data read from port
[05/01/04 06:48:18] [Ocelot] Insufficient data read from port
[05/01/04 06:48:18] [Ocelot] Insufficient data read from port
[05/01/04 06:48:18] [Ocelot] Insufficient data read from port
[05/01/04 06:48:18] [Ocelot] Insufficient data read from port
[05/01/04 06:48:19] [Ocelot] Insufficient data read from port
[05/01/04 06:48:19] [Ocelot] Insufficient data read from port
[05/01/04 06:48:19] [Ocelot] Insufficient data read from port
[05/01/04 06:48:19] [Ocelot] Insufficient data read from port
[05/01/04 06:48:19] [Ocelot] Insufficient data read from port
[05/01/04 06:48:20] [Ocelot] Insufficient data read from port
[05/01/04 06:48:20] [Ocelot] Insufficient data read from port
[05/01/04 06:48:20] [Ocelot] Insufficient data read from port
[05/01/04 06:48:20] [Ocelot] Insufficient data read from port
[05/01/04 06:48:20] [Ocelot] Insufficient data read from port
[05/01/04 06:48:21] [Ocelot] Insufficient data read from port
[05/01/04 06:48:21] [Ocelot] Insufficient data read from port
[05/01/04 06:48:21] [Ocelot] Insufficient data read from port
[05/01/04 06:48:21] [Ocelot] Insufficient data read from port
[05/01/04 06:48:21] [Ocelot] Insufficient data read from port
[05/01/04 06:48:22] [Ocelot] Insufficient data read from port
[05/01/04 06:48:22] [Ocelot] Insufficient data read from port
[05/01/04 06:48:22] [Ocelot] Insufficient data read from port
[05/01/04 06:48:22] [Ocelot] Insufficient data read from port
[05/01/04 06:48:22] [Ocelot] Insufficient data read from port
[05/01/04 06:48:23] [Ocelot] Insufficient data read from port
[05/01/04 06:48:23] [Ocelot] Insufficient data read from port
[05/01/04 06:48:23] [Ocelot] Insufficient data read from port
[05/01/04 06:48:23] Received X10: (2:E)
[05/01/04 06:48:23] [Ocelot] Insufficient data read from port
[05/01/04 06:48:23] [Ocelot] Insufficient data read from port
[05/01/04 06:48:24] Received X10: (2:8E)
[05/01/04 06:48:24] [Ocelot] Insufficient data read from port
[05/01/04 06:48:24] Received X10: (2:12)
[05/01/04 06:48:24] [Ocelot] Insufficient data read from port
[05/01/04 06:48:24] [Ocelot] Insufficient data read from port
[05/01/04 06:48:24] [Ocelot] Insufficient data read from port
[05/01/04 06:48:24] [Ocelot] Insufficient data read from port
[05/01/04 06:48:25] [Ocelot] Insufficient data read from port
[05/01/04 06:48:25] [Ocelot] Insufficient data read from port
[05/01/04 06:48:25] [Ocelot] Insufficient data read from port
[05/01/04 06:48:25] [Ocelot] Insufficient data read from port
[05/01/04 06:48:25] [Ocelot] Insufficient data read from port
[05/01/04 06:48:26] [Ocelot] Insufficient data read from port
[05/01/04 06:48:26] [Ocelot] Insufficient data read from port
[05/01/04 06:48:26] [Ocelot] Insufficient data read from port
[05/01/04 06:48:26] [Ocelot] Insufficient data read from port
[05/01/04 06:48:26] [Ocelot] Insufficient data read from port
[05/01/04 06:48:27] [Ocelot] Insufficient data read from port
[05/01/04 06:48:27] [Ocelot] Insufficient data read from port
[05/01/04 06:48:27] [Ocelot] Insufficient data read from port
[05/01/04 06:48:27] [Ocelot] Insufficient data read from port
[05/01/04 06:48:27] [Ocelot] Insufficient data read from port
[05/01/04 06:48:28] [Ocelot] Insufficient data read from port
[05/01/04 06:48:28] [Ocelot] Insufficient data read from port
[05/01/04 06:48:28] [Ocelot] Insufficient data read from port
[05/01/04 06:48:28] [Ocelot] Insufficient data read from port
[05/01/04 06:48:29] [Ocelot] Insufficient data read from port
[05/01/04 06:48:29] [Ocelot] Insufficient data read from port
[05/01/04 06:48:29] [Ocelot] Insufficient data read from port
[05/01/04 06:48:29] [Ocelot] Insufficient data read from port
[05/01/04 06:48:29] [Ocelot] Insufficient data read from port
[05/01/04 06:48:30] [Ocelot] Insufficient data read from port
[05/01/04 06:48:30] [Ocelot] Insufficient data read from port
[05/01/04 06:48:30] [Ocelot] Insufficient data read from port
[05/01/04 06:48:30] [Ocelot] Insufficient data read from port
[05/01/04 06:48:30] [Ocelot] Insufficient data read from port
[05/01/04 06:48:31] [Ocelot] Insufficient data read from port
[05/01/04 06:48:31] [Ocelot] Insufficient data read from port
[05/01/04 06:48:31] [Ocelot] Insufficient data read from port
[05/01/04 06:48:31] [Ocelot] Insufficient data read from port
[05/01/04 06:48:31] [Ocelot] Insufficient data read from port
[05/01/04 06:48:32] [Ocelot] Insufficient data read from port
[05/01/04 06:48:32] [Ocelot] Insufficient data read from port
[05/01/04 06:48:32] [Ocelot] Insufficient data read from port
[05/01/04 06:48:32] [Ocelot] Insufficient data read from port
[05/01/04 06:48:32] [Ocelot] Insufficient data read from port
[05/01/04 06:48:33] [Ocelot] Insufficient data read from port
[05/01/04 06:48:33] [Ocelot] Insufficient data read from port
[05/01/04 06:48:33] [Ocelot] Insufficient data read from port
[05/01/04 06:48:33] [Ocelot] Insufficient data read from port
[05/01/04 06:48:33] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] Received X10: (2:E)
[05/01/04 06:48:34] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] Received X10: (2:8E)
[05/01/04 06:48:34] [Ocelot] Insufficient data read from port
[05/01/04 06:48:34] Received X10: (2:12)
[05/01/04 06:48:35] [Ocelot] Insufficient data read from port
[05/01/04 06:48:35] [Ocelot] Insufficient data read from port
[05/01/04 06:48:35] [Ocelot] Insufficient data read from port
[05/01/04 06:48:35] [Ocelot] Insufficient data read from port
[05/01/04 06:48:35] [Ocelot] Insufficient data read from port
[05/01/04 06:48:36] [Ocelot] Insufficient data read from port
[05/01/04 06:48:36] [Ocelot] Insufficient data read from port
[05/01/04 06:48:36] [Ocelot] Insufficient data read from port
[05/01/04 06:48:36] Received X10: (7:7)
[05/01/04 06:48:36] [Ocelot] Insufficient data read from port
[05/01/04 06:48:36] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [MonitorThread] Error receiving X10: The operation completed successfully.


[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:37] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] [MonitorThread] Error receiving X10: The operation completed successfully.


[05/01/04 06:48:38] [Ocelot] Insufficient data read from port
[05/01/04 06:48:38] 5 bytes of data received
[05/01/04 06:48:38] - I/O status changed
[05/01/04 06:48:38] - I/O status changed
[05/01/04 06:48:39] [Ocelot] Insufficient data read from port
[05/01/04 06:48:39] [Ocelot] Insufficient data read from port
[05/01/04 06:48:39] [Ocelot] Insufficient data read from port
[05/01/04 06:48:39] [Ocelot] Insufficient data read from port
[05/01/04 06:48:39] [Ocelot] Insufficient data read from port
[05/01/04 06:48:40] [Ocelot] Insufficient data read from port
[05/01/04 06:48:40] [Ocelot] Insufficient data read from port
[05/01/04 06:48:40] [Ocelot] Insufficient data read from port
[05/01/04 06:48:40] [Ocelot] Insufficient data read from port
[05/01/04 06:48:40] [Ocelot] Insufficient data read from port
[05/01/04 06:48:41] [Ocelot] Insufficient data read from port
[05/01/04 06:48:41] [Ocelot] Insufficient data read from port
[05/01/04 06:48:41] [Ocelot] Insufficient data read from port
[05/01/04 06:48:41] [Ocelot] Insufficient data read from port
[05/01/04 06:48:41] [Ocelot] Insufficient data read from port
[05/01/04 06:48:42] [Ocelot] Insufficient data read from port
[05/01/04 06:48:42] [Ocelot] Insufficient data read from port
[05/01/04 06:48:42] [Ocelot] Insufficient data read from port
[05/01/04 06:48:42] [Ocelot] Insufficient data read from port
[05/01/04 06:48:42] [Ocelot] Insufficient data read from port
[05/01/04 06:48:43] [Ocelot] Insufficient data read from port
[05/01/04 06:48:43] [Ocelot] Insufficient data read from port
[05/01/04 06:48:43] [Ocelot] Insufficient data read from port
[05/01/04 06:48:43] [Ocelot] Insufficient data read from port
[05/01/04 06:48:43] [Ocelot] Insufficient data read from port
[05/01/04 06:48:44] [Ocelot] Insufficient data read from port
[05/01/04 06:48:44] Received X10: (2:E)
[05/01/04 06:48:44] [Ocelot] Insufficient data read from port
[05/01/04 06:48:44] [Ocelot] Insufficient data read from port
[05/01/04 06:48:44] Received X10: (2:8E)
[05/01/04 06:48:44] [Ocelot] Insufficient data read from port
[05/01/04 06:48:44] Received X10: (2:12)
[05/01/04 06:48:44] [Ocelot] Insufficient data read from port
[05/01/04 06:48:45] [Ocelot] Insufficient data read from port
[05/01/04 06:48:45] [Ocelot] Insufficient data read from port
[05/01/04 06:48:45] [Ocelot] Insufficient data read from port
[05/01/04 06:48:45] [Ocelot] Insufficient data read from port
[05/01/04 06:48:45] [Ocelot] Insufficient data read from port
[05/01/04 06:48:46] [Ocelot] Insufficient data read from port
[05/01/04 06:48:46] [Ocelot] Insufficient data read from port
[05/01/04 06:48:46] [Ocelot] Insufficient data read from port
[05/01/04 06:48:46] [Ocelot] Insufficient data read from port
[05/01/04 06:48:46] [Ocelot] Insufficient data read from port
[05/01/04 06:48:47] [Ocelot] Insufficient data read from port
[05/01/04 06:48:47] [Ocelot] Insufficient data read from port
[05/01/04 06:48:47] [Ocelot] Insufficient data read from port
[05/01/04 06:48:47] [Ocelot] Insufficient data read from port
[05/01/04 06:48:47] [Ocelot] Insufficient data read from port
[05/01/04 06:48:48] [Ocelot] Insufficient data read from port
[05/01/04 06:48:48] [Ocelot] Insufficient data read from port
[05/01/04 06:48:48] [Ocelot] Insufficient data read from port
[05/01/04 06:48:48] [Ocelot] Insufficient data read from port
[05/01/04 06:48:48] [Ocelot] Insufficient data read from port
[05/01/04 06:48:49] [Ocelot] Insufficient data read from port
[05/01/04 06:48:49] [Ocelot] Insufficient data read from port
[05/01/04 06:48:49] [Ocelot] Insufficient data read from port
[05/01/04 06:48:49] [Ocelot] Insufficient data read from port
[05/01/04 06:48:49] [Ocelot] Insufficient data read from port
[05/01/04 06:48:50] [Ocelot] Insufficient data read from port
[05/01/04 06:48:50] [Ocelot] Insufficient data read from port
[05/01/04 06:48:50] [Ocelot] Insufficient data read from port
[05/01/04 06:48:50] [Ocelot] Insufficient data read from port
[05/01/04 06:48:50] [Ocelot] Insufficient data read from port
[05/01/04 06:48:51] [Ocelot] Insufficient data read from port
[05/01/04 06:48:51] [Ocelot] Insufficient data read from port
[05/01/04 06:48:51] [Ocelot] Insufficient data read from port
[05/01/04 06:48:51] [Ocelot] Insufficient data read from port
[05/01/04 06:48:51] [Ocelot] Insufficient data read from port
[05/01/04 06:48:52] [Ocelot] Insufficient data read from port
[05/01/04 06:48:52] [Ocelot] Insufficient data read from port
[05/01/04 06:48:52] [Ocelot] Insufficient data read from port
[05/01/04 06:48:52] [Ocelot] Insufficient data read from port
[05/01/04 06:48:52] [Ocelot] Insufficient data read from port
[05/01/04 06:48:53] [Ocelot] Insufficient data read from port
[05/01/04 06:48:53] [Ocelot] Insufficient data read from port
[05/01/04 06:48:53] [Ocelot] Insufficient data read from port
[05/01/04 06:48:53] [Ocelot] Insufficient data read from port
[05/01/04 06:48:53] [Ocelot] Insufficient data read from port
[05/01/04 06:48:54] [Ocelot] Insufficient data read from port
[05/01/04 06:48:54] [Ocelot] Insufficient data read from port
[05/01/04 06:48:54] [Ocelot] Insufficient data read from port
[05/01/04 06:48:54] [Ocelot] Insufficient data read from port
[05/01/04 06:48:54] [Ocelot] Insufficient data read from port
[05/01/04 06:48:55] [Ocelot] Insufficient data read from port
[05/01/04 06:48:55] [Ocelot] Insufficient data read from port
[05/01/04 06:48:55] [Ocelot] Insufficient data read from port
[05/01/04 06:48:55] [Ocelot] Insufficient data read from port
[05/01/04 06:48:55] [Ocelot] Insufficient data read from port
[05/01/04 06:48:56] [Ocelot] Insufficient data read from port
[05/01/04 06:48:56] [Ocelot] Insufficient data read from port
[05/01/04 06:48:56] [Ocelot] Insufficient data read from port
[05/01/04 06:48:56] [Ocelot] Insufficient data read from port
[05/01/04 06:48:56] [Ocelot] Insufficient data read from port
[05/01/04 06:48:57] [Ocelot] Insufficient data read from port
[05/01/04 06:48:57] [Ocelot] Insufficient data read from port
[05/01/04 06:48:57] [Ocelot] Insufficient data read from port
[05/01/04 06:48:57] [Ocelot] Insufficient data read from port
[05/01/04 06:48:57] [Ocelot] Insufficient data read from port
[05/01/04 06:48:58] [Ocelot] Insufficient data read from port
[05/01/04 06:48:58] [Ocelot] Insufficient data read from port
[05/01/04 06:48:58] [Ocelot] Insufficient data read from port
[05/01/04 06:48:58] [Ocelot] Insufficient data read from port
[05/01/04 06:48:58] [Ocelot] Insufficient data read from port
[05/01/04 06:48:59] [Ocelot] Insufficient data read from port
[05/01/04 06:48:59] [Ocelot] Insufficient data read from port
[05/01/04 06:48:59] [Ocelot] Insufficient data read from port
[05/01/04 06:48:59] [Ocelot] Insufficient data read from port
[05/01/04 06:48:59] [Ocelot] Insufficient data read from port
[05/01/04 06:49:00] [Ocelot] Insufficient data read from port
[05/01/04 06:49:00] [Ocelot] Insufficient data read from port
[05/01/04 06:49:00] [Ocelot] Insufficient data read from port
[05/01/04 06:49:00] [Ocelot] Insufficient data read from port
[05/01/04 06:49:00] [Ocelot] Insufficient data read from port
[05/01/04 06:49:01] [Ocelot] Insufficient data read from port
[05/01/04 06:49:01] [Ocelot] Insufficient data read from port
[05/01/04 06:49:01] [Ocelot] Insufficient data read from port
[05/01/04 06:49:01] [Ocelot] Insufficient data read from port
[05/01/04 06:49:02] [Ocelot] Insufficient data read from port
[05/01/04 06:49:02] [Ocelot] Insufficient data read from port
[05/01/04 06:49:02] [Ocelot] Insufficient data read from port
[05/01/04 06:49:02] [Ocelot] Insufficient data read from port
[05/01/04 06:49:02] [Ocelot] Insufficient data read from port
[05/01/04 06:49:03] [Ocelot] Insufficient data read from port
[05/01/04 06:49:03] [Ocelot] Insufficient data read from port
[05/01/04 06:49:03] [Ocelot] Insufficient data read from port
[05/01/04 06:49:03] [Ocelot] Insufficient data read from port
[05/01/04 06:49:03] [Ocelot] Insufficient data read from port
[05/01/04 06:49:04] [Ocelot] Insufficient data read from port
[05/01/04 06:49:04] [Ocelot] Insufficient data read from port
[05/01/04 06:49:04] [Ocelot] Insufficient data read from port
[05/01/04 06:49:04] [Ocelot] Insufficient data read from port
[05/01/04 06:49:04] [Ocelot] Insufficient data read from port
[05/01/04 06:49:05] [Ocelot] Insufficient data read from port
[05/01/04 06:49:05] [Ocelot] Insufficient data read from port
[05/01/04 06:49:05] [Ocelot] Insufficient data read from port
[05/01/04 06:49:05] [Ocelot] Insufficient data read from port
[05/01/04 06:49:05] [Ocelot] Insufficient data read from port
[05/01/04 06:49:06] [Ocelot] Insufficient data read from port
[05/01/04 06:49:06] [Ocelot] Insufficient data read from port
[05/01/04 06:49:06] [Ocelot] Insufficient data read from port
[05/01/04 06:49:06] [Ocelot] Insufficient data read from port
[05/01/04 06:49:06] [Ocelot] Insufficient data read from port
[05/01/04 06:49:07] [Ocelot] Insufficient data read from port
[05/01/04 06:49:07] [Ocelot] Insufficient data read from port
[05/01/04 06:49:07] [Ocelot] Insufficient data read from port
[05/01/04 06:49:07] [Ocelot] Insufficient data read from port
[05/01/04 06:49:07] [Ocelot] Insufficient data read from port
[05/01/04 06:49:08] [Ocelot] Insufficient data read from port
[05/01/04 06:49:08] [Ocelot] Insufficient data read from port
[05/01/04 06:49:08] [Ocelot] Insufficient data read from port
[05/01/04 06:49:08] [Ocelot] Insufficient data read from port
[05/01/04 06:49:08] [Ocelot] Insufficient data read from port
[05/01/04 06:49:09] [Ocelot] Insufficient data read from port
[05/01/04 06:49:09] [Ocelot] Insufficient data read from port
[05/01/04 06:49:09] [Ocelot] Insufficient data read from port
[05/01/04 06:49:09] [Ocelot] Insufficient data read from port
[05/01/04 06:49:09] [Ocelot] Insufficient data read from port
[05/01/04 06:49:10] gir_stop
[05/01/04 06:49:10] - Monitor_Stop
[05/01/04 06:49:10] - Stopped
[05/01/04 06:49:10] gir_close
[05/01/04 06:49:10] - Monitor_Stop
[05/01/04 06:49:10] - Stopped



It would be cool to add some lua extensions for sending etc. I could do this or help you with it.

Thanks again,

Sef
May 1st, 2004, 05:03 AM
Hi Mike,

Thanks for trying the plugin. I realise there are a couple of issues still outstanding but hopefully with some beta testing we can iron them out and get a proper v1.0 released fairly soon.


Working: Send X10, Send IR, Set Variable, Set Timer.
Cool. Have you tried sending remote IR? I don't have a SECU16-IR to test it.


No event from receive IR
I should've mentioned in the readme that if you want the plugin to receive IR events, you have to set 'Parameter 17' to the value '1' on your Ocelot using C-Max. This tells the Ocelot to report IR events through the serial port. I think I can set this up this from the plugin so I might include it on the settings dialog.


Receive X10 doesn't generate any payload event.
I was a complete newbie to Girder when I started work on this plugin so I don't really understand about payloads. If someone can describe them to me, I'll see what I can do.


On Girder Exit, I get a error:access violation, tried to read from ....

Hmmm... I'll have a look into that one.


When I first tried the plugin, it would not connect. So I started up cmax to make sure the connection was good. It was. Then restarted Girder and it worked fine
Maybe there's something about the com port I'm not setting up properly. Again, I'll look into it. It'd help if anyone else could let me know if this happens with their setup.


It would be cool to add some lua extensions for sending etc. I could do this or help you with it.
I used Lua for scripting back when I wrote games for a living. Once the bugs are ironed out I'll have a look into what's possible with it. It's moved on a little since I last looked at it.

BTW: The support e-mail address on the plugin downloads page is too long for the site to cope. It should be 'OcelotGirderPlugin@neilgoodman.com' but misses off the '.com'. I'll get Ron to shorten it to something more suitable.

Again, thanks for the help, Mike. :D

Promixis
May 1st, 2004, 05:51 AM
You've made great progress for a newbie :D

The only plugins I have written have been lua extensions. I will ask Ron about the send event. Payloads are ways to send data with an event. Ie. you plugin would generate an event and an eventstring. The eventstring could be all different combinations of x10 and ir command (yuck!) or simply "X10 Receive" and "IR Receive" and "Variable Change" and then the playload would have the data.. ie pld1 = x10 address, pld2 = x10 command, OR pld1 = IR number etc.


No, I don't have secu 16 :(

Will try param 17.

Promixis
May 1st, 2004, 05:59 AM
Followup,

IR Receive works.

Sef
May 1st, 2004, 10:37 AM
I see why you said the payload wasn't working, Mike. There was actually a bug in that version that prevented some of the X10 eventstring names being built properly. I've fixed that now, along with the crash on shutdown.

I've decided to allow simple X10 commands (such as "A/1" and "A/On") to trigger an eventstring as well as the device status changes (e.g. "A/1 On"). Because of this, I've had to add a dialog box for learning events. Otherwise you could never teach it "A/1 On", it would always see "A/1" first.

I'm submitting the new version to Ron, but here's a link to the download direct from my site in case you can't wait:
http://tinyurl.com/2f7gd

Promixis
May 1st, 2004, 12:21 PM
Hm, getting an error access violation after the starting message loading appears...

Sef
May 1st, 2004, 01:27 PM
Sorry, Mike. I've no idea what could be causing that.

I've just uploaded a new version (0.2.1) with exception handling so it should bring up a message box instead of crashing. Get it using the link I gave you earlier and give it a try.

Promixis
May 1st, 2004, 01:40 PM
I can startup girder with autoenable input devices offf. As soon as I enable input devices I get

Error:AccessViolation at 0x77F5D61B (tried to write to 0x00000010)....

Todd Reed
June 4th, 2004, 10:13 PM
Yes, I saw one on the Girder site. Is it yours?

I will give it a try. Is there any more instructions? Does it work with Girder v3.2.9?

Thanks,

Sef
June 5th, 2004, 06:03 AM
Hi Todd,

Yes, the ADI Ocelot plugin that's on the Girder download page is mine. It's currently at version 0.4, still technically a beta version. It seems to be fairly stable though, Mike has been a great help testing the plugin and suggesting features.

There's not much in the way of documentation at the moment, but I'm (slowly) working on a proper manual for the v1.0 release which should hopefully be in a few weeks. In the meantime there's a readme.txt in the download that explains how to install and configure the plugin and your Ocelot.

If you have any problems at all, just drop me an e-mail on the address listed in the readme.txt and I promise I'll do my best. I'm out of town for the next week or so, but I should still have e-mail access while I'm away.

Cheers,
Neil (Sef)

Todd Reed
June 7th, 2004, 08:12 AM
Looks good so far! This may solve my IRA-2 inconsistencies!
And, I won't have to convert all my X10 wall keypads to IR then send to Girder.

I use it to control my MusicMatch MP3 library with my X10 system!

I have had problems with Girder and C-Max running simultaneous, so I will continue to quit Girder when I C-Max!

How would I send an X10 command from Girder, or from Windows using Girder. Kind of like a desktop Icon to set an X10 scene.

Thanks for the great plug-in!!

Promixis
June 7th, 2004, 09:15 AM
Todd, do you want to use a remote to tell Girder to send the command? Or a keypress?

Todd Reed
June 7th, 2004, 09:28 AM
I prefer a keystroke, or a mouse click.

I would like to place some shortcuts on the desktop, then double-click one to send an X10 command.

I can process IR already with the Ocelot. :wink:

Thanks,

Promixis
June 7th, 2004, 10:33 AM
use the event.exe program in the girder directory.


search here using event.exe for more help or type event.exe /? from the cmd line.

Todd Reed
June 7th, 2004, 12:55 PM
I don't understand! Any examples?

Search found nothing...

?

Promixis
July 23rd, 2004, 05:55 PM
Neil,

I am undertaking some programming of several smartlinc switches which require the use of send just house codes (ie. no unit numbers). I was hoping to make "macros" in lua. Would it be easy to alter the plugin to allow it to just transmit house codes?

Thanks,

Sef
July 24th, 2004, 04:07 PM
Hi Mike,

I've literally just got back from a family holiday and I'm feeling a bit exhausted after the drive, so excuse me if I don't make much sense...

I don't know anything about smartlinc switches which probably doesn't help, but I'm not exactly sure what you're asking me. X10 signals are made up of both the house and the unit code, it can't send just a house code on it's own. You could send a house code plus a command (eg ON, OFF, STATUS, ALL OFF, etc) instead of a unit number (1 to 16), but not just the house code. I'll have a look at smartlinc switches tomorrow when I'm a little more coherent, but if you could give me more details it would help greatly.

BTW: Sorry to have disappeared for a while, I've been busy with work and home life. I've got a new version that I'll send onto Ron soon. Todd's written up some nice documentation (Hi Todd) that I'll include with it. Nothing major, just a few minor bug fixes and a couple of extra options. Also I've been working on integrating it with another plugin for some other software (clue: http://myhtpc.net) which will be neat when it's finished. :)

Promixis
July 24th, 2004, 07:12 PM
Welcome Home! Todd did a great job on the documentation!

The smartinc switches (to program them) require sequences of housecode and unit codes ie N16 etc etc. with NO command following them.

I wanted to put together some macros to make it easier to do this.


Thanks!

Sef
July 25th, 2004, 04:30 AM
Thanks Mike,

Okay, I think I get what you're asking now...
If you want to send a single X10 instruction (eg N/16) rather than a command pair (eg N/16 + N/ON), the plugin will already handle that. Using the settings dialog, select 'Send Single X-10' and choose the house code (eg N) and unit number (eg 16). To do it with Lua, use the command 'Ocelot_SendX10(Ocelot_N, Ocelot_16)'.

If I've still got the wrong end of the stick, just give me a slap. :)

Promixis
July 25th, 2004, 04:39 AM
No thats what I need. Maybe I need to give myself a slap for not realizing that! ;)

Thanks

BTW, only 3 of us wanted an ocelot plugin but > 1000 downloads. Interesting :)

Sef
July 25th, 2004, 04:44 AM
I reckon Todd downloaded it 900 times. :)

Glad to help, Mike.

Todd Reed
July 28th, 2004, 02:37 PM
Only once!

Well, I did post a note on the ADI forum so maybe.... :wink:

But, man I love this plugin!! :D

It ties my whole X10, Audio, MP3 system together, and solved my Palm Omniremote issues. So, now I can control EVERYTHING from my Palm Pilot, via IR. I even have it launching streaming web broadcasts!

If you own an Ocelot or Leopard, youv'e got to get this one!

Todd Reed
January 11th, 2005, 12:08 PM
Have you considered direct screen writes via the plugin??

An example: Put an mp3 "Currently playing..." to the screen!
(Since the Leopard can not dynamically change the ASCII text)

Call it "Ocelot_Put_text(scrn, x, y, text)

PS. I'll write the documentation... :wink: