Hello,
Unfortunately, there is no publicly available documentation describing the development of FreeMASTER communication plug-ins. The necessary header files are available in the installation though.
In general, the plug-in is a 32bit COM+ object supporting the IMcbCommPlugin and IMcbCommPluginInfo interfaces as defined in the mcbcom_i.idl file (see in FreeMASTER installation). The FreeMASTER 2.5 supports a new communication protocol (internally numbered as v4) so there is also a new interface called IMcbCommPluginV4. The key function is called “SendRecvPacket” whose goal is to deliver the command and receive a response from target microcontroller using an arbitrary transport interface.
One information missing in the mcbcom_i.idl file is that the COM+ plugin object should be registered in category with CATID identifier 48A185C0-FFDB-11d3-80E3-00C04F176153 so it becomes discoverable by the FreeMASTER application.
When using a completely different transport protocol, the SendRecvPacket must “emulate” the behavior of the FreeMASTER protocol. It should decode the command passed by caller and use a custom protocol to do a desired action. The response received by custom protocol should then be returned to caller again in the way defined by FreeMASTER protocol.
The command and response format used by SendRecvPacket must be compatible with selected version of protocol as defined in file mcbcom.h. The new V4 protocol uses commands 0x20…0x34, older protocols use commands 0x01..0x15 and “fast” commands 0xc0..0xf1. The old protocol is documented in mcbcom.chm file distributed with FreeMASTER 2.0 installation. Protocol V4 specification is not yet public, we can send you a draft if you choose to use this version.
regards,
Peter