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 _GEO_SENSOR_HAL_H_
21 #define _GEO_SENSOR_HAL_H_
23 #include <sensor_hal.h>
26 #define X_RAW_VAL_NODE "in_magn_x_raw"
27 #define Y_RAW_VAL_NODE "in_magn_y_raw"
28 #define Z_RAW_VAL_NODE "in_magn_z_raw"
29 #define X_SCALE_NODE "in_magn_x_scale"
30 #define Y_SCALE_NODE "in_magn_y_scale"
31 #define Z_SCALE_NODE "in_magn_z_scale"
35 class geo_sensor_hal : public sensor_hal
39 virtual ~geo_sensor_hal();
40 string get_model_id(void);
41 sensor_type_t get_type(void);
44 bool set_interval(unsigned long val);
45 bool is_data_ready(bool wait);
46 virtual int get_sensor_data(sensor_data_t &data);
47 bool get_properties(sensor_properties_s &properties);
55 float m_raw_data_unit;
57 unsigned long m_polling_interval;
68 unsigned long long m_fired_time;
75 string m_interval_node;
82 string m_x_scale_node;
83 string m_y_scale_node;
84 string m_z_scale_node;
86 bool m_sensorhub_controlled;
90 bool update_value(void);
91 bool init_resources(void);
93 #endif /*_GEO_SENSOR_HAL_H_*/