sensor: Added 6dof motion and gesture related types. For details, see: https://developer.android.com/reference/android/hardware/SensorEvent#values
Signed-off-by: likun17 <likun17@xiaomi.com>
This commit is contained in:
parent
a4e90b7268
commit
57f84aaca8
@ -161,36 +161,51 @@ static const struct sensor_meta_s g_sensor_meta[] =
|
|||||||
{0, NULL},
|
{0, NULL},
|
||||||
{sizeof(struct sensor_accel), "accel"},
|
{sizeof(struct sensor_accel), "accel"},
|
||||||
{sizeof(struct sensor_mag), "mag"},
|
{sizeof(struct sensor_mag), "mag"},
|
||||||
{sizeof(struct sensor_uv), "uv"},
|
{sizeof(struct sensor_orientation), "orientation"},
|
||||||
{sizeof(struct sensor_gyro), "gyro"},
|
{sizeof(struct sensor_gyro), "gyro"},
|
||||||
{sizeof(struct sensor_light), "light"},
|
{sizeof(struct sensor_light), "light"},
|
||||||
{sizeof(struct sensor_baro), "baro"},
|
{sizeof(struct sensor_baro), "baro"},
|
||||||
{sizeof(struct sensor_noise), "noise"},
|
{sizeof(struct sensor_noise), "noise"},
|
||||||
{sizeof(struct sensor_prox), "prox"},
|
{sizeof(struct sensor_prox), "prox"},
|
||||||
{sizeof(struct sensor_rgb), "rgb"},
|
{sizeof(struct sensor_rgb), "rgb"},
|
||||||
{sizeof(struct sensor_hall), "hall"},
|
{sizeof(struct sensor_accel), "linear_accel"},
|
||||||
{sizeof(struct sensor_ir), "ir"},
|
{sizeof(struct sensor_rotation), "rotation"},
|
||||||
{sizeof(struct sensor_humi), "humi"},
|
{sizeof(struct sensor_humi), "humi"},
|
||||||
{sizeof(struct sensor_temp), "temp"},
|
{sizeof(struct sensor_temp), "temp"},
|
||||||
{sizeof(struct sensor_pm25), "pm25"},
|
{sizeof(struct sensor_pm25), "pm25"},
|
||||||
{sizeof(struct sensor_pm1p0), "pm1p0"},
|
{sizeof(struct sensor_pm1p0), "pm1p0"},
|
||||||
{sizeof(struct sensor_pm10), "pm10"},
|
{sizeof(struct sensor_pm10), "pm10"},
|
||||||
{sizeof(struct sensor_co2), "co2"},
|
{sizeof(struct sensor_event), "motion_detect"},
|
||||||
{sizeof(struct sensor_hcho), "hcho"},
|
{sizeof(struct sensor_event), "step_detector"},
|
||||||
{sizeof(struct sensor_tvoc), "tvoc"},
|
{sizeof(struct sensor_step_counter), "step_counter"},
|
||||||
{sizeof(struct sensor_ph), "ph"},
|
{sizeof(struct sensor_ph), "ph"},
|
||||||
{sizeof(struct sensor_hrate), "hrate"},
|
{sizeof(struct sensor_hrate), "hrate"},
|
||||||
|
{sizeof(struct sensor_event), "tilt_detector"},
|
||||||
|
{sizeof(struct sensor_event), "wake_gesture"},
|
||||||
|
{sizeof(struct sensor_event), "glance_gesture"},
|
||||||
|
{sizeof(struct sensor_event), "pickup_gesture"},
|
||||||
|
{sizeof(struct sensor_event), "wrist_tilt"},
|
||||||
|
{sizeof(struct sensor_orientation), "device_orientation"},
|
||||||
|
{sizeof(struct sensor_pose_6dof), "pose_6dof"},
|
||||||
|
{sizeof(struct sensor_gas), "gas"},
|
||||||
|
{sizeof(struct sensor_event), "significant_motion"},
|
||||||
|
{sizeof(struct sensor_hbeat), "hbeat"},
|
||||||
|
{sizeof(struct sensor_force), "force"},
|
||||||
|
{sizeof(struct sensor_hall), "hall"},
|
||||||
|
{sizeof(struct sensor_event), "offbody_detector"},
|
||||||
|
{sizeof(struct sensor_uv), "uv"},
|
||||||
|
{sizeof(struct sensor_angle), "hinge_angle"},
|
||||||
|
{sizeof(struct sensor_ir), "ir"},
|
||||||
|
{sizeof(struct sensor_hcho), "hcho"},
|
||||||
|
{sizeof(struct sensor_tvoc), "tvoc"},
|
||||||
{sizeof(struct sensor_dust), "dust"},
|
{sizeof(struct sensor_dust), "dust"},
|
||||||
{sizeof(struct sensor_wake_gesture), "wake_gesture"},
|
|
||||||
{sizeof(struct sensor_ecg), "ecg"},
|
{sizeof(struct sensor_ecg), "ecg"},
|
||||||
{sizeof(struct sensor_ppgd), "ppgd"},
|
{sizeof(struct sensor_ppgd), "ppgd"},
|
||||||
{sizeof(struct sensor_ppgq), "ppgq"},
|
{sizeof(struct sensor_ppgq), "ppgq"},
|
||||||
{sizeof(struct sensor_impd), "impd"},
|
{sizeof(struct sensor_impd), "impd"},
|
||||||
{sizeof(struct sensor_ots), "ots"},
|
{sizeof(struct sensor_ots), "ots"},
|
||||||
{sizeof(struct sensor_gas), "gas"},
|
{sizeof(struct sensor_co2), "co2"},
|
||||||
{sizeof(struct sensor_cap), "cap"},
|
{sizeof(struct sensor_cap), "cap"},
|
||||||
{sizeof(struct sensor_hbeat), "hbeat"},
|
|
||||||
{sizeof(struct sensor_force), "force"},
|
|
||||||
{sizeof(struct sensor_gnss), "gnss"},
|
{sizeof(struct sensor_gnss), "gnss"},
|
||||||
{sizeof(struct sensor_gnss_satellite), "gnss_satellite"},
|
{sizeof(struct sensor_gnss_satellite), "gnss_satellite"},
|
||||||
{sizeof(struct sensor_gnss_measurement), "gnss_measurement"},
|
{sizeof(struct sensor_gnss_measurement), "gnss_measurement"},
|
||||||
|
@ -63,12 +63,19 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_MAGNETIC_FIELD 2
|
#define SENSOR_TYPE_MAGNETIC_FIELD 2
|
||||||
|
|
||||||
/* Ultraviolet light sensor
|
/* Orientation
|
||||||
* This sensor can identify the UV index in ambient light help people
|
* An orientation sensor reports the attitude of the device. The measurements
|
||||||
* to effectively protect themselves from sunburns, cancer or eye damage.
|
* are reported in degrees in the x, y, and z.
|
||||||
* This value range is 0 - 15.
|
* x:azimuth, the angle between the magnetic north direction and the
|
||||||
|
* Y axis, around the Z axis (0<=azimuth<360). 0=North, 90=East,
|
||||||
|
* 180=South, 270=West.
|
||||||
|
* y:pitch, rotation around X axis (-180<=pitch<=180), with positive values
|
||||||
|
* when the Z axis moves toward the Y axis.
|
||||||
|
* z:roll, rotation around Y axis (-90<=roll<=90), with positive values
|
||||||
|
* when the X axis moves towards the Z axis.
|
||||||
*/
|
*/
|
||||||
#define SENSOR_TYPE_ULTRAVIOLET 3
|
|
||||||
|
#define SENSOR_TYPE_ORIENTATION 3
|
||||||
|
|
||||||
/* Gyroscope
|
/* Gyroscope
|
||||||
* All values are in radians/second and measure the rate of rotation around
|
* All values are in radians/second and measure the rate of rotation around
|
||||||
@ -110,19 +117,26 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_RGB 9
|
#define SENSOR_TYPE_RGB 9
|
||||||
|
|
||||||
/* Hall
|
/* Linear acceleration
|
||||||
* All values are in bool type (0 or 1) and it often is used to as switch.
|
* A linear acceleration sensor reports the linear acceleration of the device
|
||||||
* A values of 1 indicates that switch on.
|
* in the sensor frame, not including gravity(output of the accelerometer
|
||||||
|
* minus the output of the gravity sensor).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_HALL 10
|
#define SENSOR_TYPE_LINEAR_ACCELERATION 10
|
||||||
|
|
||||||
/* IR (Infrared Ray)
|
/* Rotation
|
||||||
* This sensor can detect a human approach and outputs a signal from
|
* A rotation vector sensor reports the orientation of the device relative
|
||||||
* interrupt pins. This sensor value is in lux.
|
* to the East-North-Up coordinates frame. It's usually obtained by
|
||||||
|
* integration of accelerometer, gyroscope, and magnetometer readings.
|
||||||
|
* The East-North-Up coordinate system is defined as a direct orthonormal
|
||||||
|
* basis where:
|
||||||
|
* X points east and is tangential to the ground.
|
||||||
|
* Y points north and is tangential to the ground.
|
||||||
|
* Z points towards the sky and is perpendicular to the ground.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_IR 11
|
#define SENSOR_TYPE_ROTATION_VECTOR 11
|
||||||
|
|
||||||
/* Relative Humidity
|
/* Relative Humidity
|
||||||
* A relative humidity sensor measure relative ambient air humidity and
|
* A relative humidity sensor measure relative ambient air humidity and
|
||||||
@ -158,26 +172,32 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_PM10 16
|
#define SENSOR_TYPE_PM10 16
|
||||||
|
|
||||||
/* CO2
|
/* Significant motion
|
||||||
* A sensor of this type returns the content of CO2 in the air
|
* A significant motion detector triggers when detecting a significant
|
||||||
* This value is in units (ppm-part per million).
|
* motion: a motion that might lead to a change in the user location.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_CO2 17
|
#define SENSOR_TYPE_SIGNIFICANT_MOTION 17
|
||||||
|
|
||||||
/* HCHO
|
/* Step detector
|
||||||
* The HCHO pollution is an important indicator of household air
|
* A step detector generates an event each time a step is taken by the user.
|
||||||
* pollution. This value is in units (ppm-part per million).
|
* The timestamp of the event corresponds to when the foot hit the ground,
|
||||||
|
* generating a high variation in acceleration. Compared to the step counter,
|
||||||
|
* the step detector should have a lower latency (less than two seconds).
|
||||||
|
* Both the step detector and the step counter detect when the user is
|
||||||
|
* walking, running, and walking up the stairs. They shouldn't trigger when
|
||||||
|
* the user is biking, driving, or in other vehicles.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_HCHO 18
|
#define SENSOR_TYPE_STEP_DETECTOR 18
|
||||||
|
|
||||||
/* TVOC (total volatile organic compounds)
|
/* Step counter
|
||||||
* The indoor TVOC is cause indoor air pollution is one of the
|
* A step counter reports the number of steps taken by the user since the
|
||||||
* main reasons why. This value is in units (ppb-part per billion).
|
* last reboot while activated. A step counter reports the number of steps
|
||||||
|
* taken by the user since the last reboot while activated.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_TVOC 19
|
#define SENSOR_TYPE_STEP_COUNTER 19
|
||||||
|
|
||||||
/* PH
|
/* PH
|
||||||
* The acid-base degree describes the strength of the aqueous
|
* The acid-base degree describes the strength of the aqueous
|
||||||
@ -195,12 +215,11 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_HEART_RATE 21
|
#define SENSOR_TYPE_HEART_RATE 21
|
||||||
|
|
||||||
/* Dust
|
/* Tilt detector
|
||||||
* A sensor of this type returns the content of dust in the air
|
* A tilt detector generates an event each time a tilt event is detected.
|
||||||
* values is in ug/m^3.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_DUST 22
|
#define SENSOR_TYPE_TILT_DETECTOR 22
|
||||||
|
|
||||||
/* Wake gesture
|
/* Wake gesture
|
||||||
* A sensor enabling waking up the device based on a device specific
|
* A sensor enabling waking up the device based on a device specific
|
||||||
@ -211,52 +230,57 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_WAKE_GESTURE 23
|
#define SENSOR_TYPE_WAKE_GESTURE 23
|
||||||
|
|
||||||
/* ECG (Electrocardiogram)
|
/* Glance gesture
|
||||||
* A sensor of this type returns the ECG voltage in μV. Sensors may amplify
|
* A glance gesture sensor enables briefly turning the screen on to enable
|
||||||
* the input ECG signal. Here the ECG voltage is the un-amplified ECG
|
* the user to glance content on screen based on a specific motion.
|
||||||
* voltage.
|
* When this sensor triggers, the device will turn the screen on momentarily
|
||||||
|
* to allow the user to glance notifications or other content while the
|
||||||
|
* device remains locked in a non-interactive state (dozing), then the screen
|
||||||
|
* will turn off again.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_ECG 24
|
#define SENSOR_TYPE_GLANCE_GESTURE 24
|
||||||
|
|
||||||
/* PPG Dual (2-channel photoplethysmography)
|
/* Pick up gesture
|
||||||
* A sensor of this type returns the 2 channels PPG measurements in ADC
|
* A pick-up gesture sensor triggers when the device is picked up regardless
|
||||||
* counts and their corresponding LED current and ADC gains. The PPG
|
* of wherever it was before (desk, pocket, bag).
|
||||||
* measurements come from photodiodes and following current amplifiers and
|
|
||||||
* ADCs, where a photodiode switches reflected light intensity to current.
|
|
||||||
* The LED current decides the lightness of LED, which is the input of PPG
|
|
||||||
* measurements. The ADC gains are multipled on the output and affect SNR.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_PPGD 25
|
#define SENSOR_TYPE_PICK_UP_GESTURE 25
|
||||||
|
|
||||||
/* PPG Quad (4-channel photoplethysmography)
|
/* Wrist tilt
|
||||||
* A sensor of this type returns the 4 channels PPG measurements in ADC
|
* The wrist-off detection sensor is only triggered when the device is off
|
||||||
* counts and their corresponding LED current and ADC gains. The PPG
|
* the wrist.
|
||||||
* measurements come from photodiodes and following current amplifiers and
|
|
||||||
* ADCs, where a photodiode switches reflected light intensity to current.
|
|
||||||
* The LED current decides the lightness of LED, which is the input of PPG
|
|
||||||
* measurements. The ADC gains are multipled on the output and affect SNR.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_PPGQ 26
|
#define SENSOR_TYPE_WRIST_TILT_GESTURE 26
|
||||||
|
|
||||||
/* Imdepance
|
/* Device_orientation
|
||||||
* A sensor of this type returns the impedance measurements. An impedance
|
* A device orientation sensor reports the current orientation of the device.
|
||||||
* is a complex number, which consists of a real part(resistance) and an
|
|
||||||
* imaginary part(reactance). Both of them are in uint Ohm(Ω).
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_IMPEDANCE 27
|
#define SENSOR_TYPE_DEVICE_ORIENTATION 27
|
||||||
|
|
||||||
/* OTS (Optical tracking sensor)
|
/* Pose 6DOF
|
||||||
* A sensor of this type returns the OTS measurements in counts. It
|
* A Pose 6DOF sensor reports the orientation of the device relative to the
|
||||||
* integrates an optical chip and a LASER light source in a single miniature
|
* East-North-Up coordinates frame. It is obtained by integration of
|
||||||
* package. It provies wide depth of field range on glossy surface, and
|
* accelerometer and gyroscope readings.
|
||||||
* design flexibility into a compact device.
|
* The East-North-Up coordinate system is defined as a direct orthonormal
|
||||||
|
* basis where:
|
||||||
|
* X points east and is tangential to the ground.
|
||||||
|
* Y points north and is tangential to the ground.
|
||||||
|
* Z points towards the sky and is perpendicular to the ground.
|
||||||
|
* The orientation is represented by the rotation necessary to align the
|
||||||
|
* East-North-Up coordinates with the device's coordinates. That is, applying
|
||||||
|
* the rotation to the world frame (X,Y,Z) would align them with the device
|
||||||
|
* coordinates (x,y,z).
|
||||||
|
* The rotation can be seen as rotating the device by an angle theta around
|
||||||
|
* an axis rot_axis to go from the reference (East-North-Up aligned) device
|
||||||
|
* orientation to the current device orientation. The rotation is encoded as
|
||||||
|
* the four unitless x, y, z, w components of a unit quaternion.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_OTS 28
|
#define SENSOR_TYPE_POSE_6DOF 28
|
||||||
|
|
||||||
/* Gas sensor
|
/* Gas sensor
|
||||||
* This sensor measures the gas resistance, indicating the presence
|
* This sensor measures the gas resistance, indicating the presence
|
||||||
@ -265,13 +289,15 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_GAS 29
|
#define SENSOR_TYPE_GAS 29
|
||||||
|
|
||||||
/* CAP (Capacitive proximity sensor)
|
/* Motion detect
|
||||||
* The purpose of the proximity sensing interface is to detect when a
|
* Motion detection sensor is used to detect the motion status of the device.
|
||||||
* conductive object (usually a body part i.e. finger, palm, face, etc.)
|
* motion detect event is produced if the device has been in motion
|
||||||
* is in the proximity of the system.
|
* for at least 5 seconds with a maximal latency of 5 additional seconds.
|
||||||
|
* ie: it may take up anywhere from 5 to 10 seconds afte the device has been
|
||||||
|
* at rest to trigger this event. The only allowed value is 1.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_CAP 30
|
#define SENSOR_TYPE_MOTION_DETECT 30
|
||||||
|
|
||||||
/* Heart Beat
|
/* Heart Beat
|
||||||
* A sensor of this type returns an event evetytime
|
* A sensor of this type returns an event evetytime
|
||||||
@ -291,35 +317,157 @@
|
|||||||
|
|
||||||
#define SENSOR_TYPE_FORCE 32
|
#define SENSOR_TYPE_FORCE 32
|
||||||
|
|
||||||
|
/* Hall
|
||||||
|
* All values are in bool type (0 or 1) and it often is used to as switch.
|
||||||
|
* A values of 1 indicates that switch on.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_HALL 33
|
||||||
|
|
||||||
|
/* Offbody detect
|
||||||
|
* An offbody detect sensor reports every time the device transitions from
|
||||||
|
* off-body to on-body and from on-body to off-body (e.g. a wearable device
|
||||||
|
* being removed from the wrist would trigger an event indicating an off-body
|
||||||
|
* transition).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT 34
|
||||||
|
|
||||||
|
/* Ultraviolet light sensor
|
||||||
|
* This sensor can identify the UV index in ambient light help people
|
||||||
|
* to effectively protect themselves from sunburns, cancer or eye damage.
|
||||||
|
* This value range is 0 - 15.
|
||||||
|
*/
|
||||||
|
#define SENSOR_TYPE_ULTRAVIOLET 35
|
||||||
|
|
||||||
|
/* Hinge angle
|
||||||
|
* A hinge angle sensor measures the angle, in degrees, between two integral
|
||||||
|
* parts of the device. Movement of a hinge measured by this sensor type is
|
||||||
|
* expected to alter the ways in which the user can interact with the device,
|
||||||
|
* for example, by unfolding or revealing a display.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_HINGE_ANGLE 36
|
||||||
|
|
||||||
|
/* IR (Infrared Ray)
|
||||||
|
* This sensor can detect a human approach and outputs a signal from
|
||||||
|
* interrupt pins. This sensor value is in lux.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_IR 37
|
||||||
|
|
||||||
|
/* HCHO
|
||||||
|
* The HCHO pollution is an important indicator of household air
|
||||||
|
* pollution. This value is in units (ppm-part per million).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_HCHO 38
|
||||||
|
|
||||||
|
/* TVOC (total volatile organic compounds)
|
||||||
|
* The indoor TVOC is cause indoor air pollution is one of the
|
||||||
|
* main reasons why. This value is in units (ppb-part per billion).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_TVOC 39
|
||||||
|
|
||||||
|
/* Dust
|
||||||
|
* A sensor of this type returns the content of dust in the air
|
||||||
|
* values is in ug/m^3.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_DUST 40
|
||||||
|
|
||||||
|
/* ECG (Electrocardiogram)
|
||||||
|
* A sensor of this type returns the ECG voltage in μV. Sensors may amplify
|
||||||
|
* the input ECG signal. Here the ECG voltage is the un-amplified ECG
|
||||||
|
* voltage.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_ECG 41
|
||||||
|
|
||||||
|
/* PPG Dual (2-channel photoplethysmography)
|
||||||
|
* A sensor of this type returns the 2 channels PPG measurements in ADC
|
||||||
|
* counts and their corresponding LED current and ADC gains. The PPG
|
||||||
|
* measurements come from photodiodes and following current amplifiers and
|
||||||
|
* ADCs, where a photodiode switches reflected light intensity to current.
|
||||||
|
* The LED current decides the lightness of LED, which is the input of PPG
|
||||||
|
* measurements. The ADC gains are multipled on the output and affect SNR.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_PPGD 42
|
||||||
|
|
||||||
|
/* PPG Quad (4-channel photoplethysmography)
|
||||||
|
* A sensor of this type returns the 4 channels PPG measurements in ADC
|
||||||
|
* counts and their corresponding LED current and ADC gains. The PPG
|
||||||
|
* measurements come from photodiodes and following current amplifiers and
|
||||||
|
* ADCs, where a photodiode switches reflected light intensity to current.
|
||||||
|
* The LED current decides the lightness of LED, which is the input of PPG
|
||||||
|
* measurements. The ADC gains are multipled on the output and affect SNR.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_PPGQ 43
|
||||||
|
|
||||||
|
/* Imdepance
|
||||||
|
* A sensor of this type returns the impedance measurements. An impedance
|
||||||
|
* is a complex number, which consists of a real part(resistance) and an
|
||||||
|
* imaginary part(reactance). Both of them are in uint Ohm(Ω).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_IMPEDANCE 44
|
||||||
|
|
||||||
|
/* OTS (Optical tracking sensor)
|
||||||
|
* A sensor of this type returns the OTS measurements in counts. It
|
||||||
|
* integrates an optical chip and a LASER light source in a single miniature
|
||||||
|
* package. It provies wide depth of field range on glossy surface, and
|
||||||
|
* design flexibility into a compact device.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_OTS 45
|
||||||
|
|
||||||
|
/* CO2
|
||||||
|
* A sensor of this type returns the content of CO2 in the air
|
||||||
|
* This value is in units (ppm-part per million).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_CO2 46
|
||||||
|
|
||||||
|
/* CAP (Capacitive proximity sensor)
|
||||||
|
* The purpose of the proximity sensing interface is to detect when a
|
||||||
|
* conductive object (usually a body part i.e. finger, palm, face, etc.)
|
||||||
|
* is in the proximity of the system.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSOR_TYPE_CAP 47
|
||||||
|
|
||||||
/* GNSS
|
/* GNSS
|
||||||
* A sensor of this type returns GNSS data. Include latitude, longitude,
|
* A sensor of this type returns GNSS data. Include latitude, longitude,
|
||||||
* altitude, horizontal position accuracy, vertical position accuracy,
|
* altitude, horizontal position accuracy, vertical position accuracy,
|
||||||
* horizontal dilution of precision, vertical dilution of precision...
|
* horizontal dilution of precision, vertical dilution of precision...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_GNSS 33
|
#define SENSOR_TYPE_GNSS 48
|
||||||
|
|
||||||
/* Sensor of GNSS satellite
|
/* Sensor of GNSS satellite
|
||||||
* A sensor of this type returns the GNSS satellite information.
|
* A sensor of this type returns the GNSS satellite information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SENSOR_TYPE_GNSS_SATELLITE 34
|
#define SENSOR_TYPE_GNSS_SATELLITE 49
|
||||||
|
|
||||||
/* GNSS Measurement */
|
/* GNSS Measurement */
|
||||||
|
|
||||||
#define SENSOR_TYPE_GNSS_MEASUREMENT 35
|
#define SENSOR_TYPE_GNSS_MEASUREMENT 50
|
||||||
|
|
||||||
/* GNSS Clock */
|
/* GNSS Clock */
|
||||||
|
|
||||||
#define SENSOR_TYPE_GNSS_CLOCK 36
|
#define SENSOR_TYPE_GNSS_CLOCK 51
|
||||||
|
|
||||||
/* GNSS Geofence */
|
/* GNSS Geofence */
|
||||||
|
|
||||||
#define SENSOR_TYPE_GNSS_GEOFENCE 37
|
#define SENSOR_TYPE_GNSS_GEOFENCE 52
|
||||||
|
|
||||||
/* The total number of sensor */
|
/* The total number of sensor */
|
||||||
|
|
||||||
#define SENSOR_TYPE_COUNT 38
|
#define SENSOR_TYPE_COUNT 53
|
||||||
|
|
||||||
/* The additional sensor open flags */
|
/* The additional sensor open flags */
|
||||||
|
|
||||||
@ -423,6 +571,12 @@
|
|||||||
* reported.
|
* reported.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
struct sensor_event /* Type: Sensor Common Event */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
uint32_t event; /* Common events */
|
||||||
|
};
|
||||||
|
|
||||||
struct sensor_accel /* Type: Accerometer */
|
struct sensor_accel /* Type: Accerometer */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
@ -442,10 +596,12 @@ struct sensor_mag /* Type: Magnetic Field */
|
|||||||
int32_t status; /* Status of calibration */
|
int32_t status; /* Status of calibration */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_uv /* Type: Ultraviolet Light */
|
struct sensor_orientation /* Type: Orientation */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
float uvi; /* the value range is 0 - 15 */
|
float x; /* azimuth */
|
||||||
|
float y; /* pitch */
|
||||||
|
float z; /* roll */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_gyro /* Type: Gyroscope */
|
struct sensor_gyro /* Type: Gyroscope */
|
||||||
@ -491,16 +647,14 @@ struct sensor_rgb /* Type: RGB */
|
|||||||
float b; /* Units is percent */
|
float b; /* Units is percent */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_hall /* Type: HALL */
|
struct sensor_rotation /* Type: Rotation */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
int32_t hall; /* Hall state */
|
float x; /* x*sin(θ/2) */
|
||||||
};
|
float y; /* y*sin(θ/2) */
|
||||||
|
float z; /* z*sin(θ/2) */
|
||||||
struct sensor_ir /* Type: Infrared Ray */
|
float w; /* cos(θ/2) */
|
||||||
{
|
float status; /* estimated heading Accuracy (in radians) (-1 if unavailable) */
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
|
||||||
float ir; /* in SI units lux */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_humi /* Type: Relative Humidity */
|
struct sensor_humi /* Type: Relative Humidity */
|
||||||
@ -533,22 +687,11 @@ struct sensor_pm10 /* Type: PM10 */
|
|||||||
float pm10; /* in SI units ug/m^3 */
|
float pm10; /* in SI units ug/m^3 */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_co2 /* Type: CO2 */
|
struct sensor_step_counter /* Type: Step Coun */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
float co2; /* in SI units ppm */
|
uint32_t steps; /* Step counting */
|
||||||
};
|
uint32_t cadence; /* Stride frequency */
|
||||||
|
|
||||||
struct sensor_hcho /* Type: HCHO */
|
|
||||||
{
|
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
|
||||||
float hcho; /* in SI units ppm */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sensor_tvoc /* Type: TVOC */
|
|
||||||
{
|
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
|
||||||
float tvoc; /* in SI units ppm */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_ph /* Type: PH */
|
struct sensor_ph /* Type: PH */
|
||||||
@ -563,23 +706,87 @@ struct sensor_hrate /* Type: Heart Rate */
|
|||||||
float bpm; /* is SI units BPM */
|
float bpm; /* is SI units BPM */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct sensor_pose_6dof /* Type: Pose 6dof */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float x; /* x*sin(theta/2) */
|
||||||
|
float y; /* y*sin(theta/2) */
|
||||||
|
float z; /* z*sin(theta/2) */
|
||||||
|
float w; /* cos(theta/2) */
|
||||||
|
float tx; /* Translation along x axis from an arbitrary origin. */
|
||||||
|
float ty; /* Translation along y axis from an arbitrary origin. */
|
||||||
|
float tz; /* Translation along z axis from an arbitrary origin. */
|
||||||
|
float dx; /* Delta quaternion rotation x*sin(theta/2) */
|
||||||
|
float dy; /* Delta quaternion rotation y*sin(theta/2) */
|
||||||
|
float dz; /* Delta quaternion rotation z*sin(theta/2) */
|
||||||
|
float dw; /* Delta quaternion rotation cos(theta/2) */
|
||||||
|
float dtx; /* Delta translation along x axis. */
|
||||||
|
float dty; /* Delta translation along y axis. */
|
||||||
|
float dtz; /* Delta translation along z axis. */
|
||||||
|
uint64_t number; /* Sequence number; ascending sequentially from 0 */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_gas /* Type: Gas */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float gas_resistance; /* Gas resistance in kOhm */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_hbeat /* Type: Heart Beat */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float beat; /* Units is times/minutes */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_force /* Type: Force */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Unit is microseconds */
|
||||||
|
float force; /* Force value, units is N */
|
||||||
|
int32_t event; /* Force event */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_hall /* Type: HALL */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
int32_t hall; /* Hall state */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_uv /* Type: Ultraviolet Light */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float uvi; /* the value range is 0 - 15 */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_angle /* Type: Angle */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float angle; /* Angle. Unit is degree */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_ir /* Type: Infrared Ray */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float ir; /* in SI units lux */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_hcho /* Type: HCHO */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float hcho; /* in SI units ppm */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensor_tvoc /* Type: TVOC */
|
||||||
|
{
|
||||||
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
|
float tvoc; /* in SI units ppm */
|
||||||
|
};
|
||||||
|
|
||||||
struct sensor_dust /* Type: DUST */
|
struct sensor_dust /* Type: DUST */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
float dust; /* is SI units ug/m^3 */
|
float dust; /* is SI units ug/m^3 */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_wake_gesture /* Type: Wake gesture */
|
|
||||||
{
|
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
|
||||||
|
|
||||||
/* wake gesture event, 0: sleep, 1: wake,
|
|
||||||
* others: Uncalibrated status value.
|
|
||||||
*/
|
|
||||||
|
|
||||||
uint32_t event;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sensor_ecg /* Type: ECG */
|
struct sensor_ecg /* Type: ECG */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Unit is microseconds */
|
uint64_t timestamp; /* Unit is microseconds */
|
||||||
@ -617,10 +824,10 @@ struct sensor_ots /* Type: OTS */
|
|||||||
int32_t y; /* Axis Y in counts */
|
int32_t y; /* Axis Y in counts */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_gas /* Type: Gas */
|
struct sensor_co2 /* Type: CO2 */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
uint64_t timestamp; /* Units is microseconds */
|
||||||
float gas_resistance; /* Gas resistance in kOhm */
|
float co2; /* in SI units ppm */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_cap /* Type: Capacitance */
|
struct sensor_cap /* Type: Capacitance */
|
||||||
@ -630,19 +837,6 @@ struct sensor_cap /* Type: Capacitance */
|
|||||||
int32_t rawdata[4]; /* in SI units pF */
|
int32_t rawdata[4]; /* in SI units pF */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sensor_hbeat /* Type: Heart Beat */
|
|
||||||
{
|
|
||||||
uint64_t timestamp; /* Units is microseconds */
|
|
||||||
float beat; /* Units is times/minutes */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sensor_force /* Type: Force */
|
|
||||||
{
|
|
||||||
uint64_t timestamp; /* Unit is microseconds */
|
|
||||||
float force; /* Force value, units is N */
|
|
||||||
int32_t event; /* Force event */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sensor_gnss /* Type: GNSS */
|
struct sensor_gnss /* Type: GNSS */
|
||||||
{
|
{
|
||||||
uint64_t timestamp; /* Time since system start, Units is microseconds */
|
uint64_t timestamp; /* Time since system start, Units is microseconds */
|
||||||
|
Loading…
Reference in New Issue
Block a user