• Revision: v1.0

  • Revision Date: 2020-12-15

  • Group Prepared By: Sports and Fitness Working Group

Revision History

Revision Number

Date

Comments

v1.0

2020-12-15

Adopted by the Bluetooth SIG Board of Directors.

Contributors

Name

Company

Javier Espina

Koninklijke Philips N.V.

Laurence Richardson

Qualcomm Technologies International, Ltd.

Leif-Alexandre Aschehoug

Nordic Semiconductor ASA

Olivia Bellamou-Huet

Assystem Germany GmbH

Erik Moll

Koninklijke Philips N.V.

Use of this specification is your acknowledgement that you agree to and will comply with the following notices and disclaimers. You are advised to seek appropriate legal, engineering, and other professional advice regarding the use, interpretation, and effect of this specification.

Use of Bluetooth specifications by members of Bluetooth SIG is governed by the membership and other related agreements between Bluetooth SIG and its members, including those agreements posted on Bluetooth SIG’s website located at www.bluetooth.com. Any use of this specification by a member that is not in compliance with the applicable membership and other related agreements is prohibited and, among other things, may result in (i) termination of the applicable agreements and (ii) liability for infringement of the intellectual property rights of Bluetooth SIG and its members. This specification may provide options, because, for example, some products do not implement every portion of the specification. Each option identified in the specification is intended to be within the bounds of the Scope as defined in the Bluetooth Patent/Copyright License Agreement (“PCLA”).  Also, the identification of options for implementing a portion of the specification is intended to provide design flexibility without establishing, for purposes of the PCLA, that any of these options is a “technically reasonable non-infringing alternative.”

Use of this specification by anyone who is not a member of Bluetooth SIG is prohibited and is an infringement of the intellectual property rights of Bluetooth SIG and its members. The furnishing of this specification does not grant any license to any intellectual property of Bluetooth SIG or its members. THIS SPECIFICATION IS PROVIDED “AS IS” AND BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES MAKE NO REPRESENTATIONS OR WARRANTIES AND DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR THAT THE CONTENT OF THIS SPECIFICATION IS FREE OF ERRORS. For the avoidance of doubt, Bluetooth SIG has not made any search or investigation as to third parties that may claim rights in or to any specifications or any intellectual property that may be required to implement any specifications and it disclaims any obligation or duty to do so.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BLUETOOTH SIG, ITS MEMBERS AND THEIR AFFILIATES DISCLAIM ALL LIABILITY ARISING OUT OF OR RELATING TO USE OF THIS SPECIFICATION AND ANY INFORMATION CONTAINED IN THIS SPECIFICATION, INCLUDING LOST REVENUE, PROFITS, DATA OR PROGRAMS, OR BUSINESS INTERRUPTION, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, AND EVEN IF BLUETOOTH SIG, ITS MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF THE DAMAGES.

Products equipped with Bluetooth wireless technology ("Bluetooth Products") and their combination, operation, use, implementation, and distribution may be subject to regulatory controls under the laws and regulations of numerous countries that regulate products that use wireless non-licensed spectrum. Examples include airline regulations, telecommunications regulations, technology transfer controls and health and safety regulations. You are solely responsible for complying with all applicable laws and regulations and for obtaining any and all required authorizations, permits, or licenses in connection with your use of this specification and development, manufacture, and distribution of Bluetooth Products. Nothing in this specification provides any information or assistance in connection with complying with applicable laws or regulations or obtaining required authorizations, permits, or licenses.

Bluetooth SIG is not required to adopt any specification or portion thereof. If this specification is not the final version adopted by Bluetooth SIG’s Board of Directors, it may not be adopted. Any specification adopted by Bluetooth SIG’s Board of Directors may be withdrawn, replaced, or modified at any time. Bluetooth SIG reserves the right to change or alter final specifications in accordance with its membership and operating agreements.

Copyright © 2017–2020. All copyrights in the Bluetooth Specifications themselves are owned by Apple Inc., Ericsson AB, Intel Corporation, Lenovo (Singapore) Pte. Ltd., Microsoft Corporation, Nokia Corporation, and Toshiba Corporation. The Bluetooth word mark and logos are owned by Bluetooth SIG, Inc. Other third-party brands and names are the property of their respective owners.

1. Introduction

1.1. Scope

The Physical Activity Monitor Service (PAMS) exposes physical-activity-related data in the sports, fitness, and consumer healthcare environment.

This service allows a Physical Activity Monitor (server) to send physical-activity-related data to a client.

This service may also allow a client to remotely control the Physical Activity Monitor (server).

1.2. Conformance

If conformance to this specification is claimed, all capabilities indicated as mandatory for this specification shall be supported in the specified manner (process-mandatory). This also applies for all optional and conditional capabilities for which support is indicated.

1.3. Service dependencies

This service is not dependent upon any other services.

1.4. Bluetooth Core Specification release compatibility

This specification is compatible with the Bluetooth Core Specification v4.2 [2] or later.

1.5. GATT sub-procedure requirements

Requirements in this section represent a minimum set of requirements for a server. Other Generic Attribute Profile (GATT) sub-procedures may be used if supported by both client and server.

Table 1.1 summarizes additional GATT sub-procedure requirements beyond those required by all GATT servers.

GATT Sub-Procedure

Requirements

Read Long Characteristic Values

M

Write Characteristic Value

M

Characteristic Value Notification

M

Characteristic Value Indication

M

Read Characteristic Descriptors

M

Write Characteristic Descriptors

M

Table 1.1. Additional GATT sub-procedure requirements for a server

M:

Mandatory

1.6. Transport dependencies

There are no transport restrictions imposed by this service specification.

The term Basic Rate/Enhanced Data Rate (BR/EDR) that is used throughout this document also includes the optional use of Alternate MAC PHY.

1.7. Application error codes

This service defines the following Attribute Protocol (ATT) Application Error responses and codes for use with the Physical Activity Monitor Control Point characteristic described in Section 3.9.

Name

Error Code

Description

Op Code Not Supported

0x80

Response if an unsupported opcode is received.

Invalid Session ID

0x81

Response if the Session ID parameter value received is not recognized.

Invalid Sub-session ID

0x82

Response if the Sub-session ID parameter value received is not recognized.

Session Still Running

0x83

Response to the Get Ended Session Data procedure request or the Delete Ended Session procedure request if the Session ID parameter value received refers to a session that has not yet ended.

No Data Available

0x84

Response to the Get Ended Session Data procedure request if no data is available that matches the parameter values.

No Sessions Available

0x85

Response to the Enquire Sessions procedure request if no sessions are available.

Invalid Type

0x86

Response to the Start Session/Sub-session or Set Average Activity Type procedure request if the Type or Scope parameter value received is in the RFU value range.

No Session Running

0x87

Response to the Start Session/Sub-session procedure request or Set Average Activity Type procedure request if the request cannot be executed because no session is running.

Nothing To Stop

0x88

Response to the Stop Session procedure request if the request cannot be executed because no session is running.

Activity Type Out Of Range

0x89

Response to the Set Average Activity Type procedure request if the User-Defined Activity Type parameter value received is in the RFU value range.

Operation Failed

0x8A

Response if the requested procedure is rejected for a reason other than those enumerated above.

Table 1.2. ATT Application Error codes defined by this service

1.8. Byte transmission order

All characteristics used with this service shall be transmitted with the least significant octet (LSO) first (i.e., little endian). The LSO is identified in the characteristic definitions in [1].

1.9. Language

1.9.1. Language conventions

The Bluetooth SIG has established the following conventions for use of the words shall, must, will, should, may, can, is, and note in the development of specifications:

shall

is required to – used to define requirements.

must

is used to express:

a natural consequence of a previously stated mandatory requirement.

OR

an indisputable statement of fact (one that is always true regardless of the circumstances).

will

it is true that – only used in statements of fact.

should

is recommended that – used to indicate that among several possibilities one is recommended as particularly suitable, but not required.

may

is permitted to – used to allow options.

can

is able to – used to relate statements in a causal manner.

is

is defined as – used to further explain elements that are previously required or allowed.

note

Used to indicate text that is included for informational purposes only and is not required in order to implement the specification. Each note is clearly designated as a “Note” and set off in a separate paragraph.

For clarity of the definition of those terms, see Core Specification Volume 1, Part E, Section 1.

1.9.2. Reserved for Future Use

Where a field in a packet, Protocol Data Unit (PDU), or other data structure is described as "Reserved for Future Use" (irrespective of whether in uppercase or lowercase), the device creating the structure shall set its value to zero unless otherwise specified. Any device receiving or interpreting the structure shall ignore that field; in particular, it shall not reject the structure because of the value of the field.

Where a field, parameter, or other variable object can take a range of values, and some values are described as "Reserved for Future Use," a device sending the object shall not set the object to those values. A device receiving an object with such a value should reject it, and any data structure containing it, as being erroneous; however, this does not apply in a context where the object is described as being ignored or it is specified to ignore unrecognized values.

When a field value is a bit field, unassigned bits can be marked as Reserved for Future Use and shall be set to 0. Implementations that receive a message that contains a Reserved for Future Use bit that is set to 1 shall process the message as if that bit was set to 0, except where specified otherwise.

The acronym RFU is equivalent to Reserved for Future Use.

1.9.3. Prohibited

When a field value is an enumeration, unassigned values can be marked as “Prohibited.” These values shall never be used by an implementation, and any message received that includes a Prohibited value shall be ignored and shall not be processed and shall not be responded to.

Where a field, parameter, or other variable object can take a range of values, and some values are described as “Prohibited,” devices shall not set the object to any of those Prohibited values. A device receiving an object with such a value should reject it, and any data structure containing it, as being erroneous.

“Prohibited” is never abbreviated.

2. Service

2.1. Declaration

The PAMS should be instantiated as a «Primary Service».

The service Universal Unique Identifier (UUID) shall be set to «Physical Activity Monitor Service» as defined in [1].

2.2. Behavior

The PAMS exposes real-time or stored physical-activity-related data, or both, via several data characteristics.

The PAMS defines seven data characteristics, of which two are mandatory and five are optionally exposed depending on the capabilities of the Physical Activity Monitor that instantiates the service.

Data characteristics are divided into summary data characteristics and instantaneous data characteristics. Summary data characteristics expose data integrated since the beginning of a physical activity session/sub-session. Instantaneous data characteristics expose data integrated over periods of time normally shorter than the length of the physical activity session/sub-session (for example, 1 second or a few seconds).

The Physical Activity Monitor Control Point characteristic, in combination with the Physical Activity Current Session characteristic and the Physical Activity Session Descriptor characteristic, enables the client to manage physical activity sessions/sub-sessions. This includes receiving session/sub-session descriptions, starting or stopping sessions/sub-sessions, and selecting a session/sub-session for retrieval of its physical-activity-related data.

2.3. Definition and behavior of sessions and sub-sessions

In the context of this service, a physical activity session/sub-session is started when the user triggers the start of a session/sub-session via the server User Interface (UI), when the server starts a session/sub-session on its own (for example, every 24 hours or based on automatic activity detection and segmentation in user activity-defined sessions/sub-sessions), or when the Start Session/Sub-session procedure of the Physical Activity Monitor Control Point is initiated (see Section 3.9).

A session shall not overlap with another session. Therefore, a session ends as soon as a new session is started.

A session also ends when the session is stopped, which occurs when the user triggers the stopping of the session via the server UI or when the Stop Session procedure of the Physical Activity Monitor Control Point is initiated (see Section 3.9).

When a session is running, the server may measure, compute, record, or transmit physical activity data to the client. When no session is running, the server is inactive and does not measure, compute, or record physical activity data.

A session shall consist of one or more sub-sessions.

Sub-sessions may be used, for example, to segment a long training session into the parts it consists of (such as walking, running, and rowing) or to segment a 24-hour session into 1-hour parts.

The sub-sessions of a session shall not overlap with each other and shall, together, add up to the entire duration of the session to which they belong. A sub-session therefore lasts until a new sub-session is started or its parent session is stopped.

The session identifiers (Session ID) are assigned by the server in an implementation-specific manner so that they are unique on the server (either forever or within a long period of time).

The sub-session identifiers (Sub-session ID) are assigned by the server in an implementation-specific manner so that they are unique on the server within the context of their parent session (either forever or within a long period of time).

For information about server requirements and how the server reports Physical Activity Current Session changes to the client, see Section 3.10.

2.4. Data Record definition and Data Record segment transmission

A Data Record consists of multiple session/sub-session-related data that are sent to a client via notifications or indications of a data characteristic (i.e., any of the instantaneous data characteristics or summary data characteristics defined in Section 3). A Data Record is therefore a container for a data characteristic.

The size of a Data Record may exceed the maximum that may be sent in a single Handle Value Notification or Indication as defined by ATT_MTU sizes described in the ATT specification in [2]. This service therefore defines a mechanism for segmentation of the Data Records into smaller characteristic values that may then be notified or indicated sequentially, using a stream of data characteristic notifications or indications.

Note: Default ATT_MTU sizes and the process of exchanging ATT_MTU sizes are described in the Core Specification [2].

If a Data Record does not exceed the size of (ATT_MTU-3) octets, then it can be sent in one single notification or indication. If a Data Record exceeds the size of (ATT_MTU-3) octets, then it shall be segmented into multiple notifications or indications. In both cases the following segmentation procedure shall be used:

  1. The number of Data Record segments to be sent is represented by the integer N, which shall be obtained by first calculating ( T o t a l   n u m b e r   o f   D a t a   R e c o r d   o c t e t s   -   1 ) / ( A T T _ M T U   -   4 ) and then rounding up to the nearest integer.

  2. If N=1, then the First Segment and Last Segment bits of the Header field shall be set to 1.

  3. If N > 1, then the First Segment bit of the Header field shall be set to 1 and the Last Segment bit of the Header field shall be set to 0.

  4. The LSOs of the Data Record after the Header field shall be included in the Data Record segment up to (ATT_MTU-4) octets in order.

  5. The Data Record segment shall be notified or indicated, as applicable.

  6. The value of the Rolling Segment Counter bits of the Header field shall be incremented by 1.

  7. If the value of the Last Segment bit of the Header field is 1, then end the procedure at this point; otherwise, continue to step 8.

  8. The First Segment bit of the Header field shall be set to 0.

  9. If the number of octets remaining to be sent can be sent in one more notification or indication (i.e., it does not exceed the size of (ATT_MTU-4) octets), then the Last Segment bit of the Header field shall be set to 1; otherwise, it shall remain set to 0.

  10. The LSOs of the Data Record that remain to be sent shall be included in the Data Record segment up to (ATT_MTU-4) octets in order.

  11. Repeat from step 4.

When the service is initialized (e.g., upon connection to the client), the Rolling Segment Counter may be set to any number in the range 0 to 63. The Rolling Segment Counter shall then be incremented continuously without being reset each time the procedure above is used. Once the Rolling Segment Counter reaches 63, it shall roll over to 0 the next time it is incremented by 1.

Figure 2.1 illustrates the result of the segmentation procedure when a Data Record is segmented into three data characteristic notifications or indications.

Example of Physical Activity Monitor Data Record segmentation
Figure 2.1. Example of Physical Activity Monitor Data Record segmentation

2.4.1. Header field definition

The Header field bits and their function are defined in Table 2.1.

If segmentation into multiple notifications is used, then the First Segment, Last Segment, and Rolling Segment Counter bits are set as described in Section 2.4. If no segmentation into multiple notifications is used, then the First Segment and Last Segment bits are set to 1.

Bit Number

Definition

Description

0

First Segment

The First Segment bit identifies the first segment of a segmented Data Record.

1

Last Segment

The Last Segment bit identifies the last segment of a segmented Data Record.

2 to 7

Rolling Segment Counter

The Rolling Segment Counter bits are used to enable the client to correctly reconstruct a segmented Data Record.

Table 2.1. Structure of the Header field

3. Service characteristics

This section defines the characteristic and descriptor requirements.

Only one instance of each characteristic in Table 3.1 is permitted within this service.

Where a characteristic can be notified or indicated, a Client Characteristic Configuration descriptor shall be included in that characteristic, as required by the Core Specification [2].

Characteristic Name[a]

Requirement[b]

Mandatory Properties

Optional Properties

Security Permission[c]

Physical Activity Monitor Features

M

Read

None

None

General Activity Instantaneous Data

M

Notify

None

None

General Activity Summary Data

M

Indicate

None

None

CardioRespiratory Activity Instantaneous Data

O

Notify

None

None

CardioRespiratory Activity Summary Data

O

Indicate

None

None

Step Counter Activity Summary Data

O

Indicate

None

None

Sleep Activity Instantaneous Data

O

Notify

None

None

Sleep Activity Summary Data

O

Indicate

None

None

Physical Activity Monitor Control Point

M

Write, Indicate

None

None

Physical Activity Current Session

M

Indicate, Read

None

None

Physical Activity Session Descriptor

M

Indicate

None

None

[a] The characteristics and the characteristic descriptors specified by this service are defined in this specification and in [1].

[b] Properties that are not listed as Mandatory or Optional are excluded for this version of the service.

[c] The Security Permission “None” means that this version of the service does not impose any requirement. However, a profile specification may impose additional security requirements.

Table 3.1. PAMS characteristics

M:

Mandatory

O:

Optional

3.1. Physical Activity Monitor Features

The Physical Activity Monitor Features characteristic is identified using the UUID «Physical Activity Monitor Features», as defined in [1].

The Physical Activity Monitor Features characteristic exposes which optional features are supported by the server implementation.

The bits of the Physical Activity Monitor Features characteristic may either be static for the lifetime of the device or static only during a connection. Although all defined bits in this version of this specification are required to be static during the lifetime of a device, it is possible that some future bits are defined as being static only during a connection. The lifetime of the device is defined as the time period until the device is taken out of service or a firmware update takes place.

3.1.1. Characteristic behavior

The characteristic is read-only and returns a value when read.

3.1.1.1. Characteristic structure

The characteristic value is of fixed length and has the structure defined in Table 3.2.

Field

Field Status

Data Type

Size

(octets)

Description

Features

M

64 bit

8

See Table 3.3

Table 3.2. Structure of the Physical Activity Monitor Features characteristic

M:

Mandatory

The Features field bits and their function are defined in Table 3.3.

When the server supports a feature, the associated bit of the Physical Activity Monitor Features characteristic shall be set to 1 (Feature supported); otherwise, the associated bit shall be set to 0 (Feature not supported).

The server shall support at least one feature.

Bit Number

Definition

0

Multiple Users Supported

1

User Data Service Supported

2

Device Worn Supported

3

Normal Walking Energy Expenditure Supported

4

Normal Walking Energy Expenditure per Hour Supported

5

Intensity Energy Expenditure Supported

6

Intensity Energy Expenditure per Hour Supported

7

Total Energy Expenditure Supported

8

Total Energy Expenditure per Hour Supported

9

Fat Burned Supported

10

Fat Burned per Hour Supported

11

Metabolic Equivalent Supported

12

Distance Supported

13

Speed Supported

14

Duration of Normal Walking Episodes Supported

15

Duration of Intensity Walking Episodes Supported

16

Motion Cadence Supported

17

Floors Supported

18

Positive Elevation Gain Supported

19

Negative Elevation Gain Supported

20

Elevation Supported

21

Activity Count Supported

22

Activity Count per Minute Supported

23

Activity Level Supported

24

Activity Type Supported

25

Worn Duration Supported

26

Time in Heart Rate Zone1 Supported

27

Time in Heart Rate Zone2 Supported

28

Time in Heart Rate Zone3 Supported

29

Time in Heart Rate Zone4 Supported

30

Time in Heart Rate Zone5 Supported

31

VO2 Max Supported

32

Heart Rate Supported

33

Pulse Inter-beat Interval Supported

34

Resting Heart Rate Supported

35

Heart Rate Variability Supported

36

Respiration Rate Supported

37

Resting Respiration Rate Supported

38

Normal Walking Steps Supported

39

Intensity Steps Supported

40

Floor Steps Supported

41

Total Sleep Time Supported

42

Total Wake Time Supported

43

Total Bed Time Supported

44

Number of Awakenings Supported

45

Sleep Latency Supported

46

Sleep Efficiency Supported

47

Snooze Time Supported

48

Number of Toss-&-turn Events Supported

49

Time of Awakening After Alarm Supported

50

Visible Light Level Supported

51

Ultraviolet (UV) Light Level Supported

52

Infrared (IR) Light Level Supported

53

Sleep Stage Supported

54

Sleeping Heart Rate Supported

55 to 63

RFU

Table 3.3. Features field—bit definition

If the server supports the User Data Service [4], then the User Data Service Supported bit shall be set to 1; otherwise, the User Data Service Supported bit shall be set to 0.

If the User Data Service is used in combination with the PAMS, then the measurement data (i.e., indications or notifications from PAMS data characteristics) must be retrievable on a per-user basis. See Section 3.1 in [5] for more details.

3.2. General Activity Instantaneous Data

The General Activity Instantaneous Data characteristic is identified using the UUID «General Activity Instantaneous Data», as defined in [1].

The General Activity Instantaneous Data characteristic is used to send session/sub-session-related data of an instantaneous nature (as defined in Section 2.2) to the client. The general activity data is related to measurements that may be widely supported across different types of activity monitors.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.4.

3.2.1. Characteristic behavior

The General Activity Instantaneous Data characteristic shall be notified when it is configured for notification via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be notified approximately once every 1 to 30 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

For Bluetooth Low Energy (LE), all the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple notifications.

For BR/EDR, this restriction does not exist due to a larger MTU size.

3.2.1.1. Characteristic structure

The structure of the General Activity Instantaneous Data characteristic is defined in Table 3.4.

The characteristic value is of variable length, ranging up to 38 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.2.1.1.1

Flags

C.1

24 bit

3

See Section 3.2.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.2.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.6

Normal Walking Energy Expenditure per Hour

C.2

uint16

2

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.2.1.1.7

Intensity Energy Expenditure per Hour

C.2

uint16

2

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.2.1.1.8

Total Energy Expenditure per Hour

C.2

uint16

2

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.2.1.1.9

Fat Burned per Hour

C.2

uint16

2

Base Unit: org.bluetooth.unit.mass.kilogram

Represented values: M = 1, d = -3, b = 0

Unit is 0.001 kg

See Section 3.2.1.1.10

Metabolic Equivalent

C.2

uint8

1

Base Unit: org.bluetooth.unit.metabolic_equivalent

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 MET (i.e., kcal/kg/hour)

See Section 3.2.1.1.11

Speed

C.2

uint16

2

Base Unit: org.bluetooth.unit.velocity.kilometre_­per_­hour

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 km/h

See Section 3.2.1.1.12

Motion Cadence

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.13

Elevation

C.2

sint24

3

Base Unit: org.bluetooth.unit.length.metre

Represented values: M = 1, d = -2, b =0

Unit is 0.01 m

See Section 3.2.1.1.14

Activity Count per Minute

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.15

Activity Level

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.2.1.1.16

MSO

Activity Type

C.2

uint16

2

See Section 3.2.1.1.17

Table 3.4. Structure of the General Activity Instantaneous Data characteristic

C.1

Mandatory if no segmentation into multiple notifications is used.

Also mandatory if segmentation into multiple notifications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.2.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.2.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.5.

When the server includes a given data field in any of the segments (in case of Data Record segmentation), the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the General Activity Instantaneous Data characteristic.

If the Physical Activity Monitor Features characteristic denotes server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 1 when the device is worn and shall be set to 0 when the device is not worn.

If the Physical Activity Monitor Features characteristic does not denote server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 0.

Bit Number

Definition

0

Normal Walking Energy Expenditure per Hour Present

1

Intensity Energy Expenditure per Hour Present

2

Total Energy Expenditure per Hour Present

3

Fat Burned per Hour Present

4

Metabolic Equivalent Present

5

Speed Present

6

Motion Cadence Present

7

Elevation Present

8

Activity Count per Minute Present

9

Activity Level Present

10

Activity Type Present

11 to 22

RFU

23

Device Worn

Table 3.5. General Activity Instantaneous Data characteristic—Flags field

3.2.1.1.3. Session ID field

The Session ID field represents the identifier of the physical activity session to which the data is related.

3.2.1.1.4. Sub-session ID field

The Sub-session ID field represents the identifier of the physical activity sub-session to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.2.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the time stamp of the data included in the General Activity Instantaneous Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.2.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number included in the General Activity Instantaneous Data characteristic.

Sequence Number field values are assigned by the server in an implementation-specific manner that facilitates the correct data organization on the client side. Sequence Number field values should be incremented by 1 every time their respective data characteristic is updated and should roll over to 0x00000000 after the maximum value 0xFFFFFFFF is reached.

3.2.1.1.7. Normal Walking Energy Expenditure per Hour field

The Normal Walking Energy Expenditure per Hour field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Normal Walking Energy Expenditure per Hour.

The Normal Walking Energy Expenditure per Hour field represents the instantaneous energy expenditure rate of the user for low-intensity physical activity.

3.2.1.1.8. Intensity Energy Expenditure per Hour field

The Intensity Energy Expenditure per Hour field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Intensity Energy Expenditure per Hour.

The Intensity Energy Expenditure per Hour field represents the instantaneous energy expenditure rate of the user for high-intensity physical activity.

3.2.1.1.9. Total Energy Expenditure per Hour field

The Total Energy Expenditure per Hour field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Total Energy Expenditure per Hour.

The Total Energy Expenditure per Hour field represents the instantaneous total energy expenditure rate of the user.

3.2.1.1.10. Fat Burned per Hour field

The Fat Burned per Hour field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Fat Burned per Hour.

The Fat Burned per Hour field represents the instantaneous fat burn rate of the user.

3.2.1.1.11. Metabolic Equivalent field

The Metabolic Equivalent field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Metabolic Equivalent.

The Metabolic Equivalent field represents the instantaneous metabolic equivalent of the user.

3.2.1.1.12. Speed field

The Speed field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Speed.

The Speed field represents the instantaneous speed of the user.

3.2.1.1.13. Motion Cadence field

The Motion Cadence field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Motion Cadence.

The Motion Cadence field may represent steps per minute or revolutions per minute, depending on the type of physical activity performed by the user.

3.2.1.1.14. Elevation field

The Elevation field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Elevation.

The Elevation field represents the instantaneous elevation of the user above sea level.

3.2.1.1.15. Activity Count per Minute field

The Activity Count per Minute field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Count per Minute.

The Activity Count per Minute field represents the instantaneous amount of activity or motion of the user in a 1-minute interval.

3.2.1.1.16. Activity Level field

The Activity Level field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Level.

The Activity Level field represents the instantaneous amount of activity or motion of the user in an implementation-specific measurement interval.

3.2.1.1.17. Activity Type field

The Activity Type field may be included in the General Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Type.

The Activity Type field represents the instantaneous activity type of the user.

Table 3.6 defines the structure of the Activity Type field.

Sub-field

Sub-field Status

Data Type

Size

(octets)

Description

LSO

Monitor-Defined

M

N/A

1

The Monitor-Defined sub-field represents the activity type detected by the Physical Activity Monitor.

See Table 3.7 for the sub-field value definition.

MSO

User-Defined

M

N/A

1

The User-Defined sub-field represents the activity type entered by the user.

See Table 3.7 for the sub-field value definition.

Table 3.6. Structure of the Activity Type field

M:

Mandatory

Table 3.7 defines the meaning of both Activity Type field sub-fields.

Value

Definition

Description

0x00

Unspecified

0x01

Other

0x02

Sit

0x03

Lie

0x04

Stand

0x05

Walk

Includes hiking.

0x06

Shuffle

0x07

Run

Includes jogging.

0x08

Cycle indoor

0x09

Cycle outdoor

0x0A

Cycle

0x0B

Aerobic workout

Continuous, high-paced activity such as dance or kickboxing.

0x0C

Elliptical

Activity performed on an elliptical trainer, elliptical glider, or elliptical cross trainer.

0x0D

Sports

Continuous, high-paced activity such as tennis, soccer, or basketball.

0x0E

Swim

0x0F to 0xFE

RFU

0xFF

Unknown

Activity is unknown.

Table 3.7. Activity Type field—sub-field values

3.2.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.3. General Activity Summary Data

The General Activity Summary Data characteristic is identified using the UUID «General Activity Summary Data», as defined in [1].

The General Activity Summary Data characteristic is used to send session/sub-session summary-type data to the client (see the definition of summary data in Section 2.2). Such general activity data is related to measurements that may be widely supported across different types of activity monitors.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.8.

3.3.1. Characteristic behavior

The General Activity Summary Data characteristic shall be indicated when it is configured for indication via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be indicated approximately once every 5 to 60 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

All the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple indications.

3.3.1.1. Characteristic structure

The structure of the General Activity Summary Data characteristic is defined in Table 3.8.

The characteristic value is of variable length, ranging up to 77 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.3.1.1.1

Flags

C.1

32 bit

4

See Section 3.3.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.3.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.6

Normal Walking Energy Expenditure

C.2

uint32

4

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.3.1.1.7

Intensity Energy Expenditure

C.2

uint32

4

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.3.1.1.8

Total Energy Expenditure

C.2

uint32

4

Base Unit: org.bluetooth.unit.energy.joule

Represented values: M = 1, d = 3, b = 0

Unit is 1000 joule

See Section 3.3.1.1.9

Fat Burned

C.2

uint16

2

Base Unit: org.bluetooth.unit.mass.kilogram

Represented values: M = 1, d = -3, b = 0

Unit is 0.001 kg

See Section 3.3.1.1.10

Minimum Metabolic Equivalent

C.2

uint8

1

Base Unit: org.bluetooth.unit.metabolic_equivalent

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 MET (i.e., kcal/kg/hour)

See Section 3.3.1.1.11

Maximum Metabolic Equivalent

C.2

uint8

1

Base Unit: org.bluetooth.unit.metabolic_equivalent

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 MET (i.e., kcal/kg/hour)

See Section 3.3.1.1.12

Average Metabolic Equivalent

C.2

uint8

1

Base Unit: org.bluetooth.unit.metabolic_equivalent

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 MET (i.e., kcal/kg/hour)

See Section 3.3.1.1.13

Distance

C.2

uint24

3

Base Unit: org.bluetooth.unit.length.metre

Represented values: M = 1, d = 1, b = 0

Unit is 1 m

See Section 3.3.1.1.14

Minimum Speed

C.2

uint16

2

Base Unit: org.bluetooth.unit.velocity.kilometre_per_hour

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 km/h

See Section 3.3.1.1.15

Maximum Speed

C.2

uint16

2

Base Unit: org.bluetooth.unit.velocity.kilometre_per_hour

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 km/h

See Section 3.3.1.1.16

Average Speed

C.2

uint16

2

Base Unit: org.bluetooth.unit.velocity.kilometre_per_hour

Represented values: M = 1, d = -1, b = 0

Unit is 0.1 km/h

See Section 3.3.1.1.17

Duration of Normal Walking Episodes

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.3.1.1.18

Duration of Intensity Walking Episodes

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.3.1.1.19

Minimum Motion Cadence

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.20

Maximum Motion Cadence

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.21

Average Motion Cadence

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.22

Floors

C.2

uint8

1

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.23

Positive Elevation Gain

C.2

uint24

3

Base Unit: org.bluetooth.unit.length.metre

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 m

See Section 3.3.1.1.24

Negative Elevation Gain

C.2

uint24

3

Base Unit: org.bluetooth.unit.length.metre

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 m

See Section 3.3.1.1.25

Activity Count

C.2

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.26

Minimum Activity Level

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.27

Maximum Activity Level

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.28

Average Activity Level

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.3.1.1.29

Average Activity Type

C.2

uint16

2

See Section 3.3.1.1.30

MSO

Worn Duration

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.3.1.1.31

Table 3.8. Structure of the General Activity Summary Data characteristic

C.1

Mandatory if no segmentation into multiple indications is used.

Also mandatory if segmentation into multiple indications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.3.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.3.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.9.

When the server includes a given data field, the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the General Activity Summary Data characteristic.

Bit Number

Definition

0

Normal Walking Energy Expenditure Present

1

Intensity Energy Expenditure Present

2

Total Energy Expenditure Present

3

Fat Burned Present

4

Minimum Metabolic Equivalent Present

5

Maximum Metabolic Equivalent Present

6

Average Metabolic Equivalent Present

7

Distance Present

8

Minimum Speed Present

9

Maximum Speed Present

10

Average Speed Present

11

Duration of Normal Walking Episodes Present

12

Duration of Intensity Walking Episodes Present

13

Minimum Motion Cadence Present

14

Maximum Motion Cadence Present

15

Average Motion Cadence Present

16

Floors Present

17

Positive Elevation Gain Present

18

Negative Elevation Gain Present

19

Activity Count Present

20

Minimum Activity Level Present

21

Maximum Activity Level Present

22

Average Activity Level Present

23

Average Activity Type Present

24

Worn Duration Present

25 to 31

RFU

Table 3.9. General Activity Summary Data characteristic—Flags field

3.3.1.1.3. Session ID field

The Session ID field represents the physical activity session identifier to which the data is related.

3.3.1.1.4. Sub-session ID field

The Sub-session ID field represents the physical activity sub-session identifier to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.3.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the data time stamp that is included in the General Activity Summary Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.3.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number that is included in the General Activity Summary Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.3.1.1.7. Normal Walking Energy Expenditure field

The Normal Walking Energy Expenditure field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Normal Walking Energy Expenditure.

The Normal Walking Energy Expenditure field represents the energy expenditure of the user during the physical activity session/sub-session for low-intensity physical activity.

3.3.1.1.8. Intensity Energy Expenditure field

The Intensity Energy Expenditure field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Intensity Energy Expenditure.

The Intensity Energy Expenditure field represents the energy expenditure of the user during the physical activity session/sub-session for high-intensity physical activity.

3.3.1.1.9. Total Energy Expenditure field

The Total Energy Expenditure field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Total Energy Expenditure.

The Total Energy Expenditure field represents the total energy expenditure of the user during the physical activity session/sub-session.

3.3.1.1.10. Fat Burned field

The Fat Burned field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Fat Burned.

The Fat Burned field represents the fat burned by the user during the physical activity session/sub‑session.

3.3.1.1.11. Minimum Metabolic Equivalent field

The Minimum Metabolic Equivalent field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Metabolic Equivalent.

The Minimum Metabolic Equivalent field represents the minimum metabolic equivalent of the user during the physical activity session/sub-session.

3.3.1.1.12. Maximum Metabolic Equivalent field

The Maximum Metabolic Equivalent field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Metabolic Equivalent.

The Maximum Metabolic Equivalent field represents the maximum metabolic equivalent of the user during the physical activity session/sub-session.

3.3.1.1.13. Average Metabolic Equivalent field

The Average Metabolic Equivalent field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Metabolic Equivalent.

The Average Metabolic Equivalent field represents the average metabolic equivalent of the user during the physical activity session/sub-session.

3.3.1.1.14. Distance field

The Distance field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Distance.

The Distance field represents the distance covered by the user during the physical activity session/sub‑session.

3.3.1.1.15. Minimum Speed field

The Minimum Speed field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Speed.

The Minimum Speed field represents the minimum speed of the user during the physical activity session/sub-session.

3.3.1.1.16. Maximum Speed field

The Maximum Speed field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Speed.

The Maximum Speed field represents the maximum speed of the user during the physical activity session/sub-session.

3.3.1.1.17. Average Speed field

The Average Speed field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Speed.

The Average Speed field represents the average speed of the user during the physical activity session/sub-session.

3.3.1.1.18. Duration of Normal Walking Episodes field

The Duration of Normal Walking Episodes field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Duration of Normal Walking Episodes.

The Duration of Normal Walking Episodes field represents the total duration of normal walking episodes within the physical activity session/sub-session.

3.3.1.1.19. Duration of Intensity Walking Episodes field

The Duration of Intensity Walking Episodes field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Duration of Intensity Walking Episodes.

The Duration of Intensity Walking Episodes field represents the total duration of high-paced walking episodes within the physical activity session/sub-session.

3.3.1.1.20. Minimum Motion Cadence field

The Minimum Motion Cadence field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Motion Cadence.

The Minimum Motion Cadence field may represent the minimum rate of steps per minute or revolutions per minute during the physical activity session/sub-session, depending on the type of physical activity performed by the user.

3.3.1.1.21. Maximum Motion Cadence field

The Maximum Motion Cadence field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Motion Cadence.

The Maximum Motion Cadence field may represent the maximum rate of steps per minute or revolutions per minute during the physical activity session/sub-session, depending on the type of physical activity performed by the user.

3.3.1.1.22. Average Motion Cadence field

The Average Motion Cadence field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Motion Cadence.

The Average Motion Cadence field may represent the average rate of steps per minute or revolutions per minute during the physical activity session/sub-session, depending on the type of physical activity performed by the user.

3.3.1.1.23. Floors field

The Floors field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Floors.

The Floors field represents the number of floors climbed by the user during the physical activity session/sub-session.

3.3.1.1.24. Positive Elevation Gain field

The Positive Elevation Gain field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Positive Elevation Gain.

The Positive Elevation Gain field represents the sum of vertical ascents of the user during the physical activity session/sub-session.

3.3.1.1.25. Negative Elevation Gain field

The Negative Elevation Gain field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Negative Elevation Gain.

The Negative Elevation Gain field represents the sum of vertical descents of the user during the physical activity session/sub-session.

3.3.1.1.26. Activity Count field

The Activity Count field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Count.

The Activity Count field represents the amount of activity or motion of the user accumulated during the physical activity session/sub-session.

3.3.1.1.27. Minimum Activity Level field

The Minimum Activity Level field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Level.

The Minimum Activity Level field represents the minimum amount of activity or motion of the user during the physical activity session/sub-session. See Section 3.2.1.1.16 for more details about the Activity Level field.

3.3.1.1.28. Maximum Activity Level field

The Maximum Activity Level field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Level.

The Maximum Activity Level field represents the maximum amount of activity or motion of the user during the physical activity session/sub-session. See Section 3.2.1.1.16 for more details about the Activity Level field.

3.3.1.1.29. Average Activity Level field

The Average Activity Level field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Level.

The Average Activity Level field represents the average amount of activity or motion of the user during the physical activity session/sub-session. See Section 3.2.1.1.16 for more details about the Activity Level field.

3.3.1.1.30. Average Activity Type field

The Average Activity Type field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Activity Type.

The Average Activity Type field represents the most predominant activity type of the user during the physical activity session/sub-session. See Section 3.2.1.1.17 for more details about the Activity Type field.

3.3.1.1.31. Worn Duration field

The Worn Duration field may be included in the General Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Worn Duration.

The Worn Duration field represents the total amount of time within the physical activity session/sub‑session that the user has worn the Physical Activity Monitor (as detected and calculated by the Physical Activity Monitor).

3.3.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.4. CardioRespiratory Activity Instantaneous Data

The CardioRespiratory Activity Instantaneous Data characteristic is identified using the UUID «CardioRespiratory Activity Instantaneous Data», as defined in [1].

The CardioRespiratory Activity Instantaneous Data characteristic is used to send session/sub-session‑related data of an instantaneous nature (as defined in Section 2.2) to the client. The data is related to measurements that are typically supported by physical activity monitors that have cardiovascular and/or respiratory monitoring capabilities.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.10.

3.4.1. Characteristic behavior

The CardioRespiratory Activity Instantaneous Data characteristic shall be notified when it is configured for notification via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be notified approximately once every 1 to 30 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

For Bluetooth LE, all the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple notifications.

For BR/EDR, this restriction does not exist due to a larger MTU size.

3.4.1.1. Characteristic structure

The structure of the CardioRespiratory Activity Instantaneous Data characteristic is defined in Table 3.10.

The characteristic value is of variable length, ranging up to 24 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.4.1.1.1

Flags

C.1

16 bit

2

See Section 3.4.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.4.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.4.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.4.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.4.1.1.6

VO2 Max

C.2

uint8

1

Unit: org.bluetooth.unit.transfer_rate.milliliter_per_kilogram_per_minute

See Section 3.4.1.1.7

Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.4.1.1.8

Pulse Inter-beat Interval

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.4.1.1.9

Resting Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.4.1.1.10

Heart Rate Variability

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.4.1.1.11

Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_per_minute

See Section 3.4.1.1.12

MSO

Resting Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_per_minute

See Section 3.4.1.1.13

Table 3.10. Structure of the CardioRespiratory Activity Instantaneous Data characteristic

C.1

Mandatory if no segmentation into multiple notifications is used.

Also mandatory if segmentation into multiple notifications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.4.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.4.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.11.

When the server includes a given data field in any of the segments (in case of Data Record segmentation), the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the CardioRespiratory Activity Instantaneous Data characteristic.

If the Physical Activity Monitor Features characteristic denotes server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 1 when the device is worn and shall be set to 0 when the device is not worn.

If the Physical Activity Monitor Features characteristic does not denote server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 0.

Bit Number

Definition

0

VO2 Max Present

1

Heart Rate Present

2

Pulse Inter-beat Interval Present

3

Resting Heart Rate Present

4

Heart Rate Variability Present

5

Respiration Rate Present

6

Resting Respiration Rate Present

7 to 14

RFU

15

Device Worn

Table 3.11. CardioRespiratory Activity Instantaneous Data characteristic—Flags field

3.4.1.1.3. Session ID field

The Session ID field represents the identifier of the physical activity session to which the data is related.

3.4.1.1.4. Sub-session ID field

The Sub-session ID field represents the identifier of the physical activity sub-session to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.4.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the time stamp of the data included in the CardioRespiratory Activity Instantaneous Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.4.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number included in the CardioRespiratory Activity Instantaneous Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.4.1.1.7. VO2 Max field

The VO2 Max field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for VO2 Max.

The VO2 Max field represents the user’s aerobic capacity, expressed as the maximum amount of oxygen that the user utilizes during very intense exercise.

3.4.1.1.8. Heart Rate field

The Heart Rate field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate.

The Heart Rate field represents the user’s heart rate.

3.4.1.1.9. Pulse Inter-beat Interval field

The Pulse Inter-beat Interval field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Pulse Inter-beat Interval.

The Pulse Inter-beat Interval field represents the interval between the user’s heartbeats. It may be determined by measuring the time interval between two consecutive R-peaks in an electrocardiogram.

3.4.1.1.10. Resting Heart Rate field

The Resting Heart Rate field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Heart Rate.

The Resting Heart Rate field represents the user’s heart rate at rest.

3.4.1.1.11. Heart Rate Variability field

The Heart Rate Variability field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate Variability.

The Heart Rate Variability field represents the user’s pulse inter-beat interval variation.

3.4.1.1.12. Respiration Rate field

The Respiration Rate field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Respiration Rate.

The Respiration Rate field represents the user’s breathing rate.

3.4.1.1.13. Resting Respiration Rate field

The Resting Respiration Rate field may be included in the CardioRespiratory Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Respiration Rate.

The Resting Respiration Rate field represents the user’s breathing rate at rest.

3.4.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.5. CardioRespiratory Activity Summary Data

The CardioRespiratory Activity Summary Data characteristic is identified using the UUID «CardioRespiratory Activity Summary Data», as defined in [1].

The CardioRespiratory Activity Summary Data characteristic is used to send session/sub-session summary-type data to the client (see the definition of summary data in Section 2.2). The data is related to measurements that are typically supported by physical activity monitors that have cardiovascular and/or respiratory capabilities.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.12.

3.5.1. Characteristic behavior

The CardioRespiratory Activity Summary Data characteristic shall be indicated when it is configured for indication via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be indicated approximately once every 5 to 60 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

All the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple indications.

3.5.1.1. Characteristic structure

The structure of the CardioRespiratory Activity Summary Data characteristic is defined in Table 3.12.

The characteristic value is of variable length, ranging up to 62 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.5.1.1.1

Flags

C.1

32 bit

4

See Section 3.5.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.5.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.5.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.5.1.1.6

Time in Heart Rate Zone1

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.7

Time in Heart Rate Zone2

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.8

Time in Heart Rate Zone3

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.9

Time in Heart Rate Zone4

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.10

Time in Heart Rate Zone5

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.11

Minimum VO2 Max

C.2

uint8

1

Unit: org.bluetooth.unit.transfer_rate.milliliter_­per_­kilogram_per_minute

See Section 3.5.1.1.12

Maximum VO2 Max

C.2

uint8

1

Unit: org.bluetooth.unit.transfer_rate.milliliter_­per_­kilogram_per_minute

See Section 3.5.1.1.13

Average VO2 Max

C.2

uint8

1

Unit: org.bluetooth.unit.transfer_rate.milliliter_­per_­kilogram_per_minute

See Section 3.5.1.1.14

Minimum Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.5.1.1.15

Maximum Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.5.1.1.16

Average Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.5.1.1.17

Minimum Pulse Inter-beat Interval

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.18

Maximum Pulse Inter-beat Interval

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.19

Average Pulse Inter-beat Interval

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.20

Minimum Resting Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_­per_­minute

See Section 3.5.1.1.21

Maximum Resting Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_­per_­minute

See Section 3.5.1.1.22

Average Resting Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_­per_­minute

See Section 3.5.1.1.23

Minimum Heart Rate Variability

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.24

Maximum Heart Rate Variability

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.25

Average Heart Rate Variability

C.2

uint16

2

Base Unit: org.bluetooth.unit.time.second

Represented values: M = 1, d = 0, b =-10

Unit is 1/1024 s

See Section 3.5.1.1.26

Minimum Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.27

Maximum Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.28

Average Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.29

Minimum Resting Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.30

Maximum Resting Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.31

Average Resting Respiration Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.breaths_­per_­minute

See Section 3.5.1.1.32

MSO

Worn Duration

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.5.1.1.33

Table 3.12. Structure of the CardioRespiratory Activity Summary Data characteristic

C.1

Mandatory if no segmentation into multiple indications is used.

Also mandatory if segmentation into multiple indications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.5.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.5.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.13.

When the server includes a given data field, the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the CardioRespiratory Activity Summary Data characteristic.

Bit Number

Definition

0

Time in Heart Rate Zone1 Present

1

Time in Heart Rate Zone2 Present

2

Time in Heart Rate Zone3 Present

3

Time in Heart Rate Zone4 Present

4

Time in Heart Rate Zone5 Present

5

Minimum VO2 Max Present

6

Maximum VO2 Max Present

7

Average VO2 Max Present

8

Minimum Heart Rate Present

9

Maximum Heart Rate Present

10

Average Heart Rate Present

11

Minimum Pulse Inter-beat Interval Present

12

Maximum Pulse Inter-beat Interval Present

13

Average Pulse Inter-beat Interval Present

14

Minimum Resting Heart Rate Present

15

Maximum Resting Heart Rate Present

16

Average Resting Heart Rate Present

17

Minimum Heart Rate Variability Present

18

Maximum Heart Rate Variability Present

19

Average Heart Rate Variability Present

20

Minimum Respiration Rate Present

21

Maximum Respiration Rate Present

22

Average Respiration Rate Present

23

Minimum Resting Respiration Rate Present

24

Maximum Resting Respiration Rate Present

25

Average Resting Respiration Rate Present

26

Worn Duration Present

27 to 31

RFU

Table 3.13. CardioRespiratory Activity Summary Data characteristic—Flags field

3.5.1.1.3. Session ID field

The Session ID field represents the physical activity session identifier to which the data is related.

3.5.1.1.4. Sub-session ID field

The Sub-session ID field represents the physical activity sub-session identifier to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.5.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the data time stamp that is included in the CardioRespiratory Activity Summary Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.5.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number that is included in the CardioRespiratory Activity Summary Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.5.1.1.7. Time in Heart Rate Zone1 field

The Time in Heart Rate Zone1 field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time in Heart Rate Zone1.

The Time in Heart Rate Zone1 field represents the total amount of time within the physical activity session/sub-session in which the user’s heart rate remains in Heart Rate Zone1.

3.5.1.1.8. Time in Heart Rate Zone2 field

The Time in Heart Rate Zone2 field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time in Heart Rate Zone2.

The Time in Heart Rate Zone2 field represents the total amount of time within the physical activity session/sub-session in which the user’s heart rate remains in Heart Rate Zone2.

3.5.1.1.9. Time in Heart Rate Zone3 field

The Time in Heart Rate Zone3 field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time in Heart Rate Zone3.

The Time in Heart Rate Zone3 field represents the total amount of time within the physical activity session/sub-session in which the user’s heart rate remains in Heart Rate Zone3.

3.5.1.1.10. Time in Heart Rate Zone4 field

The Time in Heart Rate Zone4 field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time in Heart Rate Zone4.

The Time in Heart Rate Zone4 field represents the total amount of time within the physical activity session/sub-session in which the user’s heart rate remains in Heart Rate Zone4.

3.5.1.1.11. Time in Heart Rate Zone5 field

The Time in Heart Rate Zone5 field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time in Heart Rate Zone5.

The Time in Heart Rate Zone5 field represents the total amount of time within the physical activity session/sub-session in which the user’s heart rate remains in Heart Rate Zone5.

3.5.1.1.12. Minimum VO2 Max field

The Minimum VO2 Max field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for VO2 Max.

The Minimum VO2 Max field represents the user’s minimum aerobic capacity during the physical activity session/sub-session. See Section 3.4.1.1.7 for more details on aerobic capacity.

3.5.1.1.13. Maximum VO2 Max field

The Maximum VO2 Max field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for VO2 Max.

The Maximum VO2 Max field represents the user’s maximum aerobic capacity during the physical activity session/sub-session. See Section 3.4.1.1.7 for more details on aerobic capacity.

3.5.1.1.14. Average VO2 Max field

The Average VO2 Max field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for VO2 Max.

The Average VO2 Max field represents the user’s average aerobic capacity during the physical activity session/sub-session. See Section 3.4.1.1.7 for more details on aerobic capacity.

3.5.1.1.15. Minimum Heart Rate field

The Minimum Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate.

The Minimum Heart Rate field represents the user’s minimum heart rate during the physical activity session/sub-session.

3.5.1.1.16. Maximum Heart Rate field

The Maximum Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate.

The Maximum Heart Rate field represents the user’s maximum heart rate during the physical activity session/sub-session.

3.5.1.1.17. Average Heart Rate field

The Average Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate.

The Average Heart Rate field represents the user’s average heart rate during the physical activity session/sub-session.

3.5.1.1.18. Minimum Pulse Inter-beat Interval field

The Minimum Pulse Inter-beat Interval field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Pulse Inter-beat Interval.

The Minimum Pulse Inter-beat Interval field represents the minimum interval between the user’s heartbeats during the physical activity session/sub-session. See Section 3.4.1.1.9 for more details on the interval between heartbeats.

3.5.1.1.19. Maximum Pulse Inter-beat Interval field

The Maximum Pulse Inter-beat Interval field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Pulse Inter-beat Interval.

The Maximum Pulse Inter-beat Interval field represents the maximum interval between the user’s heartbeats during the physical activity session/sub-session. See Section 3.4.1.1.9 for more details on the interval between heartbeats.

3.5.1.1.20. Average Pulse Inter-beat Interval field

The Average Pulse Inter-beat Interval field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Pulse Inter-beat Interval.

The Average Pulse Inter-beat Interval field represents the average interval between the user’s heartbeats during the physical activity session/sub-session. See Section 3.4.1.1.9 for more details on the interval between heartbeats.

3.5.1.1.21. Minimum Resting Heart Rate field

The Minimum Resting Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Heart Rate.

The Minimum Resting Heart Rate field represents the user’s minimum heart rate at rest during the physical activity session/sub-session.

3.5.1.1.22. Maximum Resting Heart Rate field

The Maximum Resting Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Heart Rate.

The Maximum Resting Heart Rate field represents the user’s maximum heart rate at rest during the physical activity session/sub-session.

3.5.1.1.23. Average Resting Heart Rate field

The Average Resting Heart Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Heart Rate.

The Average Resting Heart Rate field represents the user’s average heart rate at rest during the physical activity session/sub-session.

3.5.1.1.24. Minimum Heart Rate Variability field

The Minimum Heart Rate Variability field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate Variability.

The Minimum Heart Rate Variability field represents the minimum variation of the user’s pulse inter-beat interval during the physical activity session/sub-session.

3.5.1.1.25. Maximum Heart Rate Variability field

The Maximum Heart Rate Variability field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate Variability.

The Maximum Heart Rate Variability field represents the maximum variation of the user’s pulse inter-beat interval during the physical activity session/sub-session.

3.5.1.1.26. Average Heart Rate Variability field

The Average Heart Rate Variability field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Heart Rate Variability.

The Average Heart Rate Variability field represents the average variation of the user’s pulse inter-beat interval during the physical activity session/sub-session.

3.5.1.1.27. Minimum Respiration Rate field

The Minimum Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Respiration Rate.

The Minimum Respiration Rate field represents the user’s minimum breathing rate during the physical activity session/sub-session.

3.5.1.1.28. Maximum Respiration Rate field

The Maximum Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Respiration Rate.

The Maximum Respiration Rate field represents the user’s maximum breathing rate during the physical activity session/sub-session.

3.5.1.1.29. Average Respiration Rate field

The Average Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Respiration Rate.

The Average Respiration Rate field represents the user’s average breathing rate during the physical activity session/sub-session.

3.5.1.1.30. Minimum Resting Respiration Rate field

The Minimum Resting Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Respiration Rate.

The Minimum Resting Respiration Rate field represents the user’s minimum breathing rate at rest during the physical activity session/sub-session.

3.5.1.1.31. Maximum Resting Respiration Rate field

The Maximum Resting Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Respiration Rate.

The Maximum Resting Respiration Rate field represents the user’s maximum breathing rate at rest during the physical activity session/sub-session.

3.5.1.1.32. Average Resting Respiration Rate field

The Average Resting Respiration Rate field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Resting Respiration Rate.

The Average Resting Respiration Rate field represents the user’s average breathing rate at rest during the physical activity session/sub-session.

3.5.1.1.33. Worn Duration field

The Worn Duration field may be included in the CardioRespiratory Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Worn Duration.

See Section 3.3.1.1.31 for more details on the Worn Duration field.

3.5.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.6. Step Counter Activity Summary Data

The Step Counter Activity Summary Data characteristic is identified using the UUID «Step Counter Activity Summary Data», as defined in [1].

The Step Counter Activity Summary Data characteristic is used to send session/sub-session summary‑type data to the client (see the definition of summary data in Section 2.2). The data is related to measurements that are typically supported by physical activity monitors that have step-counting capabilities.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.14.

3.6.1. Characteristic behavior

The Step Counter Activity Summary Data characteristic shall be indicated when it is configured for indication via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be indicated approximately once every 5 to 60 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

All the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple indications.

3.6.1.1. Characteristic structure

The structure of the Step Counter Activity Summary Data characteristic is defined in Table 3.14.

The characteristic value is of variable length, ranging up to 29 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.6.1.1.1

Flags

C.1

8 bit

1

See Section 3.6.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.6.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.6

Normal Walking Steps

C.2

uint24

3

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.7

Intensity Steps

C.2

uint24

3

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.8

Floor Steps

C.2

uint24

3

Unit: org.bluetooth.unit.unitless

See Section 3.6.1.1.9

Distance

C.2

uint24

3

Base Unit: org.bluetooth.unit.length.metre

Represented values: M = 1, d = 1, b = 0

Unit is 1 m

See Section 3.6.1.1.10

MSO

Worn Duration

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.6.1.1.11

Table 3.14. Structure of the Step Counter Activity Summary Data characteristic

C.1

Mandatory if no segmentation into multiple indications is used.

Also mandatory if segmentation into multiple indications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.6.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.6.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.15.

When the server includes a given data field, the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the Step Counter Activity Summary Data characteristic.

Bit Number

Definition

0

Normal Walking Steps Present

1

Intensity Steps Present

2

Floor Steps Present

3

Distance Present

4

Worn Duration Present

5 to 7

RFU

Table 3.15. Step Counter Activity Summary Data characteristic—Flags field

3.6.1.1.3. Session ID field

The Session ID field represents the physical activity session identifier to which the data is related.

3.6.1.1.4. Sub-session ID field

The Sub-session ID field represents the physical activity sub-session identifier to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.6.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the data time stamp that is included in the Step Counter Activity Summary Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.6.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number that is included in the Step Counter Activity Summary Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.6.1.1.7. Normal Walking Steps field

The Normal Walking Steps field may be included in the Step Counter Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Normal Walking Steps.

The Normal Walking Steps field represents the number of normal walking steps taken by the user during the physical activity session/sub-session.

3.6.1.1.8. Intensity Steps field

The Intensity Steps field may be included in the Step Counter Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Intensity Steps.

The Intensity Steps field represents the number of intensity walking steps taken by the user during the physical activity session/sub-session.

3.6.1.1.9. Floor Steps field

The Floor Steps field may be included in the Step Counter Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Floor Steps.

The Floor Steps field represents the number of steps taken by the user to climb up stairs (floors) during the physical activity session/sub-session.

3.6.1.1.10. Distance field

The Distance field may be included in the Step Counter Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Distance.

See Section 3.3.1.1.14 for more details on the Distance field.

3.6.1.1.11. Worn Duration field

The Worn Duration field may be included in the Step Counter Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Worn Duration.

See Section 3.3.1.1.31 for more details on the Worn Duration field.

3.6.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.7. Sleep Activity Instantaneous Data

The Sleep Activity Instantaneous Data characteristic is identified using the UUID «Sleep Activity Instantaneous Data», as defined in [1].

The Sleep Activity Instantaneous Data characteristic is used to send session/sub-session-related data of an instantaneous nature (as defined in Section 2.2) to the client. The data is related to measurements that are typically supported by physical activity monitors that have sleep-monitoring capabilities.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.16.

3.7.1. Characteristic behavior

The Sleep Activity Instantaneous Data characteristic shall be notified when it is configured for notification via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be notified approximately once every 1 to 30 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

For Bluetooth LE, all the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple notifications.

For BR/EDR, this restriction does not exist due to a larger MTU size.

3.7.1.1. Characteristic structure

The structure of the Sleep Activity Instantaneous Data characteristic is defined in Table 3.16.

The characteristic value is of variable length, ranging up to 28 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.7.1.1.1

Flags

C.1

16 bit

2

See Section 3.7.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.7.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.7.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.7.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.7.1.1.6

Visible Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.7.1.1.7

UV Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.7.1.1.8

IR Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.7.1.1.9

Sleep Stage

C.2

uint24

3

Unit: org.bluetooth.unit.unitless

See Section 3.7.1.1.10

MSO

Sleeping Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_­per_­minute

See Section 3.7.1.1.11

Table 3.16. Structure of the Sleep Activity Instantaneous Data characteristic

C.1

Mandatory if no segmentation into multiple notifications is used.

Also mandatory if segmentation into multiple notifications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.7.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.7.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.17.

When the server includes a given data field—in any of the segments, in case of Data Record segmentation—the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the Sleep Activity Instantaneous Data characteristic.

If the Physical Activity Monitor Features characteristic denotes server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 1 when the device is worn and shall be set to 0 when the device is not worn.

If the Physical Activity Monitor Features characteristic does not denote server support for the Device Worn feature, then the associated bit of the Flags field shall be set to 0.

Bit Number

Definition

0

Visible Light Level Present

1

UV Light Level Present

2

IR Light Level Present

3

Sleep Stage Present

4

Sleeping Heart Rate Present

5 to 14

RFU

15

Device Worn

Table 3.17. Sleep Activity Instantaneous Data characteristic—Flags field

3.7.1.1.3. Session ID field

The Session ID field represents the identifier of the physical activity session to which the data is related.

3.7.1.1.4. Sub-session ID field

The Sub-session ID field represents the identifier of the physical activity sub-session to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.7.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the time stamp of the data included in the Sleep Activity Instantaneous Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.7.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number included in the Sleep Activity Instantaneous Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.7.1.1.7. Visible Light Level field

The Visible Light Level field may be included in the Sleep Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Visible Light Level.

The Visible Light Level field represents the amount of visible light to which the user is exposed.

3.7.1.1.8. UV Light Level field

The UV Light Level field may be included in the Sleep Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for UV Light Level.

The UV Light Level field represents the amount of UV light to which the user is exposed.

3.7.1.1.9. IR Light Level field

The IR Light Level field may be included in the Sleep Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for IR Light Level.

The IR Light Level field represents the amount of IR light to which the user is exposed.

3.7.1.1.10. Sleep Stage field

The Sleep Stage field may be included in the Sleep Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Sleep Stage.

The Sleep Stage field represents the user’s sleep stage, as defined in Table 3.18.

The associated bit of the sleep stages in Table 3.18 shall be set to 1 when the sleep stage is applicable and shall be set to 0 when not applicable. Multiple stages may be concurrently applicable.

Bit Number

Definition

Description

0

Wake

1

Sleep

Maps to any of REM, N1, N2, N3, and N4

2

REM

Rapid Eye Movement (REM) stage

3

Non-REM

Non-REM stage; maps to any of N1, N2, N3, and N4

4

Light Sleep

Typically maps to any of N1 and N2

5

Deep Sleep

Typically maps to any of N3 and N4

6

N1

Non-REM stage 1

7

N2

Non-REM stage 2

8

N3

Non-REM stage 3

9

N4

Non-REM stage 4

10

Active Sleep

Applicable to infants

11

Quiet Sleep

Applicable to infants

12

Intermediate Sleep

Applicable to infants; typically a transitional stage

13

Arousal

Applicable to infants

14 to 22

RFU

23

Unknown

Stage is unknown or undetermined

Table 3.18. Sleep Activity Instantaneous Data characteristic—Sleep Stage field

3.7.1.1.11. Sleeping Heart Rate field

The Sleeping Heart Rate field may be included in the Sleep Activity Instantaneous Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Sleeping Heart Rate.

The Sleeping Heart Rate field represents the user’s heart rate during sleep.

3.7.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.8. Sleep Activity Summary Data

The Sleep Activity Summary Data characteristic is identified using the UUID «Sleep Activity Summary Data», as defined in [1].

The Sleep Activity Summary Data characteristic is used to send session/sub-session summary-type data to the client (see the definition of summary data in Section 2.2). The data is related to measurements that are typically supported by physical activity monitors that have sleep-monitoring capabilities.

Included in the characteristic value are a Header field and a set of conditional fields, as shown in Table 3.19.

3.8.1. Characteristic behavior

The Sleep Activity Summary Data characteristic shall be indicated when it is configured for indication via the Client Characteristic Configuration descriptor and new data is available. This characteristic should be indicated approximately once every 5 to 60 seconds as new data becomes available during a connection. This interval may vary, is determined by the server implementation, and is not configurable by the client.

All the data fields of this characteristic cannot be present simultaneously if using a default ATT_MTU size. See Section 2.4 for additional requirements on the transmission of a Data Record in multiple indications.

3.8.1.1. Characteristic structure

The structure of the Sleep Activity Summary Data characteristic is defined in Table 3.19.

The characteristic value is of variable length, ranging up to 68 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Header

M

N/A

1

See Section 3.8.1.1.1

Flags

C.1

24 bit

3

See Section 3.8.1.1.2

Session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.8.1.1.3

Sub-session ID

C.1

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.8.1.1.4

Relative Timestamp

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.5

Sequence Number

C.1

uint32

4

Unit: org.bluetooth.unit.unitless

See Section 3.8.1.1.6

Total Sleep Time

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.7

Total Wake Time

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.8

Total Bed Time

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.9

Number of Awakenings

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.8.1.1.10

Sleep Latency

C.2

uint16

2

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.11

Sleep Efficiency

C.2

uint8

1

Unit: org.bluetooth.unit.percentage

See Section 3.8.1.1.12

Snooze Time

C.2

uint16

2

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.13

Number of Toss-&-turn Events

C.2

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.8.1.1.14

Time of Awakening After Alarm

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.15

Minimum Visible Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.16

Maximum Visible Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.17

Average Visible Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.18

Minimum UV Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.19

Maximum UV Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.20

Average UV Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.21

Minimum IR Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.22

Maximum IR Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.23

Average IR Light Level

C.2

uint24

3

Base Unit: org.bluetooth.unit.illuminance.lux

Represented values: M = 1, d = -2, b = 0

Unit is 0.01 lux

See Section 3.8.1.1.24

Average Sleeping Heart Rate

C.2

uint8

1

Unit: org.bluetooth.unit.period.beats_per_minute

See Section 3.8.1.1.25

MSO

Worn Duration

C.2

uint24

3

Unit: org.bluetooth.unit.time.second

See Section 3.8.1.1.26

Table 3.19. Structure of the Sleep Activity Summary Data characteristic

C.1

Mandatory if no segmentation into multiple indications is used.

Also mandatory if segmentation into multiple indications is used, but only included in the first segment.

C.2:

Optional if the server implementation supports the respective feature as specified by the Physical Activity Monitor Features characteristic (see Table 3.3), otherwise excluded.

M:

Mandatory

Note: Value representation information indicated in the description fields uses the terminology defined and explained in the GATT Specification Supplement [3].

3.8.1.1.1. Header field

The Header field and its use are described in Section 2.4.

3.8.1.1.2. Flags field

The Flags field bits and their function are defined in Table 3.20.

When the server includes a given data field, the associated bit of the Flags field shall be set to 1 (field present); otherwise, the associated bit shall be set to 0 (field not present).

If a given bit in the Physical Activity Monitor Features characteristic is set to 0, then the corresponding Flags field bit(s) shall be set to 0 and the associated field(s) shall not be present in the Sleep Activity Summary Data characteristic.

Bit Number

Definition

0

Total Sleep Time Present

1

Total Wake Time Present

2

Total Bed Time Present

3

Number of Awakenings Present

4

Sleep Latency Present

5

Sleep Efficiency Present

6

Snooze Time Present

7

Number of Toss-&-turn Events Present

8

Time of Awakening After Alarm Present

9

Minimum Visible Light Level Present

10

Maximum Visible Light Level Present

11

Average Visible Light Level Present

12

Minimum UV Light Level Present

13

Maximum UV Light Level Present

14

Average UV Light Level Present

15

Minimum IR Light Level Present

16

Maximum IR Light Level Present

17

Average IR Light Level Present

18

Average Sleeping Heart Rate Present

19

Worn Duration Present

20 to 23

RFU

Table 3.20. Sleep Activity Summary Data characteristic—Flags field

3.8.1.1.3. Session ID field

The Session ID field represents the physical activity session identifier to which the data is related.

3.8.1.1.4. Sub-session ID field

The Sub-session ID field represents the physical activity sub-session identifier to which the data is related. The value 0xFFFF is reserved to denote that the data in the characteristic relates to an entire session (i.e., including all its sub-sessions).

3.8.1.1.5. Relative Timestamp field

The Relative Timestamp field represents the data time stamp that is included in the Sleep Activity Summary Data characteristic. The time stamp is represented as the elapsed number of seconds since the start of the physical activity session that is denoted in the Session ID field.

3.8.1.1.6. Sequence Number field

The Sequence Number field represents the data sequence number that is included in the Sleep Activity Summary Data characteristic.

See Section 3.2.1.1.6 for more details about the Sequence Number field values.

3.8.1.1.7. Total Sleep Time field

The Total Sleep Time field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Total Sleep Time.

The Total Sleep Time field represents the amount of time the user was sleeping during the (sleep) physical activity session/sub-session.

3.8.1.1.8. Total Wake Time field

The Total Wake Time field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Total Wake Time.

The Total Wake Time field represents the amount of time the user was awake during the (sleep) physical activity session/sub-session.

3.8.1.1.9. Total Bed Time field

The Total Bed Time field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Total Bed Time.

The Total Bed Time field represents the amount of time the user was in bed during the (sleep) physical activity session/sub-session.

3.8.1.1.10. Number of Awakenings field

The Number of Awakenings field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Number of Awakenings.

The Number of Awakenings field represents the number of awakenings the user experienced during the (sleep) physical activity session/sub-session.

3.8.1.1.11. Sleep Latency field

The Sleep Latency field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Sleep Latency.

The Sleep Latency field represents the amount of time the user required to fall asleep during the (sleep) physical activity session/sub-session.

3.8.1.1.12. Sleep Efficiency field

The Sleep Efficiency field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Sleep Efficiency.

The Sleep Efficiency field represents the ratio of total sleep time compared to total bed time during the (sleep) physical activity session/sub-session.

3.8.1.1.13. Snooze Time field

The Snooze Time field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Snooze Time.

The Snooze Time field represents the amount of time during which the wake-up alarm repetition was delayed during the (sleep) physical activity session/sub-session.

3.8.1.1.14. Number of Toss-&-turn Events field

The Number of Toss-&-turn Events field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Number of Toss-&-turn Events.

The Number of Toss-&-turn Events field represents the number of times the user changed posture in bed attempting to fall asleep during the (sleep) physical activity session/sub-session.

3.8.1.1.15. Time of Awakening After Alarm field

The Time of Awakening After Alarm field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Time of Awakening After Alarm.

The Time of Awakening After Alarm represents the amount of time the user spent in bed after the wake-up alarm during the (sleep) physical activity session/sub-session.

3.8.1.1.16. Minimum Visible Light Level field

The Minimum Visible Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Visible Light Level.

The Minimum Visible Light Level field represents the minimum amount of visible light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.17. Maximum Visible Light Level field

The Maximum Visible Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Visible Light Level.

The Maximum Visible Light Level field represents the maximum amount of visible light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.18. Average Visible Light Level field

The Average Visible Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Visible Light Level.

The Average Visible Light Level field represents the average amount of visible light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.19. Minimum UV Light Level field

The Minimum UV Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for UV Light Level.

The Minimum UV Light Level field represents the minimum amount of UV light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.20. Maximum UV Light Level field

The Maximum UV Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for UV Light Level.

The Maximum UV Light Level field represents the maximum amount of UV light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.21. Average UV Light Level field

The Average UV Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for UV Light Level.

The Average UV Light Level field represents the average amount of UV light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.22. Minimum IR Light Level field

The Minimum IR Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for IR Light Level.

The Minimum IR Light Level field represents the minimum amount of IR light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.23. Maximum IR Light Level field

The Maximum IR Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for IR Light Level.

The Maximum IR Light Level field represents the maximum amount of IR light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.24. Average IR Light Level field

The Average IR Light Level field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for IR Light Level.

The Average IR Light Level field represents the average amount of IR light to which the user was exposed during the (sleep) physical activity session/sub-session.

3.8.1.1.25. Average Sleeping Heart Rate field

The Average Sleeping Heart Rate field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Sleeping Heart Rate.

The Average Sleeping Heart Rate field represents the user’s average heart rate during sleep in the (sleep) physical activity session/sub-session.

3.8.1.1.26. Worn Duration field

The Worn Duration field may be included in the Sleep Activity Summary Data characteristic if the Physical Activity Monitor Features characteristic denotes server support for Worn Duration.

See Section 3.3.1.1.31 for more details on the Worn Duration field.

3.8.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.9. Physical Activity Monitor Control Point

The Physical Activity Monitor Control Point characteristic is identified using the UUID «Physical Activity Monitor Control Point», as defined in [1].

The Physical Activity Monitor Control Point characteristic is used to request a specific procedure to be executed by the server when a value is written to it using the GATT Write Characteristic Value sub‑procedure.

3.9.1. Characteristic behavior

A procedure is triggered by writing a value that includes an opcode specifying the operation. This might require a parameter that is valid within the context of that opcode, as specified in Section 3.9.1.1.

The server shall respond either by sending an ATT Write Response to confirm that it has accepted the request or by sending an appropriate ATT Error or ATT Application Error code.

Sending an ATT Write Response signifies that the request was successfully accepted by the server.

If the server cannot perform the requested procedure, then it shall reject the ATT Write Request to the Physical Activity Monitor Control Point, as defined in Section 3.9.3.

3.9.1.1. Characteristic structure

The structure of the Physical Activity Monitor Control Point characteristic and its related procedures are defined in Table 3.21.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Op Code

M

uint8

1

See Table 3.22

MSO

Parameter

C.1

variable

0 to 5

See Table 3.22

Table 3.21. Structure of the Physical Activity Monitor Control Point characteristic

C.1:

Mandatory if the opcode requires a parameter, in which case the field size is 1 to 5 octets depending on the opcode requirements.

M

Mandatory

Table 3.22 defines the opcodes of the Physical Activity Monitor Control Point characteristic.

Opcode Value

Requirement

Definition

Parameter Value

Description

0x00

N/A

Reserved for Future Use

N/A

N/A

0x01

M

Enquire Sessions

None

Request information about all sessions stored in the database of the server. This means that all stored sessions must be listed in the Physical Activity Session Descriptor characteristic. See Section 3.9.1.1.1 for details.

0x02

M

Enquire Sub-sessions

Session ID (uint16)

Request information about all sub-sessions that comprise the session identified by the Session ID parameter. This means that all stored sub-sessions must be listed in the Physical Activity Session Descriptor characteristic. See Section 3.9.1.1.2 for details.

0x03

M

Get Ended Session Data

Data Request Specification, see Section 3.9.1.1.3

Request to receive the data associated with the ended session/sub-session indicated by the Data Request Specification parameter. See Section 3.9.1.1.3 for details.

0x04

M

Start Session/Sub-session

Type (8 bit)

This parameter value indicates whether a session (value 0x00) or a sub-session (value 0x01) shall be started. All other values are RFU.

Request the start of a new session or sub-session as specified by the Type parameter. This means that the current session/sub-session must end at the point in time at which the requested new session/sub-session starts. See Section 3.9.1.1.4 for details.

0x05

M

Stop Session

None

Request the current session to stop running. See Section 3.9.1.1.5 for details.

0x06

M

Delete Ended Session

Session ID (uint16)

Request the deletion of the session identified by the Session ID parameter from the database of the server, including all its sub-sessions. See Section 3.9.1.1.6 for details.

0x07

C.1

Set Average Activity Type

Set Average Activity Type Specification, see Section 3.9.1.1.7

Request to set average activity type of current session/sub-session. See Section 3.9.1.1.7 for details.

0x08 to 0xF9

N/A

Reserved for Future Use

N/A

N/A

0xFA

M

Get Ended Session Data Success Response

See Section 3.9.1.1.3

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.3 for details.

0xFB

M

Enquire Sub-sessions Success Response

See Section 3.9.1.1.2

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.2 for details.

0xFC

M

Enquire Sessions Success Response

See Section 3.9.1.1.1

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.1 for details.

0xFD

M

Get Ended Session Data Error Response

See Section 3.9.3.5

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.3 and Section 3.9.3.5 for details.

0xFE

M

Enquire Sub-sessions Error Response

See Section 3.9.3.4

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.2 and Section 3.9.3.4 for details.

0xFF

M

Enquire Sessions Error Response

See Section 3.9.3.3

May be sent to the client in an indication of the Physical Activity Monitor Control Point characteristic. See Section 3.9.1.1.1 and Section 3.9.3.3 for details.

Table 3.22. Physical Activity Monitor Control Point characteristic—opcodes

C.1:

Mandatory to support if the Activity Type feature is supported; otherwise excluded.

M:

Mandatory

3.9.1.1.1. Enquire Sessions procedure

If the Enquire Sessions procedure is successfully executed, then the server shall send to the client a description of all sessions in the server database via indications of the Physical Activity Session Descriptor characteristic.

Therefore, for every existing session in the server database, including the current session, the server shall update and indicate the Physical Activity Session Descriptor characteristic. The Describes Session bit of the Physical Activity Session Descriptor characteristic Flags field shall be set to 1. The remaining bits shall be set to correctly describe the status of the described session.

If the Enquire Sessions procedure is successfully executed, then the server shall conclude the procedure by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.23.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFC

Enquire Sessions Success Response (as defined in Table 3.22)

MSO

Parameter

M

uint16

2

0x0000

RFU

0x0001 to 0xFFFF

Number of reported sessions

Table 3.23. Physical Activity Monitor Control Point characteristic—Enquire Sessions Success Response opcode

M:

Mandatory

If the Client Characteristic Configuration descriptor of the Physical Activity Monitor Control Point characteristic is not configured for indications, then the server shall reject the request for the Enquire Sessions procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured” (ATT error code 0xFD).

Likewise, if the Client Characteristic Configuration descriptor of the Physical Activity Session Descriptor characteristic is not configured for indications, then the server shall reject the request for the Enquire Sessions procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured.”

If, for any other reason, the Enquire Sessions procedure is not successfully executed, the error condition shall be handled as defined in Section 3.9.3

3.9.1.1.2. Enquire Sub-sessions procedure

If the Enquire Sub-sessions procedure is successfully executed, then the server shall send to the client a description of all sub-sessions in its database that are associated with the session identified by the Session ID parameter defined in Table 3.22.

The description of the sub-sessions is sent via indications of the Physical Activity Session Descriptor characteristic. Therefore, for every sub-session, including the current sub-session, the server shall update and indicate the Physical Activity Session Descriptor characteristic. The Describes Session bit of the Physical Activity Session Descriptor characteristic Flags field shall be set to 0. The remaining bits shall be set to correctly describe the status of the described sub-session.

If the Enquire Sub-sessions procedure is successfully executed, then the server shall conclude the procedure by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.24.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFC

Enquire Sessions Success Response (as defined in Table 3.22)

MSO

Parameter

M

uint16

2

0x0000

RFU

0x0001 to 0xFFFF

Number of reported sub-sessions

Table 3.24. Physical Activity Monitor Control Point characteristic—Enquire Sub-sessions Success Response

M:

Mandatory

If the Client Characteristic Configuration descriptor of the Physical Activity Monitor Control Point characteristic is not configured for indications, then the server shall reject the request for the Enquire Sub‑sessions procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured” (ATT error code 0xFD).

Likewise, if the Client Characteristic Configuration descriptor of the Physical Activity Session Descriptor characteristic is not configured for indications, then the server shall reject the request for the Enquire Sub-sessions procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured.”

If, for any other reason, the Enquire Sub-sessions procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3

3.9.1.1.3. Get Ended Session Data procedure

If the Get Ended Session Data procedure is successfully executed, then the server shall send to the client the data associated to the Session ID, Sub-session ID, and Data Characteristic parameters defined in Table 3.25.

Due to memory or other constraints, a server implementation might not always be able to keep entire session data in memory. In those cases the procedure would not be successful and would hence return an error response as described in Section 3.9.3.

If the requested data characteristic is a summary data characteristic (i.e., the Data Characteristic parameter value is 0x01, 0x03, 0x04, or 0x06, as defined in Table 3.25), then the server shall send the summary of the requested session/sub-session via indication of the requested data characteristic. The summary of a session/sub-session considers its entirety and therefore contains data values calculated at the end of the session/sub-session.

If the requested data characteristic is an instantaneous data characteristic (i.e., the Data Characteristic parameter value is 0x00, 0x02, or 0x05, as defined in Table 3.25), then the server shall send the entire data log of the requested session/sub-session via a series of notifications of the requested data characteristic.

Parameter

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Session ID

M

uint16

2

0x0000 to 0xFFFE

Data is requested for the session identified by the Session ID parameter.

0xFFFF

RFU.

Sub-session ID

M

uint16

2

0x0000 to 0xFFFE

Data is requested for the sub-session identified by the Sub-session ID parameter.

0xFFFF

Data is requested for all sub-sessions of the session identified by the Session ID parameter.

Data Characteristic

M

uint8

1

0x00

Data is requested for the General Activity Instantaneous Data characteristic. See Section 3.2.

0x01

Data is requested for the General Activity Summary Data characteristic. See Section 3.3.

0x02

Data is requested for the CardioRespiratory Activity Instantaneous Data characteristic. See Section 3.4.

0x03

Data is requested for the CardioRespiratory Activity Summary Data characteristic. See Section 3.5.

0x04

Data is requested for the Step Counter Activity Summary Data characteristic. See Section 3.6.

0x05

Data is requested for the Sleep Activity Instantaneous Data characteristic. See Section 3.7.

0x06

Data is requested for the Sleep Activity Summary Data characteristic. See Section 3.8.

MSO

0x07 to 0xFF

RFU.

Table 3.25. Physical Activity Monitor Control Point characteristic—Get Ended Session Data parameter

M:

Mandatory

If the Get Ended Session Data procedure is successfully executed, then the server shall conclude the procedure by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.26.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFA

Get Ended Session Data Success Response (as defined in Table 3.22)

MSO

Parameter

M

uint24

3

0x000000

RFU

0x000001 to 0xFFFFFF

Number of reported Data Records

Table 3.26. Physical Activity Monitor Control Point characteristic—Get Ended Session Data Success Response

M:

Mandatory

If the requested data characteristic is a summary data characteristic, then the time between the server receiving the Get Ended Session Data procedure request and the following indication sent by the server shall be less than 30 seconds. Also, the time between the server receiving a Handle Value Confirmation and the following indication sent by the server shall be less than 30 seconds. This is illustrated by means of example in Figure 3.1.

Example of timing requirements of the Get Ended Session Data procedure applied to the case of a summary data characteristic transmitted via indication in two segments.
Figure 3.1. Example of timing requirements of the Get Ended Session Data procedure applied to the case of a summary data characteristic transmitted via indication in two segments.

If the requested data characteristic is an instantaneous data characteristic, then the time between the server receiving the Get Ended Session Data procedure request and the following notification sent by the server shall be less than 30 seconds. Also, the time between the server sending a notification and the server sending the following notification (or indication in case of the Physical Activity Monitor Control Point response) shall be less than 30 seconds. This is illustrated by means of example in Figure 3.2.

Example of timing requirements of the Get Ended Session Data procedure applied to the case of an instantaneous data characteristic transmitted via notification in two segments.
Figure 3.2. Example of timing requirements of the Get Ended Session Data procedure applied to the case of an instantaneous data characteristic transmitted via notification in two segments.

If the Client Characteristic Configuration descriptor of the Physical Activity Monitor Control Point characteristic is not configured for indications, then the server shall reject the request for the Get Ended Session Data procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured” (ATT error code 0xFD).

Likewise, if the Client Characteristic Configuration descriptor of the characteristic specified by the Data Characteristic parameter is not configured for indications or notifications, then the server shall reject the request for the Get Ended Session Data procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured.”

If, for any other reason, the Get Ended Session Data procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3

3.9.1.1.4. Start Session/Sub-session procedure

If the Start Session/Sub-session procedure is successfully executed, then the server shall start a new physical activity session or a new physical activity sub-session.

The Type parameter defined in Table 3.22 determines whether the server shall start a new session or a new sub-session.

If the server receives a Type parameter value 0x00, then the server shall start a new session. The server also starts a new sub-session associated to the new session. If a session is currently running at the time the new session is started, then the server also stops the current session and sub-session.

If the server receives a Type parameter value 0x01, then the server shall start a new sub-session associated to the current session. This also means that the server stops the current sub-session.

If the Start Session/Sub-session procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3.

3.9.1.1.5. Stop Session procedure

If the Stop Session procedure is successfully executed, then the server shall stop the current physical activity session. The server also stops the current sub-session associated to the current session.

When a session stops, the server typically retains the associated physical activity data so that it is retrievable via the Get Ended Session Data procedure.

If the Stop Session procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3.

3.9.1.1.6. Delete Ended Session procedure

If the Delete Ended Session procedure is successfully executed, then the server shall delete from the server database the session identified by the Session ID parameter defined in Table 3.22. The deletion of the session includes the deletion of its associated sub-sessions.

For the Delete Ended Session procedure, whether the sensor Data Records measured during the deleted session are equally deleted from the server memory is implementation-specific.

If the Delete Ended Session procedure is successfully executed, then the server shall also update and indicate the Physical Activity Session Descriptor characteristic to describe the deleted session. The Deleted Session bit of the Physical Activity Session Descriptor characteristic Flags field shall be set to 1. The remaining bits shall be set to correctly describe the status of the described session.

If the Client Characteristic Configuration descriptor of the Physical Activity Session Descriptor characteristic is not configured for indications, then the server shall reject the request for the Delete Ended Session procedure with an ATT error response “Client Characteristic Configuration Descriptor Improperly Configured.”

If, for any other reason, the Delete Ended Session procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3.

3.9.1.1.7. Set Average Activity Type procedure

If the Set Average Activity Type procedure is successfully executed, then the server shall update the server database to set the User-Defined sub-field of the average activity type of one or more sub‑sessions to the value specified by the User-Defined Activity Type parameter defined in Table 3.27. The server shall set the scope of the procedure in accordance to the value specified by the Scope parameter defined in Table 3.27.

After the successful execution of the Set Average Activity Type procedure, the server exposes the newly set average activity type value via the Average Activity Type field of the General Activity Summary Data characteristic.

Parameter

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Scope

M

uint8

1

0x00

This parameter value indicates that the request concerns only the current sub-session.

0x01

This parameter value indicates that the request concerns all sub-sessions within the current session.

0x02 to 0xFF

RFU.

MSO

User-Defined Activity Type

M

uint8

1

0x00 to 0xFF

This parameter value indicates the value with which the User-Defined sub-field of the average activity type shall be set.

See Section 3.2.1.1.17 for the description of activity type values.

Table 3.27. Physical Activity Monitor Control Point characteristic—Set Average Activity Type parameter

M:

Mandatory

If the Set Average Activity Type procedure is not successfully executed, then the error condition shall be handled as defined in Section 3.9.3.

3.9.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.9.3. General error handling

Writing an opcode to the Physical Activity Monitor Control Point could result in an ATT error response as described in Section 3.9.3.1 through Section 3.9.3.5.

3.9.3.1. ATT error

An ATT Write Request to the Physical Activity Monitor Control Point characteristic could be rejected with an ATT error response under certain conditions, as defined in the Bluetooth Core Specification [2]. Reasons for sending an ATT error response include, but are not limited to, Insufficient Encryption, Client Characteristic Configuration Descriptor Improperly Configured, Procedure Already in Progress, or Invalid Attribute Value Length.

3.9.3.2. ATT Application Error

An ATT Write Request to the Physical Activity Monitor Control Point characteristic could be rejected with an appropriate ATT Application Error, as defined in Table 1.2. The following sub-sections define conditions when the appropriate ATT Application Error shall be sent.

If more than one error condition listed in the sub-sections below occurs in the same transaction, then the applicable ATT Application Error whose code is nearest to the top of Table 1.2 shall take priority and only this error response shall be sent.

3.9.3.2.1. Op Code Not Supported error

The Op Code Not Supported error response shall be sent if the opcode written to the Physical Activity Monitor Control Point characteristic is not supported by the server. This situation occurs when the server implementation does not support the procedure associated with the opcode value (e.g., the Set Average Activity Type procedure) or when the opcode value is in the RFU value range.

3.9.3.2.2. Invalid Session ID error

The Invalid Session ID error response shall be sent if the Session ID parameter received is not recognized. This could occur if the client erroneously writes a Session ID parameter value that has not been defined by the server.

3.9.3.2.3. Invalid Sub-session ID error

The Invalid Sub-session ID error response shall be sent if the Sub-session ID parameter received is not recognized. This could occur if the client erroneously writes a Sub-session ID parameter value that has not been defined by the server.

3.9.3.2.4. Session Still Running error

The Session Still Running error response shall be sent in response to a Get Ended Session Data procedure request or a Delete Ended Session procedure request if the Session ID parameter value received refers to a session that has not yet ended.

3.9.3.2.5. No Data Available error

The No Data Available error response shall be sent in response to a Get Ended Session Data procedure request if the server has no data stored in the server database that matches the parameter values.

3.9.3.2.6. No Sessions Available error

The No Sessions Available error response shall be sent in response to an Enquire Sessions procedure request if the server has no sessions stored in the server database.

3.9.3.2.7. Invalid Type error

The Invalid Type error response shall be sent in response to a Start Session/Sub-session or Set Average Activity Type procedure request if the Type or Scope parameter value received is in the RFU value range.

3.9.3.2.8. No Session Running error

The No Session Running error response shall be sent in response to a Start Session/Sub-session procedure request or a Set Average Activity Type procedure request if the request cannot be executed because there is no session currently running.

3.9.3.2.9. Nothing To Stop error

The Nothing To Stop error response shall be sent in response to a Stop Session procedure request if the request cannot be executed because there is no session currently running that could be stopped.

3.9.3.2.10. Activity Type Out Of Range error

The Activity Type Out Of Range error response shall be sent in response to a Set Average Activity Type procedure request if the request cannot be executed because the User-Defined Activity Type parameter value received is in the RFU value range.

3.9.3.2.11. Operation Failed error

The Operation Failed error response shall be sent if a requested control point procedure failed for any reason not enumerated above.

3.9.3.3. Enquire Sessions error

When the server has accepted a request for the Enquire Sessions procedure—by sending an ATT Write Response—it is possible that the procedure still fails.

If the Enquire Sessions procedure fails after having accepted the procedure request, then the server shall inform the client that the procedure has failed by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.28.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFF

Enquire Sessions Error Response (as defined in Table 3.22)

MSO

Parameter

M

uint8

1

0x00 to 0xFE

RFU

0xFF

Undetermined Error

Table 3.28. Physical Activity Monitor Control Point characteristic—Enquire Sessions Error Response

M:

Mandatory

3.9.3.4. Enquire Sub-sessions error

When the server has accepted a request for the Enquire Sub-sessions procedure—by sending an ATT Write Response—it is possible that the procedure still fails.

If the Enquire Sub-sessions procedure fails after having accepted the procedure request, then the server shall inform the client that the procedure has failed by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.29.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFE

Enquire Sub-sessions Error Response (as defined in Table 3.22)

MSO

Parameter

M

uint8

1

0x00 to 0xFE

RFU

0xFF

Undetermined Error

Table 3.29. Physical Activity Monitor Control Point characteristic—Enquire Sub-sessions Error Response

M:

Mandatory

3.9.3.5. Get Ended Session Data error

When the server has accepted a request for the Get Ended Session Data procedure—by sending an ATT Write Response—it is possible that the procedure still fails. For example, the server might have such a long log of instantaneous data to report that it takes over 30 seconds to successfully send all notifications of the applicable data characteristic.

If the Get Ended Session Data procedure fails after having accepted the procedure request, then the server shall inform the client that the procedure has failed by sending an indication of the Physical Activity Monitor Control Point characteristic in the format defined in Table 3.30.

Field

Field Status

Data Type

Size

(octets)

Value

Description

LSO

Op Code

M

uint8

1

0xFD

Get Ended Session Data Error Response (as defined in Table 3.22)

MSO

Parameter

M

uint8

1

0x00 to 0xFE

RFU

0xFF

Undetermined Error

Table 3.30. Physical Activity Monitor Control Point characteristic—Get Ended Session Data Error Response

M:

Mandatory

3.10. Physical Activity Current Session

The Physical Activity Current Session characteristic is identified using the UUID « Physical Activity Current Session», as defined in [1].

The Physical Activity Current Session characteristic is used to send information about whether a session is currently running and other session-related information.

3.10.1. Characteristic behavior

When the Physical Activity Current Session characteristic is configured for indication via the Client Characteristic Configuration descriptor and new information becomes available, this characteristic shall be indicated. New information becomes available when a new session starts, a new sub-session starts, or when the session stops running.

When a new session starts while another session is running, the Physical Activity Current Session characteristic is indicated only twice: once for the stopped session and once again for the started session and sub-session.

3.10.1.1. Characteristic structure

The structure of the Physical Activity Current Session characteristic is defined in Table 3.31.

The characteristic value is 17 octets in length.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Flags

M

8 bit

1

See Section 3.10.1.1.1

Session ID

M

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.10.1.1.2

Session Start Base Time

M

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.10.1.1.3

Session Start Time Offset

M

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.10.1.1.4

Sub-session ID

M

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.10.1.1.5

Sub-session Start Base Time

M

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.10.1.1.6

MSO

Sub-session Start Time Offset

M

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.10.1.1.7

Table 3.31. Structure of the Physical Activity Current Session characteristic

M:

Mandatory

3.10.1.1.1. Flags field

The Flags field bits and their function are defined in Table 3.32.

When a physical activity session is currently running, the associated bit of the Flags field shall be set to 1. Otherwise, the associated bit shall be set to 0.

Bit Number

Definition

0

Session Running

1 to 7

RFU

Table 3.32. Physical Activity Current Session characteristic—Flags field

3.10.1.1.2. Session ID field

The Session ID field represents the identifier of the current physical activity session.

3.10.1.1.3. Session Start Base Time field

The Session Start Base Time field represents the start time stamp of the current physical activity session.

The value of the Session Start Base Time field is derived from a source of date and time at the time of session start.

The value of the Session Start Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the Coordinated Universal Time (UTC) time when the device is properly synchronized. It is left to the implementation to request that the user sets the correct date and time before the Physical Activity Monitor is used.

3.10.1.1.4. Session Start Time Offset field

The Session Start Time Offset field represents the offset between the UTC base time (represented by the Session Start Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, Daylight Saving Time (DST), and user time adjustments.

3.10.1.1.5. Sub-session ID field

The Sub-session ID field represents the identifier of the current physical activity sub-session.

3.10.1.1.6. Sub-session Start Base Time field

The Sub-session Start Base Time field represents the start time stamp of the current physical activity sub-session.

The value of the Sub-session Start Base Time field is derived from a source of date and time at the time of sub-session start.

The value of the Sub-session Start Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the UTC time when the device is properly synchronized. It is left to the implementation to ensure the user sets the correct date and time before the Physical Activity Monitor is used.

3.10.1.1.7. Sub-session Start Time Offset field

The Sub-session Start Time Offset field represents the offset between the UTC base time (represented by the Sub-session Start Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, DST, and user time adjustments.

3.10.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

3.11. Physical Activity Session Descriptor

The Physical Activity Session Descriptor characteristic is identified using the UUID « Physical Activity Session Descriptor», as defined in [1].

The Physical Activity Session Descriptor characteristic is used to send information related to a session/sub-session that is not necessarily the session currently running.

3.11.1. Characteristic behavior

When the Physical Activity Session Descriptor characteristic is configured for indication via the Client Characteristic Configuration descriptor, this characteristic is indicated as a result of certain Physical Activity Monitor Control Point procedures, which are described in Section 3.9.

3.11.1.1. Characteristic structure

The structure of the Physical Activity Session Descriptor characteristic is defined in Table 3.33.

The characteristic value is of variable length, ranging up to 17 octets.

Field

Field Status

Data Type

Size

(octets)

Description

LSO

Flags

M

8 bit

1

See Section 3.11.1.1.1

Session ID

M

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.11.1.1.2

Session Start Base Time

C.1

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.11.1.1.3

Session Start Time Offset

C.1

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.11.1.1.4

Session End Base Time

C.2

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.11.1.1.5

Session End Time Offset

C.2

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.11.1.1.6

Sub-session ID

C.3

uint16

2

Unit: org.bluetooth.unit.unitless

See Section 3.11.1.1.7

Sub-session Start Base Time

C.3

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.11.1.1.8

Sub-session Start Time Offset

C.3

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.11.1.1.9

Sub-session End Base Time

C.4

uint32

4

Unit: org.bluetooth.unit.time.second

See Section 3.11.1.1.10

MSO

Sub-session End Time Offset

C.4

sint16

2

Unit: org.bluetooth.unit.time.minute

See Section 3.11.1.1.11

Table 3.33. Structure of the Physical Activity Session Descriptor characteristic

C.1:

Mandatory if the characteristic refers to a session (denoted in the Flags field); otherwise excluded.

C.2:

Mandatory if the characteristic refers to a session (denoted in the Flags field) and the session is not running (denoted in the Flags field); otherwise excluded.

C.3:

Mandatory if the characteristic refers to a sub-session (denoted in the Flags field); otherwise excluded.

C.4:

Mandatory if the characteristic refers to a sub-session (denoted in the Flags field) and the sub-session is not running (denoted in the Flags field); otherwise excluded.

M:

Mandatory

3.11.1.1.1. Flags field

The Flags field bits and their function are defined in Table 3.34.

When the Physical Activity Session Descriptor characteristic describes a session, the associated bit of the Flags field shall be set to 1. Otherwise, the associated bit shall be set to 0, which implies that the Physical Activity Session Descriptor characteristic describes a sub-session.

When a physical activity session/sub-session is currently running, the associated bit of the Flags field shall be set to 1. Otherwise, the associated bit shall be set to 0.

When the Physical Activity Session Descriptor characteristic describes (or refers to) a session that has been deleted, the associated bit of the Flags field shall be set to 1. Otherwise, the associated bit shall be set to 0.

Bit Number

Definition

0

Describes Session

1

Session/Sub-session Running

2

Deleted Session

3 to 7

RFU

Table 3.34. Physical Activity Session Descriptor characteristic—Flags field

3.11.1.1.2. Session ID field

The Session ID field represents the identifier of the described physical activity session.

3.11.1.1.3. Session Start Base Time field

The Session Start Base Time field represents the start time stamp of the described physical activity session.

The value of the Session Start Base Time field is derived from a source of date and time at the time of session start.

The value of the Session Start Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the UTC time when the device is properly synchronized. It is left to the implementation to ensure the user sets the correct date and time before the Physical Activity Monitor is used.

3.11.1.1.4. Session Start Time Offset field

The Session Start Time Offset field represents the offset between the UTC base time (represented by the Session Start Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, DST, and user time adjustments.

3.11.1.1.5. Session End Base Time field

The Session End Base Time field represents the end time stamp of the described physical activity session.

The value of the Session End Base Time field is derived from a source of date and time at the time of session end.

The value of the Session End Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the UTC time when the device is properly synchronized. It is left to the implementation to ensure the user sets the correct date and time before the Physical Activity Monitor is used.

3.11.1.1.6. Session End Time Offset field

The Session End Time Offset field represents the offset between the UTC base time (represented by the Session End Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, DST, and user time adjustments.

3.11.1.1.7. Sub-session ID field

The Sub-session ID field represents the identifier of the described physical activity sub-session.

3.11.1.1.8. Sub-session Start Base Time field

The Sub-session Start Base Time field represents the start time stamp of the described physical activity sub-session.

The value of the Sub-session Start Base Time field is derived from a source of date and time at the time of sub-session start.

The value of the Sub-session Start Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the UTC time when the device is properly synchronized. It is left to the implementation to ensure the user sets the correct date and time before the Physical Activity Monitor is used.

3.11.1.1.9. Sub-session Start Time Offset field

The Sub-session Start Time Offset field represents the offset between the UTC base time (represented by the Sub-session Start Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, DST, and user time adjustments.

3.11.1.1.10. Sub-session End Base Time field

The Sub-session End Base Time field represents the end time stamp of the described physical activity sub-session.

The value of the Sub-session End Base Time field is derived from a source of date and time at the time of sub-session end.

The value of the Sub-session End Base Time field represents the base time of a synchronized time source in seconds since midnight of January 1, 2000 (00:00:00 January 1, 2000). This should be the UTC time when the device is properly synchronized. It is left to the implementation to ensure the user sets the correct date and time before the Physical Activity Monitor is used.

3.11.1.1.11. Sub-session End Time Offset field

The Sub-session End Time Offset field represents the offset between the UTC base time (represented by the Sub-session End Base Time field) and the local time that is known to the device. That is, the time has considered the time zone, DST, and user time adjustments.

3.11.2. Descriptor

The Client Characteristic Configuration descriptor shall be exposed, and it shall support the Read Characteristic Descriptor and Write Characteristic Descriptor GATT sub-procedures.

4. SDP interoperability

Services that are exposed over BR/EDR shall include a Service Discovery Protocol (SDP) Record table that contains the information defined in Table 4.1.

Item

Definition

Type

Value

Status

Service Class ID List

M

Service Class #0

UUID

«Physical Activity Monitor»

M

Protocol Descriptor List

M

Protocol #0

UUID

L2CAP

M

Parameter #0 for Protocol #0

PSM

uint16

PSM = ATT

M

Protocol #1

UUID

ATT

M

BrowseGroupList

PublicBrowseRoot*

M

Table 4.1. SDP Record

M:

Mandatory

* PublicBrowseRoot shall be present; however, other browse UUIDs may also be included in the list.

5. Acronyms and abbreviations

Abbreviation

Meaning

ATT

Attribute Protocol

BR/EDR

Basic Rate/Enhanced Data Rate

DST

Daylight Saving Time

GATT

Generic Attribute Profile

IR

Infrared

L2CAP

Logical Link Control and Adaptation Protocol

LE

Low Energy

LSO

Least Significant Octet

MSO

Most Significant Octet

PAMS

Physical Activity Monitor Service

REM

Rapid Eye Movement

RFU

Reserved for Future Use

SDP

Service Discovery Protocol

UI

User Interface

UTC

Coordinated Universal Time

UUID

Universal Unique Identifier

UV

Ultraviolet

Table 5.1. Acronyms and abbreviations

6. References

Bibliography

[1] Characteristic and Descriptor descriptions are accessible via the Bluetooth SIG Assigned Numbers, https://www.bluetooth.com/specifications/assigned-numbers/

[2] Bluetooth Core Specification, Version 4.2 or later

[3] GATT Specification Supplement, Version 1.1 or later

[4] User Data Service, Version 1.0 or later

[5] Physical Activity Monitor Profile, Version 1.0 or later