Communication Protocol
Applications Communication
Protocol
Rev 0.1
1 Packet Structure
This protocol is implemented in both applications Altimeter and ECG. Packets are of
variable length. The first five components in the protocol structure describe the
packet and all the remaining bytes are application data. Following image
represents the packet structure.
0x01
0x02
0x03
Sensor Class
Pressure Sensor
(Altimeter)
Accelerometer
Sensor
0x0
1
0x0
2
Medical Class
Electrocardiogra
phy (ECG)
Pulse Oximetry
(SPO2)
Heart Rate
(BPM)
Glucosimeter
(GLU)
0x0
1
0x0
2
0x0
3
0x0
4
Page 2 of 9
0x52
0x43
0x69
HEX
Code
0x12
0x13
0x14
RE
Q
X
X
CFM IND
X
X
X
Page 3 of 9
Page 4 of 9
Once received, the device will confirm to the host that the request has been
received. It will generate a confirmation packet with the same Command Opcode
and one Application Data byte indicating the device status. Packet might look like
the following.
HEX Code
0x00
0x01
0x02
Once started, the device will send packets containing information. These packets
will be of the IND packet type and will be sent every time the device has finished
processing information. An example of an IND packet is shown below.
In order to finish the communication, the host GUI musts send a Stop Measurement
request to the device otherwise it will keep sending IND packets with information.
The Stop Measurement request is represented by the image below.
Page 5 of 9
The device must confirm the request sending a confirmation packet with the same
Command Opcode.
An example is shown below.
Page 6 of 9
3.1 Packet ID
The first two bytes after the Data Length represent the Packet ID. The Packet ID is
a 16-bit ID number that prevents the host GUI of data lost. The packet ID of the
current packet must be equal to the packet ID of the previous packet + 1. For
example, if the packet ID of the previous packet was 0X00
0XFF, the packet ID of the current packet must be 0X01 0x00.
Size: 2 Bytes
Valid values:
0 - 65535
Page 7 of 9
This is the last byte of the packet. It is a numeric value that corresponds to the
Heart Rate value. For example, receiving 0x50 in the last byte means a heart rate
of 80bpm.
Size: 1 Byte
Valid values:
0 - 511
Page 8 of 9
4.1 Altitude
The first two bytes after the Data Length was the integer Altitude value, the next
one has the fractional Altitude value.
Size: 3 Bytes
Valid values:
4.2 Temperature
After the byte used to separate the values is located the integer Temperature
value, the next one has the fractional Temperature value.
Size: 2 Bytes
Valid values:
Page 9 of 9