Update definition of the heart rate monitor to include confidence
Change-Id: I88a8cddf647f77588a283c16d37f3f99ecda3115
This commit is contained in:
@@ -797,10 +797,17 @@ enum {
|
|||||||
* trigger-mode: on-change
|
* trigger-mode: on-change
|
||||||
* wake-up sensor: no
|
* wake-up sensor: no
|
||||||
*
|
*
|
||||||
* A sensor of this type returns the current heart rate if activated.
|
* A sensor of this type returns the current heart rate.
|
||||||
* The value is returned as a float which represents the heart rate in beats
|
* The events contain the current heart rate in beats per minute (BPM) and the
|
||||||
* per minute (BPM).
|
* status of the sensor during the measurement. See heart_rate_event_t for more
|
||||||
* When the sensor cannot measure the heart rate, the returned value must be 0.
|
* details.
|
||||||
|
*
|
||||||
|
* Because this sensor is on-change, events must be generated when and only
|
||||||
|
* when heart_rate.bpm or heart_rate.status have changed since the last
|
||||||
|
* event. The event should be generated no faster than every period_ns passed
|
||||||
|
* to setDelay() or to batch(). See the definition of the on-change trigger
|
||||||
|
* mode for more information.
|
||||||
|
*
|
||||||
* sensor_t.requiredPermission must be set to SENSOR_PERMISSION_BODY_SENSORS.
|
* sensor_t.requiredPermission must be set to SENSOR_PERMISSION_BODY_SENSORS.
|
||||||
*/
|
*/
|
||||||
#define SENSOR_TYPE_HEART_RATE (21)
|
#define SENSOR_TYPE_HEART_RATE (21)
|
||||||
@@ -819,17 +826,15 @@ enum {
|
|||||||
/** Minimum magnetic field on Earth's surface */
|
/** Minimum magnetic field on Earth's surface */
|
||||||
#define MAGNETIC_FIELD_EARTH_MIN (30.0f)
|
#define MAGNETIC_FIELD_EARTH_MIN (30.0f)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* status of orientation sensor
|
* Possible values of the status field of sensor events.
|
||||||
*/
|
*/
|
||||||
|
#define SENSOR_STATUS_NO_CONTACT -1
|
||||||
#define SENSOR_STATUS_UNRELIABLE 0
|
#define SENSOR_STATUS_UNRELIABLE 0
|
||||||
#define SENSOR_STATUS_ACCURACY_LOW 1
|
#define SENSOR_STATUS_ACCURACY_LOW 1
|
||||||
#define SENSOR_STATUS_ACCURACY_MEDIUM 2
|
#define SENSOR_STATUS_ACCURACY_MEDIUM 2
|
||||||
#define SENSOR_STATUS_ACCURACY_HIGH 3
|
#define SENSOR_STATUS_ACCURACY_HIGH 3
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sensor event data
|
* sensor event data
|
||||||
*/
|
*/
|
||||||
@@ -878,6 +883,17 @@ typedef struct meta_data_event {
|
|||||||
int32_t sensor;
|
int32_t sensor;
|
||||||
} meta_data_event_t;
|
} meta_data_event_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Heart rate event data
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
// Heart rate in beats per minute.
|
||||||
|
// Set to 0 when status is SENSOR_STATUS_UNRELIABLE or ..._NO_CONTACT
|
||||||
|
float bpm;
|
||||||
|
// Status of the sensor for this reading. Set to one SENSOR_STATUS_...
|
||||||
|
int8_t status;
|
||||||
|
} heart_rate_event_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Union of the various types of sensor data
|
* Union of the various types of sensor data
|
||||||
* that can be returned.
|
* that can be returned.
|
||||||
@@ -935,8 +951,8 @@ typedef struct sensors_event_t {
|
|||||||
/* uncalibrated magnetometer values are in micro-Teslas */
|
/* uncalibrated magnetometer values are in micro-Teslas */
|
||||||
uncalibrated_event_t uncalibrated_magnetic;
|
uncalibrated_event_t uncalibrated_magnetic;
|
||||||
|
|
||||||
/* heart rate in bpm */
|
/* heart rate data containing value in bpm and status */
|
||||||
float heart_rate;
|
heart_rate_event_t heart_rate;
|
||||||
|
|
||||||
/* this is a special event. see SENSOR_TYPE_META_DATA above.
|
/* this is a special event. see SENSOR_TYPE_META_DATA above.
|
||||||
* sensors_meta_data_event_t events are all reported with a type of
|
* sensors_meta_data_event_t events are all reported with a type of
|
||||||
|
|||||||
Reference in New Issue
Block a user