4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 #ifndef _SENSOR_COMMON_H_
21 #define _SENSOR_COMMON_H_
24 #define DEPRECATED __attribute__((deprecated))
33 * @defgroup SENSOR_FRAMEWORK SensorFW
34 * To support the unified API for the various sensors
38 * @defgroup SENSOR_FRAMEWORK_COMMON Sensor Framework Common API
39 * @ingroup SENSOR_FRAMEWORK
41 * These APIs are used to control the sensors.
45 typedef unsigned int sensor_id_t;
47 typedef void *sensor_t;
50 SENSOR_PRIVILEGE_PUBLIC,
51 SENSOR_PRIVILEGE_INTERNAL,
55 #define SENSOR_DATA_VALUE_SIZE 16
58 * When modifying it, check copy_sensor_data()
60 typedef struct sensor_data_t {
62 * Use "accuracy" instead of "data_accuracy"
63 * which is going to be removed soon
67 int data_accuracy; //deprecated
71 unsigned long long timestamp;
72 unsigned long long time_stamp; //deprecated
76 * Use "value_count" instead of "values_num"
77 * which is going to be removed soon
81 int values_num; //deprecated
84 float values[SENSOR_DATA_VALUE_SIZE];
87 #define SENSOR_HUB_DATA_SIZE 4096
89 typedef struct sensorhub_data_t {
94 unsigned long long timestamp;
95 char hub_data[SENSOR_HUB_DATA_SIZE];
99 enum sensor_accuracy_t {
100 SENSOR_ACCURACY_UNDEFINED = -1,
101 SENSOR_ACCURACY_BAD = 0,
102 SENSOR_ACCURACY_NORMAL =1,
103 SENSOR_ACCURACY_GOOD = 2,
104 SENSOR_ACCURACY_VERYGOOD = 3
108 * To prevent naming confliction as using same enums as sensor CAPI use
111 enum sensor_option_t {
112 SENSOR_OPTION_DEFAULT = 0,
113 SENSOR_OPTION_ON_IN_SCREEN_OFF = 1,
114 SENSOR_OPTION_ON_IN_POWERSAVE_MODE = 2,
115 SENSOR_OPTION_ALWAYS_ON = SENSOR_OPTION_ON_IN_SCREEN_OFF | SENSOR_OPTION_ON_IN_POWERSAVE_MODE,
119 typedef enum sensor_option_t sensor_option_e;
123 * To prevent naming confliction as using same enums as sensor CAPI use
126 enum sensor_wakeup_t {
127 SENSOR_WAKEUP_UNKNOWN = -1,
128 SENSOR_WAKEUP_OFF = 0,
129 SENSOR_WAKEUP_ON = 1,
132 typedef enum sensor_wakeup_t sensor_wakeup_e;
135 enum sensor_interval_t {
136 SENSOR_INTERVAL_FASTEST = 0,
137 SENSOR_INTERVAL_NORMAL = 200,
144 CONDITION_GREAT_THAN,
153 #endif /* _SENSOR_COMMON_H_ */