header-products Curtiss Wright
Contact Sales Contact Support Print Page

API Interface

API Interface for Vanguard Bus Analyzers

  • Provides a programming language- and platform-independent interface to Vanguard analyzers
  • Provides two alternative API client interfaces using a Remote Procedure Calling (RPC) paradigm
  • Supports Analyzer trace capturing with predefined setups
  • Supports Protocol Checker functionality
  • Supports most Exerciser functionalities

The Vanguard API gives users of Vanguard Analyzers the option to access Vanguard device functionality without using the BusView GUI. This makes it possible to incorporate Vanguard functionality in dedicated applications running on a variety of platforms and using a variety of programming languages.

The Vanguard API engine is implemented as a TCP/IP based server on the Vanguard device, using simple ASCII-formatted data for both requests and responses. The API is therefore available to every client platform that has basic TCP/IP support. The API engine integrates with the main Vanguard device firmware as follows:

The API engine integrates with the device firmware as a communications handler, in addition to the BusView Ethernet and USB communication handlers.

As seen by the other Vanguard firmware, the API engine acts as a BusView emulator. This has the following implications:

  • Simultaneous API and BusView connections are not possible
  • A certain initialization overhead is needed each time an API client connects to the Vanguard API engine. When using the API, the client should therefore maintain the same TCP/IP connection throughout the API session.

API client interfaces
Two different client interfaces are available for using the Vanguard API. The Raw ASCII interface transmits RPC requests and responses as simple ASCII-coded strings, while the XML-RPC interface transmits the requests and responses as XML-formatted messages. The Raw ASCII interface uses basic TCP/IP socket client/server communication for the transport, while the XML-RPC interface uses HTTP.

The Vanguard API server selects the interface mode based on the incoming command data.

Raw ASCII interface - To use the Raw ASCII interface, a standard TCP/IP socket connection to the Vanguard API server must be established. Due to a certain API initialization overhead when establishing a server connection, the client should always keep the same connection open during the lifetime of the API session.

The Raw ASCII interface accepts requests as a set of ASCII strings, and returns data in a similar format. Each string should be terminated with a pair of carriage-return and line-feed ASCII characters (CR/LF pair).

XML-RPC interface - XML-RPC is a Remote Procedure Calling (RPC) protocol that uses HTTP for the transport and XML for the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned. XML-RPC client libraries are freely available for a number of programming languages. (See www.xmlrpc.org for further information on the XML-RPC specification.)

The Vanguard API XML-RPC server accepts API request parameters passed both as a single XML-RPC array parameter and as individual XML-RPC parameters (strings, integers and booleans).