After establishing a connection with VSH101, the initial communication flow is as follows:
If the ”VSC MODE“ or “VSC_FILE_MODE” instructions have not been executed, it is necessary to transmit instructions every 10 seconds to maintain the connection.
This functionality requires a firmware update to version 223.
The VSC FILE MODE START and VSC FILE MODE STOP commands are straightforward, similar to the other BLE commands discussed earlier. However, the VSC FILE MODE READ command is slightly more intricate. When a user initiates the VSC FILE MODE READ command, the device will respond with 968/576 bytes of data. The subsequent section will provide a more detailed explanation of the VSC Mode Data Format.
Each VSC FILE MODE READ command contains 100 ms of ECG data along with pertinent information.
Upon establishing the connection, the first step is to read the VSC File Status Information to confirm whether the VSC FILE MODE is currently active. If it is active, you have the option to choose between starting from the last read data or directly accessing the latest data for retrieval.
Each individual data is generated every 200 milliseconds. Therefore, after every 5 packets following the VSC FILE MODE START command, the UTC value should be incremented by 1.
PCode : The Write/Noitfy Characteristic command is same value, set same the ‘Cmd’ byte.
Group : The Group Command byte.
Cmd. : The Group sub Command byte.
ChkSum : The (Check Sum) is the sum of the entire packet.
MISO : Setting the notify receive length. (Little Endian)
MOSI : Setting the write command data length.(Little Endian)
Parameter Data : The parameter setting.(Little Endian)
Cmd Data : The data for command. (Little Endian)
PCode. : The write/notify command is same, usually same the “Cmd” byte.
Group : The group same the write command.
Ack : Confirm that the ‘Ack’ byte is ‘A’, then the command is correct this time and reply, otherwise will receive ‘N’.
ChkSum : (check sum) is the sum of bytes % 256 of the entire packet.
Index : The receive data memory index.(Little Endian)
Length : The packet data length.(Little Endian)
Cmd Data : The data for command.(Little Endian)
Check Sum Data Get Example Code:
Name | PCode | Group | Cmd | Description |
Version | 0x00 | 0xC0 | 0x00 | Device FW Version |
Time Set | 0x40 | 0xC0 | 0x40 | Set Device Time |
Time Get | 0x41 | 0xC0 | 0x41 | Get Device Time |
VSC Mode Type Set | 0x70 | 0xC2 | 0x70 | VSC MODE TYPE Setting |
VSC File Mode Start | 0x71 | 0xC2 | 0x71 | VSC File mode start command |
VSC File Mode Stop | 0x72 | 0xC2 | 0x72 | VSC File mode stop command |
VSC File Mode Read | 0x73 | 0xC2 | 0x73 | VSC File mode Read Command ( read back same VSC Mode Read) |
VSC File Status Info | 0x74 | 0xC2 | 0x74 | Read VSC File status Information |
File List Read | 0x71 | 0xAC | 0x71 | read the Data Flash File List Data |
File List Clear | 0x70 | 0xAC | 0x70 | Clear Data Flash List |
Soft Register Read | 0x00 | 0xA5 | 0x00 | Soft Register Command Read |
Soft Register Write | 0x01 | 0xA5 | 0x01 | Soft Register Command Write |
Name | Hex Data |
PCode | 0x00 |
Group Id | 0xC0 |
Cmd | 0x00 |
Check sum | 0xE0 |
MOSI | 0x0000 |
MISO | 0x0020 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Name | Hex Data |
PCode | 0x41 |
Group Id | 0xC0 |
Cmd | 0x41 |
Check sum | 0x52 |
MOSI | 0x0000 |
MISO | 0x0010 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Name | Hex Data |
PCode | 40 |
Group Id | C0 |
Cmd | 40 |
Check sum | 44 |
MOSI | 0x0010 |
MISO | 0x0000 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data | E7 07 05 11 13 13 17 08 3B D8 64 64 80 70 00 00 |
Name | Hex Data |
PCode | 0x70 |
Group Id | 0xC2 |
Cmd | 0x70 |
Check sum | 0xAB |
MOSI | 0x0004 |
MISO | 0x0000 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data | 01 00 00 00 |
Name | Hex Data |
PCode | 0x71 |
Group Id | 0xC2 |
Cmd | 0x71 |
Check sum | 0xA8 |
MOSI | 0x0000 |
MISO | 0x0004 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Name | Hex Data |
PCode | 0x72 |
Group Id | 0xC2 |
Cmd | 0x72 |
Check sum | 0xA6 |
MOSI | 0x0000 |
MISO | 0x0000 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Name | Hex Data |
PCode | 0x73 |
Group Id | 0xC2 |
Cmd | 0x73 |
Check sum | 0xDA |
MOSI | 0x0008 |
MISO | 0x0238 |
Parameter Data | 67 52 D3 64 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Each individual data is generated every 200 milliseconds. The reading interval for the data can be configured to be between 100 to 200 milliseconds.
Once the packet index reaches 8000, a 100-millisecond delay is introduced before attempting another read. If the subsequent read is successful, the process would resemble the below:
Each individual data is generated every 200 milliseconds.and the data from to the next second is as follows:
As mentioned, There are 568 bytees of returning data of VSC MODE READ. It includes two parts:
ECG DATA (400 bytes) – 1 channel ECG datas
INFO DATA (168 bytes) – 42 information
The detail description is listed below:
The INFO Data included 26 information for user to do the monitoring. It is listed below:
It includes Time (1), temperature(2), ECG data(2, 3), G-Sensor (5, 6, 7), Battery Status (8, 9), HRV (10, 11, 12, 13, 14, 15, 16), Barometer values(17, 18), and 5 G-Sensor points during the period (GS_X0..5, GS_Y0..5, GS_Z0..5).
Since the G-Sensor inside will keep monitor patient’s activity in a sampling rate of 25 Hz. A VSC Mode Data includes 200 ms information and it means the VSC Mode Data will have 5 points of G-Sensor data and they are GS_X0..5, GS_Y0..5, GS_Z0..5.
Name | Hex Data |
PCode | 0x74 |
Group Id | 0xC2 |
Cmd | 0x74 |
Check sum | 0xCA |
MOSI | 0x0000 |
MISO | 0x0020 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Name | Hex Data |
PCode | 0x71 |
Group Id | 0xAC |
Cmd | 0x71 |
Check sum | 0xDA |
MOSI | 0x0000 |
MISO | 0x0144 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
Each item in the file consists of the following information, each occupying 16 bytes:
There can be a maximum of 20 items. Additionally, there is a count represented using 4 bytes, indicating the total 324 bytes.
Name | Hex Data |
PCode | 0x70 |
Group Id | 0xC2 |
Cmd | 0x70 |
Check sum | 0x8C |
MOSI | 0x0000 |
MISO | 0x0000 |
Parameter Data | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Cmd Data |
SREG NAME | SREG TYPE | Note |
SREG_DEVICE_NAME | STRING | BLE Device Name |
SREG_DEVICE_RESET | SREG Write then reset device | |
SREG_DEVICE_SSN | STRING | Device SSN |
SREG_MEAS_LEAD_OFF | INT | 0: Disable, 1: Enable |
SREG_DEVICE_ID | INT | Device ID |
SREG_DEVICE_BEACON | INT | 0: Disable, 1: Enable |
SREG_VSC_MODE_TYPE | INT | 0: Type 0, 1: Type 1 |
SREG_CHARG_POWER_DOWN | INT | 0: Disable, 1: Enable |
SREG_ADVERTISING_INTERVAL | INT | 20 ~ 1000 (mSec) |
SREG_ADVERTISING_FIXED | INT | 0: Disable, 1: Enable |
SREG_FILE_RING_MODE | INT | 0: Disable, 1: Enable |