nanohub: add ambient temp sensor type
Test: make -C variant/neonkey
Change-Id: Ib0e676e010e6587fe94730346b6b5bfc3c3ea0af
Signed-off-by: Ben Fennema <fennema@google.com>
diff --git a/firmware/os/drivers/si_si7034/si7034a10.c b/firmware/os/drivers/si_si7034/si7034a10.c
index 153fd44..f400bf2 100644
--- a/firmware/os/drivers/si_si7034/si7034a10.c
+++ b/firmware/os/drivers/si_si7034/si7034a10.c
@@ -254,7 +254,7 @@
{
{ DEC_INFO("Humidity", SENS_TYPE_HUMIDITY, NUM_AXIS_EMBEDDED, NANOHUB_INT_NONWAKEUP,
300, si7034Rates) },
- { DEC_INFO("Temperature", SENS_TYPE_TEMP, NUM_AXIS_EMBEDDED, NANOHUB_INT_NONWAKEUP,
+ { DEC_INFO("Temperature", SENS_TYPE_AMBIENT_TEMP, NUM_AXIS_EMBEDDED, NANOHUB_INT_NONWAKEUP,
20, si7034Rates) },
};
diff --git a/firmware/os/inc/sensType.h b/firmware/os/inc/sensType.h
index 9f32f2b..d1bea8b 100644
--- a/firmware/os/inc/sensType.h
+++ b/firmware/os/inc/sensType.h
@@ -82,6 +82,7 @@
#define SENS_TYPE_LEDS 60
#define SENS_TYPE_HUMIDITY 61
#define SENS_TYPE_LEDS_I2C 62
+#define SENS_TYPE_AMBIENT_TEMP 63
#define SENS_TYPE_FIRST_USER 64 // event type necessarily begins with UserSensorEventHdr
#define SENS_TYPE_LAST_USER 128
diff --git a/sensorhal/hubconnection.cpp b/sensorhal/hubconnection.cpp
index 9d78635..3af5a60 100644
--- a/sensorhal/hubconnection.cpp
+++ b/sensorhal/hubconnection.cpp
@@ -211,6 +211,7 @@
mSensorState[COMMS_SENSOR_PROXIMITY].sensorType = SENS_TYPE_PROX;
mSensorState[COMMS_SENSOR_PRESSURE].sensorType = SENS_TYPE_BARO;
mSensorState[COMMS_SENSOR_TEMPERATURE].sensorType = SENS_TYPE_TEMP;
+ mSensorState[COMMS_SENSOR_AMBIENT_TEMPERATURE].sensorType = SENS_TYPE_AMBIENT_TEMP;
mSensorState[COMMS_SENSOR_ORIENTATION].sensorType = SENS_TYPE_ORIENTATION;
mSensorState[COMMS_SENSOR_WINDOW_ORIENTATION].sensorType = SENS_TYPE_WIN_ORIENTATION;
mSensorState[COMMS_SENSOR_WINDOW_ORIENTATION].rate = SENSOR_RATE_ONCHANGE;
@@ -652,6 +653,9 @@
case COMMS_SENSOR_TEMPERATURE:
initEv(&nev[cnt++], timestamp, type, sensor)->temperature = sample->fdata;
break;
+ case COMMS_SENSOR_AMBIENT_TEMPERATURE:
+ initEv(&nev[cnt++], timestamp, type, sensor)->temperature = sample->fdata;
+ break;
case COMMS_SENSOR_PROXIMITY:
initEv(&nev[cnt++], timestamp, type, sensor)->distance = sample->fdata;
break;
@@ -1179,6 +1183,11 @@
sensor = COMMS_SENSOR_TEMPERATURE;
one = true;
break;
+ case SENS_TYPE_TO_EVENT(SENS_TYPE_AMBIENT_TEMP):
+ type = SENSOR_TYPE_AMBIENT_TEMPERATURE;
+ sensor = COMMS_SENSOR_AMBIENT_TEMPERATURE;
+ one = true;
+ break;
case SENS_TYPE_TO_EVENT(SENS_TYPE_ORIENTATION):
type = SENSOR_TYPE_ORIENTATION;
sensor = COMMS_SENSOR_ORIENTATION;
diff --git a/sensorhal/hubdefs.h b/sensorhal/hubdefs.h
index 76ae8e7..f63cc42 100644
--- a/sensorhal/hubdefs.h
+++ b/sensorhal/hubdefs.h
@@ -86,6 +86,7 @@
COMMS_SENSOR_HUMIDITY = 48,
COMMS_SENSOR_ACCEL_WRIST_AWARE = 49,
COMMS_SENSOR_GYRO_WRIST_AWARE = 50,
+ COMMS_SENSOR_AMBIENT_TEMPERATURE = 51,
NUM_COMMS_SENSORS_PLUS_1,