Ocelot driver questions

HouseBot Plugin Development Discussions.
Timoh
Advanced Member
Posts: 260
Joined: Thu Feb 02, 2006 12:56 pm
Location: Montreal - Canada

Post by Timoh »

Wooohooo it.... 1/2 works.

The read param is working like a charm. I totally agree that retrieving the individual params is more efficient than pulling every param for a module. So that is fine. Same goes for polling... I didn't think about using a timer, but that will work perfectly.

The write param doesn't work for me either. I know params 2 & 3 in the secu-16 are writable since I have changed them with the cmax ocelot program. It was on my "nice to have" list, not on my "must have" list. It is something I need to do from time to time, but probably isn't worth spending too much effort to get it working. Since I only need to do it once in a while, like I say, I can just use cmax.

Variables are next on my wishlist list. Timers after that.

Thanks
Tim
Steve Horn
HouseBot Guru
Posts: 750
Joined: Wed Apr 02, 2003 8:10 pm
Location: Pelham AL

Post by Steve Horn »

Just now getting to install this. I do not see the "Module Parameter" device in the list of device types when I create a test device that uses the Ocelot/Leopard. Although I do/did see the Param Module (vs 0.01) listed in the load messages and in the log when HB started. Also saw two, count 'em, two ADI Ocelot mods loaded: 3.00 and 3.00.04. (the 3.00 loaded prior to the 3.00.04.) I cannot find another copy of the Ocelot.dll that would cause a double load. What have I overlooked?
Steve
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

The fact that you saw two Ocelot interfaces load may be the source of the problem/confusion. If you just renamed the original in the same Plugins/Interfaces directory, that may be causing your issue. Try and move the old one out of that directory and see if it work. You won't see the Module Parameter device for the Old Ocelot Interface, only if you are loading the new one.
Scott
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Timoh wrote:...I know params 2 & 3 in the secu-16 are writable since I have changed them with the cmax ocelot program.
Stupid question, I'm sure, but how do you write params in C-Max?
Scott
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Try this one for getting and setting variables. Copy each dll into the correct plugins directory.

There should be a new Variable Data Device when you create a device for the Ocelot. It's pretty straight forward. Just changing the variable data will send the request to the Ocelot / Leopard.
Scott
Steve Horn
HouseBot Guru
Posts: 750
Joined: Wed Apr 02, 2003 8:10 pm
Location: Pelham AL

Post by Steve Horn »

OK, hiding the old Ocelot DLL far far away from Housebot fixed the creation of the test device. But now the created test device does not have a Parameter Data property, nor can one be manually added. Also, upon HB startup, there are two messages: "Unable to get all the required properties for the Module parameter device [test]". and "error initializing device [test]". What else do I have to hide from HB? :?
Steve
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Did your test device used to have a Parameter Data property and now it's gone?

Try deleting the device and creating a new one.
Scott
Steve Horn
HouseBot Guru
Posts: 750
Joined: Wed Apr 02, 2003 8:10 pm
Location: Pelham AL

Post by Steve Horn »

No, never did.
I did that - actually created a second test device. Same result. Just tried it again. Deleted test device, recreated 'another test' device. Same thing: no Parameter Data' property. Restarted HB server. Got the same error messages. Is there any internal difference between an Ocelot and a Leopard that would affect what HB is trying to do during the startup? (Am I the only one that is using a Leopard that has tried this?)
Steve
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

There is no difference between the Ocelot and Leopard as far as the plugin is concerned.

It must be just due to the fact that your system doesn't have one of the stock properties it is looking for.

Go to the Property Manager and see if you have a Received Data property. If not, create one and give it a type of Alpha-Numeric. Then try and create the device again.
Scott
Timoh
Advanced Member
Posts: 260
Joined: Thu Feb 02, 2006 12:56 pm
Location: Montreal - Canada

Post by Timoh »

For the param change, I attach to my ocelot, goto Module Utility|Retrieve Module Parameters.

I then click on the parameter I want to change and it prompts me for the new value.

Trying it this evening though, it worked once and then wouldn't prompt me again. I had to completely exit c-max and try again. After which it did prompt me every time I clicked on a new box in the parameters.

I didn't have any of the issues that Steve is describing. I swapped out my dlls, but left them into the same directory. I did rename them though and changed the file extension. I saw the "Module Parameter" option right away.

I'll check the for variable addition sometime this week.

Thanks
Tim
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Timoh wrote:For the param change, I attach to my ocelot, goto Module Utility|Retrieve Module Parameters.

I then click on the parameter I want to change and it prompts me for the new value.
Thanks. That helped me find my stupid mistake. Seems to work now in this version.
I didn't have any of the issues that Steve is describing. I swapped out my dlls, but left them into the same directory. I did rename them though and changed the file extension. I saw the "Module Parameter" option right away.
As long as you don't rename it to something with a .dll extension, you'll be all right.
Scott
Steve Horn
HouseBot Guru
Posts: 750
Joined: Wed Apr 02, 2003 8:10 pm
Location: Pelham AL

Post by Steve Horn »

ok, I was able to add a Received Data property to my test device, once I created a Received Data property (didn't have one), after creating a new test device. From the previous posts though I assumed that the Received Data property would be built with the device rather than having to be added manually. No matter, its got that prop now. Will work with it more tonight.
Related note: I had renamed my prior Ocelot dll to something like backup-ocelot.dll . Did not change the file extension. Tricky - you got me there! I suppose once this enhancement is all debugged and tested the new dll would just overlay the 3.00.00 version and backing up won't be an issue.
Thanks! Moving on...
Steve
Timoh
Advanced Member
Posts: 260
Joined: Thu Feb 02, 2006 12:56 pm
Location: Montreal - Canada

Post by Timoh »

Yep... I've seen apps, read everything label .dll in a directory and likewise apps that read the filename, don't care about the extension and treat it as a dll anyway!

So now I've learned my lesson and always rename the beginnng of the file and the end of the file.

Tim
Timoh
Advanced Member
Posts: 260
Joined: Thu Feb 02, 2006 12:56 pm
Location: Montreal - Canada

Post by Timoh »

Finally had a chance to test this...

Setting the Module Parameter still doesn't work.

I see the Variable Data device for the Ocelot interface, but it doesn't retrieve variables.

The Module Parameter Device Module is v0.02 and the Ocelot hardware interface module is v3.00.06

Tim
ScottBot
Site Admin
Posts: 2787
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Looks like you have the latest version (thanks for specifying, because that would have been my next response/question).

I just tested it and it works in my simple test, so it may be a problem with the data/property you are setting, or something else.

Here's what I did that works.
Module Parameter:
Set Module Number to 1 (my SECU 16)
Set Parameter Number to 2
Set Parameter data to 80
Click "Set Parameter" to change to "Yes", then changes back to "No" when finished.

Variable Data
Click "Get Variables" to change to "Yes", then changes back to "No" when finished.

Most are set to 0, but some (like 60 & 63) have some data.
Set Variable 1 to 80
Checked in CMax and it shows the 80.

If these work for you, but another parameter/data combination doesn't, let me know what data you are using.
Scott
Post Reply