nanohub: add ambient temp sensor type

Test: make -C variant/neonkey
Merged-In: Ib0e676e010e6587fe94730346b6b5bfc3c3ea0af
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 37ec618..7c1651e 100644
--- a/sensorhal/hubconnection.cpp
+++ b/sensorhal/hubconnection.cpp
@@ -172,6 +172,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;
@@ -539,6 +540,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;
@@ -1016,6 +1020,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 99c8e26..9664e2b 100644
--- a/sensorhal/hubdefs.h
+++ b/sensorhal/hubdefs.h
@@ -84,6 +84,7 @@
     COMMS_SENSOR_UNGAZE                      = 46,
     COMMS_SENSOR_ACCEL_UNCALIBRATED          = 47,
     COMMS_SENSOR_HUMIDITY                    = 48,
+    COMMS_SENSOR_AMBIENT_TEMPERATURE         = 51,
 
     NUM_COMMS_SENSORS_PLUS_1,