21
6-Mar-09 FTS-ASP-PG-007 Programmer’s Guide FTS Automation Server Protocol Frontline Test Equipment

FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

Embed Size (px)

Citation preview

Page 1: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

6-Mar-09 FTS-ASP-PG-007

Programmer’s Guide

FTS Automation Server Protocol

Frontline Test Equipment

Page 2: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 2 of 21 FTS-ASP-PG-007

Copyright © 2000-2009 Frontline Test Equipment, Inc. All rights reserved. You may not reproduce, transmit, or store on magnetic media any part of this publication in any way without prior written authorization of Frontline Test Equipment, Inc. FTS, Frontline, Frontline Test System, and ComProbe are registered trademarks of Frontline Test Equipment, Inc. FTS4BT is a trademark of Frontline Test Equipment, Inc. The Bluetooth SIG, Inc. owns the Bluetooth word mark and logos, and any use of such marks by Frontline is under license. All other trademarks and registered trademarks are property of their respective owners.

Page 3: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 3 of 21 FTS-ASP-PG-007

Revision History

Date Version Section Description

18-Oct-06 001 All Initial Draft

18-Mar-08 002 All Reviewed by FTE R&D and Project Management

26-Mar-08 003 8.5 Added Save Capture command

18 April 08 004 8.6 Added Clear command

19-Feb-09 005 8.3

8.10

8.11

Added LE support

20-Feb-09 006 8.3 Added new IO settings

24-Feb-09 007 All Reviewed/Edited by Judy A. and Tim B.

Page 4: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 4 of 21 FTS-ASP-PG-007

Table of Contents 1  Purpose ........................................................................................................................ 5 2  Audience ...................................................................................................................... 5 3  Hardware & Software Requirements ........................................................................... 5 4  Typical System Topology ............................................................................................ 5 5  Client Implementations................................................................................................ 6 6  Server Implementation ................................................................................................ 8 7  FTS Automation Arguments ....................................................................................... 8 

7.1  IPAddr .................................................................................................................. 8 7.2  Port ....................................................................................................................... 8 7.3  ClientConnections ................................................................................................ 8 7.4  MaxListSize ......................................................................................................... 8 7.5  SleepTime ............................................................................................................. 8 7.6  WorkingDir<X> ................................................................................................... 9 7.7  CFAFile<X> ........................................................................................................ 9 7.8  Personality<X> .................................................................................................... 9 

8  Commands ................................................................................................................. 10 8.1  Start FTS ............................................................................................................ 10 8.2  Stop FTS ............................................................................................................. 11 8.3  Config Settings ................................................................................................... 11 8.4  Start Capture ....................................................................................................... 15 8.5  Save Capture ...................................................................................................... 16 8.6  Stop Capture ....................................................................................................... 16 8.7  Clear ................................................................................................................... 17 8.8  Start Sniffing ...................................................................................................... 17 8.9  Stop Sniffing ...................................................................................................... 18 8.10  Sync Status ..................................................................................................... 18 8.11  ReSync Status Now ........................................................................................ 19 8.12  HTML Export ................................................................................................. 20 

9  Log File...................................................................................................................... 21 

Page 5: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 5 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol

1 Purpose This document describes a protocol that provides remote control of the Frontline Test System™ (FTS) for Bluetooth® (FTS4BT™) and the Frontline Bluetooth low energy Analyzer (FBLEA™). Utilizing the protocol, a remote client can bypass the Microsoft Windows user interface and interact directly with FTS4BTand FBLEA.

2 Audience This document is intended for technical people with knowledge of TCP socket communications who want to automate the process of testing Bluetooth and Bluetooth low energy devices using the FTS4BT and FBLEA applications. The test process automation is achieved by writing a client application which talks over a TCP network socket connection with the FTS Automation Server component. For those readers primarily interested in FBLEA, this document indicates which automation commands are supported by the FBLEA product and which are not. Also, configuring the FBLEA requires different settings than the FTS4BT product. Therefore, there is an additional table in the Config Settings that gives the specific settings for configuring the FBLEA product. The FBLEA product name and its corresponding directory name is Frontline Bluetooth low energy Analyzer.

3 Hardware & Software Requirements • For any hardware and software requirements of the FTS4BT and FBLEA

products, refer to the FTS4BT and FBLEA user documentation for these requirements.

• TCP/IP network

4 Typical System Topology The typical system topology includes one (1) server machine running one (1) or more instances of the FTS application and one (1) instance of the FTS Automation Server (reference FTS documentation for Windows Operating Systems requirements) and one (1) or more client machines running one (1) or more client applications. The client application is platform independent. The only requirement for the client application is that it is able to establish a TCP socket connection with the server machine in order to communicate using the valid FTS Automation Server ASCII protocol described later in this document.

Page 6: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 6 of 21 FTS-ASP-PG-007

The server machine must be in a logged-in state with a user profile that has the security privileges to launch the FTS Automation Server. The FTS Automation Server launches as a member of the startup group. This is done by adding a short cut to the FTSAutoServer application. To create the short cut:

1. Select the Start/All Programs from the Windows task bar. 2. Right click on Startup and select the Open menu option. 3. In the Startup folder, right click and select New/Shortcut. 4. Using the Create Shortcut wizard, create a shortcut that points at

FTSAutoServer.exe. This application is located in the \\program files\Frontline Test System II\Frontline FTS4BT <version #>\Executables\Core directory.

Once the FTS Automation Server launches and initializes, it continuously polls for socket connection requests from the clients. The known IP address of the server machine and available port(s) on the server machine must be provided for the client to establish a socket connection with the server machine.

5 Client Implementations Multiple clients can connect to the FTS Automation Server. Once a connection is established with the server, the client communicates with the server using delimited ASCII strings. The delimiting token is the ‘;’ character. The ASCII strings are formatted as follows:

<COMMAND>;<PARAM 1>;<PARAM 2>;<PARAM X>

An example of a complex command requiring a named, value pair parameter format is the HTML Export command.

HTML Export;Summary=0;Data Bytes=1;File=htmlexport1.htm

The <PARAM> is sometimes a named, value pair of the format:

<PARAM NAME>=<PARAM VALUE>

Some simpler commands only have one parameter that is either on or off. These commands do not require naming. An example of this is the SYNC STATUS command.

Sync Status;ON

Page 7: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 7 of 21 FTS-ASP-PG-007

The valid commands accepted by the server include the following. They are discussed in detail in Section 8.

• Start FTS

• Stop FTS

• Config Settings

• HTML Export

• Resync Status Now

• Start Capture

• Save Capture

• Stop Capture

• Clear

• Start Sniffing

• Stop Sniffing

• Sync Status

There are a couple of other things to remember about these commands:

• The commands are not case sensitive. • The FTS Automation Server does not block waiting on a response to any

command. The client is responsible for the block based on whether the response of a command is required before the next command can be sent.

• A typical client could be implemented using the TCL (Tool Command Language). o The TCL interpreter would be required on the client machine. o The user would write a TCL script file and invoke it using the command.

tclsh clientscript.tcl

Page 8: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 8 of 21 FTS-ASP-PG-007

6 Server Implementation The FTS Automation Server returns either a FAILED or SUCCEEDED notification response to the client for each command it processes. The response is in the form of:

<COMMAND>;<SUCCEEDED> | <FAILED>;<Timestamp>;<Reason>

Where the <Timestamp> token is of the form: <Timestamp>=<Time & Date>

And the <Reason> token is of the form: <Reason>=<Some string error message>

All notification responses are terminated with the characters ‘\r’ and ‘\n’.

7 FTS Automation Arguments The following arguments can be edited using the FTSAutoServer.exe.config file, which must be in the same directory as the FTSAutoServer.exe.

7.1 IPAddr IPAddr is the IP address for the server machine where FTS and the FTS Automation Server are running. This address format is the same as the standard IPv4 address notation.

7.2 Port Port identifies any available port on the server machine that the client can use to communicate with the server. If more than one client connection is to be established, this port will be the first available port used. For instance, if port 6000 is configured as the starting port and 10 connections are to be made, then ports 6000-6009 must be available in order to successfully establish all the client connections.

7.3 ClientConnections ClientConnections is the maximum number of client connections that can be established with the FTS Automation Server.

7.4 MaxListSize MaxListSize defines the maximum number of status responses that can be written to the FTS Automation Server window before the oldest responses are deleted.

7.5 SleepTime SleepTime is the number of seconds a given client communication thread sleeps before wakening to send another command. The shorter the sleep period, the faster the client communication can be made.

Page 9: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 9 of 21 FTS-ASP-PG-007

7.6 WorkingDir<X> WorkingDIR<X> is the directory on the server machine where the FTS application is installed. The <X> notation indicates the instance of the FTS application. For example, WorkingDir1 could be configured for the working directory of the FTS Bluetooth installation on the machine. When the first client connects and sends the command to Start FTS, the FTS Automation Server would start this instance. If WorkingDir2 is configured for the working directory where the FTS Serialtest Async application is installed, then the second client to connect and send the Start FTS command would be invoking the FTS Serialtest Async installation. This directory is only used if the client does not provide the working directory as a parameter for the Start FTS command.

7.7 CFAFile<X> CFAFile<X> identifies the directory and the file name where .cfa files can be saved on the server machine. The <X> notation associates the directory and file with an instance of the FTS application running on the machine. From the example below, the directory configured for CFAFile1 would be used to save capture data for the first instance of the FTS application invoked on the machine. This directory and file are only used if the client does not provide the .cfa directory and file as a parameter for the Save Capture command.

<configuration> <appSettings> <add key="MaxListSize" value="1000"/> <add key="IPAddr" value="0.0.0.0"/> <add key="Port" value="22901"/> <add key="SleepTime" value="10"/> <add key="Attempts" value="3"/> <add key="ClientConnections" value="1"/> <add key="WorkingDir1" value=".\"/> <add key="CfaFile1" value="C:\Documents and

Settings\All Users\Documents\Frontline Test Equipment\my capture files\capture1.cfa"/>

<add key="Personality1" value='"/Frontline Bluetooth low energy Analyzer"=Generic /OEMKEY=ULP /nosplash'/> </appSettings> </configuration>

7.8 Personality<X> Personality<X> is the command line parameters used when invoking an instance of the FTS application. The <X> notation associates the command line parameters with the instance of the FTS application invoked on the machine. From the example below, the command line parameters configured for Personality1 would be used when invoking the first instance of the FTS application on the machine. The following is an example of a Personality configuration for a FTS Air (Basic) connection.

<add key="Personality1" value="/FTS4BT=Generic /OEMKEY=AIR /nosplash"/>

Page 10: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 10 of 21 FTS-ASP-PG-007

8 Commands The following are the current commands supported by the FTS Automation Server. Upon receipt of these commands, the FTS Automation Server packages these commands to send to the FTS application. Several important concepts to remember about these commands include:

• The FTS Automation Server does not block waiting on a response to any command. The client is responsible for the block based on whether the response of a command is required before the next command can be sent.

• A failure notification is always sent if a command is not delivered to FTS successfully.

• A success notification is always sent if a command is delivered to FTS successfully. The word “delivered” is important. A success notification does not mean that the command was completed successfully, only that it was delivered to FTS successfully and that the action was started. The successful delivery of a command to FTS does not guarantee a successful execution of the command.

8.1 Start FTS This command tells the FTS Automation Server to launch the FTS application. A subsequent FTS application launches on the machine, if the FTS application is already running on the machine but was not launched by the FTS Automation Server. A SUCCEEDED response is returned from the FTS Automation Server if the application has been successfully launched previously or launches successfully with the current command. The FTS Automation Server can send back the following responses to this command: FAILED, SUCCEEDED. A failed launch may be the result of an incorrect working directory or an incorrectly installed or corrupt FTS application. The client can send the working directory for the FTS application installation as a parameter for this command. The standard directory location is “C:\\program files\\Frontline FTS4BT\\Executables\\Core”.

Start FTS;C:\program files\Frontline FTS4BT\Executables\Core

Failure to launch FTS results in a FAILED notification response from the server. The failure notification response may or may not be accompanied by a reason parameter. For instance, if a failure occurs during initialization of the FTS application, no reason information may be available to the FTS Automation server. Therefore, the timeout will occur based on the SleepTime setting configured in the application configuration file explained above. If no SleepTime value is specified, then a default of 10 seconds will automatically be used by the FTS Automation server. The form for this failure notification response is the following.

Start FTS;FAILED;Timestamp=11:30:00,10/05/2006;Reason=The system cannot find the file specified

Page 11: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 11 of 21 FTS-ASP-PG-007

A successful attempt to launch results in a successful notification response from the server. The form for the successful notification response is the following.

Start FTS;SUCCEEDED;Timestamp=11:30:00,10/05/2006

8.2 Stop FTS This command tells the FTS Automation Server to shut down the FTS application (if one is running) that was previously launched by the FTS Automation Server. Only an instance of the FTS application launched by the FTS Automation Server can be shut down using this command. If no FTS application was successfully launched, then a failure notification response will be sent from the server. If the attempt to shut down the FTS application times out, then a failure notification response is sent from the server. The following is an example of the command string for this command.

Stop FTS

Failure to shut down the FTS application results in a failure notification response. The form for the failure notification response is the following.

Stop FTS;FAILED;Timestamp=11:35:00;10/05/2006;Reason=Some Reason

A successful attempt to shut down the FTS application results in a successful notification response from the server. The form for the successful notification response is the following.

Stop FTS;SUCCEEDED;Timestamp=11:35:00

8.3 Config Settings This command instructs the FTS application to initialize the IO settings for a Bluetooth Air device. Important ideas to remember about Config Settings include:

• The parameters will be parsed for correctness. • If there is an invalid parameter name, then the parameter will be saved to the

configuration INI file but will be ignored by the FTS application because it is unknown to the application.

• If the value is incorrect, then FTS will automatically default the parameter to the valid default value.

• The client can begin capturing or sniffing without setting the IO. FTS will use the previously configured values from the INI file or the system defaulted values.

• Valid IO settings are dependent upon the devices being tested. • For the initial release of the FTS Automation server, only the Bluetooth devices

and FBLEA devices that sniff via air are supported.

Page 12: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 12 of 21 FTS-ASP-PG-007

The following table lists the valid settings and corresponding values for these devices. Name Values Defaults Description AfhFollowMode Enabled=0,

Disabled=1 0 Afh Following

CaptureNullsPolls (deprecated) False=0, True=1

0 Capture filter for Nulls and Polls

CaptureSco (deprecated) False=0, True=1

1 Capture filter for Sco frames

ClearChannelMapOnResync False=0, True=1

0 channel map gets cleared on resync

ClockSynchronizationMethod SlaveInquiry=0, MasterInquiry=1, SlavePage=2

0 Clock Synchronization Method

DataSourceId Decimal >= 0 0 Identifier of the Datasource in Multi-Datasource modes

EncryptionSelection NoEncryption=0, PinCodeASCII=1, PinCodeHex=2, LinkKey=3 SSP=4

0 Method of Encryption Used

FilterOutNullsPolls False=0, True=1

1 Filter out Nulls and Polls

FilterOutSco False-0, True=1

0 Filter out Sco frames

FollowMember None Selected=-1, Decimal

-1 Active Member to follow

FollowMode LEGACY=0, (deprecated) FOLLOWFIRST=1, FOLLOWSPECIFIC=2

1 Active Member Following

FrameSlicingSize Size in bytes range 0-2000 Ø

Tells the analyzer the number of bytes you would like to capture if the frame is larger than the configured FrameSlicingThreshold

FrameSlicingThreshold Size in bytes range 1-65536

100 Tells the analyzer the largest frame allowed to pass the analyzer without having any bytes removed

InquiryAccessCode Access Code in Decimal 10390323 Access code to use during Inquiry

Page 13: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 13 of 21 FTS-ASP-PG-007

Name Values Defaults Description LinkKey 32 digit hex number with

0x “” Used only in

LinkKeyMode Master 12 digit hex number with

0x “” Master bdaddr

MasterPrivateKey 48 digit hex number with 0x

“” Use only with SSP EncryptionSelection

PinCode 16 character ASCII string “” Used only in PinCodeAscii Mode

PinCodeHEX 32 digit hex number with 0x

“” Used only in PinCodeHex Mode

PollPeriodMultiplier 0-65536 0 Reserved ResyncOnLmpDetach False=0,

True=1 0 The btcomprobe will do a

resync when it sees an lmp detach

ResyncOnSyncLost False=0, True=1

1 The btcomprobe will resync when it loses sync

SendChannelMapWithData SendWhenItChanges=0, SendEveryTime=1

0 This flag says whether we should send the channel map data every time

ShowLapUapNap False=0, True=1

0 This determines the format of the bdaddr for the GUI not used for command line

SingleLink False=0, True=1

1 If set ComProbe firmware only sends up frames from the LT_ADDR being followed. If not set ComProbe firmware send up everything as before. This potentially could result in frames not being decrypted.

Slave 12 digit hex number with 0x

“” Slave bdaddr

SlavePrivateKey 48 digit hext number with 0x

“” Use only with SSP EncryptionSelection

SnifferConstant 32 bit Decimal Number 256 Constant that affects timing during synchronization

SnifferDiagnostics False=0, True=1

0 Diagnostic information between the ComProbe and PC is capture.

Page 14: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 14 of 21 FTS-ASP-PG-007

Name Values Defaults Description SynchronizationIAC Access code in decimal 10390323 Access code to use

during synchronization SyncLostTimeout Time in Seconds range 1-

10000 30 This is how long before

the datasource tries to resync

TrackEmpty False=0, True=1

0 Generate Event for Empty Slots

UseSynchronizationIAC False=0, True=1

0 Should we use the same access code in synchronization as in device discovery

UseDriftCompensation False=0, True=1

0 Should we use the Drift compensation code

UseFrameSlicing False=0 True=1

0 Should we use Frame Slicing

UseHardResets False=0, True=1

1 When this is set the btcomprobe does a full hardware reset

Bluetooth low energy devices are now supported. The following table lists the valid settings and corresponding values for these devices. Name Values Defaults Description MasterPrivate False=0,

True=1 0 Master Address is

Random. SlavePrivate False=0,

True=1 0 Slave Address is

Random. SnifferDiagnostics False=0,

True=1 0 Diagnostic information

between the ComProbe and PC is capture.

DataWhitening False=0, True=1

1 Data Whitening is on.

Master 12 digit hex number with 0x

“” Master address

Slave 12 digit hex number with 0x

“” Slave address

PairingMethod Future configuration setting

TBD Method of Pairing Used

PINCode Future configuration setting

TBD PIN Code ASCII

Page 15: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 15 of 21 FTS-ASP-PG-007

The following is an example of the command string for the Config Settings command. IOParameters, which is the 2nd parameter, is the name of the configuration type.

Config Settings;IOParameters;AfhFollowMode=2;CaptureNullsPolls=1;

CaptureSco=0;ClearChannelMapOnResync=1;ClockSynchronizationMethod=1;

DataSourceId=3;EncryptionSelection=1;FollowMember=2;FollowMode=0;

InquiryAccessCode=10390323

Any configuration setting without a parameter name and value pair will be set to the default value from the table above. If a failure occurs processing the Config Settings command for the device, then a failure notification response is returned. A failure could result because of an error occurring within FTS as it attempts to process the command. The form for the failure notification response is the following.

CONFIG SETTINGS;FAILED;Timestamp=14:15:00,10/05/2006;Reason=Some Reason

A successful attempt to configure the IO for the devices results in a successful notification response. The form for the successful notification response is the following.

CONFIG SETTINGS;SUCCEEDED;Timestsamp=11:35:00

8.4 Start Capture The Start Capture command starts the capture of data between devices being tested. The Start Capture command should only be sent after a successful FTS Start command has been processed. For Bluetooth devices only, the Start Capture command does not start the sniffing processing, which is the case for all other devices supported by FTS. The following is an example of the command string for this command.

Start Capture

Note: For FBLEA only, if you start capturing on FTS, the datasource automatically starts sniffing, and vice-versa. This is not true for FTS4BT. If an error occurs - which could be due to (1) a time out waiting for the Start Capture command to process or (2) the FTS application has not been started - then a failure notification response is sent from the server. The form for the failure notification response is the following.

Start Capture;FAILED;Timestamp=14:25:00,10/05/2006;Reason=FTS not started

A successful attempt to start capturing results in a successful notification response. The form for the successful notification response is the following.

Start Capture;SUCCEEDED;Timestsamp=14:26:00,10/05/2006

Page 16: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 16 of 21 FTS-ASP-PG-007

8.5 Save Capture The Save Capture command saves the captured data after a capture was started, then stopped with the Stop Capture command described below. This command has an optional parameter for setting the file name the captured data will be saved to. If no parameter is sent, the default capture file name provided in the application configuration file described above will be used. Save Capture;c:\program files\common files\fte\my capture files\mycap.cfa

There are some conditions in which this command will fail. If an error occurs - which could be due to no capture data being present when the command is sent - then a failure notification response is sent from the server. The form for the failure notification response is the following. Save Capture;FAILED;Timestamp=14:25:00,10/05/2006;Reason=Cannot save to disk, actively capturing or no capture data to save.

A successful attempt to save captured data results in a successful notification response. The form for the successful notification response is the following. Save Capture;SUCCEEDED;Timestamp=14:26:00,10/05/2006

8.6 Stop Capture The Stop Capture command stops the capturing of data between devices. The Stop Capture command should only be sent if successful Start FTS and Start Capture commands have previously been processed. Similar to the Start Capture command, the Stop Capture command does not stop the sniffing of Bluetooth devices and is not required for stopping the sniffing of Bluetooth devices. The following is an example of the command string for this command.

Stop Capture

Note: For FBLEA only, if you stop capturing on FTS, the datasource automatically stops sniffing, and vice-versa. This is not true for FTS4BT. If an error occurs - which could be due to (1) a time out waiting for the Stop Capture command to process, (2) the FTS application has not been started, or (3) the Start Capture command has not previously been processed - then a failure notification response is sent from the server. The form for the failure notification response is the following.

Stop Capture;FAILED;Timestamp=15:38:00,10/05/2006;Reason=FTS not in capture mode

A successful attempt to stop capturing results in a successful notification response. The form for the successful notification response is the following.

Stop Capture;SUCCEEDED;Timestsamp=15:39:00

Page 17: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 17 of 21 FTS-ASP-PG-007

8.7 Clear The Clear command clears the capture buffer. The following is an example of the command string for this command.

Clear If an error occurs - which could be due to (1) a time out waiting for the Clear command to process, (2) the FTS application not starting, or (3) the Stop Capture command not previously processed - then a failure notification response is sent from the server. The form for the failure notification response is the following.

Clear;FAILED;Timestamp=15:38:00,10/05/2006;Reason=Invalid command

A successful attempt to clear results in a successful notification response. The form for the successful notification response is the following.

Clear;SUCCEEDED;Timestsamp=15:39:00

8.8 Start Sniffing The Start Sniffing command starts the sniffing of data between Bluetooth and Bluetooth low energy devices. This command has no affect on other device types supported by FTS. This command should only be sent if a successful Start FTS command has previously been processed. The following is an example of the command string for this command.

Start Sniffing

It is possible that FTS will not be able to automatically determine what protocol is being carried in the layer of a frame. When this occurs, the modeless dialog shown below is displayed. The default action is for the analyzer to decode as Data protocol.

Page 18: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 18 of 21 FTS-ASP-PG-007

If an error occurs - which could be due to (1) the devices being tested are not Bluetooth devices, (2) the devices cannot be synchronized or (3) a timeout occurs trying to synchronize the device, etc. - then a failure notification response is sent. The form for the failure notification response is the following.

Start Sniffing;FAILED;Timestamp=15:54:00,10/05/2006;Reason=Devices cannot be synchronized

There is a 30 second period for issuing the connect command between the Bluetooth devices after receiving the successful notification response. If the connection is not made during this time limit, then the client will have to issue a Stop Sniffing command to attempt this process again. A successful attempt to start sniffing results in a successful notification response. The form for the successful notification response is the following.

Start Sniffing;SUCCEEDED;Timestamp=15:56:00

8.9 Stop Sniffing The Stop Sniffing command stops the sniffing of data between Bluetooth (not low energy) devices only. This command has no affect on other device types supported by FTS. This command should only be sent if successful Start FTS and Start Sniffing commands have previously been processed. The following is an example of the command string for this command.

Stop Sniffing

If an error occurs - which could be due to (1) a time out waiting for the Stop Sniffing command to process, (2) the devices being test are not Bluetooth devices, or (3) the Start Sniffing command was not previously sent or not successful, etc., - then a failure notification response is sent. The form for the failure notification response is the following.

Stop Sniffing;FAILED;Timestamp=10:41:00,10/06/2006;Reason=Not in sniffing mode

A successful attempt to stop sniffing results in a successful notification response. The form for the successful notification response is the following.

Stop Sniffing;SUCCEEDED;Timestamp=10:42:00

8.10 Sync Status The Sync Status command directs FTS to send the status of the Bluetooth devices being tested every time it changes. This command can also tell FTS to stop sending the status of the Bluetooth devices being tested. This command can only be used when testing Bluetooth.

Page 19: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 19 of 21 FTS-ASP-PG-007

The following is an example of the command string for this command. The ON parameter for the command tells FTS to send the status; the OFF parameter tells FTS to stop sending the status. This command is not supported by the FBLEA product.

Sync Status;ON

An error can occur if the devices being tested are (1) not Bluetooth devices, (2) an invalid command is sent, or (3) an invalid synchronization state is passed back from FTS, etc. If a failure occurs, a failure notification response is sent. The form for the failure notification response is the following.

Sync Status;FAILED;Timestamp=10:43:00,10/05/2006;Reason=Invalid synchronization state

A successful attempt to sync the status results in a successful notification response. The form for the successful notification response is the following.

Sync Status;SUCCEEDED;Timestamp=5/18/2007 10:44:00 AM;State=1

8.11 ReSync Status Now The ReSync Status Now command tells FTS to attempt to resynchronize with the Bluetooth device being tested. This command can only be used when testing Bluetooth devices that are in Sniff mode. This command is not supported by the FBLEA product. The following is an example of the command string for this command.

ReSync Status Now

An error can occur if the devices being tested are (1) not Bluetooth devices or (2) the device is not in Sniff mode. If a failure occurs, a failure notification response is sent. The form for the failure notification response is the following.

ReSync Status Now;FAILED;Timestamp=10:43:00,10/05/2006;Reason=Some Reason

A successful attempt to resynchronize results in a successful notification response. The form for the successful notification response is the following.

ReSync Status Now;SUCCEEDED;Timestamp=5/18/2007 10:44:00 AM

Page 20: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 20 of 21 FTS-ASP-PG-007

8.12 HTML Export The HTML Export command tells the FTS application to invoke the Frame Display. It then automatically selects the HTML Export menu option. Using the FTS Auto Server command protocol, the user can choose whether to include the summary pane information, data bytes, and frame range. Also, the user only has to specify a name for the saved HTML file. The saved html file is always written to the default directory which is: \\documents and settings\all users\documents\frontline test equipment\my log files. If you enter a file name with an invalid character “\/:*?<>”, then the system automatically generates a file name using: $(FrameDisplayPrint-<process id>-<counter>).htm

The following is an example of the command string for this command. If no frame range is specified, all frames will be exported. HTML Export;Summary=<1 | 0>;Data Bytes=<1 | 0>;Decode=<1|0>;Frame Range Upper=30000;Frame Range Lower=1;File=htmlexport1.htm

There are several important ideas to remember about HTML Export. BE AWARE THAT THIS CAN CAUSE THE FTS APPLICATION TO SPEND

CONSIDERABLE TIME GENERATING THE HTML FILE. The Frame Display window remains open once the export is complete. The frame range is a positive number followed by a hyphen, followed by another

positive number greater or equal to the first positive number. If no html file is specified, a default one will be generated and saved in the log file

directory created during installation of the FTS application. If an html file is specified, then this file is created and saved in the log file directory

created during installation of the FTS application. If no summary is specified, summary information will not be included by default. If no data bytes are specified, data bytes will be included by default. Decode will

always be included if Data Bytes are included. All layers for each frame will be exported. The user cannot select the layers. If the capture file is empty, no html is generated and an error is reported. If the range selected is outside the current range of processed frames, no html is

generated and the last process frame is included in the reason.

Page 21: FTS Automation Server Protocol - Frontline Test Equipment automation server protocol.pdf · FTS Automation Server Protocol Programmer’s Guide Confidential Page 3 of 21 FTS-ASP-PG-007

FTS Automation Server Protocol Programmer’s Guide

Confidential Page 21 of 21 FTS-ASP-PG-007

If all frames need to be exported, then select some unknown large number for the upper range.

Parameter Default Values Summary 0 Data Bytes 1 Decode Data Bytes Value

An error can occur if there are no frames to export. If a failure occurs, a failure notification response is sent. The form for the failure notification response is the following.

HTML Export;FAILED;Timestamp=10:43:00,10/05/2006;Reason=Some Reason

A successful attempt to export returns a successful notification response. The form for the successful notification response is the following.

HTML Export;SUCCEEDED;Timestamp=5/18/2007 10:44:00 AM

9 Log File Error, warning, or information messages that occur as a result of starting and stopping the FTS application - such as problems encountered when validating the software license - will be logged to the FTSAutoServer.log file normally located in the c:\program files\common files\fte\my log files directory. If an error is detected, the message will be logged and the FTS Automation Server will report a timeout error back to the client.