diff options
Diffstat (limited to 'als/AlsSensor.h')
-rw-r--r-- | als/AlsSensor.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/als/AlsSensor.h b/als/AlsSensor.h new file mode 100644 index 0000000..a393b0b --- /dev/null +++ b/als/AlsSensor.h @@ -0,0 +1,65 @@ +/* +* Copyright (C) 2015 Intel Corp +* +* 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. +*/ + + +#ifndef ANDROID_LIGHT_SENSOR_H +#define ANDROID_LIGHT_SENSOR_H + +#include <stdint.h> +#include <errno.h> +#include <sys/cdefs.h> +#include <sys/types.h> + +#include "sensors.h" +#include "SensorBase.h" +#include "InputEventReader.h" + +/*****************************************************************************/ +/* the GP2A is a binary proximity sensor that triggers around 5 cm on + * this hardware */ +#define PROXIMITY_THRESHOLD_GP2A 5.0f + +struct input_event; + +class LightSensor : public SensorBase { + int mEnabled; + int mEventsSinceEnable; + InputEventCircularReader mInputReader; + sensors_event_t mPendingEvent; + bool mHasPendingEvent; + char input_sysfs_path[PATH_MAX]; + int input_sysfs_path_len; + + int setInitialState(); + float mPreviousLight; + float indexToValue(size_t index) const; + +public: + LightSensor(); + virtual ~LightSensor(); + virtual int readEvents(sensors_event_t* data, int count); + virtual bool hasPendingEvents() const; + virtual int setDelay(int32_t handle, int64_t ns); + virtual int enable(int32_t handle, int enabled); +#ifdef HAL_VERSION_GT_1_0 + virtual int batch(int handle, int flags, int64_t period_ns, int64_t timeout); +#endif + +}; + +/*****************************************************************************/ + +#endif // ANDROID_LIGHT_SENSOR_H |