sensorhal: add support for a GAZE sensor
Bug: 31627641
Change-Id: Ia6f26f76bbc626bdaa629cec72ae8732a2f2e776
diff --git a/firmware/inc/sensType.h b/firmware/inc/sensType.h
index 8677b07..25bdd8e 100644
--- a/firmware/inc/sensType.h
+++ b/firmware/inc/sensType.h
@@ -72,6 +72,7 @@
#define SENS_TYPE_ACTIVITY_RAW 51
#define SENS_TYPE_DOUBLE_TOUCH 52
+#define SENS_TYPE_GAZE 53
#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 0e480ba..0e2fec8 100644
--- a/sensorhal/hubconnection.cpp
+++ b/sensorhal/hubconnection.cpp
@@ -211,6 +211,8 @@
mSensorState[COMMS_SENSOR_ACTIVITY_STILL_STOP].rate = SENSOR_RATE_ONCHANGE;
mSensorState[COMMS_SENSOR_ACTIVITY_TILTING].sensorType = SENS_TYPE_ACTIVITY_TILTING;
mSensorState[COMMS_SENSOR_ACTIVITY_TILTING].rate = SENSOR_RATE_ONCHANGE;
+ mSensorState[COMMS_SENSOR_GAZE].sensorType = SENS_TYPE_GAZE;
+ mSensorState[COMMS_SENSOR_GAZE].rate = SENSOR_RATE_ONESHOT;
#ifdef LID_STATE_REPORTING_ENABLED
initializeUinputNode();
@@ -452,6 +454,7 @@
case COMMS_SENSOR_WRIST_TILT:
initEv(&nev[cnt++], timestamp, type, sensor)->data[0] = 1.0f;
break;
+ case COMMS_SENSOR_GAZE:
case COMMS_SENSOR_GESTURE:
case COMMS_SENSOR_SYNC:
case COMMS_SENSOR_DOUBLE_TOUCH:
@@ -937,6 +940,11 @@
sensor = COMMS_SENSOR_ACTIVITY_TILTING;
one = true;
break;
+ case SENS_TYPE_TO_EVENT(SENS_TYPE_GAZE):
+ type = SENSOR_TYPE_GAZE;
+ sensor = COMMS_SENSOR_GAZE;
+ one = true;
+ break;
case EVT_RESET_REASON:
uint32_t resetReason;
memcpy(&resetReason, data->buffer, sizeof(resetReason));
diff --git a/sensorhal/hubdefs.h b/sensorhal/hubdefs.h
index 52e5c62..b5f83ca 100644
--- a/sensorhal/hubdefs.h
+++ b/sensorhal/hubdefs.h
@@ -80,6 +80,7 @@
COMMS_SENSOR_ACTIVITY_TILTING = 42,
COMMS_SENSOR_ACCEL_BIAS = 43,
COMMS_SENSOR_DOUBLE_TOUCH = 44,
+ COMMS_SENSOR_GAZE = 45,
NUM_COMMS_SENSORS_PLUS_1,
@@ -111,6 +112,7 @@
SENSOR_TYPE_DOUBLE_TWIST = SENSOR_TYPE_DEVICE_PRIVATE_BASE + 2,
SENSOR_TYPE_DOUBLE_TAP = SENSOR_TYPE_DEVICE_PRIVATE_BASE + 3,
SENSOR_TYPE_DOUBLE_TOUCH = SENSOR_TYPE_DEVICE_PRIVATE_BASE + 4,
+ SENSOR_TYPE_GAZE = SENSOR_TYPE_DEVICE_PRIVATE_BASE + 5,
};
} // namespace android