Merge "sensorhal: Add support for humidity sensor"
diff --git a/sensorhal/hubconnection.cpp b/sensorhal/hubconnection.cpp
index 199bae5..5c5db92 100644
--- a/sensorhal/hubconnection.cpp
+++ b/sensorhal/hubconnection.cpp
@@ -220,6 +220,7 @@
mSensorState[COMMS_SENSOR_GAZE].rate = SENSOR_RATE_ONESHOT;
mSensorState[COMMS_SENSOR_UNGAZE].sensorType = SENS_TYPE_UNGAZE;
mSensorState[COMMS_SENSOR_UNGAZE].rate = SENSOR_RATE_ONESHOT;
+ mSensorState[COMMS_SENSOR_HUMIDITY].sensorType = SENS_TYPE_HUMIDITY;
#ifdef LID_STATE_REPORTING_ENABLED
initializeUinputNode();
@@ -482,6 +483,9 @@
case COMMS_SENSOR_PRESSURE:
initEv(&nev[cnt++], timestamp, type, sensor)->pressure = sample->fdata;
break;
+ case COMMS_SENSOR_HUMIDITY:
+ initEv(&nev[cnt++], timestamp, type, sensor)->relative_humidity = sample->fdata;
+ break;
case COMMS_SENSOR_TEMPERATURE:
initEv(&nev[cnt++], timestamp, type, sensor)->temperature = sample->fdata;
break;
@@ -850,6 +854,11 @@
sensor = COMMS_SENSOR_PRESSURE;
one = true;
break;
+ case SENS_TYPE_TO_EVENT(SENS_TYPE_HUMIDITY):
+ type = SENSOR_TYPE_RELATIVE_HUMIDITY;
+ sensor = COMMS_SENSOR_HUMIDITY;
+ one = true;
+ break;
case SENS_TYPE_TO_EVENT(SENS_TYPE_TEMP):
// nanohub only has one temperature sensor type, which is mapped to
// internal temp because we currently don't have ambient temp
@@ -1112,7 +1121,7 @@
float sw[3];
} gyro, accel;
int32_t proximity, proximity_array[4];
- float barometer, mag[3], light;
+ float barometer, humidity, mag[3], light;
bool gyro_hw_cal_exists, gyro_sw_cal_exists;
bool accel_hw_cal_exists, accel_sw_cal_exists;
@@ -1143,6 +1152,9 @@
if (settings->getFloat("barometer", &barometer))
queueDataInternal(COMMS_SENSOR_PRESSURE, &barometer, sizeof(barometer));
+ if (settings->getFloat("humidity", &humidity))
+ queueDataInternal(COMMS_SENSOR_HUMIDITY, &humidity, sizeof(humidity));
+
if (settings->getInt32("proximity", &proximity))
queueDataInternal(COMMS_SENSOR_PROXIMITY, &proximity, sizeof(proximity));
diff --git a/sensorhal/hubdefs.h b/sensorhal/hubdefs.h
index 4aac677..ba1f6e9 100644
--- a/sensorhal/hubdefs.h
+++ b/sensorhal/hubdefs.h
@@ -82,6 +82,8 @@
COMMS_SENSOR_DOUBLE_TOUCH = 44,
COMMS_SENSOR_GAZE = 45,
COMMS_SENSOR_UNGAZE = 46,
+ COMMS_SENSOR_ACCEL_UNCALIBRATED = 47,
+ COMMS_SENSOR_HUMIDITY = 48,
NUM_COMMS_SENSORS_PLUS_1,