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