589a9d9f1659ace1fe78af7776beb0d0fef4465c
[platform/core/system/sensord.git] / src / shared / sensor_types.h
1 /*
2  * libsensord-share
3  *
4  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
5  *
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
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
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.
17  *
18  */
19
20 #ifndef _SENSOR_TYPES_H_
21 #define _SENSOR_TYPES_H_
22
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27
28 typedef enum {
29         UNKNOWN_SENSOR = -2,
30         ALL_SENSOR = -1,
31         ACCELEROMETER_SENSOR,
32         GRAVITY_SENSOR,
33         LINEAR_ACCEL_SENSOR,
34         GEOMAGNETIC_SENSOR,
35         ROTATION_VECTOR_SENSOR,
36         ORIENTATION_SENSOR,
37         GYROSCOPE_SENSOR,
38         LIGHT_SENSOR,
39         PROXIMITY_SENSOR,
40         PRESSURE_SENSOR,
41         ULTRAVIOLET_SENSOR,
42         TEMPERATURE_SENSOR,
43         HUMIDITY_SENSOR,
44         BIO_HRM_SENSOR,
45         BIO_LED_GREEN_SENSOR,
46         BIO_LED_IR_SENSOR,
47         BIO_LED_RED_SENSOR,
48         GYROSCOPE_UNCAL_SENSOR,
49         UNCAL_GEOMAGNETIC_SENSOR,
50         GAMING_RV_SENSOR,
51         GEOMAGNETIC_RV_SENSOR,
52
53         ACTIVITY_STATIONARY_SENSOR = 0x100,
54         ACTIVITY_WALK_SENSOR,
55         ACTIVITY_RUN_SENSOR,
56         ACTIVITY_IN_VEHICLE_SENSOR,
57         ACTIVITY_ON_BICYCLE_SENSOR,
58
59         GESTURE_MOVEMENT_SENSOR = 0x200,
60         GESTURE_WRIST_UP_SENSOR,
61         GESTURE_WRIST_DOWN_SENSOR,
62
63         HUMAN_PEDOMETER_SENSOR = 0x300,
64         HUMAN_SLEEP_MONITOR_SENSOR,
65
66         FUSION_SENSOR = 0x900,
67         AUTO_ROTATION_SENSOR,
68
69         CONTEXT_SENSOR = 0x1000,
70         MOTION_SENSOR,
71         PIR_SENSOR,
72         PIR_LONG_SENSOR,
73         DUST_SENSOR,
74         THERMOMETER_SENSOR,
75         PEDOMETER_SENSOR,
76         FLAT_SENSOR,
77         BIO_SENSOR,
78         TILT_SENSOR,
79         RV_RAW_SENSOR,
80 } sensor_type_t;
81
82 // Sensor Event Types
83 enum event_types_t {
84         ACCELEROMETER_RAW_DATA_EVENT                                    = (ACCELEROMETER_SENSOR << 16) | 0x0001,
85         ACCELEROMETER_UNPROCESSED_DATA_EVENT                    = (ACCELEROMETER_SENSOR << 16) | 0x0002,
86
87         GYROSCOPE_RAW_DATA_EVENT        = (GYROSCOPE_SENSOR << 16) | 0x0001,
88         GYROSCOPE_UNPROCESSED_DATA_EVENT        = (GYROSCOPE_SENSOR << 16) | 0x0002,
89
90         GEOMAGNETIC_RAW_DATA_EVENT      = (GEOMAGNETIC_SENSOR << 16) | 0x0001,
91         GEOMAGNETIC_UNPROCESSED_DATA_EVENT      = (GEOMAGNETIC_SENSOR << 16) | 0x0002,
92
93         PROXIMITY_CHANGE_STATE_EVENT    = (PROXIMITY_SENSOR << 16) | 0x0001,
94         PROXIMITY_STATE_EVENT   = (PROXIMITY_SENSOR << 16) | 0x0002,
95         PROXIMITY_DISTANCE_DATA_EVENT   = (PROXIMITY_SENSOR << 16) | 0x0003,
96
97         PRESSURE_RAW_DATA_EVENT         = (PRESSURE_SENSOR << 16) | 0x0001,
98
99         TEMPERATURE_RAW_DATA_EVENT      = (TEMPERATURE_SENSOR << 16) | 0x0001,
100
101         LIGHT_LUX_DATA_EVENT    = (LIGHT_SENSOR << 16) | 0x0001,
102         LIGHT_LEVEL_DATA_EVENT  = (LIGHT_SENSOR << 16) | 0x0002,
103         LIGHT_CHANGE_LEVEL_EVENT        = (LIGHT_SENSOR << 16) | 0x0003,
104
105         ROTATION_VECTOR_RAW_DATA_EVENT  = (ROTATION_VECTOR_SENSOR << 16) | 0x0001,
106
107         RV_RAW_RAW_DATA_EVENT   = (RV_RAW_SENSOR << 16) | 0x0001,
108
109         ULTRAVIOLET_RAW_DATA_EVENT      = (ULTRAVIOLET_SENSOR << 16) | 0x0001,
110
111         AUTO_ROTATION_CHANGE_STATE_EVENT = (AUTO_ROTATION_SENSOR << 16) | 0x0001,
112
113         BIO_LED_RED_RAW_DATA_EVENT      = (BIO_LED_RED_SENSOR << 16) | 0x0001,
114
115         GAMING_RV_RAW_DATA_EVENT        = (GAMING_RV_SENSOR << 16) | 0x0001,
116
117         GEOMAGNETIC_RV_RAW_DATA_EVENT   = (GEOMAGNETIC_RV_SENSOR << 16) | 0x0001,
118
119         GRAVITY_RAW_DATA_EVENT  = (GRAVITY_SENSOR << 16) | 0x0001,
120
121         LINEAR_ACCEL_RAW_DATA_EVENT     = (LINEAR_ACCEL_SENSOR << 16) | 0x0001,
122
123         MOTION_ENGINE_EVENT_SNAP                                = (MOTION_SENSOR << 16) | 0x0001,
124         MOTION_ENGINE_EVENT_SHAKE                               = (MOTION_SENSOR << 16) | 0x0002,
125         MOTION_ENGINE_EVENT_DOUBLETAP                   = (MOTION_SENSOR << 16) | 0x0004,
126         MOTION_ENGINE_EVENT_PANNING                             = (MOTION_SENSOR << 16) | 0x0008,
127         MOTION_ENGINE_EVENT_TOP_TO_BOTTOM               = (MOTION_SENSOR << 16) | 0x0010,
128         MOTION_ENGINE_EVENT_DIRECT_CALL                 = (MOTION_SENSOR << 16) | 0x0020,
129         MOTION_ENGINE_EVENT_TILT_TO_UNLOCK              = (MOTION_SENSOR << 16) | 0x0040,
130         MOTION_ENGINE_EVENT_LOCK_EXECUTE_CAMERA = (MOTION_SENSOR << 16) | 0x0080,
131         MOTION_ENGINE_EVENT_SMART_ALERT                 = (MOTION_SENSOR << 16) | 0x0100,
132         MOTION_ENGINE_EVENT_TILT                                = (MOTION_SENSOR << 16) | 0x0200,
133         MOTION_ENGINE_EVENT_PANNING_BROWSE              = (MOTION_SENSOR << 16) | 0x0400,
134         MOTION_ENGINE_EVENT_NO_MOVE                             = (MOTION_SENSOR << 16) | 0x0800,
135         MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON     = (MOTION_SENSOR << 16) | 0x1000,
136         MOTION_ENGINE_EVENT_SMART_RELAY         = (MOTION_SENSOR << 16) | 0x2000,
137
138         ORIENTATION_RAW_DATA_EVENT      = (ORIENTATION_SENSOR << 16) | 0x0001,
139
140         TILT_RAW_DATA_EVENT     = (TILT_SENSOR << 16) | 0x0001,
141
142         GYROSCOPE_UNCAL_RAW_DATA_EVENT  = (GYROSCOPE_UNCAL_SENSOR << 16) | 0x0001,
143
144         FUSION_EVENT = (FUSION_SENSOR << 16) | 0x0001,
145         FUSION_GYROSCOPE_UNCAL_EVENT = (FUSION_SENSOR << 16) | 0x0002,
146         FUSION_CALIBRATION_NEEDED_EVENT = (FUSION_SENSOR << 16) | 0x0003,
147         FUSION_ORIENTATION_ENABLED = (FUSION_SENSOR << 16) | 0x0004,
148         FUSION_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0005,
149         FUSION_GAMING_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0006,
150         FUSION_GEOMAGNETIC_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0007,
151         FUSION_TILT_ENABLED = (FUSION_SENSOR << 16) | 0x0008,
152         FUSION_GYROSCOPE_UNCAL_ENABLED = (FUSION_SENSOR << 16) | 0x0009,
153 };
154
155 enum proxi_change_state {
156         PROXIMITY_STATE_NEAR    = 0,
157         PROXIMITY_STATE_FAR     = 1,
158 };
159
160 enum auto_rotation_state {
161         AUTO_ROTATION_DEGREE_UNKNOWN = 0,
162         AUTO_ROTATION_DEGREE_0,
163         AUTO_ROTATION_DEGREE_90,
164         AUTO_ROTATION_DEGREE_180,
165         AUTO_ROTATION_DEGREE_270,
166 };
167
168 enum motion_snap_event {
169         MOTION_ENGIEN_SNAP_NONE                 = 0,
170         MOTION_ENGIEN_NEGATIVE_SNAP_X   = 1,
171         MOTION_ENGIEN_POSITIVE_SNAP_X   = 2,
172         MOTION_ENGIEN_NEGATIVE_SNAP_Y   = 3,
173         MOTION_ENGIEN_POSITIVE_SNAP_Y   = 4,
174         MOTION_ENGIEN_NEGATIVE_SNAP_Z   = 5,
175         MOTION_ENGIEN_POSITIVE_SNAP_Z   = 6,
176         MOTION_ENGIEN_SNAP_LEFT                 = MOTION_ENGIEN_NEGATIVE_SNAP_X,
177         MOTION_ENGIEN_SNAP_RIGHT                = MOTION_ENGIEN_POSITIVE_SNAP_X,
178         MOTION_ENGINE_SNAP_NONE                 = 0,
179         MOTION_ENGINE_NEGATIVE_SNAP_X   = 1,
180         MOTION_ENGINE_POSITIVE_SNAP_X   = 2,
181         MOTION_ENGINE_NEGATIVE_SNAP_Y   = 3,
182         MOTION_ENGINE_POSITIVE_SNAP_Y   = 4,
183         MOTION_ENGINE_NEGATIVE_SNAP_Z   = 5,
184         MOTION_ENGINE_POSITIVE_SNAP_Z   = 6,
185         MOTION_ENGINE_SNAP_LEFT                 = MOTION_ENGINE_NEGATIVE_SNAP_X,
186         MOTION_ENGINE_SNAP_RIGHT                = MOTION_ENGINE_POSITIVE_SNAP_X,
187 };
188
189 enum motion_shake_event {
190         MOTION_ENGIEN_SHAKE_NONE                = 0,
191         MOTION_ENGIEN_SHAKE_DETECTION   = 1,
192         MOTION_ENGIEN_SHAKE_CONTINUING  = 2,
193         MOTION_ENGIEN_SHAKE_FINISH              = 3,
194         MOTION_ENGINE_SHAKE_BREAK               = 4,
195         MOTION_ENGINE_SHAKE_NONE                = 0,
196         MOTION_ENGINE_SHAKE_DETECTION   = 1,
197         MOTION_ENGINE_SHAKE_CONTINUING  = 2,
198         MOTION_ENGINE_SHAKE_FINISH              = 3,
199 };
200
201 enum motion_doubletap_event {
202         MOTION_ENGIEN_DOUBLTAP_NONE                     = 0,
203         MOTION_ENGIEN_DOUBLTAP_DETECTION        = 1,
204         MOTION_ENGINE_DOUBLTAP_NONE                     = 0,
205         MOTION_ENGINE_DOUBLTAP_DETECTION        = 1,
206 };
207
208 enum motion_top_to_bottom_event {
209         MOTION_ENGIEN_TOP_TO_BOTTOM_NONE                = 0,
210         MOTION_ENGIEN_TOP_TO_BOTTOM_WAIT                = 1,
211         MOTION_ENGIEN_TOP_TO_BOTTOM_DETECTION   = 2,
212         MOTION_ENGINE_TOP_TO_BOTTOM_NONE                = 0,
213         MOTION_ENGINE_TOP_TO_BOTTOM_WAIT                = 1,
214         MOTION_ENGINE_TOP_TO_BOTTOM_DETECTION   = 2,
215 };
216
217 enum motion_direct_call_event_t {
218         MOTION_ENGINE_DIRECT_CALL_NONE,
219         MOTION_ENGINE_DIRECT_CALL_DETECTION,
220 };
221
222 enum motion_smart_relay_event_t {
223         MOTION_ENGINE_SMART_RELAY_NONE,
224         MOTION_ENGINE_SMART_RELAY_DETECTION,
225 };
226
227 enum motion_tilt_to_unlock_event_t {
228         MOTION_ENGINE_TILT_TO_UNLOCK_NONE,
229         MOTION_ENGINE_TILT_TO_UNLOCK_DETECTION,
230 };
231
232 enum motion_lock_execute_camera_event_t {
233         MOTION_ENGINE_LOCK_EXECUTE_CAMERA_NONE,
234         MOTION_ENGINE_LOCK_EXECUTE_CAMERA_L_DETECTION,
235         MOTION_ENGINE_LOCK_EXECUTE_CAMERA_R_DETECTION,
236 };
237
238 enum motion_smart_alert_t {
239         MOTION_ENGINE_SMART_ALERT_NONE,
240         MOTION_ENGINE_SMART_ALERT_DETECTION,
241 };
242
243 enum motion_no_move_t {
244         MOTION_ENGINE_NO_MOVE_NONE,
245     MOTION_ENGINE_NO_MOVE_DETECTION,
246 };
247
248 enum motion_property_id {
249         MOTION_PROPERTY_UNKNOWN = 0,
250         MOTION_PROPERTY_CHECK_ACCEL_SENSOR,
251         MOTION_PROPERTY_CHECK_GYRO_SENSOR,
252         MOTION_PROPERTY_CHECK_GEO_SENSOR,
253         MOTION_PROPERTY_CHECK_PRIXI_SENSOR,
254         MOTION_PROPERTY_CHECK_LIGHT_SENSOR,
255         MOTION_PROPERTY_CHECK_BARO_SENSOR,
256         MOTION_PROPERTY_LCD_TOUCH_ON,
257         MOTION_PROPERTY_LCD_TOUCH_OFF,
258         MOTION_PROPERTY_CHECK_GYRO_CAL_STATUS,
259 };
260
261 #ifdef __cplusplus
262 }
263 #endif
264
265 #endif /* _SENSOR_TYPES_H_ */