summaryrefslogtreecommitdiffstats
path: root/libsensors/TemperatureSensor.cpp
diff options
context:
space:
mode:
authorKyle Repinski <repinski23@gmail.com>2014-07-04 16:03:02 -0500
committerZiyan <jaraidaniel@gmail.com>2014-12-13 00:39:24 +0100
commitca2bb8fc30fc6e4b5765d4da01e8c3cafc3b0095 (patch)
tree9a71c5a06c4688c99a80fdbc11908ed365340f26 /libsensors/TemperatureSensor.cpp
parentccf65b4db704992acd3f2dca771a2cb2c2500410 (diff)
downloaddevice_samsung_tuna-ca2bb8fc30fc6e4b5765d4da01e8c3cafc3b0095.zip
device_samsung_tuna-ca2bb8fc30fc6e4b5765d4da01e8c3cafc3b0095.tar.gz
device_samsung_tuna-ca2bb8fc30fc6e4b5765d4da01e8c3cafc3b0095.tar.bz2
tuna: Add ambient temperature sensor.
This leverages the BMP180's ability to sense the temperature. Requires kernel change, but there are no adverse side-effects without the kernel change. Change-Id: Ibe2228d0ab30775556acb0a034f7f0904ed1b0b7 Signed-off-by: Kyle Repinski <repinski23@gmail.com> Conflicts: libsensors/sensors.cpp
Diffstat (limited to 'libsensors/TemperatureSensor.cpp')
-rw-r--r--libsensors/TemperatureSensor.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/libsensors/TemperatureSensor.cpp b/libsensors/TemperatureSensor.cpp
new file mode 100644
index 0000000..74a6cd5
--- /dev/null
+++ b/libsensors/TemperatureSensor.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2011 Samsung
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <fcntl.h>
+#include <errno.h>
+#include <math.h>
+#include <poll.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <sys/select.h>
+#include <cutils/log.h>
+#include <pthread.h>
+
+#include "TemperatureSensor.h"
+
+#define TEMPERATURE_CELCIUS (1.0f/10.0f)
+
+TemperatureSensor::TemperatureSensor()
+ : SamsungSensorBase(NULL, "barometer", ABS_MISC)
+{
+ mPendingEvent.sensor = ID_T;
+ mPendingEvent.type = SENSOR_TYPE_AMBIENT_TEMPERATURE;
+}
+
+bool TemperatureSensor::handleEvent(input_event const *event) {
+ mPendingEvent.temperature = event->value * TEMPERATURE_CELCIUS;
+ return true;
+}