/* #define LOG_NDEBUG 0 */
#define LOG_TAG "HdapsSensors"
-#include <stdint.h>
+#include <inttypes.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
static unsigned int forced_delay = 0;
struct sensors_poll_context_t {
- struct sensors_poll_device_t device;
+ struct sensors_poll_device_1 device;
int fd;
};
return 0;
}
-static int device__set_delay(struct sensors_poll_device_t *device, int handle,
- int64_t ns) {
- forced_delay = ns / 1000;
- return 0;
-
-}
-
static int device__poll(struct sensors_poll_device_t *device,
sensors_event_t *data, int count) {
return -errno;
}
+static int device__batch(struct sensors_poll_device_1* dev, int sensor_handle,
+ int flags, int64_t sampling_period_ns, int64_t max_report_latency_ns) {
+ ALOGD("%s: dev=%p sensor_handle=%d flags=%d sampling_period_ns=%" PRId64 " max_report_latency_ns=%" PRId64,
+ __FUNCTION__, dev, sensor_handle, flags, sampling_period_ns, max_report_latency_ns);
+ forced_delay = sampling_period_ns / 1000;
+ return EXIT_SUCCESS;
+}
+
+static int device__flush(struct sensors_poll_device_1* dev, int sensor_handle) {
+ ALOGD("%s: dev=%p sensor_handle=%d", __FUNCTION__, dev, sensor_handle);
+ return EXIT_SUCCESS;
+}
+
static int open_input_device(void) {
char *filename;
int fd = -1;
struct sensors_module_t HAL_MODULE_INFO_SYM = {
.common = {
.tag = HARDWARE_MODULE_TAG,
- .version_major = 2,
- .version_minor = 0,
+ .module_api_version = 2,
+ .hal_api_version = 0,
.id = SENSORS_HARDWARE_MODULE_ID,
.name = "hdaps accelerometer sensor",
.author = "Stefan Seidel",
sizeof(struct sensors_poll_context_t));
dev->device.common.tag = HARDWARE_DEVICE_TAG;
- dev->device.common.version = 0;
+ dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3;
dev->device.common.module = (struct hw_module_t*) module;
dev->device.common.close = common__close;
dev->device.activate = device__activate;
- dev->device.setDelay = device__set_delay;
dev->device.poll = device__poll;
+ dev->device.batch = device__batch;
+ dev->device.flush = device__flush;
if ((dev->fd = open_input_device()) < 0) {
ALOGE("GSensor get class path error");