sensors: add allow multiple sensors in an external app
Change-Id: Ic6c0b8b607a3ccc027c9117c3bbc97cf0c099fb5
Signed-off-by: Ben Fennema <[email protected]>
diff --git a/firmware/src/drivers/vsync/vsync.c b/firmware/src/drivers/vsync/vsync.c
index c619b28..62d567c 100644
--- a/firmware/src/drivers/vsync/vsync.c
+++ b/firmware/src/drivers/vsync/vsync.c
@@ -95,7 +95,7 @@
20,
};
-static bool vsyncPower(bool on)
+static bool vsyncPower(bool on, void *cookie)
{
if (on) {
extiClearPendingGpio(mTask.pin);
@@ -110,17 +110,17 @@
return true;
}
-static bool vsyncFirmwareUpload()
+static bool vsyncFirmwareUpload(void *cookie)
{
return sensorSignalInternalEvt(mTask.sensorHandle, SENSOR_INTERNAL_EVT_FW_STATE_CHG, 1, 0);
}
-static bool vsyncSetRate(uint32_t rate, uint64_t latency)
+static bool vsyncSetRate(uint32_t rate, uint64_t latency, void *cookie)
{
return sensorSignalInternalEvt(mTask.sensorHandle, SENSOR_INTERNAL_EVT_RATE_CHG, rate, latency);
}
-static bool vsyncFlush()
+static bool vsyncFlush(void *cookie)
{
return osEnqueueEvt(sensorGetMyEventType(SENS_TYPE_VSYNC), SENSOR_DATA_EVENT_FLUSH, NULL);
}
@@ -143,8 +143,7 @@
osLog(LOG_INFO, "VSYNC: task starting\n");
mTask.id = taskId;
- mTask.sensorHandle = sensorRegister(&mSensorInfo, &mSensorOps);
- sensorRegisterInitComplete(mTask.sensorHandle);
+ mTask.sensorHandle = sensorRegister(&mSensorInfo, &mSensorOps, NULL, true);
mTask.pin = gpioRequest(VSYNC_PIN);
mTask.isr.func = vsyncIsr;