FILE: MCONTROLSVC\README.TXT ACTIVEX MEDUSA CONTROL SERVICE V1.0 ----------------------------------------- 1. About Medusa Control ActiveX Service. 2. Known Limitations 3. Files 4. Installation 5. Matlab Use ------------------------------------------ 1. About Medusa Control ActiveX Service. MControlSvc.exe is a NT Service running on a local computer at VisLab that that interfaces control commands to the stereo head Medusa. The service exposes its internal functionality to most programming languages and environments in Windows platforms. It was designed to be accessed via Matlab and C++ clients, but can be used by other compiled/scripted languages. It can be accessed by users registered on the server machine, running Windows with DCOM support (most recent versions do this by default). 2. Known Limitations - Only works with MATLAB 6.0 or later. 3. Files MControlSvc is distributed in a zip file (MControlSvc.zip) that includes the following files: MCONTROLSVC.REG - a registration script that let the client machine know about the service. README.TXT - this file PROBLEMS.TXT - Description of some problems found in this release 4. Installation Installation of the MControlSvc - Unpack the "MControlSvc.zip" file to a new directory. - Run the registration script "MCONTROLSVC.REG" - Enable DCOM services on your machine. For this you must have administrator rights, run DCOMCNFG.EXE and check the box enabling DCOM on your machine. 5. The service can be called by any ActiveX aware scripting languages like Java, VisualBasic and Matlab. The following lines shows the basic use of this object in Matlab: %GET AN HANDLE TO THE SERVICE > h = actxserver('MControlSvc.Head','MEDUSA'); %LIST SERVICE PROPERTIES > get(h) %LIST SERVICE METHODS > invoke(h) %SHOW THE STATUS OF THE HARDWARE (1 - OK, 0 - NOT WORKING) > h.health %SHOW HOW MANY CLIENTS ARE CURRENTLY CONNECTED > h.clients %GET CURRENT POSITION OF ALL AXES > l = h.left.degrees; > r = h.right.degrees; > t = h.tilt.degrees; > p = h.pan.degrees; %SEND HEAD TO NEW POSITION > invoke(h, 'move', l+1, r+1, t+1, p+1); %TERMINATE SESSION > release(h); For more information check matlab help on integration with activex objects Copyright (c) 2002, Alexandre Bernardino - ISR/IST. All rights reserved. alex@isr.ist.utl.pt