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,