Skip to content

VSM Watch User Guide

Arpan Patel edited this page Apr 8, 2021 · 34 revisions

VSM WATCH USER GUIDE


Table of Contents

  1. Introduction
     1.1 Purpose

  2. Hardware

    • Watch Connections
      • Boot mode Buttons
      • USB Connections
    • Nordic BLE Dongle Setup
  3. Quick Start Guide

    1. Updating Firmware
    2. Connecting to the Watch
      • Connecting using USB (Cradle)
      • Connecting using BLE
    3. Running the PPG View
    4. Multiview Application
      • Configuring Use-cases for the Multiview
      • Running Use-cases for the Multiview
      • Configuring Settings for the Applications Multiview
    5. AWT Extension Modules
    6. Logging Data in Local Files
    7. NAND Flash Logging
      • Logging in NAND Flash
      • Retrieving data from NAND Flash
  4. FAQs

  5. Terminology


1. INTRODUCTION

The ADI VSM Study Watch is a product designed to showcase the capabilities of ADI’s sensors for measuring vital signs.

Figure 1: VSM Watch Framework
Figure 1: ADI VSM Watch Framework

Purpose

The purpose of this document is to explain the steps on how to connect and run the ADI VSM Study Watch to analyze VSM application data using ADI’s Wavetool Software.


2. HARDWARE

Please refer to the to the ADI VSM Study Watch datasheet for detailed hardware information.
The watch comes with a charging cradle – with micro USB charging capability

Figure 2: Watch with charging cradle
Figure 2: ADI VSM Study Watch with charging cradle

2.1 Watch Connections

  2.1.1 Boot mode Buttons

F3
Figure 3: Navigate and Action Buttons

  2.1.2 USB Connections

There are two micro USB ports in the cradle.

  • Data micro USB port for charging and connecting to the Wavetool
  • External electrode micro USB port for connecting to the external electrode

Figure 3A: USB Connection

  2.1.3 Nordic BLE Dongle Setup

To connect the watch in the Wavetool software using BLE the user needs to program the nRF52840 Dongle. Please follow the steps below to program the BLE dongle to be discovered as a COM port in Wavetool.

  1. Install nRfConnect from the given link - https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-desktop - Download the latest version for Windows.

  2. Install the Programmer and open the Programmer

F4
Figure 4: nRF Connect App

  1. Plug in the BLE dongle and put the device in Boot mode by pressing the black button as shown in the figure. A LED will start blinking red.

F5
Figure 5: Nordic BLE Dongle

  1. Select the dongle via the nRF Connect Programmer

F6
Figure 6: Connecting the BLE Dongle in Boot mode

  1. Add HEX file from the path – <WAVETOOL_INSTALL_FOLDER> \etc\BLEDongle\ADIBLEDongle_S140.hex

  2. Write the firmware to the dongle. The messages as shown in the figure below will indicate the completion of the firmware update.

F7
Figure 7: Firmware Update Completion

  1. Unplug and re-plug the dongle.

3. QUICK START GUIDE

The below sections will detail the steps involved in connecting the Wavetool to the watch and successfully running the VSM applications.

F8
Figure 8: Wavetool Software Main Window

  3.1 Updating Firmware

Please follow the steps below to update the firmware for the watch.

  • Please remove all the USB Serial Devices and the BLE Dongle since Wavetool automatically selects the first device COM port for updating the firmware
  • Attach the watch to the charging cradle.
  • Connect the watch to the PC through USB.
  • Open Wavetool Software.
  • Click on the FW Update.
  • Select ‘Perseus’.
  • Hold down both the ‘Navigation’ and ‘Action’ buttons for 5 seconds.
  • Click on ‘Continue’ to finish the Firmware update.

Note: In case after hitting continue, wavetool selects incorrect com port to upload the firmware, remove the dongle connected to your computer and try again.

F9
Figure 9: Firmware Update Window in Wavetool

  3.2 Connecting to the Watch

  3.2.1 Connecting using USB (Cradle)

  • Attach the watch to the charging cradle.
  • Connect the watch to the PC through via USB(Recommended not to use USB hub).
  • Open Wavetool Software.
  • Click on Connect, then select Cable option.
  • Select the appropriate COM port of the watch and connect. You can refer the device manager to find the watch COM port.

F10
Figure 10: USB Cable connection to the Watch

  • On successful connection the following message will be displayed after that WT will display the supported applications.

F11
Figure 11 : Device Connected

F12
Figure 12 : Application Selection

  3.2.2 Connecting using BLE

  • Connect the BLE dongle to the PC.
  • Update the BLE firmware as explained in Section 2.1.3 (If needed).
  • Open Wavetool Software.
  • Click Connect, then select BLE option.
  • Select the appropriate COM port and click on ‘Scan’.

F13
Figure 13 : BLE Connection

  • Select the BLE device from the list shown and double click to connect. MAC ID of the watch could be read from Settings- > MAC id sub page. On plugging in dongle to WT & scanning, MAC ID of the watch could be checked against the scan list shown in WT.
  • On successful connection “Watch Found” message will be displayed after that WT displays the supported applications.

  3.3 Basic Wavetool View Controls


Basic View Controls





















The controls of the view are as explained below:

  1. Play: Start streaming data from the sensors
  2. Stop: Stop streaming data from the sensors and clear the plots
  3. Pause: Pause the streaming and show the current data on the plots
  4. Settings: Opens the configuration settings to set the configuration for the use case.
  5. UDP: Send the graph data through the UDP
  6. Nandflash logging: Logs the selected data streams into the NAND Flash
  7. Log: Save the data from the sensors into a JSON and CSV file in local PC
  8. DCB (Device Configuration Block) Access: The nRF52840 MCU has a NOR flash which enables user to save and load the config in the local flash. This utility will enable users to write, read, erase the config in the NOR flash
  9. Low Touch (LT) Logging: This allows user to configure the LT configuration via nandflash and DCB. LT config and tuning view is explained separately in the upcoming sections
  10. Filter: This allows user to set an appropriate filter for the raw PPG data stream.
      a. Type: The filter type is to choose the type of the filter like BandPass (BP), Moving Average or Low Pass and is limited to a set of filters defined in the ‘<WAVETOOL_INSTALL_FOLDER >\etc\FilterConfig\FilterType.json’ file.
    Tap Count: The number of taps for the filter type chosen
  11. AGC (Automatic Gain Control): This option is to enable or disable the AGC for the LED which is selected in the slot selection
  12. SQI (Signal Quality Index): The SQI feature is supported for PPG signal frequencies ranging from 25-100Hz. The SQI score is a floating-point value between 0(poor signal quality) and 1(excellent quality).

  3.4 Multiview Application

This is the application which will enable users to analyse a combination of VSM applications in a single view

  3.4.1 Running Use-cases for the Multiview

  • Open Wavetool
  • Update the firmware for the watch (If needed)
  • Connect using BLE or USB
  • Open Multiview under the Applications box.
  • Select the necessary use case to be analysed
  • Configure their settings such as Filter type, Slot selection, AGC Enable, etc.
  • Press ‘Play’ to analyse the data streams

Figure 15: Multiview

Note: Deselecting the applications from application selection window before starting stream will remove the graph for that sensor and make more room for the sensor of interest

  3.4.2 Multiview Usecases

  3.4.2.1 Usecase1 - ADPD High Performance

  3.4.2.1 Usecase1 - ADPD High Performance

  3.4.2.1 Usecase1 - ADPD High Performance

  3.4.3 Configuring Use-cases for the Multiview

  3.4.4 Multiview Controls

  3.4.5 Configuring Settings for the Applications in Multiview

  3.3 Running the PPG View

  • Open the Wavetool.
  • Update the firmware for the Perseus watch.
  • Connect using BLE or USB.
  • Open PPG under the Applications box.
  • The default PPG configuration with the following settings will be loaded.
    • Sampling rate – 50Hz
    • LED – Green LED
    • AGC ON
  • Press Play to analyse the data stream and the check the HR.

F14
Figure 14: PPG Application View

The controls of the view are as explained below:

  1. Play: Start streaming data from the sensors.
  2. Stop: Stop streaming data from the sensors and clear the plots.
  3. Pause: Pause the streaming and show the current data on the plots.
  4. Log: Save the data from the sensors into a JSON and CSV file in local PC.
  5. Debug: The console to get specific PPG algorithm parameter and debug information.

F15
Figure 15: Debug Console for PPG

  1. DCB (Device Configuration Block): The nRF52840 MCU has a NOR flash which enables user to save and load the config in the local flash. This utility will enable users to write, read, erase or combine the config in the NOR flash.

F16
Figure 16: DCB Access for NOR flash

Read: Read config from NOR flash.
Write: Write the config into NOR flash (existing DCFG).
Erase: Erase the contents of the NOR flash.
Combine: Combine the config which is currently active with that of the one stored in the NOR flash.

  1. Filter: This allows user to set an appropriate filter to the raw PPG data stream.
    • Type: The filter type is to choose the type of the filter like BP, Moving Average or Low Pass and is limited to a set of filters defined in the ‘<WAVETOOL_INSTALL_FOLDER >\etc\FilterConfig\FilterType.json’ file.
    • Tap Count: The number of taps for the filter type chosen.
  2. AGC (Automatic Gain Control): This option is to enable or disable the AGC for the Green LED.
  3. ADPD400x: Enable or disable ADPD PPG raw data.
  4. X/Y/Z: Enable or disable the X,Y,Z data of the ADXL362.
  5. HR in bpm: The Heart rate in beats per min.

iv. Multiview Application

This is the Application which will enable users to analyse a combination of the VSM applications in the single view.

  • Configuring Use-cases for the Multiview

    The Multiview will allow users to run a combination of VSM apps as defined in the ‘‘<WAVETOOL_INSTALL_FOLDER >\etc\MultiviewProperty.json’

    To modify the existing use case:

    • Modify the JSON entry with
      a. “CaseInfo”: The use-case number.
      b. “Views_Supported”: The view that are needed for analysis.
      c. “Freq”: Sampling rate for each of these applications.
      d. “LOG_Default”: Whether to log the data in NAND flash by default.

F17
Figure 17: Multiview Use-case Definition File

  • Running Use-cases for the Multiview

    • Open the Wavetool.
    • Update the firmware for the Perseus watch.
    • Connect using BLE or USB.
    • Open Multiview under the Applications box.
    • Select the necessary use case to be analysed.
    • Configure their settings such as Filter type, AGC Enable, etc.
    • Press ‘Play’ to analyse the data streams.
    • Press the Log icon to log all the data streams into CSV and JSON files.

F18
Figure 18: Multiview showing PPG + ECG use-case

  • Configuring Settings for the Applications Multiview

    The configuration of settings will be based on the use-case selected. A separate config for ADPD, ADXL, ECG, etc will be provided as shown in the figure below. Users can

    • Load a saved config file.
    • Save the current config in a new file.
    • Apply the modified config to the system.

F19
Figure 19: Multi-view Configuration

v. AWT Extension Modules

Wavetool allows user to transfer ADPD data via UDP to an external application for post processing.

0 1-2 3-4 5-8 9-20 21 22-23 24 -…
Source Length Seq No Timestamp Slot, Info Int Status Flag Reserved Data (double – 8bytes each) Interrupt Status
Source 0xB0 – ADPD4x00 data packets
Length Total UDP Packet Length
Seq No Sequence number for packet count from 0 to 0xFFFF, rolls over
Timestamp Current time in milliseconds
Slot Info Slot Info
[0] - D1: 1- enabled, 0 -disabled
[1] - D2: 1- enabled, 0 -disabled
[2] - S1: 1- enabled, 0 -disabled
[3] - S2: 1- enabled, 0 -disabled
[4] - L1: 1- enabled, 0 -disabled
[5] - L2: 1- enabled, 0 -disabled
Interrupt Status Flag Interrupt Status Flag
[4]
0 - Interrupt Data Not available
1 - Interrupt Data Available
Data All data is in 8-byte doubles format. Dependent on Slot Info. The double type complies with the IEC 60559:1989 (IEEE 754) standard for binary floating-point arithmetic. See: DoubleDataFormat
Interrupt Status data All Interrupt data is in 8-byte doubles format. Where the double type complies with the IEC 60559:1989 (IEEE 754) standard for binary floating-point arithmetic.

 

The ADPD data is packetized and sent via the port settings as specified in the Settings window.

 

F20
Figure 20: UDP Settings for Data Transfer

 
In the ADPD view the UDP transfer is enabled as shown in figure below.

 

F21
Figure 21: UDP Transfer Enable

 

The AWT External Modules which contains the parser to extract the data from the Wavetool to different applications such as:

  • Python
  • LabView
  • Matlab

These parser modules and examples to get the data out from Wavetool can be found in https://github.com/analogdevicesinc/ApplicationsWaveTool.

 

vi. Logging Data in Local Files

Raw data can be logged in local files which are stored in JSON or CSV file format.

 

F22
Figure 22 : Open Log

 

After the log stops the click to open log hyperlink showed in the bottom of the view. By clicking the hyperlink opens the location where the log stored.
The log folder can be opened from the open logs folder in settings window logging tab.

 

F23
Figure 23 : Logging Settings

 
 

The log folder contains the m2m2, JSON and CSV files

 

F24
Figure 24 : Log Folder

 

F25
Figure 25 : Log Files

 

The m2m2 file is the log file that was retrieved from the device
The CSV and JSON folders contain equivalent files generated from the m2m2 file

The CSV folder contains the logging data and summary

 

F26
Figure 26 : CSV Folder

 
 

ADPDAppStream_Combined_CSV log file is shown below
 
F27
Figure 27 : CSV Data

 
 

JSON folder contains the JSON file which is converted from the m2m2 file

 

F28
Figure 28 : JSON Folder

 
 

 

F29
Figure 29 : JSON Data

 
 

vii. NAND Flash Logging

When a user wants to log data the watch they can enable the NAND flash logging.
While the NAND flash logging, the user can go to any other application and stream and stop the data, that doesn’t affect the NAND flash logging. NAND flash logging stops when the user disables the logging.

  • Logging in NAND Flash
    Logging of data into the Nand flash can be enabled by modifying the settings in Wavetool.
    • Connect to the watch using BLE
    • Open Wavetool Main window
    • Open Settings -> Log -> Logging
       

F30
Figure 30: Logging Settings in Main window

 
- Select what will be logged and enter a use ID which will be stored in summary file for reference
- Turn logging on in the respective view.

 

F31
Figure 31: NAND Flash Logging Settings

 
 

  • Retrieving data from NAND Flash

    Assuming data is logged into the NAND flash in the watch, follow the below steps to retrieve the data from the NAND flash

    • Connect the Perseus watch to the Wavetool via USB
    • Open Wavetool Software Main window
    • Go to Settings -> Log Download Logs
    • Select the relevant Log file to download
    • Click on ‘Get Log’ to save the log to the PC
    • Click on ‘Open Logs’ to open the folder where the logs are stored on the PC.
    • The m2m2 file is the log file that was retrieved from the firmware.
    • The CSV and JSON files folders contain equivalent files generated from the M2M2 file in the Wavetool.

 

F32
Figure 32: Download Log from NAND Flash

 
 


4. FAQs

Q. What happens when a connection fails?

If the connection fails, the following alert will be displayed.

F33
Figure 33 : Connection Failed

If BLE doesn’t respond the following alert will be displayed.

F34
Figure 34 : BLE Connection Failure

Q. Can I stream data when NAND flash logging is enabled?
Yes. We can stream the data when NAND flash logging is enabled.

Q. What are the restrictions of streaming data using BLE?
The maximum rate that can be streamed over BLE is 6.5KB/sec. Any configuration to run more that that rate will result in noisy signal and packet loss.

Q. How do I change the Filter settings in JSON file?
To change an existing filter property, edit the ‘<WAVETOOL_INSTALL_FOLDER >\etc\FilterConfig\FilterType.json’ file.
‘FilterName’: Some specific name for the filter to be listed in the dropdown of the Wavetool FilterType options
‘PassType’: Type of filter such as MOVING_AVG, DELAY, BPF, LPF, BIQUAD. Currently these are the only filter types supported in the Wavetool.
‘LowFrequency_3db’: This is the Low frequency cut off of the LPF and BPF filters
‘HighFrequency_3db’: This is the High frequency cut off of the BPF filter


5. TERMINOLOGY

Term Description
FW Firmware
BLE Bluetooth Low Energy
PPG Photoplethysmography
ECG Electrocardiography
SPO2 Saturated Peripheral Oxygen
ODR Output Data Rate
MCU Micro Controller Unit
AGC Automatic Gain Control
HRM Heart Rate Measurement
MIPS Million Instructions Per Second

Return - Table of Contents
Return - Top of the Page

Clone this wiki locally