VASC Release Guide CESL Windows
User Manual:
Open the PDF directly: View PDF
.
Page Count: 64
| Download | |
| Open PDF In Browser | View PDF |
Continua Enabling Software Library (CESL) “CESL 5.0 Release Guide” Windows Source, SDK, and Binary Release Instructions Revision 4.0 (for CESL 5.0.2) April 28, 2015 Copyright © 2015 Continua Health Alliance ® All Rights Reserved This document may be distributed under the Continua license agreement. Revision History Author Ben Reinhold Ben Reinhold Ben Reinhold Lisa Colbroth Revision 4.0 3.1 3.0 2.5 John LaMontagne 2.4 John LaMontagne 2.3 Stollmann 2.2 John LaMontagne 2.1 John LaMontagne 2.0 John LaMontagne 1.9 John LaMontagne 1.8 Barry Reinhold 1.7 John LaMontagne 1.6 John LaMontagne Adam Elnagger 1.5 1.4 John LaMontagne 1.3 John LaMontagne 1.2 Comments Updated for 5.0 – Gold Release [Binary, Source and SDK] Updated for 2.0 – [Beta] Release 1 [Binary, Source and SDK] Updated for 2.0 – [Alpha] Release 1 [Binary, Source and SDK] Updated to add setting of PersonID Maintenance Release #3 - Added Known Issue regarding ZigBee internal timeouts - Updated Frontline Sniffer instructions and added files to the Binary installer - Numerous bug fixes to CESL code - 35 test projects updated to create unique build logs - WAN API and Programmer’s Guide documentation have been added to the CESL SDK distribution Updated Release Information for Maintenance Release 2 Updated Bluetooth Transport section for use with new Evaluation Kit version and alternatively for use with a Bluetooth USB dongle Official CESL 1.5.0 Release Updated for rc5.2 Release Restructured this guide for better flow Added information for Release Candidate release Corrected Paths of ZigBee Firmware Update Update of CESL Build – Warning removed for Debug build Added information on manual configuration of ZigBee in the CESL GUI Manager Update of Bugs and Known Issues Added Information about ZigBee and TRACElib Added Information about configuring a WAN receiver Updated Open Issues list with Open Source bugs Updated WAN information and small changes for release Updated WAN documentation in section 4.1.4 Updated functionality in section 1.3 Added Code Changes and Known Issues to Section 1 Added Information about changes between CESL 1.0 and CESL 1.5 Added instructions for creating CESL Unit Tests CESL 1.5 – [Beta] Release 2 [Source and SDK] - Updated Bluetooth to new Stollmann Hardware - Updated Source Modules for New Projects - Added XDM Information - Updated WAN Instructions ii Date 4/28/2015 4/10/2012 2/3/2012 8/26/2011 8/12/2011 5/6/2011 4/25/2011 4/12/2011 3/21/2011 2/7/2011 12/30/2010 11/29/2010 11/19/2010 11/16/2010 10/20/2010 9/17/2010 8/27/2010 John LaMontagne 1.1 John LaMontagne 1.0 John LaMontagne 0.8 John LaMontagne 0.7 John LaMontagne John LaMontagne Nathan Holstein John LaMontagne John LaMontagne John LaMontagne 0.6 0.5 0.4 0.3 0.2 0.1 CESL 1.5 – [Beta] Release 1 [Source and SDK] - Added WAN Instructions - Added 1.5 Device Specializations - Added Regression Test Suite and Instructions Alpha-1 Release of CESL 1.5 Source and Binary 5th Official Release – Release Candidate 2 [RC2] Addition of Frontline sniffer Creation of an additional SDK installer Moved Binary Installer instructions to separate User’s Guide 4th Official Release – Release Candidate 1 [RC1] Name change from VASC to CESL 3rd Official Release – Beta Removed Linux Instructions Linux Notes 2nd Official Release – Beta Initial Release – Beta Initial Draft of document for Snapshot Release iii 7/8/2010 4/23/2010 6/8/2009 1/13/2009 12/4/2008 11/28/2008 10/21/2008 10/19/2008 9/4/2008 7/24/2008 Table of Contents 1 2 3 4 5 6 7 Release Information ..................................................................................... 1 1.1 Summary .................................................................................................... 1 1.2 System and Software Requirements .......................................................... 1 1.3 Functionality of Release Components ........................................................ 2 1.4 Bug Fixes Applied ....................................................................................... 3 1.5 Updates from CESL 4.0 ............................................................................... 3 1.6 Known Issues ............................................................................................. 3 Documentation ............................................................................................ 5 2.1 Example Documentation – CESL Reference Designs ................................... 5 2.2 CESL Requirements/Design Documentation............................................... 6 2.3 API Documentation .................................................................................... 6 2.4 Programmer’s Guides ................................................................................ 7 2.5 Support Documents ................................................................................... 7 CESL 5.0 Core Distribution ............................................................................ 8 3.1 CESL Source Code ....................................................................................... 8 3.2 CESL Software Development Kit [SDK] Distribution .................................. 12 3.3 CESL Binary Distribution ........................................................................... 13 ZigBee Distribution ..................................................................................... 14 4.1 The FreescaleZigbeeShim Visual Studio Solution...................................... 14 4.2 Freescale Embedded ................................................................................ 14 WAN Distribution ....................................................................................... 15 5.1 WAN Information ..................................................................................... 15 5.2 Building the WAN Bridge from Source ..................................................... 16 5.3 Running the Bridge within Eclipse ............................................................ 18 5.4 Using a Runnable WAN .jar file ................................................................ 18 5.5 Setting up a WAN Receiver ...................................................................... 19 XDM Sender Functionality .......................................................................... 21 Test Distribution ......................................................................................... 22 7.1 CESL Regression Testing ........................................................................... 22 7.2 Unit Tests ................................................................................................. 23 iv 8 Running CESL Prototype Applications ......................................................... 25 8.1 Manager GUI Application ......................................................................... 25 8.2 Agent Applications ................................................................................... 28 8.3 Using TCP Transport ................................................................................. 32 8.4 Using USB Transport ................................................................................ 33 8.5 Using Bluetooth Transport ....................................................................... 39 8.6 Using ZigBee Transport ............................................................................ 44 8.7 Using Bluetooth(LE) Transport ................................................................. 49 Appendix A - CESL Trace Facility ........................................................................ 55 8.8 Proper Usage of CESL Trace facility .......................................................... 55 8.9 TRACELIB_THREAD ................................................................................... 55 8.10 Information Level ................................................................................. 55 8.11 Code Categories ................................................................................... 55 8.12 Conditions ............................................................................................ 55 8.13 Application Specific Additions .............................................................. 56 9 Appendix B – CESL 5.0 Enhancements......................................................... 57 10 Appendix C - Frontline Test System ....................................................... 57 10.1 Frontline Analyzer – Quick Start Guide................................................. 57 10.2 Additional Instructions ......................................................................... 57 v 1 Release Information 1.1 Summary Release Title: CESL 5.0 Date: April 28, 2015 Release Version: 4.0 Release Status: Gold Files: CESL-Source-Distribution-5.0.2.zip [Source Distribution, contains ZigBee, Bluetooth, and Bluetooth LE transport source] CESL-SDK-5.0.2.zip [Binary and Header File Distribution] CESL-binary-5.0.2.zip [Binary Only Distribution] CESL-wan-source-5.0.2.zip [WAN Source Distribution – Java] 1.2 System and Software Requirements 1.2.1 Platforms The CESL system is engineered to run on Windows 32- and 64-bit platforms. 1.2.2 Third-Party Software Visual Studio 2008 - This source distribution is shipped with Visual Studio 2008 compatible solution and project files. PThreads is required for use with this software. All required libraries are provided. Qt is required for use with the Continua Manager GUI. Qt files are included in this source distribution to build the Continua Manager GUI project. (Qt header files are not included with the SDK distribution.) The necessary dynamic libraries must be located with the Manager GUI application in the \lib directory of the source distribution or \bin directory for the SDK. If the executable is run from a different location, the necessary Qt .dlls must be moved or copied. CPPUNIT is required for running unit tests and is provided with this release. libusb-Win32 – this is used by the LNI USB Manager Driver Shim to communicate with the USB device and is provided with this release. Frontline IEEE Protocol Analyzer (IEEE 11073+ Analyzer) – IEEE 11073+ Analyzer is a PC-based, IEEE 11073 20601 protocol analyzer that works with any CESL application (TCP, USB, and Bluetooth Transports). It produces a much more detailed decomposition of the 20601 APDUs than provided by the CESL AL APDU dump facility. The analysis of packets is also done in real time. This release of CESL includes the necessary files with the source release, and automatically installs these files with the Binary and SDK release. JAVA – Java Runtime Environment is required to run the WAN Bridge Java application Eclipse – Build environment required to build using the WAN Bridge Java source distribution IAR – IDE for use with Freescale ZigBee ARM based hardware. This is needed only if you are building the embedded images that are used with the Freescale ZigBee USB dongles. BeeKit – A software package from Freescale that is used creating embedded images for Freescale ZigBee hardware. Xerces This package provides support for the handling of xml documents and is used primarily in the XHR interface. 1 1.3 Functionality of Release Components Agent functionality Basic Functionality 1. Adherence Monitor Standard Configuration – Fixed Scan Report Standard Configuration – Fixed Scan Report with Feedback Standard Configuration – Variable Scan Report Standard Configuration – Variable Scan Report with Feedback Extended Configuration – ConfigID=0x7204, Fixed Scan Report o The extended configuration is based on the Fixed Feedback standard configuration with ConfigID=0x1C21 and has the same objects o The status reporter object was modified to add the optional attribute Context-Key 2. Blood Pressure Monitor 3. Base Offset Time [Weighing Scale Agent to show functionality of Base Offset Time] 4. Cardiovascular Fitness and Activity Monitor 5. Glucose Meter 6. Independent Living Activity Hub 7. Insulin Pump Standard Configuration Extended Configuration - ConfigID=0x76CO, Fixed scan report – The extended configuration is based on the standard configuration with the following objects added: o Absolute Basal Rate o Total Daily Dose 8. Peak Flow Meter Standard Configuration Extended Configuration - ConfigID=0x4021, Fixed scan report – The extended configuration is based on the standard configuration with the following exceptions: o Simple Numeric Object was modified to add the Unit-Label-String attribute o FEV6 object was added 9. Pulse Oximeter 10. Strength and Fitness Equipment 11. Thermometer 12. Weighing Scale Episodic Scanner – Scanner functionality added to a separate Pulse Oximeter Agent Periodic Scanner – Scanner functionality added to a separate Pulse Oximeter Agent PM-Store – Functionality added to a separate Glucose Meter Agent ‘One to Many’ functionality added to a separate Pulse Oximeter Agent which supports PM Store. Manager Functionality – Manager Reference Design supports: All Agent functionality referenced above NOTE: The Manager only supports GetSegmentInfo for all segments. It is not designed to take a time input and support other GetSegmentInfo APIs. However, the CESL libraries do support this. WAN connection XDM (Enable sending email) 2 1.4 Bug Fixes Applied The following fixes have been applied since the previous release: Resolved issue associated with legacy pairing: Will enable measurement transfer between Nonin Pulse Ox and the CESL GUI. 1.5 Updates from CESL 4.0 The BTLE Thermometer GUI has been expanded to become a multifunction reference agent. This device is now called BTLEAgentGUI, and includes weight scale and BCA configurations. The SABTE reference agent has been added as a separate CESL project. This directory can be populated and released independently of the CESL distribution. Included BTLE support for included services. Previously CESL only used BTLE primary service. This was needed to enable the BCA as an included service for the weight scale. Included support for the UDS (User Data Service). This support is displayed in the BTLEAgentGUI and the manager GUI Updated nomenclature codes, mostly to include the new SABTE specialization. Included support for the battery service 1.6 Known Issues Agent initiated active connections can cause an issue when the user attempts to use the connect button to associate with a Bluetooth HDP device. The CESL manager and the agent will both attempt to initiate the connection which will cause the attempt to timeout. A user must use the “Pair” button when associating with an active BT device. (bug 86) An erroneous conversion is performed when transferring BTLE Agent GUI BCA measurements to the CESL GUI. The height measurement is off by a factor of 10. IE: If the user sends a value of 70, the CESL GUI measurement pane will show 700. (bug 88) SABTE reconnect fails to propagate up to the application. This issue is intermittent and might be associated specifically with the AT4 test suite. Unable to reproduce reliably. (bug 70) WAN – SAML 2.0 Issue By Design Guidelines, WAN is to use SAML 2.0 Token Validation. SAML 2.0 token validation doesn’t fully exist in open source, making it challenging to integrate into CESL and test for in the Test Tool. – Desired approach – Do not verify SAML 2.0 tokens in the test tool. Because token validation does not fully exist, partial implementation of the SAML 2.0 has been completed through the implementation of a patch. Operation is as follows: o o o o o WAN Sender requests a Token to STS Service (provides a SAML 2.0 token) WAN Sender sends token to WAN Receiver WAN Receiver accepts the token but does not validate it. Communication can be established and verification of PCD-01 can be performed for WAN Senders and WAN Receivers. SAML 2.0 Token can be used for authentication purposes only and it cannot be used to sign the message Because the SAML2.0 functionality is not fully implemented, but a patch was created to provide a testing solution, the following disclaimer is included with this Release of WAN code: a. The supplied code does not perform the primary SAML 2.0 purpose which is a trustworthy security function b. It is not an endorsed version of the AXIS2/Rampart code and cannot be used for non-Continua purposes 3 c. It is not an endorsed version of the AXIS2/Rampart code and therefore is not known or supported by that community d. It is to be used as-is or as a pattern only for Continua testing purposes until such time as AXIS2/Rampart is updated and works fully NOTE: More information is provided within the WAN Programmers Guide available within the WAN Source Distribution. WAN – Open Source Projects – The following are issues with Open Source projects that affect WAN operation o o o o Rampart: Supports SAML2.0 token issuance, but not validation. Sandesha: Does not automatically handle sequence termination. Sandesha: Several issues with ACK and fault handling. OHT ATNA: Several issues with BSD syslog implementation. WAN Receiver – If WAN testing is desired, each vendor should establish a WAN receiver. Instructions for this are available in Section 5.5 of this Release Guide. 4 2 Documentation 2.1 Example Documentation – CESL Reference Designs The source release distribution includes 30 Reference Designs: 28 Agents o Adherence Monitor ( Standard Configuration – Fixed ) o Adherence Monitor ( Standard Configuration – Fixed FB ) o Adherence Monitor ( Standard Configuration – Variable ) o Adherence Monitor ( Standard Configuration – Variable FB ) o Adherence Monitor ( Extended Configuration) o Blood Pressure Monitor o Base Offset Time (BOT) o Cardiovascular Monitor o Glucose Meter o Glucose Meter [BTLE command line] o Heart Rate Monitor [BTLE command line] o Independent Living Activity Hub o Insulin Pump (Standard Configuration) o Insulin Pump (Extended Configuration) o One-to-Many Set-Time (Pulse Oximeter supporting Set-Time and Multiple connection capability) o One-to-Many PMStore(Pulse Oximeter with PM-Store and Multiple connection capability) o Peak Flow Monitor (Standard Configuration) o Peak Flow Monitor (Extended Configuration) o PM-Store (Glucose Meter with PM-Store) o Pulse Oximeter o Episodic Scanner (Pulse Oximeter with Episodic Scanner) o Periodic Scanner (Pulse Oximeter with Periodic Scanner) o Sleep Apnea Agent (GUI implementation) o Strength and Fitness Equipment o Thermometer o Thermometer [BTLE command line] o Weighing Scale o BTLEAgentGUI (Contains Weight Scale, BCA and Thermometer) 2 Managers o ContinuaManagerGUI o BTLE Transcoder Manager (console test application) Many of these are heavily commented to provide instruction on creating Agents and Managers. To become familiar with the source code, reviewing these is an excellent first step. For an overall view of the process for creating an Agent, refer to AgentRefDesign.cpp located in the \refdesign\src directory of the CESL distribution. For details on creating objects and attributes for Agents, refer to the specific Agent Specializations located in the \refdesign\AgentSpecializations\src directory of the CESL distribution For information on Manager creation, refer to VASCManagerExample.cpp located in the \refdesign\VASCManager\src directory of the CESL distribution. 5 2.2 CESL Requirements/Design Documentation The following Specification Documents are available with this release: Object Layer [Metric_Data_Architecture.pdf] Transport Layer [Transport_Layer_Architecture_and_Software_Design.pdf] HRN Module Specification [CESL_XHR_Interface_Architecture_and_Design.pdf - plus 3 images] – This is a separate directory located in the documents directory. The Requirements/Design Documents are located in the \docs directory of the source distribution and in the C:\Program Files\CESL_SDK\doc directory and Start Menu with the SDK Installer. 2.3 API Documentation 2.3.1 CESL API Documentation The API documentation provides a reference for implementers and is used when building devices or applications. The API documentation is generated using the Doxygen tool and supplemented by the developers. This is a tool which documents the external API's of a system from developer written comments embedded in the code base. This type of documentation is easiest to keep up to date since it can be generated from the most recent code base. The API Documentation created by Doxygen is available as a zip file (API_Documentation.zip) in the \docs directory of the source distribution and in C:\Program Files\CESL_SDK\doc\ directory for the SDK. Unzip the ‘API_Documentation.zip’ file and click on index.html within the API_Documentation Directory. 2.3.2 WAN API Documentation – Using Javadoc WAN API documentation has been generated and is part of the WAN source distribution. NOTE: The WAN API Documentation is also available with the CESL SDK distribution as a zip file (javadoc.zip) and can be found at: C:\Program Files\CESL_SDK\doc Unzip the ‘javadoc.zip’ and follow steps 2 and 3 below. 1. Open the ‘org.ca.cesl.wan.documentation’ folder in the ‘wan’ distribution 2. Three html documents have been generated with Javadoc and are available in the ‘javadoc’ directory a. encoding b. hl7 c. transport 3. To access these documents, open the appropriate directory and click on ‘index.html’ Creating Javadoc output NOTE: To create Javadoc output, the Java JDK is necessary and must be installed Generation of Javadoc is very straightforward through Eclipse 1. Open Eclipse and load the WAN project. 2. Right click on the .api project you wish to create a javadoc [ex. org.ca.cesl.wan.encoding.api] and select export from the right-click menu. 3. Open the Java category, select javadoc and click next. 4. The next screen will ask you to "Select types for javadoc generation". Select the projects to generate javadoc (packages that end with .api) by checking the box. 6 5. Next select the member visibility to generate javadoc for (‘Protected’ gives coverage of features available to developers). 6. Select the destination to dump the javadoc (Under the "Use standard doclet" radio button), and click finish. 2.4 Programmer’s Guides 2.4.1 CESL Programmer’s Guide A Programmer’s Guide for the CESL source code has been created and is available in the \docs directory of the CESL source distribution and in the C:\Program Files\CESL_SDK\doc directory and Start Menu with the SDK Installer. Section 10 of the guide describes the new application APIs provided in CESL 5.0. 2.4.2 WAN Programmer’s Guide A WAN Programmer’s Guide is located within the WAN source distribution. Open the ‘org.ca.cesl.wan.documentation’ folder in the ‘wan’ distribution. The Programmer’s Guide (WAN-JavaProgrammersGuide-20100804.pdf) is available in the ‘users guide’ directory. NOTE: The WAN Programmer’s Guide is also available in the C:\Program Files\CESL_SDK\doc directory and Start Menu with the SDK Installer. 2.5 Support Documents 2.5.1 Release Guide A Windows-oriented Release Guide (this guide) is provided with this distribution. Several guides for specific agent applications have also been developed and will be located in the included “docs” directory. 2.5.2 Training Presentation A Slide Presentation from the October 2008 October Plugfest has been provided for CESL Training. This is called VASC Training Boston 2008.pdf and is located in the \docs directory of the source distribution and in the C:\Program Files\CESL_SDK\doc directory and Start Menu with the SDK Installer. 2.5.3 AgentGui A new GUI interface has been developed for the CESL 20601 agents. This interface provides a visual representation for the various flags that can be set for the CESL reference agents. The GUI is provided as an executable file that must be placed in the same directory as the CESL reference agents. The AgentGui is not supported code and can only be used “as-is”. 2.5.4 Third-Party Guides S3 USB - S3 Original User Guide for hardware configuration is found in the \shims\s3\medusb_rel1.2_20080704\doc\user_guide directory. This User Guide is located in the C:\Program Files\CESL_SDK\doc directory with the SDK Installer. Stollmann Bluetooth – Bluetooth documentation is available with the CD that comes with the Bluetooth hardware. Freescale ZigBee – ZigBee hardware configuration documentation is available in the CESL source distribution within the ZigBee Freescale shim directory (FreescaleZigBeeShim\doc) 7 3 CESL 5.0 Core Distribution The CESL 5.0 is distributed in three forms: Source, SDK and Binary. The Binary distribution is primarily used as a demonstration of CESL Agents and Manager and does not include documentation, source files or libraries. 3.1 CESL Source Code The CESL Source distribution is provided as a zipped file. Unzip the source distribution. This will unzip to a directory called Cesl-Source-Distribution-5.0.2. This directory will contain 4 sub-directories: BTShim_Stollmann, SS1BTLEShim, FreescaleZigbeeShim, and Cesl. The following instructions involve the Cesl directory. 3.1.1 Installing Required Libraries When building the Source distribution, all binaries (Manager and all Agents) are copied from the Visual Studio build via \Debug directory (or \Release, depending on the build) to the \lib directory. All dlls have been pre-loaded into this directory for proper operation and demonstration of the binaries. NOTE: If it is desired to start instances of the binaries (for Debug purposes) through Visual Studio, all necessary libraries may not be available within the created \Debug directory. There are two solutions for this: 1. Position libraries (shown below) by copying them from in the \lib directory to the system directory, or to the \Debug directory. 2. In Visual Studio, set the Working Directory for each Agent and Manager to the \lib directory. The following dlls need to be either in the System directory or in the directory from which the binary is executed. These dlls are available in the \lib directory. 1. 2. 3. 4. 5. 6. 7. 8. 9. libusb0.dll msvcrtd.dll pthreadsVC2d.dll rs232api.dll [for Bluetooth operation] BTLI_dll.dll [for Bluetooth trace using the Frontline Test System application] ieee11073VirtualSniffer.dll [for USB and TCP trace using the Frontline Test System application] SS1BTDBG.dll [for BTLE operation] SS1BTGAT.dll [for BTLE operation] SS1BTPS.dll [for BTLE operation] The following dlls are required for the operation of the ContinuaManagerGUI. These can be found in the \lib directory. If the ContinuaManagerGUI is to be run from the \Debug or \Release directories for testing purposes, these libraries need to be copied. 1. 2. 3. 4. 5. 6. 3.1.2 QtCore4.dll QtCored4.dll QtGui4.dll QtGuid4.dll QtNetwork4.dll QtNetworkd4.dll Release Solution 1. Open Visual Studio 2008 2. Open the vasc_release.sln located in the unzipped source directory of the distribution. This release of the CESL Source Code Repository is a Win32-based Microsoft Visual Studio 2008 Solution. There 8 are 50 individual projects which comprise the solution (vasc_release.sln). When building the solution, output is copied to the \lib directory (both debug and release versions for .lib files). NOTE: The SABTE agent is saved as a separate repository located at D:\git_repo\QAScripts\CESL\Cesl-SourceDistribution-5.0.2\Cesl\SABTE. If a user wishes to build this repository they must either add the SABTE agent manually to the release solution or build it from the SabteDemo solution. Project Name AdherenceMonitorAgentExtended AdherenceMonitorAgentFixed AdherenceMonitorAgentFixedFB AdherenceMonitorAgentVariable AdherenceMonitorAgentVariableFB AgentSpecializations ASN1 Association BloodPressureMonitorAgent BotAgent BTLEAgentGUI BTLE Transcoder Manager Description Adherence Monitor [Reference Agent Device] [Extended Configuration] Adherence Monitor [Reference Agent Device] [Standard Configuration] [ConfigId = 0x1c20] Adherence Monitor [Reference Agent Device] [Standard Configuration] [ConfigId = 0x1c21] Adherence Monitor [Reference Agent Device] [Standard Configuration] [ConfigId = 0x1c22] Adherence Monitor [Reference Agent Device] [Standard Configuration] [ConfigId = 0x1c23] 20 Agents Encapsulates the C Structures and Supporting Code generated by the ASN1C Compiler. Implementation of the Association Layer Blood Pressure Monitor [Reference Agent Device] WeighScaleAgent using Base Offset Time (BOT) GUI interface supporting BTLE weight scale, BCA and thermometer agents Reference console manager working with BTLE for debugging. Prints details of the BTLE exchange processes. 9 Output AdherenceMonitorAgentExtended.exe AdherenceMonitorAgentFixed.exe AdherenceMonitorAgentFixedFB.exe AdherenceMonitorAgentVariable.exe AdherenceMonitorAgentVariableFB.exe AgentSpecializations.lib AgentSpecializationsd.lib ASN1.lib ASN1d.lib Association.lib Associationd.lib BloodPressureMonitorAgent.exe BotAgent.exe BTLEAgentGUI.exe BTLETranscoderManager.exe CardiovascularMonitorAgent Cardiovascular Fitness and Activity Monitor [Reference Agent Device] ContinuaManagerExample Underlying code for Manager GUI ContinuaManagerGUI Reference Manager Device Glucose Meter [Reference Agent Device] Independent Living Activity Hub [Reference Agent Device] Insulin Pump [Reference Agent Device] [Standard Configuration] Insulin Pump [Reference Agent Device] [Extended Configuration] Contains classes for abstraction of the various Apdu types defined by 20601. Also provides a simplified API for creating, serializing, and de-serializing messages Implementation of the Object Layer. Implements Abstractions of the DIM, MDS, Agent, Objects, and Attributes. Also contains a “Message Factory” which is designed to greatly simplify message manipulation ‘One to Many’ Pulse Oximeter Agent with PM Store [Reference Agent Device] ‘One to Many’ Pulse Oximeter Agent with Set Time support [Reference Agent Device] Peak Flow Monitor [Reference Agent Device] [Standard Configuration] Peak Flow Monitor [Reference Agent Device] [Extended Configuration] Glucose Meter with PM-Store [Reference Agent Device] Provides limited POSIX compatibility when running under a Windows environment Pulse Oximeter [Reference Agent Device] Pulse Oximeter with Periodic Scanner [Reference Agent Device] GlucoseMeterAgent IndependentLivingHubAgent InsulinPumpAgent InsulinPumpAgentExtended MessageModule ObjectLayer OneToManyPMStore OneToManySetTime PeakFlowMonitorAgent PeakFlowMonitorAgentExtended PMStoreAgent PosixWin32 PulseOximeterAgent PulseOximeterAgentWithPeriScanner 10 CardiovascularMonitorAgent.exe ContinuaManagerExample.lib ContinuaManagerExampled.lib ContinuaManagerGUI.exe GlucoseMeterAgent.exe IndependentLivingHubAgent.exe InsulinPumpAgent.exe InsulinPumpAgentExtended.exe MessageModule.lib MessageModuled.lib ObjectLayer.lib ObjectLayerd.lib OneToManyPMStore.exe OneToManySetTime.exe PeakFlowMonitorAgent.exe PeakFlowMonitorAgentExtended.exe GlucoseMeterAgentWithPMStore.exe PosixWin32.lib PosixWin32d.lib PulseOximeterAgent.exe PulseOximeterAgentWithPeriScanner.exe PulseOximeterAgentWithScanner ServiceLayer StrengthFitnessEquipmentAgent TcpAgentShim TcpManagerShim ThermometerAgent Thermometer Agent (BTLE) ThermometerAgentExample TIL TRACElib TransportAPI usb_agent usb_manager vascbtshim VASCTrace WanDemoBridge WeighScaleAgent XDMSender XHRInterface Pulse Oximeter with Episodic Scanner [Reference Agent Device] Implementation of the Service Layer as defined in [REFERENCE]. Handles service registration and defines prototypes for Apdu Dispatch. Strength & Fitness Equipment [Reference Agent Device] Shim used for TCP connection with the Agent Shim used for TCP connection with the Manager Thermometer [Reference Agent Device] Thermometer Agent using BTLE [Reference Agent Device] Underlying Code for ThermometherAgentGUI Implementation of the Transport Interface Layer. Provides the device/application with an easy to manage set of calls that provide a clear API for interacting with the Transport Layer from any level in the Application. Supports trace messages in the shims Application that wraps the functionality of the lower level transport libraries in C++ Agent Side USB Transport Shim provided by S3. Manager Side USB Transport Shim provided by S3 Shim used for Bluetooth connection with the Manager Provides debugging trace facilities Continua Manager GUI connection to the WAN Bridge [Demonstration library] Weighing Scale [Reference Agent Device] Implementation of email sender of XDM output Interface for exporting 20601 data to CDA XML 11 PulseOximeterAgentWithScanner.exe ServiceLayer.lib ServiceLayerd.lib StrengthFitnessEquipmentAgent.exe TcpAgentShim.dll TcpManagerShim.dll ThermometerAgent.exe ThermometerAgentBtle.exe ThermometerAgentExample.lib ThermometerAgentExampled.lib TIL.lib TILd.lib TRACElib.dll TransportAPI.lib TransportAPId.lib usb_agent.dll usb_manager.dll vascBtShim.dll VASCTrace.lib VASCTraced.lib WanDemoBridge.lib WanDemoBridged.lib WeighScaleAgent.exe XDMSender.lib XHRInterface.lib XHRInterfaced.lib 3.1.3 Additional Project Two additional projects are available within the source distribution but must be added to the solution before building. 3.1.4 Project Name Description Output SABTE Sleep Apnea and Breathing Therapy Equipment GUI [Reference Agent Device] WinSabteAgent.exe VascDevUnitTestCmdLine Unit Test Application run on the Command Line VascDevUnitTestCmdLine.exe unit_test.log Building from Source Build vasc_release.sln The solution may be built with either Release or Debug configuration. If unit tests are to be run, the solution must be built in Debug configuration. 3.1.5 Known Build Warnings 3.1.5.1 Debug Configuration Build ContinuaManagerGUI – 1 Warning – vc90.pdb file not found. This has no impact on the project output. 3.1.5.2 Release Configuration Build No Warnings detected 3.2 CESL Software Development Kit [SDK] Distribution 3.2.1 Installation An SDK installer for Windows is provided as part of the CESL Release The application installs as “CESL Software Development Kit.” This can be uninstalled through the Windows Add or Remove Programs. 3.2.2 Directory Structure The program installs in C:\Program Files\CESL_SDK [default directory] Four directories are installed o bin – contains Agent and Manager applications, Shims, driver directories, and required third party dynamic libraries plus other executables. o doc – contains documents for reference and development o include – contains source header files o lib – contains all debug libraries The Start Menu will have the following under Programs | CESL SDK Continua Manager GUI application Agent Folder – Contains shortcuts to the Agent applications. These may be filed under subdirectories. NOTE: Agent applications run from the Start Menu can only be executed using TCP Loopback. For all other Agent transport options, the Agents must be run from Command Line with appropriate options configured. 12 Documentation Folder – Access to pertinent documents 3.3 CESL Binary Distribution A CESL Binary Distribution is provided as a demonstration of the CESL code using the Agent and Manager Reference Device applications. This distribution does not include any source code, static libraries, header files or documentation. Additionally, this Binary Distribution can be used to provide for interoperability testing. The Agent and Manager reference applications are identical to those available in the CESL SDK and the applications as built within the CESL Source Code. 3.3.1 Binary Installer A Binary installer for Windows is provided as a separate zip file. Unzip the distribution. There are 2 files included in the distribution. Click on setup.exe to install the application. The application installs as “CESL Reference Design Applications.” This can be uninstalled through the Windows Add or Remove Programs. 3.3.2 Directory Structure The program installs in C:\Program Files\CESL_Binary [default directory] Four directories are installed o bin – contains Agent and Manager applications, Shims, and required third party dynamic libraries plus other executables. o usb – contains driver files for USB o btle – contains driver files for Bluetooth Low Energy The Start Menu will have the following under Programs | CESL Example Applications Continua Manager GUI application Agent Folder – Contains shortcuts to the Agent applications. These may be filed under subdirectories. NOTE: Agent applications run from the Start Menu can only be executed using TCP Loopback. For all other Agent transport options, the Agents must be run from Command Line with appropriate options configured. 13 4 ZigBee Distribution As CESL matures it is anticipated that there will be additional shims from 3rd party providers. In order to better support these third party developers, the CESL core is being distributed independently from new shims. ZigBee is the first “new” shim to be distributed in this more independent form. The ZigBee software comes in its own zip archive and will unpack to two directories, a directory called FreescaleZigBeeShim, and a directory called FreescaleEmbedded. If the ZigBee shim is to be built from source: 1. The CESL Source (vasc_release.sln) must be built first before building the ZigBee shim. Because of matched static libraries, both CESL Source and ZigBee shim must be built in the same configuration (either debug or release). 2. It needs to sit in the same directory as the CESL tree. That is, both the CESL and FreescaleZigBeeShim directories must share a common root. The Visual Studio project files use relative references to find CESL libraries and expects to find CESL at $(SolutionDir)..\CESL. 4.1 The FreescaleZigbeeShim Visual Studio Solution The Freescale ZigBee Shim is built using Visual Studio 2008. Within the solution select either the CESL_DEBUG or the CESL_RELEASE configurations to build the shim. The following projects are contained within the solution: Project Name Description Output ZigBeeShim This is the project which builds the ZigBee shim for use with CESL This is a validation project that builds a simple test tool that can be used to exercise components of the ZigBee shim. It is not a supported project and is provided as is. The ZigBee HealthCare library The Freescale adaptor layer that provides support for ZHC using Freescale’s ZigBee Test Controller (ZTC) serial protocol The Serial Port libraries that interfaces to the Windows Host This is a validation project the exercises the serial port interface. It is not supported as part of the ZigBee release and is provided as is. ZigBeeShim.dll ZHCDriver ZHClib FS_ZBAlib FSSerialPortLib SerialCmdTool ZHCDriver.exe ZHClib.obj FS_ZBAlib.obj FSSerialPortLib.obj SerialCmdTool.exe NOTE: The included FreescaleZigBeeShim.sln is configured to only build the ZigBeeShim and FS_ZBAlib projects. If the other projects are desired to be built, they must be selected in the Configuration Manager. 4.2 Freescale Embedded The Freescale embedded code when unpacked has three directories. 1. ARM – This directory represents the architecture of the software that is being produced (ARM, HSC08) 2. FlashImages – This directory contains the pre-built images for flashing the Agent and Manager dongles 3. LampreyModifiedFiles – This directory contains the modifications that have been made to Freescale BeeStack software 14 5 WAN Distribution The WAN project is included as a separate distribution from the CESL source distribution. This project is written in Java and uses the “Eclipse” application for building this project. 5.1 WAN Information Information regarding this project is detailed in the WAN source distribution. There are numerous documents provided for this project (see Sections 2.3.2 and 2.4.2. The following additional information is provided. 5.1.1 Transport The number of specifications referenced by the Continua WAN can be daunting. The design guidelines dictate the use of Web Services over HTTP as a base transport using TLS to secure the connection and SAML2.0 tokens through WS-Security in order to authenticate the connection. With full security in place, it becomes impossible to observe a simple WAN transaction as it occurs over the network. Even with TLS disabled and only using SAML authentication tokens it is easy to get lost in the sea of XML data that is the token request, issuance, and presentation in addition to the core WAN transaction. In order to facilitate debugging and to help satiate curiosity as to what is going on under the hood, the WAN senders and receivers are broken into different categories according to the subset of WAN interface functionality that they actually implement. There are four classifications of servers included in the distribution: Vanilla is the basic WAN Server Sandesha implements WS-ReliableMessaging Rampart implements WS-Security using the SAML2.0 token Full implements both WS-Reliable Messaging AND WS-Security Using these servers it is possible to observe the simple core WAN transaction, the WAN transaction with reliability guarantees, the WAN transaction with user authentication, and the fully protected WAN transaction as specified in the Continua Guidelines. The transport packages of the WAN distribution contain the pertinent WAN client and server code, and Javadoc is accordingly found in the org.ca.cesl.wan.documentation subproject under the transport folder. Important WS-Security files, namely the policy.xml and sts_policy.xml policy files for the secured WAN receiver and SAML token issuer are found in the org.ca.cesl.wan.transport.client.axiom.rampart project under the org.ca.cesl.wan.transport.client.axiom.rampart package. These two files are also found injected into the services.xml Web Service deployment descriptor file for the full server found in the org.ca.cesl.wan.transport.server.full project. In the interest of validating minimal interoperability the policy.xml file requires only that a SAML2.0 token be presented to the WAN receiver, no signature or other validation of the message is required. 5.1.2 Java WAN Bridge The CESL WAN interface exists as a separate Java process from the CESL Continua manager. In order to receive observations from the manager to transmit over the WAN interface, a "bridge" is required from the C++ CESL manager to the Java WAN code. Communications over this bridge are performed using the HTTP protocol to communicate with a simple Servlet which executes the WAN logic. Users who are familiar with the OSGi framework may deploy the servlet into an OSGi environment. This method of execution is not currently a typical use case and is not supported. The servlet may also be run by deploying it into a local web server. To accomplish this, a simple Jetty web server is included with the distribution. The main Java method to launch the server is found in the org.ca.cesl.wan.bridge.ceslcpp.internal.launcher subproject in the org.ca.cesl.wan.bridge.ceslcpp package. The StandaloneJettyLauncher class starts a small Jetty server and deploys the WAN bridge servlet. The default behavior of the application is to bind locally to port 9001 15 to listen for messages from the CESL manager, and to export WAN observations to the WAN receiver located at http://continua.bxihealth.com:8080/axis2/services/DeviceObservationConsumer_ Service. These default values may be changed by providing application arguments either through the Eclipse IDE or through the command line interface. The format and order of the parameters can be printed by providing any set of arguments to the application. Due to the unusual and inefficient architecture of the WAN bridge transmitting XML observations over HTTP, this code is provided for demonstration purposes only and not to be considered production-capable code. Unusual attributes transmitted by agents may not work. 5.1.3 Policy Documents – Client and Server Documentation is provided regarding the web service security policy used. 5.1.3.1 Client Policy For the four Client transport services used in the WAN distribution (vanilla, sandesha, rampart, and full), each project includes a policy.xml. These can be found in the WAN source distribution at: org.ca.cesl.wan.transport.client.axiom.\src\org\ca\cesl\ wan\transport\client\axiom\ where refers to one of the transport services listed above. 5.1.3.2 Server Policy For the four Server transport services used in the WAN distribution (vanilla, sandesha, rampart, and full), each project includes a services.xml. These can be found in the WAN source distribution at: org.ca.cesl.wan.transport.server. \resources where refers to one of the transport services listed above. 5.2 Building the WAN Bridge from Source WAN Bridge code is provided as a Java distribution. To build the WAN Bridge from the source code, the application Eclipse is required. Unzip the CESL WAN Source distribution NOTE: Because path names are long, it is recommended the unzipped source distribution be placed in a location to minimize additional path name lengths (as close to C:\ as possible). 5.2.1 Obtain the Eclipse build environment 1. Eclipse is provided under a Public License and can be obtained at: http://www.eclipse.org/downloads/ 2. Select to download Eclipse IDE for Java EE Developers 5.2.2 Import WAN project into eclipse to build 1. Open Eclipse.exe (This application is provided as an executable and does not install you your system) 2. In the top menu, select File | Import… a. In the Import window, expand General and select ‘Existing Projects into Workspace’ b. Click ‘Next’ c. In the field ‘Select root directory:’ browse and select the ‘wan’ folder you unzipped in 1. Above d. Click ‘Finish’ 3. On the Welcome screen, select ‘Workbench’ in the upper right. 4. Right click the project org.ca.cesl.wan.bridge.ceslcpp and select properties a. In the Properties window i. Select Run/ Debug settings ii. Click on the button New… 16 iii. Select Java Application and click ‘OK’ (this will open the ‘Edit Configuration’ window) b. Give the configuration a memorable name (wan bridge or something similar) c. Specify the main class i. Click ‘Search’ next to the Main class: window ii. Select “StandaloneJettyLauncher – org.ca.cesl.wan.bridge.ceslcpp.internal.launcher” iii. Click ‘OK’ iv. Click ‘Apply' d. Select the Arguments tab in the ‘Edit Configuration’ window i. In VM Arguments (2nd window) put: (the dash [-] is necessary) -Dwanclient.axisbase= NOTE: Variables in this document are expressed in the form of and are meant to be replaced by their actual value. For example, the above turns into: -Dwanclient.axisbase=/usr/home/ae/gitrepository/wan/org.apache.axis2/repository or, -Dwanclient.axisbase=C:\CESL\wan\org.apache.axis2\repository NOTE: If desired, program arguments (top window, not VM Arguments window!) for the default wan server can be changed. Follow the format of: ex: 8080 wan.lnihealth.com 20601 axis2/services/DeviceObservationConsumer_Service or: 9001 23.21.82.221 8443 axis2/services/HealthVault (note no http(s)://) ii. Click Apply then OK to close the ‘Edit Configuration’ window e. Click OK to close the Properties window. 5. In the Eclipse main menu, select Window | Preferences a. In the left frame expand Java b. Expand Compiler c. Select Errors/Warnings d. In the Errors/Warnings window, expand Deprecated and Restricted API e. On “Forbidden reference (access rules):” select ‘Warning’ f. Click Apply g. Select Yes for the full rebuild h. Click OK 6. Check for build errors in the org.ca.cesl.wan.bridge.ceslcpp project. Build errors are indicated by a red x on the folder icon next to the project name. NOTE: Other errors may be reflected in the ‘Markers’ window. These can be disregarded as long as there are no errors in the org.ca.cesl.wan.bridge.ceslcpp project. 7. If there are build errors with this project caused by Eclipse not unable to find the javax.servlet package, then install the Eclipse web development tools: a. Go to main menu “Help” b. Select “Install New Software” c. Under work with select “Galileo - http://download.eclipse.org/releases/galileo” d. Make sure “Hide items that are already installed is checked e. Under the selection window select “Web, XML, and Java EE Development” f. Click next to install the Web, XML, and Java EE tools. 17 5.3 Running the Bridge within Eclipse 1. Right click the project org.ca.cesl.wan.bridge.ceslcpp a. Select Run As | Java Application b. Select “StandaloneJettyLauncher - …” as the main class if the runner requests it. Click ‘OK’ c. The Console window of the Eclipse application will identify the bridge is running. 2. Within the Manager GUI, select: Edit | WAN Bridge | Change WAN Bridge Address/Port 3. Change the address/port to http://localhost:9001/wanbridge [default] 4. The Manager GUI will now send Agent data to this WAN Bridge. Output will be observed within Eclipse. 5. A final line with AA shows that the measurements were successfully passed to the WAN receiver (Application Accept). Other possible responses would be: AE – Application Error AR – Application Reject NOTE: To observe the data received by the WAN Bridge from the GUI Manager, it is necessary to change the Output Flags to allow this data to be shown in the Output window of the GUI Manager. 1. In the Manager GUI menu, select Edit | Output Flags 2. In the ‘Code Group Flags’ tab, make sure the VD_WAN_BRIDGE box is checked. To only see the WAN Bridge output, uncheck all other boxes to keep the Output window from being cluttered. Data received by the WAN Bridge will be displayed in the GUI Manager Output window while data is sent from the Agent to the Manager, and the Manager sends this data to the WAN Bridge. Once the Agent is stopped, the WAN Bridge will format a PCD-01 message to send to the WAN Receiver. This will also be shown in the Manager Output window. 5.4 Using a Runnable WAN .jar file A separate WAN sender executable can be created and then configured for use with the GUI Manager. 5.4.1 Creating the .jar file The ANT script ‘build-runnable-jar.xml’ can be used to generate the WanBridge.jar. The script can be run in Eclipse by right clicking on the script file in the package explorer and selecting ‘Run as / Ant Build’. The built jar is placed in the org.ca.cesl.wan.bridge.binary directory. However, there are four different client options one can build the jar for and the ANT script and the source code in the WanBridgeServlet.java file have to be modified in order to be consistent. 1. In the file WanBridgeServlet.java lines 218 and 221 need to be changed depending the client model used. Line 218 needs to have the parameter set to ‘true’ for the secure clients (that turns on TLS) and line 221 needs to call the desired client model (one of the WanServiceClientAxiom* classes). 2. In the line 110 of the ANT script, the correct WanServiceClientAxiom* class files need to be pointed to. 3. Open the MANIFEST.MF file in eclipse and be sure that the correct org.ca.cesl.wan.transport.client.axiom.* package is included. 4. In the axis2.xml file (not the one in the /res directory) has the correct modules included. They are lines that appear as follows: 18 The rampart and rahas modules are needed for security and the sandesha2 module is needed for reliable messaging. The addressing module is needed for all clients. You are free to edit the ANT script to change the name of the resulting jar to whatever you want. In order to create a runnable .jar file using Eclipse: 1. Right click the project org.ca.cesl.wan.bridge.ceslcpp and select Export 2. Expand Java and select ‘Runnable JAR file’. Click ‘Next’ 3. Under Launch configuration: select to run the configuration created earlier. 4. Provide a destination file name in the Export destination: frame. 5. Select “Package required libraries into generated JAR”. 6. Click ‘Finish’ 7. There may be compiler warnings. These will not affect the operation of the .jar file One still has to configure the supporting axis2.xml, MANIFEST.MF, and WanBridgeServlet.java files for the client being used. 5.4.2 Running the .jar file To run the java WAN Bridge executable, either the Java Runtime Environment (JRE) or Java Development Kit (JDK) must be installed on the system. To acquire the JRE: 1. Go to http://www.java.com/en/download 2. Click the red ‘Free Java Download’ button and click ‘Save File’ 3. Once the file has been downloaded, click on the ‘jxpinstall.exe’ icon to install Running the WAN Bridge: 1. Open a command window 2. Enter the following with the appropriate destinations 3. Be sure that the the trivial login service is also deployed when using secure communications. It is accessed by the clients prior to the STS service (which obtains the SAML token). java -jar -Dwanclient.axisbase= NOTE: When running a built WAN Bridge generated from eclipse, this bridge listens on port 9001. Therefore, it is required to change the port number in Edit | WAN Bridge | Change WAN Bridge Address/Port to 9001. 5.5 Setting up a WAN Receiver NOTE: A capable server administrator, familiar with their web application server, is assumed. 5.5.1 Building the WAN Receiver Build the WAN source Run the buildAARFile.xml ant script of the full server project. This will generate an AAR file which is suitable for deployment into an axis2 service repository. 19 The WAN receiver code is known to work with Axis2 1.5.1. Axis2 1.5.2 should also work, but this has not been tested. Before starting the service ensure that the rampart and sandesha modules included with the WAN distribution are deployed in the modules directory of your axis2 service, and that the rampart and sandesha .jar files are copied over to your axis2/WEB-INF/lib directory. It is important that you copy over the rampart and wss4j .jar files in order to keep the patched SAML 2.0 support. You can ensure that your WAN receiver has been deployed by visiting your http:// /axis2/services/listServices page and ensuring that the DeviceObservationConsumer_Service service has been deployed without any errors. Also remember to properly configure your server for use of TLS. 5.5.2 Modifying Sender Settings Once the receiver is in place, you are ready to modify your sender settings. Under the org.ca.cesl.wan.transport.client.axiom.tests package you will find the AbstractTransportTest class. Modify the SERVICE_IP member to point at your server hostname and the SERVICE_PORT member to target the port your server accepts connections on. Save the AbstractTransportTest class and execute the TransportTestFull class under the org.ca.cesl.wan.transport.client.axiom.full.tests package to make sure that your WAN receiver is properly functioning. Once the test passes, you are now ready to modify the CESL WAN bridge. Open the StandaloneJettyLauncher class under the org.ca.cesl.wan.bridge.ceslcpp.internal.launcher package, and modify the serviceIp and servicePort members with the same values used for the full client test. Save, and run the StandaloneJettyLauncher class. You now have a fully functional CESL WAN bridge pointing at your WAN receiver. 20 6 XDM Sender Functionality XDM functionality has been added to this distribution of CESL. The XDM module takes, as input, a serialized PHR from the existing CESL code, compresses it, and delivers it to the electronic email system in a Microsoft Windows platform. This module is developed in accordance to the IHE’s XDM specification. To activate this functionality in the Continua Manager GUI, check the box in Edit | Enable Sending Email NOTE: This option is grayed out until after activating transports (‘Start Transport’ button is clicked). When an Agent ends its transmission and disconnects from the Manager, an Email shell will be generated with the XDMDocumentSet.zip attachment. The email can then be addressed to be sent. The XDMDocumentSet.zip includes a README.TXT file, an INDEX.HTM file and a directory of two .xml files. Unzip the file Click on INDEX.HTM In the browser, click on ‘PHMR’ – This will display the transmitted data from the Agent. NOTE: If an email message is generated but the attached file is not a .zip file, please refer to Section 1.8.4 Other Issues. 21 7 Test Distribution The test distribution is made up of numerous parts. For CESL 5.0, no regression test of CESL 1.5 enhancements has yet been provided. Unit tests are provided within the CESL source distribution and the WAN source distribution. 22 7.1 Unit Tests Unit tests are provided for testing from the Source distribution. NOTE: Unit tests are not available with the CESL SDK installer. 7.1.1 CESL 7.1.1.1 Source There are 7 separate files that execute 115 separate unit tests. These files are located in the \utests\src directory. UNIT_TEST_ALL_ATTRIBUTE_VERIFY UNIT_TEST_ATTRIB UNIT_TEST_ATTRIB_2 UNIT_TEST_MDS UNIT_TEST_MESSAGE UNIT_TEST_MESSAGE_MODULE UNIT_TEST_PM_STORE 7.1.1.2 Building and Running Unit Tests To run Unit Tests from the Command Line an additional project must be added to the build in Visual Studio 2008. Unit tests are only supported under Windows. 1. Add the project VascDevUnitTestCmdLine.vcproj to the vasc_release.sln found in the \thirdparty\VascDevUnitTest\VascDevUnitTestCmdLine directory. 2. Build the solution in ‘Debug’ mode NOTE: There are a total of 29 warnings produced during a build. 28 Warnings come from a linking issue with vc90.pdb – These have no effect on testing 1 Warning is generated from VascDevUnitTestCmdLine.cpp – This has no effect on testing 3. The Unit Tests are run from the executable VascDevUnitTestCmdLine.exe copied from the \Debug directory to the \lib directory of the source distribution. a. Open a Command Prompt window b. Navigate to the \lib directory of the source distribution. c. Type VascDevUnitTestCmdLine.exe > unit_test.log 2>&1 in the command window and press . 4. A log of the test results (unit_test.log) will be created in the \lib directory. 7.1.1.3 Creating New Unit Tests Unit Tests use the CppUnit for unit testing. This application is available at: http://sourceforge.net/projects/cppunit/ The Visual Studio project called VascDevUnitTestCmdLine.vcproj located in the /thirdparty/VascDevUnitTest/VascDevUnitTestCmdLine directory is used for Unit Test development. Two template files are provided for Unit Test Development. The file UNIT_TEST_HEADER_TEMPLATE.h is provided in the /utests/include directory, and the file UNIT_TEST_CODE_TEMPLATE.cpp is provided in the /utests/src directory. Other developed Unit Tests can be referenced within these directories as well. 23 7.1.2 WAN Java Unit Tests (JUnit) Unit tests for the WAN source release can be run through the Eclipse application. Load the WAN project into the workspace as detailed above. Within the Eclipse Project Explorer, there are 6 unit testing projects. These are the projects ending in: .tests .testing Running JUnit Tests 1. Expand one of the projects for testing 2. Within the project, expand the src folder and sub-folders and look for source files following the convention similar to: All {something} tests 3. Right click the test source file and select "run as" -> "Junit Test" 4. You will receive console output. A JUnit summary is available under the JUnit tab. NOTE: Some test for the WAN require the location of the axis2 folder. Should errors arise they should be resolvable by setting the -Dwanclient.axisbase vm argument as specified in the release instructions. 24 8 Running CESL Prototype Applications TCP, USB and Bluetooth functionality is currently provided for all Agents and the Manager. The Manager runs from a GUI application. All agents are run from a Command Window. NOTE: All Shims required for the operation of the Manager and the Agents are placed with the executables in the \lib directory for the Source distribution and the \bin directory for the SDK installer. Because the TIL attempts to load all dlls in the ‘shim directory’ the many non-shim dlls will generate errors in the TRACE log. In the future it is planned to place all the shims in a separate directory. NOTE: For proper functioning of the Manager and Agent applications, libusb0.dll is provided. This dll must either reside within the same directory as the executables or can be placed in the system folder. 8.1 Manager GUI Application 8.1.1 Configuring Manager GUI dlls Six Qt dlls are required for proper operation of the ContinuaManagerGUI (QtCore4.dll, QtCored4.dll, QtGui4.dll, QtGuid4.dll, QtNetwork4.dll, QtNetworkd4.dll). These have been preloaded in the \lib directory for the Source distribution and the \bin directory for the SDK installer. If the GUI application is executed outside of these directories, the Qt dlls must be moved to follow Windows default paths for the application to locate these libraries. 8.1.2 Manager GUI Functionality Menu o File – Only provides the option to Exit the application o Edit Transport Settings – Permits selection of USB, TCP, Bluetooth, ZigBee and Bluetooth(LE) transport and configuration. ZigBee Connect – Provides the option for manual ZigBee connection WAN Bridge – Configuration options for the WAN Bridge (NOTE: These options are unavailable until after ‘Start Transport’ is clicked) Enable Delivery to WAN Bridge – Default is checked to enable a connection from the Manager GUI to the WAN Bridge for transport of Agent Device data Change WAN Bridge Address/Port – Provides the option to have the GUI Manager look to a different address or port for the WAN Bridge Output Flags – Option to set flags to generate output logs to the Output window. Two groups exist: Code Group Flags and Printing Flags. APDU Log Directory – Permits the selection of location for the apdu_dump.txt file to be placed. Enable/Disable Writing Measurements to File – Creates a file of Object measurements from the Agent (NOTE: Unavailable until after ‘Start Transport’ is clicked) Enable Sending Email (XDM) – Creates an XDM zip attachment to an email for sending (NOTE: Unavailable until after ‘Start Transport’ is clicked) Accept All Connections – Default is checked to accept connections without prompt. If unchecked, the Manager GUI will prompt for connection. Advanced – Additional dialog boxes for configuration Confirmation Timeout – Provides the opportunity to change the timeout for Event 25 Reports [used normally for ZigBee transport] ZigBee Connect – Provides the ability to bypass usual Discover/Connect process to connect directly to a known ZigBee device. o TCP Connect – Provides the ability to bypass usual Discover/Connect process to connect directly to a known TCP device. Help – Provides an About dialog box for information about this version of the GUI. Manager State – Identifies the state of the Manager GUI –Disconnected; Connected; Unassociated; Disassociating; Operating; Waiting Configuration Device tab – Tab is located on the right edge of the GUI o Select Shim Directory – Allows for the opportunity to select a Shim directory for the Manager. On start, the path defaults to the directory of the Manager GUI. For this release, all Shims are located in this directory. A Browse button is provided to select a different directory. o Start Transport button – Once the transports are configured, this button will enable transports o Device List frame – This frame displays information on the devices connected to the Manager. Discovered devices will be displayed by Name, Transport Type, Device Specialization, and Address. Buttons at the bottom of the frame allow for: Discover – Used with Bluetooth and ZigBee to discover Medical devices Connect/Disconnect– Connect allows for the manual connection to Bluetooth devices – Disconnect will shut down transport to the Agent without expecting a response from the Agent Unassociate – Sends a message to the Agent to quit. The Manager expects a response from the Agent and will change the Manager state to Unassociated Abort – Aborts the connection to the Agent o Device Information frame – Once connected, information about the device is displayed o Data frame – Displays data received from the connected Agent Device Information Model tab – Tab is located on the right edge of the GUI The Device Information tab provides access to various frame displays for specific DIM objects. Not all Agents have capability for these objects. Two specific Agents have been created with PM-Store and Scanner objects. o DIM – Objects frame – Displays Device Information Model objects for the Agent. By clicking on each object, either information will be displayed stating the object is not supported, or other frames will open permitting access to these objects. o Segment frame – If a PM-Store is selected in the DIM-Objects frame, a Segment frame will open with 2 windows. The segment type will be displayed at the top Type – Designates the Object type selected in the DIM-Objects frame The left window will display recognized segments with the Agent, showing the Segment Name, Instance # and Operating State. Two buttons are located at the bottom of the window to either get the data from the segment, or to clear the segment from the Agent. Segment Data window – If a Segment is selected and if the “Get Segment Data” button is selected, all segment data will be displayed in this frame. A context menu is available to Copy, Clear or Select All. o If a Scanner object is selected in the DIM-Objects frame, 2 boxes and an Enable/Disable Scanning button will be displayed to the right. The boxes identify the Type of Object and State of the object [Enabled or Disabled]. The Enable/Disable button will allow for data to be displayed in the Data frame of the Device 26 tab. Note that the SABTE RTSAs will not be displayed in the GUI until the user manually enables the scanner here. Output frame – Displays debug information from the CESL Trace Facility. To change the output, select the options available in the Edit | Output Flags menu. A context menu is available to Copy, Clear, or Select All. Transport [Enabled/Disabled] – Five icons which will light to indicate enabled transports 27 8.2 Agent Applications NOTE: All Agent applications are placed in the following directories: the \lib directory for the Source distribution the \bin directory for the SDK and Binary installers 8.2.1 Basic Agent Functionality Reference Design Agents are pre-configured for TCP transport over a loopback interface (127.0.0.1) and will run with the Reference Design Manager on a single system. For other TCP operations using 2 systems, and/or for other Transport options (USB and Bluetooth), the Agents must either be executed from the Command Line using command line switches, or from the creation of pre-configured shortcuts. To run the Agent applications with other transport or configuration options, the following are provided: Generic Options o --transport [tcp | usb | bluetooth | zigbee] This specifies the Transport to use. One of these must be set. The default value is tcp. o --count NUMBER NUMBER specifies the number of event reports to send. If this value is -1 or if this switch is not used, then event reports will be generated until the program is manually halted. o --shim_dir PATH o Designate a path to the Shim directory. --timeout NUMBER PATH is either a relative or absolute path NUMBER specifies the number of seconds to wait for a successful connection after transport initialization. o o o o Default is 30 for USB and TCP, and -1 (wait forever) for Bluetooth. --context_key NUMBER NUMBER specifies the context key. Used only with the Medication Monitor Agent to specify the context key of the agent. --personId NUMBER NUMBER specifies the PersonId . ScanReports will be updated to send this PersonId. Used with the GlucoseMeter Agent with PMStore to assign this PersonId value and an additional PersonId values to the PM-Seg-Person-Id attribute on the segments of the PMStore Object. The default value is unknown-person-id (0xFFFF). --confirmTimeout NUMBER NUMBER is specified in milliseconds. Indicates the time to wait for the RORS Confirmation Response. Defaults to 30000 for ZigBee and 3000 for all other transports. --help Provides a listing of all command line options TCP Specific Options o --ip_address ADDRESS ADDRESS is standard dot notation. This defaults to 127.0.0.1 [loopback] o --tcp_port PORT 28 The PORT value defaults to 6024 USB Specific Options – There are no specific USB options. Bluetooth Specific Options [for use with the Stollmann card] o --com_port COMPORT o o COMPORT must be set to the COM port connected to the Stollmann device [e.g. COM2]. This defaults to COM0. --bt_pin PIN# The shared key used for Bluetooth authentication. Default is 0000 --connbt # Active or passive bluetooth connection. Once paired the agent will connect to the manager if this parameter is set to 1. If set to 0, the user must enable the connection from the manager.. Default is 1 (active connect). ZigBee Specific Options o --com_port COMPORT COMPORT must be set to the COM port that windows assigned to the ZigBee USB adapter. Defaults to COM0 o --baudrate NUMBER o o o o Defaults to 38400 – Valid values are: 9600, 14400, 19200, 38400, 57600 and 115200. --zbif NUMBER NUMBER is a small integer that identifies the interface (and associated configuration information) that the software will use. Defaults to 0 --srcep NUMBER The srcep is the ZigBee defined end point on the local node that is the source of messages. The source end point value is compiled into the Freescale ZigBee USB adaptor and is 8. This value should be used unless the embedded software has been changed on the local ZigBee interface. Defaults to 0x08 --connect This command line option tells the agent to initiate a connection by sending a ZigBee Connect Status Notification message with the value of RECONNECT_REQUEST. Defaults to false --mac NUMBER o Indicates an application initiated connection, using the 64-bit IEEE address. Defaults to 0 --nwk NUMBER This is the 16 bit network address target address. This value is used when the agent attempts to setup a connection. Defaults to 0x0000 --channel NUMBER o NUMBER represents a valid ZigBee channel on which the software will operate. Defaults to 14 --PANID NUMBER o o o This is the PANID that the agent will attempt to join. Defaults to 0xFFFF (Join any PAN, when ePAN is 0) --epanid NUMBER This is the extended PANID that the agent is to operate on. When epanid is set and PANID is 0xFFFF the agent will attempt to join any PAN that matches the epanid provided. Defaults to 0 --dstep NUMBER 29 The destination end point is the ZigBee end point address the software will use in attempting to setup a connection (11073 Tunnel). Defaults to 8 To run any of the Agent applications using these options either click on the executable, or open a command window and navigate to the \lib directory. Enter the Agent executable followed by appropriate options. For TCP communication to a Manager on another system within the same network, an example input would be: ThermometerAgent.exe --transport tcp --ip_address 192.168.0.45 --count 30 NOTE: A shortcut can be created with the Target path in “Properties” edited with the appropriate options. 8.2.2 Added Agent Functionality Three Agent applications have been modified to include additional functionality. These Agents are started as all others with the additional functionality managed from the Manager GUI. 8.2.2.1 PM-Store The Glucose Meter Agent example has been modified to include the PM-Store Object. The new example is GlucoseMeterAgentWithPMStore.exe whose project name is PMStoreAgent. Previously, when this Agent was started, the Agent command window continuously displayed generated data and cycled through stages of having the PM store enabled and disabled. This behavior is no longer true. First it is illegal by the glucose specialization to do so when a PM store is present. Second it is an unrealistic use case. Most PM Store agents are designed to record measurements offline and then, at the user’s convenience, upload the measurements to some AHD. The GlucoseMeterAgentWithPMStore.exe is now designed to follow this behavior. When started it is initialized with one segment containing 10 observations. If person ids are optionally requested via the command line, a second segment is added also containing 10 measurements. In that case both segments are given person id attributes where the first segment has the person id of the command line and the second segment has (person id + 1). The agent has been also written to support clearing these segments either by instance list (which the ContinuaGUIManager uses) or by ‘clear all’. However, once cleared, the segments will remain empty and the user must re-start the agent to re-load the segments. To observe the stored data within the Segment(s): 1. 2. 3. 4. Click on the Device Information Model tab (right side of the GUI) In the DIM-Objects frame, select the PM-Store object. The Segment frame will open. Select a segment in the Segment window Click “Get Segment Data” – Data is displayed in the right window. NOTE: This data may be copied or cleared using the available context menu. 5. Once the segment is no longer needed, click the “Clear Segment” button. This will clear the segment from the Segment window. Attempting to get data from the segment will now fail. 6. Stop the Agent using normal operation. NOTE: When running this Agent over USB Transport, if Disconnect is selected on the Manager GUI, the Manager will disconnect but the Agent will not shut down. REASON: A USB device does not receive disconnect signals from a USB host without a physical disconnect (pulling the plug). The USB device does not know the manager has disconnected until it tries to communicate with it. Since this agent never sends data to the manager (but only responds to requests to obtain data from the manager) it will continue to run. The Agent must be stopped manually. NOTE: If the GlucoseMeterAgentWithPMStore.exe is started with the –personId option on the command line, two segments will be created on the PMStore Object. The first segment will use the personId value indicated in the command line. The second segment will use a different personId value. Each segment will be filled with 10 measurements. The Manager GUI’s segment window will show two segments available. 30 8.2.2.2 Scanners Two Pulse Oximeter Agents have been modified to include the Episodic and Periodic Scanner Object (PulseOximeterAgentWithScanner.exe and PulseOximeterAgentWithPeriScanner.exe). Once these Agents are started, debug information will be displayed in the Agent command window. However, no data will initially be displayed in the Manager GUI. To begin data transfer, the Scanner must be enabled. 1. Click on the Device Information Model tab (right side of the GUI) 2. In the DIM-Objects frame, select the Scanner object [either Episodic or Periodic]. 3. Click “Enable Scanning” to begin the scanner. Data will be displayed on the Device tab data frame. NOTE: For the Periodic Scanner, data display is delayed up to 12 seconds 4. To stop scanning, click “Disable Scanning”. 5. Stop the Agent using normal operation. NOTE: When running these Agents over USB Transport, if Disconnect is selected on the Manager GUI while the scanners are disabled, the Manager will disconnect but the Agent will not shut down. REASON: A USB device does not receive disconnect signals from a USB host without a physical disconnect (pulling the plug). The USB device does not know the manager has disconnected until it tries to communicate with it. In this case the Agent is not sending values to the Manager and therefore is not aware of the state of the Manager. The Agent must be stopped manually. 31 8.3 Using TCP Transport NOTE: For proper TCP discovery, the Manager application must be started before the Agents. Once the Manager application is started, it is not required to re-start the Manager each time a new Agent is started. NOTE: TCP communication requires the use of the TcpManagerShim.dll for operation of the Manager and TcpAgentShim.dll for operation of the Agent. These shims are located in the directory with the Agent and Manager executables. If the applications are started in a different directory, the shims must be moved to that directory for proper TCP operation. 8.3.1 Running the CESL Manager Application (Continua Manager GUI) 1. Click on ContinuaManagerGUI.exe. This can found either in the \lib directory for the Source distribution or in the \bin directory for the SDK and Binary installer. Additionally, a shortcut in the Start menu may be used with the SDK and Binary installer. The Manager GUI will open. 2. From the Edit | Transport Settings menu, configure the Manager output, if desired. 3. Set the appropriate Shim path NOTE: The Shim path should default to the directory where the executable resides. Selecting a different path would only be necessary if the Shims do not reside in the same directory as the application. 4. Click “Start Transport.” The TCP icon will color (brown) and state “Transport: Enabled” NOTE: Other transports may be enabled. This depends on the different Shims detected by the Manager. 5. At this point, the Manager will wait for input from the Agent 8.3.2 Running the Agent Application 1. Using Windows Explorer, navigate to the \lib directory to access the Agent executables. 2. Execute any Agent by clicking on any of the executables (for loopback connection). The agent will open a command window to display connection information. Additionally, a shortcut in the Start menu may be used with the SDK installer. NOTE: For other TCP configuration options, run the Agent from the Command Line using TCP options, or configure a shortcut. 3. If the Menu | Edit option is selected (default) for “Accept All Connections”, the Agent will be connected and data will flow to the Manager. If the connections are done manually, then when the Agent is discovered, the Manager displays a dialog box asking for connection. Click ‘Yes’. The Agent device will time-out in 30 seconds if connection is not made. 4. The Agent will generate random values. These values are displayed in the Manager GUI. NOTE: Most Agents are configured to run indefinitely. However, a few Agents are configured to send only one measurement before closing. This can be changed by adding the --count switch and a desired value. 5. The Agent will continue to send values unless the --count switch is used. To stop the operation, close the Agent Command Window, or select ‘Disconnect,’ ‘Unassociate’, or ‘Abort’ on the Manager GUI. 32 8.4 Using USB Transport USB prototype functionality is provided through the Keil Evaluation Board. The evaluation board is connected to a system using TCP to replicate the Agent. USB connection is made to a system for Manager communication. 8.4.1 Configure the USB Hardware Instructions to set up the environment for USB device emulation are provided here. NOTE: For additional information, refer to “medusb_user_guide.pdf” provided by S3 and located in the \shims\s3\medusb_rel1.2_20080704\doc\user_guide directory of the source distribution and in C:\Program Files\doc directory of the SDK. 8.4.1.1 Evaluation Board – Jumper Settings and Processor Revision There are circuit board differences between Version 3.1 (shown in the User’s Guide and used by S3) and Version 4 (used by LNI) requiring different jumper settings. LNI uses the MCB2300 Version 4 board with an LPC2378 processor. Both Version 3.1 and Version 4 are compatible. J11 [LED] – Closed J7 [VBUS] – Closed J10 [ISP] – Closed J12 [D+] – 3-pin – Position toward speaker J13 [ETM] – Either J4 [D-] – 3-pin – Position toward speaker J9 [RST] – Closed J5 [UMODE] – 3-pin – Position toward LCD J8 [INTO] – Closed J3 [AOUT] - Either J6 [ADO.O] - Either Jumper Settings for S3 Configuration [Version 4 Evaluation Board] NOTE: There are 2 USB connections on this board, both in the top left corner of this diagram. Do not use the USB-OTG [on-the-go] connector next to the LCD display. Only use the USB Device connector, which uses a USB A to USB B cable. NOTE: the USB Module SW runs only on processor revisions “A” and “B”. The processor revision is printed on the chip. LNI Version 4 Evaluation Boards use revision B and the chip notation is as follows (revision highlighted): LPC2378FBD144 SH3954.1 13 ZSD0747BY 8.4.1.2 System Configuration The Evaluation Board and the Agent PC act as the total Agent solution. The Evaluation Board is connected by USB to the Manager PC, which is stand-alone as the Manager. There are 2 configurations possible. 1. Single PC [Using Laptop or desktop] 2. Dual PCs [ex: Desktop as the Agent PC and Laptop as the Manager PC] NOTE: There are two systems to set up: Agent and Manager – The Agent should be set up first followed by configuring of the manager. 33 8.4.1.3 Hardware Elements Two PCs are normally used to implement Agent and Manager functionality NOTE: These two machines can be physically realized in one PC Manager PC USB COM0 COM1 NIC COMx Agent PC Ethernet RJ45 Cable from the Agent PC to the Evaluation Board NOTE: This should be a cross-over cable if the PC card is not 1Gb capable Dedicated network interface card on the Agent PC – It can be 10/100Mb or 10/100Mb/1Gb USB 2.0 PC interface on the Manager PC USB Cable Type A-B for use between the Manager PC and the Evaluation Board NOTE: This USB connection provides power to the Evaluation Board RS232 Serial Connection – NOTE: These are optional connections NOTE: Both ports do not need to be connected simultaneously. Therefore, only one cable would be required. o Flashing (COM0) interface [Only needed if module flashing is required] – See Section 8.4.1.4 o Console (COM1) interface [Only needed if Console Interface is desired] 34 8.4.1.4 Flashing When the Evaluation Board is initially connected (powered up) the LCD will display “MCB2380”. In order to flash compiled image into the USB Module microcontroller, use the FlashMagic utility. FlashMagic is a tool used for USB Module flashing. It is a license-free application. Setup file: “FlashMagic.exe” Installation remarks: Use installer defaults Webpage: http://www.flashmagictool.com The figure below shows the FlashMagic utility panel. To do flashing, all parameters should be set as on the picture. Using “Browse” button, select the “output.hex” file. For the Source distribution, the output.hex file is located in the \shims\s3\medusb_rel1.2_20080704\bin directory For the SDK Installer, the output.hex file is located in the C:\Program Files\CESL_SDK\bin\usb directory. NOTE: The “COM Port” can be different depending on RS232 PC interface connected to the flashing socket. NOTE: Checking the “Erase all Flash+Code Rd Prot” will restore the default IP address. The default address is 192.168.0.100. Once the board has been flashed, the LCD will display “USB PHDC Module!” followed by an IP address. Flashing is needed only on initial configuration. Once flashed, this procedure does not need to be repeated. 35 8.4.1.5 TCP Network Interface between Agent PC and the Evaluation Board By default, the USB Module has IP address 192.168.0.100. Therefore, the network card dedicated for use with the Keil board module must have an IP address of the same network; that is 192.168.0.X where X can be any number from 1-254 excluding the IP address of the module. It is also recommended, but not necessary, to disable the remaining supported protocols except for “Internet Protocol (TCP/IP)”. Leave that one checked. The pictures below show the network interface configuration example. Figure 4-1 Network Interface protocols configuration Figure 4-2 TCP/IP configuration 36 8.4.2 Installing the LNI USB Driver The most direct way to install the USB Driver is to start one of the USB Reference Agents provided with this distribution. Note that Windows 8 does not allow the installation of unsigned device drivers. 1. Open a Command Window 2. Navigate to the Agent executables in the appropriate directory. 3. On the command line, execute ThermometerAgent.exe --transport usb 4. After a few seconds, Windows should flicker a notification “New USB Hardware Found”- This will bring up the “Found New Hardware Wizard” window. Additionally, the Thermometer Agent will close. a. Select “No, not this time” – Click “Next” b. Select “Install from a list of specific location…” – Click “Next” c. Use “Browse” to select the location within the source distribution “\shims\s3\medusb_rel1.2_20080704\src\usb_manager\driver\libusb-win32-1.2.2.0\bin” d. Click “Next” – The system should copy the necessary file and install the new USB Module device. NOTE: For the SDK Installer, the necessary library is located in the C:\Program Files\CESL_SDK\bin\usb directory. 8.4.3 Running the application with USB Communication This section outlines how to run the Continua Manager GUI with any Agent over a USB connection. NOTE: USB communication requires the use of the usb_agent.dll for operation of the Agent and usb_manager.dll for operation of the Manager. These shims are located in the directory with the Agent and Manager executables. If the applications are started in a different directory, the shims must be moved to that directory for proper USB operation. 8.4.3.1 Running the Continua Manager Application 1. Click on ContinuaManagerGUI.exe. This can found either in the \lib directory for the Source distribution or in the \bin directory for the SDK installer. Additionally, a shortcut in the Start menu may be used with the SDK installer. The Manager GUI will open. 2. From the Settings menu, configure the Manager output, if desired. 3. Set the appropriate Shim path NOTE: The Shim path should default to the directory where the executable resides. Selecting a different path would only be necessary if the Shims do not reside in the same directory as the application. 4. Click “Start Transport.” The USB icon will color (green) and state “Transport: Enabled” NOTE: Other transports may be enabled. This depends on the different Shims detected by the Manager. 5. At this point, the Manager will wait for input from the Agent 8.4.3.2 Running the Agent Application NOTE: If properly configured, the Evaluation Board will display “USB Configured.” when activated by any Agent Application. 1. Open a Command Window and navigate to the appropriate directory with the Agent executables. 37 2. Starting the Agent a. Enter the appropriate executable (any of the Agents) on the Command Line with the appropriate USB transport switch. A configured shortcut can also be created. ThermometerAgent.exe --transport usb --count 30 b. The Agent will open a command window to display connection information. 3. When discovered, the Manager displays a dialog box asking for connection. Click ‘Yes’ NOTE: The Agent device will time-out in 30 seconds if connection is not made. 4. The Agent will generate random values. These values are displayed in the Manager GUI. 5. The Agent will continue to send values unless the --count switch is used. To stop the operation, close the Agent Command Window, or select ‘Disconnect,’ ‘Unassociate’, or ‘Abort’ on the Manager GUI. NOTE: When running the Scanner Agents over USB Transport, if Disconnect is selected on the Manager GUI, the Manager will disconnect but the Agent will not shut down. It will continue generating values. The reason for this is that the Agent is not sending values to the Manager and therefore is not aware of the state of the Manager. The Agent must be stopped manually. 38 8.5 Using Bluetooth Transport Bluetooth prototype functionality is provided through either the: Stollmann BlueDev+P25/G2/HDP kit Stollmann BlueHDP+USB dongle. Both connect to a system to replicate the Agent or the Manager. 8.5.1 Configure for Bluetooth Operation Some of the following information is taken from the Stollmann Evaluation Kit CD that came with the Stollmann Evaluation Kit. Original Stollmann documentation is available on the CD. 8.5.1.1 System Requirements Either one PC with Windows installed and two free USB ports or Two PCs with Windows installed, one free USB port on each 8.5.1.2 Hardware Configuration of Stollmann BlueDev+P25/G2/HDP Kit The BlueEva+P25/G2 module jumper settings are as follows. The boards are preconfigured to the USB mode and jumper positions should not need to be changed. If more information is required on the evaluation board, refer to BlueEva+P25-G2_User_Guide_r03.pdf on the Stollmann CD. o o o Use positions 1 & 2 for jumpers: J1.9, J1.10, J1.11 and J1.12 J3 J7 Use positions 2 & 3 for jumpers: J1.2, J1.4, J1.5, J1.6, J1.7 and J1.8 Use positions USB for jumpers: J4 (board power selection – preset to power from USB interface) J6 (board serial interface selection – preset to USB to serial bridge connected to USB) 39 Connect each Stollmann BlueEva+P25/G2 module to a USB port on a PC and install the FTDI VCP USB to UART driver (included on the BlueEva+P25/G2 CD or download at http://www.ftdichip.com/Drivers/VCP.htm). NOTE: Power is supplied by USB connection. Jumper J4 is used to select the power for the card. Position USB is used for USB connection power. Position PWR is used for power supply power. The board is preset to position USB (for USB connection power). NOTE: Use the USB port on the Evaluation Board. Jumper J6 is used to select the USB port. Position USB is for the USB port and this is preset. You may use two separate PCs with one USB port each or one PC with two USB ports: or 40 8.5.1.3 Hardware Configuration of Stollmann BlueHDP+USB Dongle The BlueHDP+USB dongle does not allow any hardware configuration. The power is supplied via the USB connector. The green LED indicates that the BlueHDP+USB is powered correctly from the USB port of the host system. There is no other functionality of the LED. Connect the BlueHDP+USB to a PC USB port and install the Silabs USB to UART Bridge driver (can be downloaded at http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx). During the driver installation a new COM port will be added to your system. Please use the Windows Device Manager to identify the corresponding COM port number. 8.5.1.4 Firmware Updates Stollmann E+V GmbH provides their most recent firmware update on their web site. This update is provided as a self-extracting file and is available at the following URLs: Stollmann BlueDev+P25/G2/HDP Kit: http://www.stollmann.de/en/support/downloads/bluetooth-adapter/bluemod-p2xg2.html Stollmann BlueHDP+USB Dongle: http://www.stollmann.de/en/support/free-downloads/bluetooth-adapters/bluehdp-usb.html 1. Start the .exe 2. Select the COM port of the development board or the USB dongle and press the “Update” button 3. Reset the board when prompted by pressing the blue reset button on the board as shown in the picture above (note that the software prompt says ‘restart’ but what is meant is to reset). This operation is not necessary for updating the USB dongle firmware. 4. Wait for the Firmware Update to complete. 5. When the update is complete, repress the reset button. 8.5.2 Running the application with Bluetooth Communication The Manager has a discovery option that will discover the Agent when the user is prepared. Therefore, it does not matter whether the Agent or the Manager is started first for Bluetooth operation. NOTE: Bluetooth communication requires the use of the Bluetooth Shim (vascBtShim.dll) and an RS232 library (rs232api.dll). These shims are located in the directory with the Agent and Manager executables. If the applications are started in a different directory, the shims must be moved to that directory for proper Bluetooth operation. 41 8.5.2.1 Running the Continua Manager Application 1. Click on ContinuaManagerGUI.exe. This can found either in the \lib directory for the Source distribution or in the \bin directory for the SDK installer. Additionally, a shortcut in the Start menu may be used with the SDK installer. The Manager GUI will open. 2. From the Settings menu, configure the Manager output, if desired. 3. Set the appropriate Shim path NOTE: The Shim path should default to the directory where the executable resides. Selecting a different path would only be necessary if the Shims do not reside in the same directory as the application. 4. In the menu bar, select Settings | Setup Transports Check the box “Enable BlueTooth Transport” if it is not already checked. In the COM Port entry box, select the communications port to be used with your configuration (e.g. COM1) Click OK 5. Click “Start Transport.” After a short delay, the Bluetooth icon will color (blue) and state “Transport: Enabled” NOTE: Other transports may be enabled. This depends on the different Shims detected by the Manager. 6. Start the Agent (see below) - Once an Agent is started, click on the “Discover” button in the Manager. This should discover all Bluetooth devices. It may take between 20 and 30 seconds for Discover to occur. NOTE: For proper Device Specialization to be displayed in the Manager, ‘Discover’ must be clicked to discover a new Agent. 7. Select the appropriate Agent device in the window and click “Connect.” The Agent will connect and begin to pass data. NOTE: On the first connection attempt with any Agent, the Manager will attempt to Pair with the Agent. A dialog box will be displayed (‘Bluetooth Security’) requesting a PIN number For use with the Stollmann BlueEva card, enter 0000 as the default [or the appropriate number set as a command line option on the Agent (bt_pin)]. Once this value is set, pairing will not be reattempted regardless of the Agent selected. To reactivate the pairing process, the Agent Bluetooth evaluation card must have the firmware flashed (see Section 8.5.1.4) For other medical device agents, enter the appropriate PIN when prompted NOTE: Firmware version 1.404 or higher uses SSP “just works” by default when connecting to a Bluetooth 2.1 device. In this scenario no PIN exchange is required. 42 8.5.2.2 Running the Reference Agent Applications 1. Open a Command Window and navigate to the appropriate directory with the Agent executables. 2. Starting the Agent a. Enter the appropriate executable (any of the Agents) on the Command Line with the appropriate Bluetooth transport switch. A configured shortcut can also be created. ThermometerAgent.exe --transport bluetooth --com_port COM3 --count 30 b. The Agent will open a command window to display connection information. 3. The Agent will then pause (after ”Waiting for the transport to connect…”) for connection to the CESL Manager. If the agent is set to active connect (default) the agent will pause after seeing a message (“Waiting for an AHD to pair …”). If the agent is paired and is set to active connect (default) and the AHD is running, the agent will connect to the AHD and start transferring data. 4. Once the CESL Manager discovers and connects to the Agent, the Agent will display the words, “Accepting connection to device ‘ ‘ “. The Agent will generate random values. These values are displayed in the CESL Manager GUI. The Agent will continue to send values unless the --count switch is used. To stop the operation, close the Agent Command Window, or select ‘Disconnect,’ ‘Unassociate’, or ‘Abort’ on the Manager GUI. 43 8.6 Using ZigBee Transport The ZigBee transport provides support for devices that comply with the ZigBee Health Care profile as documented in ZigBee Health Care Profile 1.0 from the ZigBee Alliance (ZigBee Document 075360r15). The ZigBee transport is discussed from a user’s perspective and covers flashing the software onto a Freescale USB dongle, and using the transport with the GUI Manager and the reference agent applications. 8.6.1 Freescale ZigBee USB Hardware The CESL ZigBee shim operates in conjunction with the Freescale ZigBee USB Dongle (MC 1322x USB) pictured below: The module, if not already preflashed, must be flashed with the embedded image that comes with the CESL distribution before it can operate with CESL code. The flashing process involves erasing the existing image and then programming the 1322x with the new image. 8.6.1.1 Driver The ZigBee USB dongle uses an FTDI USB/Serial driver which is part of current Windows distributions and will load automatically when the dongle is inserted. If your system does not have the driver it may be found at http://www.ftdichip.com/Drivers/VCP.htm. 8.6.1.2 Programming NOTE: Before the MC 1322x can be flashed with a new image the exiting image must be erased. The process of erasing the existing image involves shorting two sets of connectors. This can be done using professional setups, or it can be done by soldering a “header” onto the 1322x as shown in the diagram below: 44 NOTE: The solder points are two sets of rectangular blocks designated by J3 on the left (for jumper one) and J4 on the right (for jumper two). Once the header is soldered in place the leads of the header can be shorted together using a standard header pin jumper. In the picture shown above the blacks leads are to be shorted to the white leads. Both sets of leads have to be jumpered together while the erasing process takes place (see instructions below) The USB dongle is programmed using the MC1322x Sniffer Firmware Update tool available at http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=1322x_Dev_Kits. 1. Start the MC1322X Sniffer Firmware Update software 2. Step 1 - Select ‘Browse…” and navigate to the appropriate firmware image within the CESLzigbeeShim-1.5 distribution (\FreescaleEmbedded\FlashImages\ARM): NOTE: This release includes firmware version a. MC13224 Dongle i. Agent (secure or insecure) - \MC13224\USBDongle\Agent ii. Manager (insecure only) - \MC13224\USBDongle\Manager b. MC13226 Dongle i. Agent (secure or insecure) - \MC13226\USBDongle\Agent ii. Manager (secure or insecure) - \MC13226\USBDongle\Manager 3. Step 2 - Set the MAC address to the value found on the plastic shell of your USB dongle. 4. Step 3 a. Insert the dongle into the USB port. The application should detect the USB dongle and display its corresponding COM port. b. Select the radio button for “Use USB COM port connection” 5. Click ‘Update Firmware’ and the following image should come up: 45 Follow the instructions on the screen. When the memory is sucessfully erased the application will start to program the 1322X. 6. When the application completes the programming on the 1322x exit the application, remove the dongle and label it with appropriate identification to know what image it is running. NOTE: To run the CESL agents against the CESL Manager you will need to have two USB ZigBee dongles, one programmed with the agent image and one programmed with the Manager image. Due to memory limitations on the USB dongle the Manager image can only be a ZigBee Coordinator. It cannot operate on a PAN when another node is playing the role of coordinator. 8.6.2 Running the Application with ZigBee The CESL ZigBee transport software is designed to operate under the consumer scenario as specified for ZigBee Health Care. However, the CESL Manager and applications are expected to be used primarily in development environments and have been tailored to work more effectively for this environment. This is most notable in that the CESL GUI Manager, when acting as a PAN coordinator, allows end devices to join the network at any time. Future users are anticipated to operate the transport using hosted software environments that have application interfaces running on development platforms and the applications provide command line interfaces to allow connections to be established based on known network parameters such as 16 bit network address and known endpoint address. 8.6.2.1 Using the CESL GUI Manager with ZigBee The CESL GUI Manager operates with ZigBee in a manner similar to Bluetooth. Start the GUI Manager and select Edit | Transport Settings. This brings up the Transport settings window: 46 From this window the user selects the operating parameters that will be used when forming the PAN. COM Port: This value must match the com number (i.e. COM4) associated with the USB dongle as reported in Windows Device Manager. NOTE: If the COM number associated with the USB dongle is above COM9 then you must enter the full windows device path name (such as \\.\COM14). Src EndPoint Addr: This value is statically set by the Manager application. Interface: This value should be set to 0. Channel: This value may be any number between 1 and 25. The agent channel must match the Manager channel. Multiple ZigBee networks in close proximity relying upon the same channel will cause interference. PAN ID: Leave PAN ID at the default value, 0xDEAD. ePAN ID: Agent and Manager ePAN ID must be set to the same value. COM Port Speed: Com Port speed may need to be modified to allow the ZigBee shim to function with different device images. If an image is built at a particular speed the shim Com Port Speed must be set to an equal value. Once the transport setting have been selected, click OK to close the VASCTransportSetup window and return to the main window. Click on the “Start Transport” button on the top right corner of the GUI. The Manager will form a new PAN based on the parameters provide. This will be indicated by the ZigBee transport icon transitioning from a gray shade to a highlighted color as shown in the image below. The CESL Manager will delay five second after forming the network to allow devices to exchange initial information. This delay is normal and will take place whenever the CESL Manager forms a network. 47 ZigBee Health Care devices can be discovered by the Manager application by clicking on the Discover button. After a short delay the discovered devices will be displayed in a scroll list. The Manager can initiate a connection by selecting the device of interest from the list and then clicking on Connect. NOTE: If Bluetooth is also enabled, two discovery cycles are implemented. Bluetooth is accomplished first followed by ZigBee. If there are multiple devices preseent, the discovery process may take a while. NOTE: If normal discovery is not possible, a device can be manually added to the list of available devices by clicking selecting Edit | ZigBee Connect from the top menu. ZigBee addressing parameters can be provided in the ZigBee Settings window for the device of interest. Name: Any value is permissable. It is for display purposes only within the Manager GUI. Network Address: This address is dynamically assigned. This address may be identified with a sniffer or other display mechanism If unknown, enter 0xffff and specify the IEEE Address below EndPoint Address: If this is a CESL Manager or CESL Agent, the value is 8 If not, then specifying 0xff will cause a search for the first available Health Care endpoint IEEE Address: This is the MAC address printed on the dongle 8.6.2.2 Using the Reference Agents with ZigBee All of the supported CESL reference agents run with the ZigBee transport. Transport operation and addressing are set through the use of command line parameters. Assuming that a Manager has formed a PAN, the following command line is a common way by which one of the reference agents can join the network, allowing the Manager to discover it and connect to it. ThermometerAgent --transport zigbee --zbif 0 --com_port com5 --channel 25 To have the agent initiate the connection the additional command line parameter –connect is given along with a set of values that will allow the connection to be made. ThermometerAgent --transport zigbee --zbif 0 --com_port com5 --channel 25 --connect --nwk 0 --dstep 8 48 8.6.2.3 ZigBee Considerations ZigBee is, by design, a local, low-power, and small data flow protocol. ZigBee networks can be (theoretically) extended indefinitely the local range by ZigBee ‘routers’. The internal timeouts and retry requirements specified by the ZigBee standard are inconsistent with the timeouts specified by the IEEE 11073-20601 standard. APDUs do not have to be very large (by IEEE 11073-20601 considerations) before the three-second timeout is reached. In a clean (radio) environment, APDUs exceeding about 700 bytes are going to take longer than three seconds to reach the peer. The CESL library does provide a method where the IEEE 11073-20601 timeout can be set to an arbitrary value. 8.7 Using Bluetooth(LE) Transport Bluetooth(LE) prototype functionality is provided through one of the following: Texas Instruments Stellaris Board (requires BTVEN.dll) CSR casira pods. CSR 8510 USB dongle Any of these devices may be connected to a system to replicate the Agent or the Manager. 8.7.1 Configure for Bluetooth(LE) Operation Some of the following information is taken from the Stollmann Evaluation Kit CD that came with the Stellaris Evaluation Kit. Original Stellaris documentation is available on the CD. 8.7.1.1 System Requirements One PC with Windows installed and two free USB ports (or COM ports) Or Two PCs with Windows installed, one free USB port (or COM port) on each 8.7.1.2 Hardware Configuration of Stellaris Development Kit Some of the following information is taken from the Stellaris CD that came with the Stellaris Evaluation Kit. Original Stellaris documentation is available on the CD. When using the Stellaris board the BTVEN.dll MUST be present in the runtime directory. 49 Connect each Stellaris module to a COM port on a PC NOTE: Power is supplied separately and must be plugged in before board will be funtional NOTE: When using the Stellaris board the SS1BTVEN.dll MUST be present in the working directory. Suggested configuration is two separate PCs with one COM port each: 50 Figure 1-2: Suggested configuration 8.7.1.3 Using Casira Evaluation Pods The CSR Casira Evaluation Pods are not expected to be needed for the preliminary evaluation of Bluetooth LE. 8.7.1.4 Using the CSR 8510 USB Dongle If the embedded blue LED is lit the dongle is active. 51 8.7.2 Running the application with Bluetooth Communication The Manager has a discovery option that will discover the Agent when the user is prepared. Therefore, it does not matter whether the Agent or the Manager is started first for Bluetooth operation. NOTE: Bluetooth(LE) communication requires the use of the Bluetooth(LE) Shim (BTLEShim.dll) and a number of supplementary BT libraries (SS1BTDBG.dll, SS1BTGAT.dll, and SS1BTPS.dll). These shims are located in the directory with the Agent and Manager executables. If the applications are started in a different directory, the shims must be moved to that directory for proper Bluetooth operation. 8.7.2.1 Installing BTLE Drivers 1. Insert the CSR shim (pictured above) into an available USB port. Start the Device Manager. By default Windows should install a driver labeled Generic Bluetooth Device. 2. Right click on this icon and click ‘Update Diver- This will bring up the “Update Driver Software Wizard” window. 3. 4. 5. 6. 7. A 'Found New Hardware' bubble will appear. Select the 'Install from a list or specific location (Advanced)' option and then click 'Next'. Choose the 'Don't search. I will choose the driver to install' option. Select 'Have Disk' and click 'Browse'. Navigate to the folder which contains the Bluetooth(LE) Driver. For source distributions the driver is located at [DistributionDir]\SS1BTLEShim\SS1\Windows For binary distributions the driver is located at [InstallDir]\CESL_Binary\btle For SDK distributions the driver is located at [InstallDir]\CESL SDK\bin\btle 8. Select the .inf file. For 32-Bit systems, select the folder “x86” For 64-Bit systems, select the folder “ia64” 9. Click 'Next' and follow the installation directions. 10. To verify the driver is loaded correctly, go to Device Manager 11. Displayed should show “Bluetooth HCI USB Driver“ with a nested index of “Bluetooth HCI USB Driver (CSR)” (Pictured Below). 52 8.7.2.2 Running the Continua Manager Application 1. Click on ContinuaManagerGUI.exe. This can found either in the \lib directory for the Source distribution or in the \bin directory for the SDK installer. Additionally, a shortcut in the Start menu may be used with the SDK installer. The Manager GUI will open. 2. From the Settings menu, configure the Manager output, if desired. 3. Set the appropriate Shim path NOTE: The Shim path should default to the directory where the executable resides. Selecting a different path would only be necessary if the Shims do not reside in the same directory as the application. 4. In the menu bar, select Settings | Setup Transports Check the box “Enable BlueTooth LE Transport” if it is not already checked. Verify that the interface being used is USB (for the CSR dongle) or COM (for the Stellaris) If you choose to use the Stellaris board you must enter the COM_PORT associated with the device (e.g. COM1) Click OK 53 5. Click “Start Transport.” After a short delay, the 4.0 Bluetooth icon will color (blue) and state “Transport: Enabled” NOTE: Other transports may be enabled. This depends on the different Shims detected by the Manager. 6. Start the Bluetooth LE Thermometer Agent (see below) or other BTLE agent - Once an Agent is started, take/send a measurement. The agent MUST have a measurement to send in order to issue advertisements and be discoverable. Then click on the “Discover” button in the Manager. This should discover all Bluetooth(LE) devices. The discovery is instantaneous as the discovery function returns a list of devices that that have sent advertisements. If no advertisements have been received the discovery will return empty. 7. Select the appropriate Agent device in the window and click “Connect.” The Agent should connect and begin to pass data. However a connection will only be established if the agent issues a subsequent advertisement after the user’s connection attempt. The duration and frequency of advertisements is application-dependent and can be up to 30 seconds between events. If the agent has stopped advertising no connection will be established. The user will often be required to perform some task or take another measurement to make the agent start advertising. 8. !! NOTE !! If the agent is stopped and then restarted the Continua GUI manager will need to be restarted in order to reconnect to the agent. NOTE: Bluetooth LE uses SSP “just works” protocol by default when connecting to a Bluetooth 2.1 device. In this scenario no PIN exchange is required. 54 Appendix A - CESL Trace Facility CESL is written such that the code can be traced when needed. A tracing facility is built on a macro that is precompiled into the code. It allows for flexible logging based on user needs. 8.8 Proper Usage of CESL Trace facility The CESL trace facility is designed to allow a wide range of debugging output to be generated from a program without the need for external tools. For the system to be effective, however, the CESL code base must use the VD_symbols in a consistent manner. VD_Symbols come in pairs, and are typically logically ORd together, as in VD_APP|VD_ERROR. One set of symbols defines code layers or categories. The other group of symbols is the condition of interest. CESL code categories and conditions are defined in \include\tracelib.h. 8.9 TRACELIB_THREAD Detailed trace output can impact the operation of time sensitive callback functions within the CESL codebase. If protocol timeouts appear when tracing is used the display of trace output can be pushed to a different thread of execution by defining the preprocessor symbol TRACELIB_THREAD in the tracelib project. 8.10 Information Level The amount of information associated with a given line of trace output can be modulated using the information display bits as specified below: VD_SIMPLE – Display the source file name, the line number, and the function name VD_CLOCK – Display the time at which the trace line was generated VD_THREAD – Display the thread ID of the thread that called the trace routine VD_FULL – Display all available information 8.11 Code Categories When code is written it is associated with logical groupings. The number of groupings can be changed by adding new code categories to vasc.h. At the time of writing the list of code groups is: VD_APP VD_OBJECT VD_SERVICE VD_ASSOCIATION VD_TIL VD_SHIM VD_TAPI VD_PM_STORE VD_MSG VD_LOC_MASK VD_EVERYWHERE VD_NONE /* /* /* /* /* /* /* /* /* /* Application code */ Object layer code */ Service layer code */ Association layer code */ Transport layer */ SHIM code */ Transport API code */ PM Store code */ Message module code */ Bits used for code regions */ /* All locations */ /* nowhere – turn off trace output */ 8.12 Conditions In addition to code location, the TRACE facility also uses a condition indicator. The condition indicator indicates what class of message we are working with – error, warning, APDU trace, code trace… VD_PROMPT VD_ERROR VD_WARN VD_TRACE VD_TRACE VD_EVEN – – – – user prompting Code detected error that will generally result is failure An unexpected conditon A degree of output that includes entry to major routines A more detailed level of trace output Some event that is deemed significant, such as a conneciton event. 55 VD_APD VD_APDU_DUMP VD_LOC VD_CM VD_RS VD_IN VD_NOTABLE VD_ACTIVITY VD_FLOW VD_DEBUG1 VD_DEBUG2 – Tracks the flow of APDUs in the system. – Dumps the contents of APDUs – Traces information associated with locking and signaling – Used to track commands issued to hardware devices, typically in shims – Used to track responses from hardware devices, typically in shims – Used to track unsolicted device messages, typically used in shims (VD_PROMPT|VD_ERROR|VD_EVENT|VD_WARN) (VD_PROMPT|VD_ERROR|VD_EVENT|VD_WARN|VD_APDU) (VD_PROMPT|VD_ERROR|VD_EVENT|VD_WARN|VD_CMD|VD_RSP|VD_IND) (VD_PROMPT|VD_ERROR|VD_EVENT|VD_WARN|VD_APDU|VD_TRACE1) (VD_PROMPT|VD_ERROR|VD_EVENT|VD_WARN|VD_APDU|VD_TRACE1|VD_TRACE2) 8.13 Application Specific Additions VD_WAN_BRIDGE VD_MGR VD_MGR_GUI /* Output from the WAN Bridge Java Process */ /* Manager Code */ /* Manager GUI Code */ 56 9 Appendix B – CESL 5.0 Enhancements The following should be updated to identify the major changes that have been implemented in this CESL 2.0 release. 10 Appendix C - Frontline Test System Frontline Test Equipment, Inc. has developed a free sniffer tool that automatically works will any application based upon the CESL API. The tool provides the same type of functionality as the APDU dump facility in the CESL API but with much more extensive deciphering as well as interactive capabilities. This CESL distribution has been enhanced to provide functionality with this sniffer to enable CESL users to decode and debug IEEE 11073-20601 level protocols that are run over CESL (for TCP, USB and Bluetooth transports). 10.1 Frontline Analyzer – Quick Start Guide The use of the Frontline Analyzer is straight forward. Additional information is provided in Section 11.2. 1. Install either the CESL Binary or the CESL SDK – All required files will be automatically installed 2. Download and install the Analyzer (http://www.fte.com/support/IEEE11073-download.aspx) 3. Start the Analyzer – Begin a capture (click the Red Ball) NOTE: The Analyzer must be started before the CESL Manager or CESL Agents are started 4. Start the CESL Manager and configure for the specific transport (TCP, USB, Bluetooth) 5. Start a Reference Agent, or a Continua Certified Agent 10.2 Additional Instructions 10.2.1 Frontline Analyzer Application NOTE: The analyzer is not provided with this distribution. The analyzer is available for free to Continua Alliance members. 1. Download the application from: http://www.fte.com/support/IEEE11073-download.aspx This analyzer supports operation on Windows XP (32-bit) and Windows 7 (32- & 64-bit) platforms. The analyzer does not support Linux. 2. Install the application (selecting ‘Live Product’ during installation). The following actions will occur: a. A Program Files directory Frontline Test System II is created. b. A directory within the Public User Documents directory is created: Frontline Test Equipment Ex: Windows 7 – (C:\Users\Public\Documents\Frontline Test Equipment) This directory will contain output from the operation of this tool. Additionally, installing the CESL Frontline Files (see below) will place the required files in the following new directories: My Decoders 57 My Methods\Release NOTE: These directories will be created even if the CESL Frontline Files are installed before the analyzer is installed. 10.2.2 Installation of CESL Frontline Files Functionality has been added to CESL distributions for use with the Frontline analyzer. For TCP and USB sniffing: ieee11073Sniffer.dll IEEE11073VirtualSniffing.Personality For Bluetooth sniffing: BTLI_dll.dll ltp_11.dll LTP.dec LTPVirtualSniffing.Personality 10.2.2.1 Source Distribution The necessary libraries, Personality Files and installation programs to work with the CESL code are provided with the CESL Source distribution but need to be manually installed. The necessary installers are located in the source distribution directory \thirdparty\frontline. Proper installation of the above files is accomplished by the use of the two executables: CopyToFTS4PHD.exe – used for TCP and USB file installation CopyToFTS4BT.exe – used for Bluetooth file installation NOTE: A batch file called DoCopyToFTS4BT.bat is provided to accomplish this complete task and set the appropriate installation parameters. To install the necessary files for operation of the Frontline Analyzer, run DoCopyToFTS4BT.bat. This will: 1. Place the following files in the directory My Decoders LTPVirtualSniffing.Personality IEEE11073VirtualSniffing.Personality LTP.dec 2. Place the following file in the directory My Methods\Release ltp.dll Two library files are pre-loaded in the \lib directory of the source distribution: ieee11073Sniffer.dll (for TCP and USB) BTLI_dll.dll (for Bluetooth) When the Manager GUI is built, the executable is also placed in this directory. NOTE: If the Manager GUI is started in a different directory, these two files must be copied to that directory. 10.2.2.2 Binary and SDK Installation The needed libraries for the Binary and SDK installers are installed when installing CESL. The installers run the following to install the files to the proper directories: 58 CopyToFTS4PHD.exe CopyToFTS4BT.exe NOTE: If it is necessary to reinstall these files manually, run DoCopyToFTS4BT.bat from within the appropriate installed directory: Program Files\CESL_Binary\bin\Frontline Program Files\CESL_SDK\bin\Frontline The library files ieee11073Sniffer.dll (for TCP and USB) and BTLI_dll.dll (for Bluetooth) are available in the following directories depending on the installer: Binary Installer - Program Files\CESL_Binary\bin directory SDK Installer - Program Files\CESL_SDK\bin directory NOTE: If the Manager GUI is started in a different directory, these two files must be copied to that directory. 10.2.3 Using the Frontline Test System NOTE: The Analyzer must be started before the CESL Manager or CESL Agents are started. The Analyzer establishes the shared memory. When CESL comes up, it checks exactly once to see if that memory is there. If it isn’t, CESL proceeds without it and never checks again. 1. From the Start Menu | All Programs, select: Frontline IEEE 11073+ Analyzer | Frontline IEEE 11073+ Analyzer a. Two windows will open – A small Analyzer window and Frame Display (View | Frame Display) b. Click on the ‘Start Capture’ [red ball] icon to begin a trace. 2. Start the Manager Application and continue with the transport specific instructions in this guide. The Frame Display will display the captured APDUs. (The window can be manually viewed by selecting View | Frame Display from the main menu of the small Analyzer window.) The APDU sequence will be displayed in the top frame. Click on one of the APDUs. The APDU is expanded in a tree to the left and to the right the data are shown in three formats. Saved Captures can be reviewed at a later time using the Capture File Viewer Start Menu | All Programs |Frontline IEEE 11073+ Analyzer | Capture File Viewer 59
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 64 Language : en-US Tagged PDF : Yes Title : VASC Release Guide Author : LNI Creator : Microsoft® Word 2013 Create Date : 2015:04:30 11:39:30-04:00 Modify Date : 2015:04:30 11:39:30-04:00 Producer : Microsoft® Word 2013EXIF Metadata provided by EXIF.tools