4 * Copyright (c) 2016 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_TYPES_H_
21 #define _SENSOR_TYPES_H_
23 #include "enum_factory.h"
30 #define SENSOR_TYPE(DEF_SENSOR, DEF_SENSOR_VALUE) \
31 DEF_SENSOR_VALUE(UNKNOWN_SENSOR, -2) \
32 DEF_SENSOR_VALUE(ALL_SENSOR, -1) \
33 DEF_SENSOR_VALUE(ACCELEROMETER_SENSOR, 0) \
34 DEF_SENSOR(GRAVITY_SENSOR) \
35 DEF_SENSOR(LINEAR_ACCEL_SENSOR) \
36 DEF_SENSOR(GEOMAGNETIC_SENSOR) \
37 DEF_SENSOR(ROTATION_VECTOR_SENSOR) \
38 DEF_SENSOR(ORIENTATION_SENSOR) \
39 DEF_SENSOR(GYROSCOPE_SENSOR) \
40 DEF_SENSOR(LIGHT_SENSOR) \
41 DEF_SENSOR(PROXIMITY_SENSOR) \
42 DEF_SENSOR(PRESSURE_SENSOR) \
43 DEF_SENSOR(ULTRAVIOLET_SENSOR) \
44 DEF_SENSOR(TEMPERATURE_SENSOR) \
45 DEF_SENSOR(HUMIDITY_SENSOR) \
46 DEF_SENSOR(HRM_SENSOR) \
47 DEF_SENSOR(HRM_LED_GREEN_SENSOR) \
48 DEF_SENSOR(HRM_LED_IR_SENSOR) \
49 DEF_SENSOR(HRM_LED_RED_SENSOR) \
50 DEF_SENSOR(GYROSCOPE_UNCAL_SENSOR) \
51 DEF_SENSOR(GEOMAGNETIC_UNCAL_SENSOR) \
52 DEF_SENSOR(GYROSCOPE_RV_SENSOR) \
53 DEF_SENSOR(GEOMAGNETIC_RV_SENSOR) \
55 DEF_SENSOR_VALUE(HUMAN_PEDOMETER_SENSOR, 0x300) \
56 DEF_SENSOR(HUMAN_SLEEP_MONITOR_SENSOR) \
58 DEF_SENSOR_VALUE(FUSION_SENSOR, 0x900) \
59 DEF_SENSOR(AUTO_ROTATION_SENSOR) \
60 DEF_SENSOR(AUTO_BRIGHTNESS_SENSOR) \
62 DEF_SENSOR_VALUE(CONTEXT_SENSOR, 0x1000) \
63 DEF_SENSOR(MOTION_SENSOR) \
64 DEF_SENSOR(PIR_SENSOR) \
65 DEF_SENSOR(PIR_LONG_SENSOR) \
66 DEF_SENSOR(DUST_SENSOR) \
67 DEF_SENSOR(THERMOMETER_SENSOR) \
68 DEF_SENSOR(PEDOMETER_SENSOR) \
69 DEF_SENSOR(FLAT_SENSOR) \
70 DEF_SENSOR(HRM_RAW_SENSOR) \
71 DEF_SENSOR(TILT_SENSOR) \
72 DEF_SENSOR(RV_RAW_SENSOR) \
73 DEF_SENSOR(EXERCISE_SENSOR) \
75 DEF_SENSOR_VALUE(GESTURE_MOVEMENT_SENSOR, 0x1200) \
76 DEF_SENSOR(GESTURE_WRIST_UP_SENSOR) \
77 DEF_SENSOR(GESTURE_WRIST_DOWN_SENSOR) \
78 DEF_SENSOR(GESTURE_MOVEMENT_STATE_SENSOR) \
80 DEF_SENSOR_VALUE(WEAR_STATUS_SENSOR, 0x1A00) \
81 DEF_SENSOR(WEAR_ON_MONITOR_SENSOR) \
82 DEF_SENSOR(GPS_BATCH_SENSOR) \
83 DEF_SENSOR(ACTIVITY_TRACKER_SENSOR) \
84 DEF_SENSOR(SLEEP_DETECTOR_SENSOR) \
86 #define BIO_HRM_SENSOR HRM_SENSOR
87 #define BIO_LED_GREEN_SENSOR HRM_LED_GREEN_SENSOR
88 #define BIO_LED_IR_SENSOR HRM_LED_IR_SENSOR
89 #define BIO_LED_RED_SENSOR HRM_LED_RED_SENSOR
90 #define BIO_SENSOR HRM_RAW_SENSOR
92 DECLARE_SENSOR_ENUM(sensor_type_t, SENSOR_TYPE)
96 ACCELEROMETER_RAW_DATA_EVENT = (ACCELEROMETER_SENSOR << 16) | 0x0001,
97 ACCELEROMETER_UNPROCESSED_DATA_EVENT = (ACCELEROMETER_SENSOR << 16) | 0x0002,
99 GYROSCOPE_RAW_DATA_EVENT = (GYROSCOPE_SENSOR << 16) | 0x0001,
100 GYROSCOPE_UNPROCESSED_DATA_EVENT = (GYROSCOPE_SENSOR << 16) | 0x0002,
102 GEOMAGNETIC_RAW_DATA_EVENT = (GEOMAGNETIC_SENSOR << 16) | 0x0001,
103 GEOMAGNETIC_UNPROCESSED_DATA_EVENT = (GEOMAGNETIC_SENSOR << 16) | 0x0002,
105 PROXIMITY_CHANGE_STATE_EVENT = (PROXIMITY_SENSOR << 16) | 0x0001,
106 PROXIMITY_STATE_EVENT = (PROXIMITY_SENSOR << 16) | 0x0002,
107 PROXIMITY_DISTANCE_DATA_EVENT = (PROXIMITY_SENSOR << 16) | 0x0003,
109 PRESSURE_RAW_DATA_EVENT = (PRESSURE_SENSOR << 16) | 0x0001,
111 TEMPERATURE_RAW_DATA_EVENT = (TEMPERATURE_SENSOR << 16) | 0x0001,
113 LIGHT_LUX_DATA_EVENT = (LIGHT_SENSOR << 16) | 0x0001,
114 LIGHT_LEVEL_DATA_EVENT = (LIGHT_SENSOR << 16) | 0x0002,
115 LIGHT_CHANGE_LEVEL_EVENT = (LIGHT_SENSOR << 16) | 0x0003,
117 ROTATION_VECTOR_RAW_DATA_EVENT = (ROTATION_VECTOR_SENSOR << 16) | 0x0001,
119 RV_RAW_RAW_DATA_EVENT = (RV_RAW_SENSOR << 16) | 0x0001,
121 ULTRAVIOLET_RAW_DATA_EVENT = (ULTRAVIOLET_SENSOR << 16) | 0x0001,
123 AUTO_ROTATION_CHANGE_STATE_EVENT = (AUTO_ROTATION_SENSOR << 16) | 0x0001,
125 BIO_LED_RED_RAW_DATA_EVENT = (BIO_LED_RED_SENSOR << 16) | 0x0001,
127 GAMING_RV_RAW_DATA_EVENT = (GYROSCOPE_RV_SENSOR << 16) | 0x0001,
129 GEOMAGNETIC_RV_RAW_DATA_EVENT = (GEOMAGNETIC_RV_SENSOR << 16) | 0x0001,
131 GRAVITY_RAW_DATA_EVENT = (GRAVITY_SENSOR << 16) | 0x0001,
133 LINEAR_ACCEL_RAW_DATA_EVENT = (LINEAR_ACCEL_SENSOR << 16) | 0x0001,
135 MOTION_ENGINE_EVENT_SNAP = (MOTION_SENSOR << 16) | 0x0001,
136 MOTION_ENGINE_EVENT_SHAKE = (MOTION_SENSOR << 16) | 0x0002,
137 MOTION_ENGINE_EVENT_DOUBLETAP = (MOTION_SENSOR << 16) | 0x0004,
138 MOTION_ENGINE_EVENT_PANNING = (MOTION_SENSOR << 16) | 0x0008,
139 MOTION_ENGINE_EVENT_TOP_TO_BOTTOM = (MOTION_SENSOR << 16) | 0x0010,
140 MOTION_ENGINE_EVENT_DIRECT_CALL = (MOTION_SENSOR << 16) | 0x0020,
141 MOTION_ENGINE_EVENT_TILT_TO_UNLOCK = (MOTION_SENSOR << 16) | 0x0040,
142 MOTION_ENGINE_EVENT_LOCK_EXECUTE_CAMERA = (MOTION_SENSOR << 16) | 0x0080,
143 MOTION_ENGINE_EVENT_SMART_ALERT = (MOTION_SENSOR << 16) | 0x0100,
144 MOTION_ENGINE_EVENT_TILT = (MOTION_SENSOR << 16) | 0x0200,
145 MOTION_ENGINE_EVENT_PANNING_BROWSE = (MOTION_SENSOR << 16) | 0x0400,
146 MOTION_ENGINE_EVENT_NO_MOVE = (MOTION_SENSOR << 16) | 0x0800,
147 MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON = (MOTION_SENSOR << 16) | 0x1000,
148 MOTION_ENGINE_EVENT_SMART_RELAY = (MOTION_SENSOR << 16) | 0x2000,
150 ORIENTATION_RAW_DATA_EVENT = (ORIENTATION_SENSOR << 16) | 0x0001,
152 TILT_RAW_DATA_EVENT = (TILT_SENSOR << 16) | 0x0001,
154 GYROSCOPE_UNCAL_RAW_DATA_EVENT = (GYROSCOPE_UNCAL_SENSOR << 16) | 0x0001,
156 FUSION_EVENT = (FUSION_SENSOR << 16) | 0x0001,
157 FUSION_GYROSCOPE_UNCAL_EVENT = (FUSION_SENSOR << 16) | 0x0002,
158 FUSION_CALIBRATION_NEEDED_EVENT = (FUSION_SENSOR << 16) | 0x0003,
159 FUSION_ORIENTATION_ENABLED = (FUSION_SENSOR << 16) | 0x0004,
160 FUSION_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0005,
161 FUSION_GAMING_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0006,
162 FUSION_GEOMAGNETIC_ROTATION_VECTOR_ENABLED = (FUSION_SENSOR << 16) | 0x0007,
163 FUSION_TILT_ENABLED = (FUSION_SENSOR << 16) | 0x0008,
164 FUSION_GYROSCOPE_UNCAL_ENABLED = (FUSION_SENSOR << 16) | 0x0009,
167 enum proxi_change_state {
168 PROXIMITY_STATE_NEAR = 0,
169 PROXIMITY_STATE_FAR = 1,
172 enum auto_rotation_state {
173 AUTO_ROTATION_DEGREE_UNKNOWN = 0,
174 AUTO_ROTATION_DEGREE_0,
175 AUTO_ROTATION_DEGREE_90,
176 AUTO_ROTATION_DEGREE_180,
177 AUTO_ROTATION_DEGREE_270,
180 enum motion_snap_event {
181 MOTION_ENGIEN_SNAP_NONE = 0,
182 MOTION_ENGIEN_NEGATIVE_SNAP_X = 1,
183 MOTION_ENGIEN_POSITIVE_SNAP_X = 2,
184 MOTION_ENGIEN_NEGATIVE_SNAP_Y = 3,
185 MOTION_ENGIEN_POSITIVE_SNAP_Y = 4,
186 MOTION_ENGIEN_NEGATIVE_SNAP_Z = 5,
187 MOTION_ENGIEN_POSITIVE_SNAP_Z = 6,
188 MOTION_ENGIEN_SNAP_LEFT = MOTION_ENGIEN_NEGATIVE_SNAP_X,
189 MOTION_ENGIEN_SNAP_RIGHT = MOTION_ENGIEN_POSITIVE_SNAP_X,
190 MOTION_ENGINE_SNAP_NONE = 0,
191 MOTION_ENGINE_NEGATIVE_SNAP_X = 1,
192 MOTION_ENGINE_POSITIVE_SNAP_X = 2,
193 MOTION_ENGINE_NEGATIVE_SNAP_Y = 3,
194 MOTION_ENGINE_POSITIVE_SNAP_Y = 4,
195 MOTION_ENGINE_NEGATIVE_SNAP_Z = 5,
196 MOTION_ENGINE_POSITIVE_SNAP_Z = 6,
197 MOTION_ENGINE_SNAP_LEFT = MOTION_ENGINE_NEGATIVE_SNAP_X,
198 MOTION_ENGINE_SNAP_RIGHT = MOTION_ENGINE_POSITIVE_SNAP_X,
201 enum motion_shake_event {
202 MOTION_ENGIEN_SHAKE_NONE = 0,
203 MOTION_ENGIEN_SHAKE_DETECTION = 1,
204 MOTION_ENGIEN_SHAKE_CONTINUING = 2,
205 MOTION_ENGIEN_SHAKE_FINISH = 3,
206 MOTION_ENGINE_SHAKE_BREAK = 4,
207 MOTION_ENGINE_SHAKE_NONE = 0,
208 MOTION_ENGINE_SHAKE_DETECTION = 1,
209 MOTION_ENGINE_SHAKE_CONTINUING = 2,
210 MOTION_ENGINE_SHAKE_FINISH = 3,
213 enum motion_doubletap_event {
214 MOTION_ENGIEN_DOUBLTAP_NONE = 0,
215 MOTION_ENGIEN_DOUBLTAP_DETECTION = 1,
216 MOTION_ENGINE_DOUBLTAP_NONE = 0,
217 MOTION_ENGINE_DOUBLTAP_DETECTION = 1,
220 enum motion_top_to_bottom_event {
221 MOTION_ENGIEN_TOP_TO_BOTTOM_NONE = 0,
222 MOTION_ENGIEN_TOP_TO_BOTTOM_WAIT = 1,
223 MOTION_ENGIEN_TOP_TO_BOTTOM_DETECTION = 2,
224 MOTION_ENGINE_TOP_TO_BOTTOM_NONE = 0,
225 MOTION_ENGINE_TOP_TO_BOTTOM_WAIT = 1,
226 MOTION_ENGINE_TOP_TO_BOTTOM_DETECTION = 2,
229 enum motion_direct_call_event_t {
230 MOTION_ENGINE_DIRECT_CALL_NONE,
231 MOTION_ENGINE_DIRECT_CALL_DETECTION,
234 enum motion_smart_relay_event_t {
235 MOTION_ENGINE_SMART_RELAY_NONE,
236 MOTION_ENGINE_SMART_RELAY_DETECTION,
239 enum motion_tilt_to_unlock_event_t {
240 MOTION_ENGINE_TILT_TO_UNLOCK_NONE,
241 MOTION_ENGINE_TILT_TO_UNLOCK_DETECTION,
244 enum motion_lock_execute_camera_event_t {
245 MOTION_ENGINE_LOCK_EXECUTE_CAMERA_NONE,
246 MOTION_ENGINE_LOCK_EXECUTE_CAMERA_L_DETECTION,
247 MOTION_ENGINE_LOCK_EXECUTE_CAMERA_R_DETECTION,
250 enum motion_smart_alert_t {
251 MOTION_ENGINE_SMART_ALERT_NONE,
252 MOTION_ENGINE_SMART_ALERT_DETECTION,
255 enum motion_no_move_t {
256 MOTION_ENGINE_NO_MOVE_NONE,
257 MOTION_ENGINE_NO_MOVE_DETECTION,
260 enum motion_property_id {
261 MOTION_PROPERTY_UNKNOWN = 0,
262 MOTION_PROPERTY_CHECK_ACCEL_SENSOR,
263 MOTION_PROPERTY_CHECK_GYRO_SENSOR,
264 MOTION_PROPERTY_CHECK_GEO_SENSOR,
265 MOTION_PROPERTY_CHECK_PRIXI_SENSOR,
266 MOTION_PROPERTY_CHECK_LIGHT_SENSOR,
267 MOTION_PROPERTY_CHECK_BARO_SENSOR,
268 MOTION_PROPERTY_LCD_TOUCH_ON,
269 MOTION_PROPERTY_LCD_TOUCH_OFF,
270 MOTION_PROPERTY_CHECK_GYRO_CAL_STATUS,
278 DECLARE_SENSOR_ENUM_UTIL_NS(sensor_type_t)
281 #include <sensor_deprecated.h>
283 #endif /* _SENSOR_TYPES_H_ */