The RadioControl COM Automation Plug-in exposes a large subset of the
RadioControl C++ Application Programming Interface (API) in form of COM/OLE
Automation objects. This allows third party vendors and end users to implement
software applications (referred to in this document as RCOLEAut client
applications) that access RadioControl features as well as the installed
radio devices. These software applications can be implemented in virtually any
programming language (incl. scripting languages) provided that they can be
executed on the Microsoft® Windows® platform later on.
Features of the RadioControl COM Automation
Plug-in API (RCOLEAut API)
The most important features of the RCOLEAut API are listed in the following:
Retrieval of information about the RadioControl application itself. A
RCOLEAut client application can retrieve all important information about the
RadioControl application itself, e.g. the full path name of the executable file,
version and licensing information, registry keys.
Access to the RadioControl application window and other user interface
elements. This allows a RCOLEAut client application to customize the
appearance of RadioControl, e.g. change the title, size or show state of the
application window or display a completion message in the status bar.
Management and retrieval of installed radio devices. A RCOLEAut client
application can easily check which radio devices are currently installed in
RadioControl and can even install additional and uninstall existing radio
devices. In addition, it is also possible to retrieve a subset of the installed
radio devices that matches a specific criterion, e.g. the device type. This
allows a RCOLEAut client application to present the user a list of radio devices
that are suitable for a specific operation.
Comprehensive and device-independent API for controlling the installed
radio devices (RCOLEAut Device API).
The RadioControl device driver interface was designed to cover a large radio
device feature set in a device-independent way so that functionality provided
by RadioControl can be used with different radio device models. The RCOLEAut
Device API de facto completely exposes this RadioControl device driver interface
(which has more than 150 properties and methods) and allows a RCOLEAut client
application the comprehensive control of a radio device. In fact such an
application has the same possibilities that RadioControl itself has! The next
four list items will describe the features of this API in greater detail.
Retrieval of information about a radio device. The RCOLEAut Device API
allows a RCOLEAut client application to retrieve general and technical information
about a radio device, e.g. device manufacturer and model name, device type,
supported frequency range(s), supported modes, supported IF filters. In addition,
an application can also check the actual capabilities of a radio device and
adapt the features it presents to the user.
Comprehensive control of radio devices (incl. VFO, memories, device-internal
scanner). The control features of the RCOLEAut Device API comprise control of
the radio device's VFO (e.g. change the current frequency or mode),
upload/download/deletion of memory channels and use of the device-internal
scanner.
Notification about radio device events. In addition to allowing control
of a radio device, the RCOLEAut Device API also allows a RCOLEAut client
application to receive notifications for example when the radio device itself or
another application or operation has changed the value of a VFO property (e.g.
frequency or mode) or when the device-internal scanner has found a frequency.
Concurrent control of the same radio device. The previous two features
of the RCOLEAut Device API, comprehensive control and notification about radio
device events, allow more than one application (e.g. RadioControl and a RCOLEAut
client application) or more than one operation to use/control the same radio
device without risking to loose control over the radio device itself or its
status. In our view, this is a really important feature because it allows tight
integration of RCOLEAut client applications and RadioControl.
Your Advantages
This section lists some of your advantages when using the RCOLEAut Plug-in:
Use your desired programming language to implement your RCOLEAut client
applications. Because the RCOLEAut Plug-in builds on the Microsoft
Component Object Model (COM) and OLE Automation standard, you can use any
COM-enabled programming language and runtime environment to implement your
RCOLEAut client applications. Examples: C, C++, Visual Basic®, Delphi,
the .NET Framework and even Java™ (with a third party library).
Tightly integrate RadioControl with your Microsoft Office documents and
applications. Microsoft Office applications are equipped with
Visual Basic® for Applications (VBA) which lets you add dynamic functionality
to your documents (e.g. in form of macros) and even implement complete
applications on top of Microsoft Office. Because VBA allows access to
COM Automation servers as well, you can easily integrate RadioControl
functionality into your Microsoft Office documents and applications too.
Automate simple repetitive tasks with scripts. There also exist many
scripting languages like VBScript, JScript®, Perl, Python, Ruby or PHP
that support COM/OLE Automation. Therefore, you can use these languages
as well to implement for example repetitive tasks or do some prototyping!
Tight integration with RadioControl. As already mentioned above,
RadioControl and your RCOLEAut application(s) can control the same radio device
simultaneously (i.e. concurrent radio device control). This and other features
of the RCOLEAut API (e.g. access to the frequency identification feature) allow
a tight integration between your applications and RadioControl.
Concentrate on the tasks you want to solve and not on how to interact with a
specific radio device. The RCOLEAut Device API gives you a consistent
programming interface for controlling your radio devices, including the
possibility to retrieve the capabilities of a radio device. The RadioControl
device drivers will handle the rest (i.e. the low-level interaction with the
radio device) for you. This includes establishing a suitable communications
channel to the device, using a communication protocol (i.e. control commands)
understood by the device and even handling the device's "specialties" and
"subtilities".
Every RCOLEAut client application automatically works with (de facto) every
radio device supported by RadioControl. Because such an application uses
the RCOLEAut Device API for controlling the radio devices, it will automatically
work with every radio device that is supported by RadioControl now or will be
supported by RadioControl after the RCOLEAut client application has been shipped.
In other words, if the radio device used with the RCOLEAut client application now
will be replaced with another RadioControl-supported device at someday in the
future, the application will continue to work. Of course, the new radio device
would have to fulfill all technical requirements of the respective RCOLEAut
client application.
Possible Use-Cases
This section lists possible use-cases for the RCOLEAut Plug-in:
Integration with an existing custom application. Example: A custom
application that needs access to a radio device so that frequencies stored in
a database or a file can be set in the device to check the current activity
status.
Create your own radio device control panel. Examples: (1) Create a small
control panel window that is displayed above all other windows on the desktop
and provides controls for just the most important VFO properties (e.g. volume,
squelch, frequency, step, mode, IF filter). (2) Add a basic control panel
functionality to your own software application.
Do your own memory management. Example: Manage frequencies in your own
application, maybe in a database, and upload them into the memory of a radio
device. Optionally, you may also want to initiate a memory scan later on.
Integration with an existing Microsoft Access® database application.
The database application can access the radio devices installed in RadioControl
to do some scanning or searching or to just monitor a single frequency and log
its activity. In addition, it can also access the RadioControl Frequency
Databases (which are Microsoft Access databases) directly to get the
information stored about a frequency for further analyzes.
Implementation of custom functionality. Example: Log found frequencies
with additional data and a recording of the transmitted signal into your own
proprietary database.
Logging with Microsoft Excel®. Example: Set up the internal scanner
of a radio device to scan a specific memory bank (which possibly has also been
filled from Excel previously) or search a specific frequency range and log the
activities right into an Excel table for further analyzes.
Automate simple repetitive tasks. Examples: (1) Initialize a specific
or arbitrary radio device with specific monitoring parameters (e.g. frequency,
mode, IF filter). (2) Initiate a memory scan or frequency search in a radio
device and log the activities to a text file.
Extension of RadioControl by features not (yet) available.
System Requirements
Intel Pentium compatible processor
Windows 95, Windows NT 4.0 SP3 or better
RadioControl 1.2 (Preview 2) Professional Edition
Microsoft, Access, Excel, JScript, Visual Basic and Windows are registered trademarks
of the Microsoft Corporation in the United States and/or other countries. Java
is a trademark of Sun Microsystems, Inc. in the United States and other countries.