Universal Plugin (UniPlug) (Got a question? Let us know)
Share your custom robot with almost no programming. If you already have an application that controls your robot, then the UniPlug is for you.
What you need: Your robot and the application that controls it.
From this:

To this:

Step 1: Install the MakeAffinity Client and add the UniPlug plugin to it.
Step 2: Rebuild your application such that the high-level commands that manipulate your robot are public methods.

Step 3: Edit the UniPlug's configuration text file so that it knows where to find your high-level commands.
Edit the file and specify your application's filename, the main public class and the public methods for your high-level commands.

Step 4: Finally, copy your application to the MakeAffinity Client's plugin directory and start the client.
The client's status message should indicate that it has loaded your application and class. "Show My Devices" at the MakeEditor should display your methods and you can run them from your web browser by ticking their checkboxes and click the Test button.

Go to QuickStart to see how it all works
FAQ
Where is UniPlug's configuration file and what is it called?
The config file is in the MakeAffinity Client's plugin folder along with the UniPlug itself. The config filename is the UniPlug's filename but with a .XML extension. For example, if the UniPlug's filename is MyUniPlug.dll, then its config file is MyUniPlug.xml.
Can I use multiple UniPlugs at the same time?
You can use as many universal plugins as you like. Just name each plugin differently. e.g. myuniplugin1.dll, myuniplugin2.dll, myuniplugin3.dll etc. Make sure that each copy has a config file.
Where is the MakeAffinity's plugin directory?
It is at C:\Program Files\MakeAffinity\makeaffinity\DevicePlugins.
My application is in C, C++, pascal, Ada and other non .Net languages (C#, VB.Net, etc). What do I do?
A good place to start is here.
Tell me more about the UniPlug config file?
Here you go:
HOW TO USE MAKEAFFINITY UNIVERSAL PLUGIN
Summary: Put your custom application and a universal plugin in the MakeAffinity client's plugin folder and edit the config file to contain your custom application's details.
Details:
1.Each universal plugin must have an accompanying configuration file. The config file is an xml file. A default file is created if not found.
2.The config file tells the plugin where to find the user's custom application and what class and methods are in it.
3.Config file's filename is the plugin's filename with '.xml'. E.g. if plugin name is 'myuniplugin.dll', then its config filename will be 'myuniplugin.xml'.
4.You can use as many universal plugins as you like. Just name each plugin differently. E.g. myuniplugin1.dll, myuniplugin2.dll, myuniplugin3.dll etc. Make sure that each copy has a config file.
5.The fields in the config file are:
a) UserApplicationFilename - the filename of your custom application. The application must be in the plugin directory. Can be a .exe or .dll file.
b) MainClassName - the main object in your application that will control and manage your robot. Format is namespace.classname
c) Method - the names of the methods in your application that you want the plugin to be able to invoke.
d) MakeSafeAll - is an optional but recommended method that you should implement in your custom application. MakeSafeAll should just put your robot and devices into a safe state when called. E.g. powering off.
e) Initialise & Shutdown - are also methods that you could implement in your custom application. Used for starting up or shutting down your robot or devices.