966a247f81f9f214e548d2b77f33111805477979
[platform/core/system/sensord.git] / src / sensor / rotation_vector / magnetic_fusion.cpp
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 #include "magnetic_fusion.h"
21
22 magnetic_fusion::magnetic_fusion()
23 {
24 }
25
26 magnetic_fusion::~magnetic_fusion()
27 {
28 }
29
30 bool magnetic_fusion::get_orientation(void)
31 {
32         //_I("[fusion_sensor] : enable values are %d %d %d", m_enable_accel, m_enable_magnetic, m_enable_magnetic);
33         if (!m_enable_accel || !m_enable_magnetic)
34                 return false;
35
36         m_orientation_filter.get_device_orientation(&m_accel, NULL, &m_magnetic);
37         m_timestamp = fmax(m_accel.m_time_stamp, m_magnetic.m_time_stamp);
38         return true;
39 }