-
Notifications
You must be signed in to change notification settings - Fork 3
VSM Watch User Guide
-
Introduction
1.1 Purpose -
- Watch Connections
- Boot mode Buttons
- USB Connections
- Nordic BLE Dongle Setup
- Watch Connections
-
- Updating Firmware
- Connecting to the Watch
- Connecting using USB (Cradle)
- Connecting using BLE
- Running the PPG View
- Multiview Application
- Configuring Use-cases for the Multiview
- Running Use-cases for the Multiview
- Configuring Settings for the Applications Multiview
- AWT Extension Modules
- Logging Data in Local Files
- NAND Flash Logging
- Logging in NAND Flash
- Retrieving data from NAND Flash
The ADI VSM Study Watch is a product designed to showcase the capabilities of ADI’s sensors for measuring vital signs.
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.
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: ADI VSM Study Watch with charging cradle
Figure 3: Navigate and Action Buttons
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
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.
-
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.
-
Install the Programmer and open the Programmer
Figure 4: nRF Connect App
- 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.
Figure 5: Nordic BLE Dongle
- Select the dongle via the nRF Connect Programmer
Figure 6: Connecting the BLE Dongle in Boot mode
-
Add HEX file from the path – <WAVETOOL_INSTALL_FOLDER> \etc\BLEDongle\ADIBLEDongle_S140.hex
-
Write the firmware to the dongle. The messages as shown in the figure below will indicate the completion of the firmware update.
Figure 7: Firmware Update Completion
- Unplug and re-plug the dongle.
The below sections will detail the steps involved in connecting the Wavetool to the watch and successfully running the VSM applications.
Figure 8: Wavetool Software Main Window
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.
Figure 9: Firmware Update Window in Wavetool
- 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.
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.
Figure 11 : Device Connected
Figure 12 : Application Selection
- 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’.
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.
Basic View Controls
The controls of the view are as explained below:
- Play: Start streaming data from the sensors
- Stop: Stop streaming data from the sensors and clear the plots
- Pause: Pause the streaming and show the current data on the plots
- Settings: Opens the configuration settings to set the configuration for the use case.
- UDP: Send the graph data through the UDP
- Nandflash logging: Logs the selected data streams into the NAND Flash
- Log: Save the data from the sensors into a JSON and CSV file in local PC
- 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
- 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
-
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 - AGC (Automatic Gain Control): This option is to enable or disable the AGC for the LED which is selected in the slot selection
- 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).
This is the application which will enable users to analyse a combination of VSM applications in a single view
- 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
- 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.
Figure 14: PPG Application View
The controls of the view are as explained below:
- Play: Start streaming data from the sensors.
- Stop: Stop streaming data from the sensors and clear the plots.
- Pause: Pause the streaming and show the current data on the plots.
- Log: Save the data from the sensors into a JSON and CSV file in local PC.
- Debug: The console to get specific PPG algorithm parameter and debug information.
Figure 15: Debug Console for PPG
- 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.
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.
- 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.
- AGC (Automatic Gain Control): This option is to enable or disable the AGC for the Green LED.
- ADPD400x: Enable or disable ADPD PPG raw data.
- X/Y/Z: Enable or disable the X,Y,Z data of the ADXL362.
- 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.
-
Modify the JSON entry with
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.
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.
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.
Figure 20: UDP Settings for Data Transfer
In the ADPD view the UDP transfer is enabled as shown in figure below.
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.
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.
Figure 23 : Logging Settings
The log folder contains the m2m2, JSON and CSV files
Figure 24 : Log Folder
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
Figure 26 : CSV Folder
ADPDAppStream_Combined_CSV log file is shown below
Figure 27 : CSV Data
JSON folder contains the JSON file which is converted from the m2m2 file
Figure 28 : JSON Folder
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
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.
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.
Figure 32: Download Log from NAND Flash
Q. What happens when a connection fails?
If the connection fails, the following alert will be displayed.
Figure 33 : Connection Failed
If BLE doesn’t respond the following alert will be displayed.
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
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 |