From 4c5b0d23176039f8f122b03747c0cb5aa59af3ea Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 6 Jan 2015 11:07:12 +0530 Subject: [PATCH 01/16] Updating estimate_orientation call to output quaternions - Updating the estimate_orientation ocatave implementation to output orientation values in terms of quaternions instead of euler angles. - cleanup Change-Id: Ida5a39a3270eafb26807a1bf218f3d48c32d789b --- .../design/lib/estimate_orientation.m | 31 +++------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/src/sensor_fusion/design/lib/estimate_orientation.m b/src/sensor_fusion/design/lib/estimate_orientation.m index d20ac6c..187ef38 100755 --- a/src/sensor_fusion/design/lib/estimate_orientation.m +++ b/src/sensor_fusion/design/lib/estimate_orientation.m @@ -18,17 +18,13 @@ % % - Orientation Estimation using Gyroscope as the driving system and Accelerometer+Geo-Magnetic Sensors as Aiding System. % - Quaternion based approach -% - Estimation and correction of Euler errors and bias errors for gyroscope using Kalman filter +% - Estimation and correction of orientation errors and bias errors for gyroscope using Kalman filter -function [OR_driv, OR_aid, OR_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data) - - LOW_PASS_FILTERING_ON = 0; +function [quat_driv, quat_aid, quat_error] = estimate_orientation(Accel_data, Gyro_data, Mag_data) PLOT_SCALED_SENSOR_COMPARISON_DATA = 0; PLOT_INDIVIDUAL_SENSOR_INPUT_DATA = 0; + MAGNETIC_ALIGNMENT_FACTOR = -1; - PITCH_PHASE_CORRECTION = -1; - ROLL_PHASE_CORRECTION = -1; - YAW_PHASE_CORRECTION = -1; GRAVITY = 9.80665; PI = 3.141593; @@ -95,12 +91,6 @@ function [OR_driv, OR_aid, OR_err] = estimate_orientation(Accel_data, Gyro_data quat_driv = zeros(BUFFER_SIZE,4); quat_aid = zeros(BUFFER_SIZE,4); quat_error = zeros(BUFFER_SIZE,4); - euler = zeros(BUFFER_SIZE,3); - Ro = zeros(3, 3, BUFFER_SIZE); - - OR_driv = zeros(3,BUFFER_SIZE); - OR_aid = zeros(3,BUFFER_SIZE); - OR_err = zeros(3,BUFFER_SIZE); % system covariance matrix Q = zeros(6,6); @@ -252,21 +242,6 @@ function [OR_driv, OR_aid, OR_err] = estimate_orientation(Accel_data, Gyro_data By = x(5,i); Bz = x(6,i); end - - OR_aid(1,:) = roll * RAD2DEG; - OR_aid(2,:) = pitch * RAD2DEG; - OR_aid(3,:) = yaw * RAD2DEG; - - euler = quat2euler(quat_driv); - OR_driv(1,:) = ROLL_PHASE_CORRECTION * euler(:,2)' * RAD2DEG; - OR_driv(2,:) = PITCH_PHASE_CORRECTION * euler(:,1)' * RAD2DEG; - OR_driv(3,:) = YAW_PHASE_CORRECTION * euler(:,3)' * RAD2DEG; - - euler = quat2euler(quat_error); - OR_err(1,:) = euler(:,2)' * RAD2DEG; - OR_err(2,:) = euler(:,1)' * RAD2DEG; - OR_err(3,:) = euler(:,3)' * RAD2DEG; - if PLOT_SCALED_SENSOR_COMPARISON_DATA == 1 % Accelerometer/Gyroscope/Magnetometer scaled Plot results hfig=(figure); -- 2.7.4 From 75cd05b84e7351124af9e8d18916355b3708bf9f Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 6 Jan 2015 11:31:26 +0530 Subject: [PATCH 02/16] Updating sf_orientation implementation for quaternion Updating the sf_orientation octave implementation to support the orientation computed interms of quaternions instead of euler angles. Change-Id: I5dc5e12ba9e70dc41bc20ebfef97cbd69b2ab808 --- src/sensor_fusion/design/sf_orientation.m | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/sensor_fusion/design/sf_orientation.m b/src/sensor_fusion/design/sf_orientation.m index be1d107..a14916a 100755 --- a/src/sensor_fusion/design/sf_orientation.m +++ b/src/sensor_fusion/design/sf_orientation.m @@ -26,11 +26,16 @@ close all clc GRAVITY = 9.80665; +RAD2DEG = 57.2957795; Max_Range_Accel = 39.203407; Min_Range_Accel = -39.204006; Res_Accel = 0.000598; Max_Range_Gyro = 1146.862549; Min_Range_Gyro = -1146.880005; Res_Gyro = 0.017500; Max_Range_Magnetic = 1200; Min_Range_Magnetic = -1200; Res_Magnetic = 1; +PITCH_PHASE_CORRECTION = -1; +ROLL_PHASE_CORRECTION = -1; +YAW_PHASE_CORRECTION = -1; + Bias_Ax = 0.098586; Bias_Ay = 0.18385; Bias_Az = 10.084 - GRAVITY; @@ -57,6 +62,8 @@ OR_driv = zeros(3,BUFFER_SIZE); OR_aid = zeros(3,BUFFER_SIZE); OR_err = zeros(3,BUFFER_SIZE); +euler = zeros(BUFFER_SIZE,3); + % Sensor Data simulating orientation motions % get accel x,y,z axis data from stored file @@ -83,7 +90,22 @@ Mag_data(3,:) = (((dlmread("data/100ms/orientation/roll_pitch_yaw/magnetic.txt") Mag_data(4,:) = ((dlmread("data/100ms/orientation/roll_pitch_yaw/magnetic.txt")(:,4))')(1:BUFFER_SIZE); % estimate orientation -[OR_driv, OR_aid, OR_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data); +[Quat_driv, Quat_aid, Quat_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data); + +euler = quat2euler(Quat_aid); +OR_aid(1,:) = euler(:,2)' * RAD2DEG; +OR_aid(2,:) = euler(:,1)' * RAD2DEG; +OR_aid(3,:) = euler(:,3)' * RAD2DEG; + +euler = quat2euler(Quat_driv); +OR_driv(1,:) = ROLL_PHASE_CORRECTION * euler(:,2)' * RAD2DEG; +OR_driv(2,:) = PITCH_PHASE_CORRECTION * euler(:,1)' * RAD2DEG; +OR_driv(3,:) = YAW_PHASE_CORRECTION * euler(:,3)' * RAD2DEG; + +euler = quat2euler(Quat_err); +OR_err(1,:) = euler(:,2)' * RAD2DEG; +OR_err(2,:) = euler(:,1)' * RAD2DEG; +OR_err(3,:) = euler(:,3)' * RAD2DEG; % Rotation Plot Results hfig=(figure); -- 2.7.4 From a8380a5d4264c4eefb03c6345c266c0dbcadb927 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 6 Jan 2015 13:12:15 +0530 Subject: [PATCH 03/16] Updating estimate_gravity implementation for quaternion outputs Updating estimate_gravity file to support output of orientation estimation in terms of quaternions. Change-Id: I1343cf2ab819680e445363becb5c72879430dc71 --- src/sensor_fusion/design/lib/estimate_gravity.m | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/sensor_fusion/design/lib/estimate_gravity.m b/src/sensor_fusion/design/lib/estimate_gravity.m index 0531a17..f4ebbc7 100755 --- a/src/sensor_fusion/design/lib/estimate_gravity.m +++ b/src/sensor_fusion/design/lib/estimate_gravity.m @@ -24,17 +24,33 @@ function [Gravity] = estimate_gravity(Accel_data, Gyro_data, Mag_data) GRAVITY = 9.80665; +RAD2DEG = 57.2957795; + +PITCH_PHASE_CORRECTION = -1; +ROLL_PHASE_CORRECTION = -1; +YAW_PHASE_CORRECTION = -1; BUFFER_SIZE = size(Accel_data,2); OR_driv = zeros(3,BUFFER_SIZE); -OR_aid = zeros(3,BUFFER_SIZE); -OR_err = zeros(3,BUFFER_SIZE); Gravity = zeros(3,BUFFER_SIZE); +OR_driv = zeros(3,BUFFER_SIZE); + +Quat_driv = zeros(4,BUFFER_SIZE); +Quat_aid = zeros(4,BUFFER_SIZE); +Quat_err = zeros(4,BUFFER_SIZE); + +euler = zeros(BUFFER_SIZE,3); + % estimate orientation -[OR_driv, OR_aid, OR_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data); +[Quat_driv, Quat_aid, Quat_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data); + +euler = quat2euler(Quat_driv); +OR_driv(1,:) = ROLL_PHASE_CORRECTION * euler(:,2)' * RAD2DEG; +OR_driv(2,:) = PITCH_PHASE_CORRECTION * euler(:,1)' * RAD2DEG; +OR_driv(3,:) = YAW_PHASE_CORRECTION * euler(:,3)' * RAD2DEG; Gx = GRAVITY * sind(OR_driv(1,:)); Gy = GRAVITY * sind(OR_driv(2,:)); -- 2.7.4 From 731d2efdd906d4fd7870f12991d11cafbe2b26b8 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 6 Jan 2015 15:08:23 +0530 Subject: [PATCH 04/16] adding estimate_geomagtic_rv implementation Adding wrapper octave implementation for computing geomagnetic rotation vector which would use the same estimate_orientation implementation for computing the 9-axis rotation vector. Change-Id: Id3f16a34357bc5439276521ac72c368cd7c8d591 --- .../design/lib/estimate_geomagnetic_rv.m | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 src/sensor_fusion/design/lib/estimate_geomagnetic_rv.m diff --git a/src/sensor_fusion/design/lib/estimate_geomagnetic_rv.m b/src/sensor_fusion/design/lib/estimate_geomagnetic_rv.m new file mode 100755 index 0000000..a3ac4da --- /dev/null +++ b/src/sensor_fusion/design/lib/estimate_geomagnetic_rv.m @@ -0,0 +1,47 @@ +% estimate_gravity +% +% Copyright (c) 2014 Samsung Electronics Co., Ltd. +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. + +% Gravitational Force Estimation function +% +% - Orientation Estimation using estimate_orientation function +% - Project the orientation on the device reference axes to obtain +% gravitational force on specific reference axes + + +function [Quat_aid] = estimate_geomagnetic_rv(Accel_data, Mag_data) + +GRAVITY = 9.80665; +RAD2DEG = 57.2957795; + +PITCH_PHASE_CORRECTION = -1; +ROLL_PHASE_CORRECTION = -1; +YAW_PHASE_CORRECTION = -1; + +BUFFER_SIZE = size(Accel_data,2); + +Gravity = zeros(3,BUFFER_SIZE); + +OR_driv = zeros(3,BUFFER_SIZE); +Gyro_data = zeros(3,BUFFER_SIZE); + +Quat_driv = zeros(4,BUFFER_SIZE); +Quat_aid = zeros(4,BUFFER_SIZE); +Quat_err = zeros(4,BUFFER_SIZE); + +% estimate orientation +[Quat_driv, Quat_aid, Quat_err] = estimate_orientation(Accel_data, Gyro_data, Mag_data); + +end -- 2.7.4 From a7f373378e59c23f02604580fc9983d8d12cddfa Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 19:57:34 +0900 Subject: [PATCH 05/16] sensord: move the documents into /documentation directory there are som files on root directory. To clean them, it would be better to move them into /documentation directory. Change-Id: Ifb2e4fe595a9cc31846faed419c298776db6e179 Signed-off-by: Kibak Yoon --- device_gravity.png => documentation/device_gravity.png | Bin .../device_orientation.png | Bin .../virtual_sensor_configuration.htm | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename device_gravity.png => documentation/device_gravity.png (100%) rename device_orientation.png => documentation/device_orientation.png (100%) rename Virtual_Sensor_Configuration.htm => documentation/virtual_sensor_configuration.htm (100%) mode change 100644 => 100755 diff --git a/device_gravity.png b/documentation/device_gravity.png similarity index 100% rename from device_gravity.png rename to documentation/device_gravity.png diff --git a/device_orientation.png b/documentation/device_orientation.png similarity index 100% rename from device_orientation.png rename to documentation/device_orientation.png diff --git a/Virtual_Sensor_Configuration.htm b/documentation/virtual_sensor_configuration.htm old mode 100644 new mode 100755 similarity index 100% rename from Virtual_Sensor_Configuration.htm rename to documentation/virtual_sensor_configuration.htm -- 2.7.4 From e29fdd29677d1a91b010e5ab84b5f7e3d5fe44eb Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 20:17:44 +0900 Subject: [PATCH 06/16] sensord: move systemd-related files to systemd directory add directory structure and build system file - it would be better to put them in systemd directory. Change-Id: I60dc53a09de117e52355a3dcb849b2adf0e5661f Signed-off-by: Kibak Yoon --- CMakeLists.txt | 1 + systemd/CMakeLists.txt | 5 +++++ {packaging => systemd}/sensord.service | 0 {packaging => systemd}/sensord.socket | 0 4 files changed, 6 insertions(+) create mode 100644 systemd/CMakeLists.txt rename {packaging => systemd}/sensord.service (100%) rename {packaging => systemd}/sensord.socket (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5228178..3aae422 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,6 +56,7 @@ IF("${TEST_SUITE}" STREQUAL "ON") INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME test) ENDIF() +add_subdirectory(systemd) add_subdirectory(src) IF("${TEST_SUITE}" STREQUAL "ON") diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt new file mode 100644 index 0000000..233e8ba --- /dev/null +++ b/systemd/CMakeLists.txt @@ -0,0 +1,5 @@ +INSTALL(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/sensord.service + ${CMAKE_CURRENT_SOURCE_DIR}/sensord.socket + DESTINATION lib/systemd/system) + diff --git a/packaging/sensord.service b/systemd/sensord.service similarity index 100% rename from packaging/sensord.service rename to systemd/sensord.service diff --git a/packaging/sensord.socket b/systemd/sensord.socket similarity index 100% rename from packaging/sensord.socket rename to systemd/sensord.socket -- 2.7.4 From 204d913d2a8b389f29a5fda50cda85757f1d9a94 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 21:05:38 +0900 Subject: [PATCH 07/16] sensord: move manifest files to packaging directory Change-Id: Ida30ea320f5aec3522c13467f093c5aa1f1c1b59 Signed-off-by: Kibak Yoon --- libsensord.manifest => packaging/libsensord.manifest | 0 sensord.manifest => packaging/sensord.manifest | 0 packaging/sensord.spec | 10 ++++++---- 3 files changed, 6 insertions(+), 4 deletions(-) rename libsensord.manifest => packaging/libsensord.manifest (100%) rename sensord.manifest => packaging/sensord.manifest (100%) diff --git a/libsensord.manifest b/packaging/libsensord.manifest similarity index 100% rename from libsensord.manifest rename to packaging/libsensord.manifest diff --git a/sensord.manifest b/packaging/sensord.manifest similarity index 100% rename from sensord.manifest rename to packaging/sensord.manifest diff --git a/packaging/sensord.spec b/packaging/sensord.spec index 86e131e..c7070c7 100755 --- a/packaging/sensord.spec +++ b/packaging/sensord.spec @@ -5,8 +5,8 @@ Release: 0 Group: System/Sensor Framework License: Apache-2.0 Source0: %{name}-%{version}.tar.gz -Source1: sensord.service -Source2: sensord.socket +Source1: sensord.manifest +Source2: libsensord.manifest %define accel_state ON %define gyro_state ON @@ -72,6 +72,8 @@ Sensor functional testing %prep %setup -q +cp %{SOURCE1} . +cp %{SOURCE2} . %build #CFLAGS+=" -fvisibility=hidden "; export CFLAGS @@ -105,11 +107,11 @@ systemctl daemon-reload systemctl daemon-reload %files -n sensord -%manifest sensord.manifest %{_bindir}/sensord %attr(0644,root,root)/usr/etc/sensor_plugins.xml %attr(0644,root,root)/usr/etc/sensors.xml %attr(0644,root,root)/usr/etc/virtual_sensors.xml +%manifest sensord.manifest %{_unitdir}/sensord.service %{_unitdir}/sensord.socket %{_unitdir}/multi-user.target.wants/sensord.service @@ -118,8 +120,8 @@ systemctl daemon-reload %{_datadir}/license/sensord %files -n libsensord -%manifest libsensord.manifest %defattr(-,root,root,-) +%manifest libsensord.manifest %{_libdir}/libsensor.so.* %{_libdir}/sensord/*.so* %{_libdir}/libsensord-share.so -- 2.7.4 From 4ab24efb7a849c862c8644e17f7ed9aeeb51a5e9 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 21:06:29 +0900 Subject: [PATCH 08/16] sensord: add motion api temporarily for avoiding build-break motion API is replaced by context gesture api after tizen 2.3. because there are the packages which use motion API still, sensor motion API should be restored temporarily. - they are not operated. only for avoiding build-break Signed-off-by: Kibak Yoon Change-Id: I8384ef30abf90623704908c8a537e62437a75ff2 --- src/libsensord/CMakeLists.txt | 1 + src/libsensord/sensor_internal_deprecated.h | 1 + src/libsensord/sensor_motion.h | 152 ++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100755 src/libsensord/sensor_motion.h diff --git a/src/libsensord/CMakeLists.txt b/src/libsensord/CMakeLists.txt index 50550ee..81f759f 100755 --- a/src/libsensord/CMakeLists.txt +++ b/src/libsensord/CMakeLists.txt @@ -71,4 +71,5 @@ install(FILES sensor_linear_accel.h DESTINATION ${INCLUDEDIR}/sensor/) install(FILES sensor_orientation.h DESTINATION ${INCLUDEDIR}/sensor/) install(FILES sensor_rv.h DESTINATION ${INCLUDEDIR}/sensor/) install(FILES sensor_temperature.h DESTINATION ${INCLUDEDIR}/sensor/) +install(FILES sensor_motion.h DESTINATION ${INCLUDEDIR}/sensor/) install(FILES ${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig) diff --git a/src/libsensord/sensor_internal_deprecated.h b/src/libsensord/sensor_internal_deprecated.h index c2fab32..9f3910d 100755 --- a/src/libsensord/sensor_internal_deprecated.h +++ b/src/libsensord/sensor_internal_deprecated.h @@ -49,6 +49,7 @@ extern "C" #include #include #include +#include typedef struct { condition_op_t cond_op; diff --git a/src/libsensord/sensor_motion.h b/src/libsensord/sensor_motion.h new file mode 100755 index 0000000..205def6 --- /dev/null +++ b/src/libsensord/sensor_motion.h @@ -0,0 +1,152 @@ +/* + * libsensord + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef __SENSOR_MOTION_H__ +#define __SENSOR_MOTION_H__ + +//! Pre-defined events for the motion sensor +//! Sensor Plugin developer can add more event to their own headers + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define MOTION_SENSOR 0xFF + +enum motion_event_type { + MOTION_ENGINE_EVENT_SNAP = (MOTION_SENSOR << 16) | 0x0001, + MOTION_ENGINE_EVENT_SHAKE = (MOTION_SENSOR << 16) | 0x0002, + MOTION_ENGINE_EVENT_DOUBLETAP = (MOTION_SENSOR << 16) | 0x0004, + MOTION_ENGINE_EVENT_PANNING = (MOTION_SENSOR << 16) | 0x0008, + MOTION_ENGINE_EVENT_TOP_TO_BOTTOM = (MOTION_SENSOR << 16) | 0x0010, + MOTION_ENGINE_EVENT_DIRECT_CALL = (MOTION_SENSOR << 16) | 0x0020, + MOTION_ENGINE_EVENT_TILT_TO_UNLOCK = (MOTION_SENSOR << 16) | 0x0040, + MOTION_ENGINE_EVENT_LOCK_EXECUTE_CAMERA = (MOTION_SENSOR << 16) | 0x0080, + MOTION_ENGINE_EVENT_SMART_ALERT = (MOTION_SENSOR << 16) | 0x0100, + MOTION_ENGINE_EVENT_TILT = (MOTION_SENSOR << 16) | 0x0200, + MOTION_ENGINE_EVENT_PANNING_BROWSE = (MOTION_SENSOR << 16) | 0x0400, + MOTION_ENGINE_EVENT_NO_MOVE = (MOTION_SENSOR << 16) | 0x0800, + MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON = (MOTION_SENSOR << 16) | 0x1000, + MOTION_ENGINE_EVENT_SMART_RELAY = (MOTION_SENSOR << 16) | 0x2000, +}; + +enum motion_snap_event { + MOTION_ENGIEN_SNAP_NONE = 0, + MOTION_ENGIEN_NEGATIVE_SNAP_X = 1, + MOTION_ENGIEN_POSITIVE_SNAP_X = 2, + MOTION_ENGIEN_NEGATIVE_SNAP_Y = 3, + MOTION_ENGIEN_POSITIVE_SNAP_Y = 4, + MOTION_ENGIEN_NEGATIVE_SNAP_Z = 5, + MOTION_ENGIEN_POSITIVE_SNAP_Z = 6, + MOTION_ENGIEN_SNAP_LEFT = MOTION_ENGIEN_NEGATIVE_SNAP_X, + MOTION_ENGIEN_SNAP_RIGHT = MOTION_ENGIEN_POSITIVE_SNAP_X, + MOTION_ENGINE_SNAP_NONE = 0, + MOTION_ENGINE_NEGATIVE_SNAP_X = 1, + MOTION_ENGINE_POSITIVE_SNAP_X = 2, + MOTION_ENGINE_NEGATIVE_SNAP_Y = 3, + MOTION_ENGINE_POSITIVE_SNAP_Y = 4, + MOTION_ENGINE_NEGATIVE_SNAP_Z = 5, + MOTION_ENGINE_POSITIVE_SNAP_Z = 6, + MOTION_ENGINE_SNAP_LEFT = MOTION_ENGINE_NEGATIVE_SNAP_X, + MOTION_ENGINE_SNAP_RIGHT = MOTION_ENGINE_POSITIVE_SNAP_X, +}; + +enum motion_shake_event { + MOTION_ENGIEN_SHAKE_NONE = 0, + MOTION_ENGIEN_SHAKE_DETECTION = 1, + MOTION_ENGIEN_SHAKE_CONTINUING = 2, + MOTION_ENGIEN_SHAKE_FINISH = 3, + MOTION_ENGINE_SHAKE_BREAK = 4, + MOTION_ENGINE_SHAKE_NONE = 0, + MOTION_ENGINE_SHAKE_DETECTION = 1, + MOTION_ENGINE_SHAKE_CONTINUING = 2, + MOTION_ENGINE_SHAKE_FINISH = 3, +}; + +enum motion_doubletap_event { + MOTION_ENGIEN_DOUBLTAP_NONE = 0, + MOTION_ENGIEN_DOUBLTAP_DETECTION = 1, + MOTION_ENGINE_DOUBLTAP_NONE = 0, + MOTION_ENGINE_DOUBLTAP_DETECTION = 1, +}; + +enum motion_top_to_bottom_event { + MOTION_ENGIEN_TOP_TO_BOTTOM_NONE = 0, + MOTION_ENGIEN_TOP_TO_BOTTOM_WAIT = 1, + MOTION_ENGIEN_TOP_TO_BOTTOM_DETECTION = 2, + MOTION_ENGINE_TOP_TO_BOTTOM_NONE = 0, + MOTION_ENGINE_TOP_TO_BOTTOM_WAIT = 1, + MOTION_ENGINE_TOP_TO_BOTTOM_DETECTION = 2, +}; + +enum motion_direct_call_event_t { + MOTION_ENGINE_DIRECT_CALL_NONE, + MOTION_ENGINE_DIRECT_CALL_DETECTION, +}; + +enum motion_smart_relay_event_t { + MOTION_ENGINE_SMART_RELAY_NONE, + MOTION_ENGINE_SMART_RELAY_DETECTION, +}; + +enum motion_tilt_to_unlock_event_t { + MOTION_ENGINE_TILT_TO_UNLOCK_NONE, + MOTION_ENGINE_TILT_TO_UNLOCK_DETECTION, +}; + +enum motion_lock_execute_camera_event_t { + MOTION_ENGINE_LOCK_EXECUTE_CAMERA_NONE, + MOTION_ENGINE_LOCK_EXECUTE_CAMERA_L_DETECTION, + MOTION_ENGINE_LOCK_EXECUTE_CAMERA_R_DETECTION, +}; + +enum motion_smart_alert_t { + MOTION_ENGINE_SMART_ALERT_NONE, + MOTION_ENGINE_SMART_ALERT_DETECTION, +}; + +enum motion_no_move_t { + MOTION_ENGINE_NO_MOVE_NONE, + MOTION_ENGINE_NO_MOVE_DETECTION, +}; + +enum motion_property_id { + MOTION_PROPERTY_UNKNOWN = 0, + MOTION_PROPERTY_CHECK_ACCEL_SENSOR, + MOTION_PROPERTY_CHECK_GYRO_SENSOR, + MOTION_PROPERTY_CHECK_GEO_SENSOR, + MOTION_PROPERTY_CHECK_PRIXI_SENSOR, + MOTION_PROPERTY_CHECK_LIGHT_SENSOR, + MOTION_PROPERTY_CHECK_BARO_SENSOR, + MOTION_PROPERTY_LCD_TOUCH_ON, + MOTION_PROPERTY_LCD_TOUCH_OFF, + MOTION_PROPERTY_CHECK_GYRO_CAL_STATUS, +}; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif +//! End of a file -- 2.7.4 From ee3fbaf31ddba8cfa3883d804e9cecf73cc43052 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 21:12:08 +0900 Subject: [PATCH 09/16] sensord: change the permission of some files it's for unifying the permission of all files. Change-Id: I86e2d1dc11ffd39581ef1631bdab3e7e603e630a Signed-off-by: Kibak Yoon --- src/libsensord/sensor_rv.h | 0 src/shared/cconfig.cpp | 0 src/shared/cconfig.h | 0 src/shared/iio_common.cpp | 0 src/shared/iio_common.h | 0 virtual_sensors.xml.in | 0 6 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/libsensord/sensor_rv.h mode change 100644 => 100755 src/shared/cconfig.cpp mode change 100644 => 100755 src/shared/cconfig.h mode change 100644 => 100755 src/shared/iio_common.cpp mode change 100644 => 100755 src/shared/iio_common.h mode change 100644 => 100755 virtual_sensors.xml.in diff --git a/src/libsensord/sensor_rv.h b/src/libsensord/sensor_rv.h old mode 100644 new mode 100755 diff --git a/src/shared/cconfig.cpp b/src/shared/cconfig.cpp old mode 100644 new mode 100755 diff --git a/src/shared/cconfig.h b/src/shared/cconfig.h old mode 100644 new mode 100755 diff --git a/src/shared/iio_common.cpp b/src/shared/iio_common.cpp old mode 100644 new mode 100755 diff --git a/src/shared/iio_common.h b/src/shared/iio_common.h old mode 100644 new mode 100755 diff --git a/virtual_sensors.xml.in b/virtual_sensors.xml.in old mode 100644 new mode 100755 -- 2.7.4 From ea7faf6b9ffa181c03dab481d44598fcc1853e09 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 21:24:23 +0900 Subject: [PATCH 10/16] sensord: changing group in spec file refered by the below url: https://wiki.tizen.org/wiki/Packaging/Guidelines#Group_Tag Change-Id: I7c42fb9ee2707980a1135c9c1d2747f2072b4308 Signed-off-by: Kibak Yoon --- packaging/sensord.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packaging/sensord.spec b/packaging/sensord.spec index c7070c7..d5f859c 100755 --- a/packaging/sensord.spec +++ b/packaging/sensord.spec @@ -45,7 +45,7 @@ Sensor daemon %package -n libsensord Summary: Sensord library -Group: System/Sensor Framework +Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n libsensord @@ -53,7 +53,7 @@ Sensord library %package -n libsensord-devel Summary: Sensord library (devel) -Group: System/Sensor Framework +Group: System/Development Requires: %{name} = %{version}-%{release} %description -n libsensord-devel @@ -62,7 +62,7 @@ Sensord library (devel) %if %{build_test_suite} == "ON" %package -n sensor-tc Summary: Sensord library -Group: System/Sensor Framework +Group: System/Testing Requires: %{name} = %{version}-%{release} %description -n sensor-tc -- 2.7.4 From 6d71d42e29de7c45ac5922f22fb22df7dbb1ecce Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 21:28:58 +0900 Subject: [PATCH 11/16] sensord: clean up the spec file - remove useless code. - replace hardcoded path by macro. - code clean. Change-Id: Iabeb35cdb1a5ec4684352da39d4bccbf05f51f8b Signed-off-by: Kibak Yoon --- packaging/sensord.spec | 73 +++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/packaging/sensord.spec b/packaging/sensord.spec index d5f859c..4289d7b 100755 --- a/packaging/sensord.spec +++ b/packaging/sensord.spec @@ -8,6 +8,16 @@ Source0: %{name}-%{version}.tar.gz Source1: sensord.manifest Source2: libsensord.manifest +BuildRequires: cmake +BuildRequires: vconf-keys-devel +BuildRequires: libattr-devel +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(libsystemd-daemon) +BuildRequires: pkgconfig(capi-system-info) + %define accel_state ON %define gyro_state ON %define proxi_state ON @@ -19,19 +29,8 @@ Source2: libsensord.manifest %define gravity_state ON %define linear_accel_state ON %define rv_state ON - %define build_test_suite OFF -BuildRequires: cmake -BuildRequires: vconf-keys-devel -BuildRequires: libattr-devel -BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(vconf) -BuildRequires: pkgconfig(libsystemd-daemon) -BuildRequires: pkgconfig(capi-system-info) - %description Sensor daemon @@ -60,12 +59,12 @@ Requires: %{name} = %{version}-%{release} Sensord library (devel) %if %{build_test_suite} == "ON" -%package -n sensor-tc +%package -n sensor-test Summary: Sensord library Group: System/Testing Requires: %{name} = %{version}-%{release} -%description -n sensor-tc +%description -n sensor-test Sensor functional testing %endif @@ -75,9 +74,6 @@ Sensor functional testing cp %{SOURCE1} . cp %{SOURCE2} . -%build -#CFLAGS+=" -fvisibility=hidden "; export CFLAGS -#CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden ";export CXXFLAGS cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DACCEL=%{accel_state} \ -DGYRO=%{gyro_state} -DPROXI=%{proxi_state} -DLIGHT=%{light_state} \ -DGEO=%{geo_state} -DPRESSURE=%{pressure_state} -DTEMPERATURE=%{temperature_state} \ @@ -86,32 +82,32 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DACCEL=%{accel_state} \ -DTEST_SUITE=%{build_test_suite} \ -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir} +%build make %{?jobs:-j%jobs} %install rm -rf %{buildroot} %make_install -mkdir -p %{buildroot}/usr/share/license -mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants -mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants -install -m 0644 %SOURCE1 %{buildroot}%{_unitdir} -install -m 0644 %SOURCE2 %{buildroot}%{_unitdir} -ln -s ../sensord.socket %{buildroot}%{_unitdir}/sockets.target.wants/sensord.socket -ln -s ../sensord.service %{buildroot}%{_unitdir}/multi-user.target.wants/sensord.service +%install_service multi-user.target.wants sensord.service +%install_service sockets.target.wants sensord.socket -%post -p /sbin/ldconfig +%post systemctl daemon-reload -%postun -p /sbin/ldconfig +%postun systemctl daemon-reload +%post -n libsensord -p /sbin/ldconfig + +%postun -n libsensord -p /sbin/ldconfig + %files -n sensord -%{_bindir}/sensord %attr(0644,root,root)/usr/etc/sensor_plugins.xml %attr(0644,root,root)/usr/etc/sensors.xml %attr(0644,root,root)/usr/etc/virtual_sensors.xml %manifest sensord.manifest +%{_bindir}/sensord %{_unitdir}/sensord.service %{_unitdir}/sensord.socket %{_unitdir}/multi-user.target.wants/sensord.service @@ -139,20 +135,19 @@ systemctl daemon-reload %{_libdir}/pkgconfig/sensord-server.pc %if %{build_test_suite} == "ON" -%files -n sensor-tc +%files -n sensor-test %defattr(-,root,root,-) -/usr/bin/accelerometer -/usr/bin/geomagnetic -/usr/bin/orientation -/usr/bin/gravity -/usr/bin/linear_acceleration -/usr/bin/gyro -/usr/bin/proxi -/usr/bin/pressure -/usr/bin/temperature -/usr/bin/light -/usr/bin/rotation_vector - +%{_bindir}/accelerometer +%{_bindir}/geomagnetic +%{_bindir}/orientation +%{_bindir}/gravity +%{_bindir}/linear_acceleration +%{_bindir}/gyro +%{_bindir}/proxi +%{_bindir}/pressure +%{_bindir}/temperature +%{_bindir}/light +%{_bindir}/rotation_vector %license LICENSE.APLv2 %{_datadir}/license/test %endif -- 2.7.4 From 79b1f05f6dcc60868b3814c09d66bcb1e6edf6b3 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 22:51:31 +0900 Subject: [PATCH 12/16] sensord: remove useless xml file sensor_plugins xml for simulator is not neccessary anymore. Change-Id: I91f8f816c08ab2ca53790fe4ae6bd7ab0e7b689f Signed-off-by: Kibak Yoon --- sensor_plugins_sim.xml.in | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100755 sensor_plugins_sim.xml.in diff --git a/sensor_plugins_sim.xml.in b/sensor_plugins_sim.xml.in deleted file mode 100755 index 8f7b40b..0000000 --- a/sensor_plugins_sim.xml.in +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - -- 2.7.4 From f6acc913f97a4dac9ab37cc6468dec2055777fd6 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Tue, 6 Jan 2015 22:53:11 +0900 Subject: [PATCH 13/16] sensord: clean CMakeList.txt - remove useless code/macro - for building on x86_64, use macro CMAKE_INSTALL_* in GNUInstallDirs Change-Id: I6298368a9e2af00c35ebf4f37b483a00a8d5e1aa Signed-off-by: Kibak Yoon --- CMakeLists.txt | 59 ++++++++++-------------- src/CMakeLists.txt | 19 -------- src/accel/CMakeLists.txt | 45 ++++++------------- src/geo/CMakeLists.txt | 42 +++++------------ src/gravity/CMakeLists.txt | 40 +++++------------ src/gyro/CMakeLists.txt | 42 +++++------------ src/libsensord/CMakeLists.txt | 85 +++++++++++++++-------------------- src/light/CMakeLists.txt | 42 +++++------------ src/linear_accel/CMakeLists.txt | 37 +++++---------- src/orientation/CMakeLists.txt | 37 +++++---------- src/pressure/CMakeLists.txt | 42 +++++------------ src/proxi/CMakeLists.txt | 42 +++++------------ src/rotation_vector/rv/CMakeLists.txt | 40 +++++------------ src/sensor_fusion/CMakeLists.txt | 2 +- src/server/CMakeLists.txt | 20 ++++++--- src/shared/CMakeLists.txt | 52 ++++++++------------- src/temperature/CMakeLists.txt | 42 +++++------------ 17 files changed, 220 insertions(+), 468 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3aae422..9ecff83 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,54 +1,42 @@ cmake_minimum_required(VERSION 2.6) project(sensord_main CXX) +include(GNUInstallDirs) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED glib-2.0 gio-2.0 vconf dlog libxml-2.0 libsystemd-daemon capi-system-info) -add_definitions(${rpkgs_CFLAGS}) - -# to install pkgconfig setup file. +# Setup For pkgconfig File SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "\${prefix}") +SET(EXEC_PREFIX "${PREFIX}/bin") +SET(LIBDIR "${PREFIX}/${CMAKE_INSTALL_LIBDIR}") +SET(INCLUDEDIR "${PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") SET(VERSION 1.0) -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "2") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) -add_definitions(-Wall -O3 -omit-frame-pointer) +# Common Options +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -omit-frame-pointer -std=gnu++0x") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-section -Wl,--print-gc-section") +MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}") +MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") + add_definitions(-DUSE_DLOG_LOG) -add_definitions(-DLIBDIR="${LIBDIR}") + +# Internal Debugging Options #add_definitions(-Wall -g -D_DEBUG) +# For Emulator FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET") - MESSAGE("add -DTARGET") + ADD_DEFINITIONS("-DTARGET") + MESSAGE("add -DTARGET") ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") + ADD_DEFINITIONS("-DSIMULATOR") + MESSAGE("add -DSIMULATOR") ENDIF("${ARCH}" MATCHES "^arm.*") -IF("${ARCH}" MATCHES "^arm.*") - CONFIGURE_FILE(sensor_plugins.xml.in sensor_plugins.xml @ONLY) - CONFIGURE_FILE(sensors.xml.in sensors.xml @ONLY) - CONFIGURE_FILE(virtual_sensors.xml.in virtual_sensors.xml @ONLY) - install(FILES - sensor_plugins.xml - sensors.xml - virtual_sensors.xml - DESTINATION etc) -ELSE("${ARCH}" MATCHES "^arm.*") - CONFIGURE_FILE(sensor_plugins_sim.xml.in sensor_plugins.xml @ONLY) - CONFIGURE_FILE(sensors.xml.in sensors.xml @ONLY) - CONFIGURE_FILE(virtual_sensors.xml.in virtual_sensors.xml @ONLY) - install(FILES - sensor_plugins.xml - sensors.xml - virtual_sensors.xml - DESTINATION etc) -ENDIF("${ARCH}" MATCHES "^arm.*") +# Installing files +CONFIGURE_FILE(sensor_plugins.xml.in sensor_plugins.xml @ONLY) +CONFIGURE_FILE(sensors.xml.in sensors.xml @ONLY) +INSTALL(FILES sensor_plugins.xml sensors.xml DESTINATION etc) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME sensord) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME libsensord) @@ -56,6 +44,7 @@ IF("${TEST_SUITE}" STREQUAL "ON") INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME test) ENDIF() +# Sub-directory add_subdirectory(systemd) add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ff35867..984f729 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,28 +1,9 @@ cmake_minimum_required(VERSION 2.6) project(sensord_src CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - include_directories(${CMAKE_SOURCE_DIR}/src/shared) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED glib-2.0 gio-2.0 vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE) -add_definitions(-Wall -std=gnu++0x) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - -set(SENSOR_FUSION_ENABLE "0") -set(ORIENTATION_ENABLE "0") -set(GRAVITY_ENABLE "0") -set(LINEAR_ACCELERATION_ENABLE "0") - IF("${ACCEL}" STREQUAL "ON") add_subdirectory(accel) ENDIF() diff --git a/src/accel/CMakeLists.txt b/src/accel/CMakeLists.txt index 948d42a..a37c89c 100755 --- a/src/accel/CMakeLists.txt +++ b/src/accel/CMakeLists.txt @@ -1,39 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(accel CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME accel_sensor) SET(SENSOR_HAL_NAME accel_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") - -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(accel_pkgs REQUIRED vconf) + +FOREACH(flag ${accel_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) + +FOREACH(flag ${accel_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED accel_sensor.cpp @@ -43,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED accel_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${accel_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${accel_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/geo/CMakeLists.txt b/src/geo/CMakeLists.txt index e089fbe..c6d4aa1 100755 --- a/src/geo/CMakeLists.txt +++ b/src/geo/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(geo CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME geo_sensor) SET(SENSOR_HAL_NAME geo_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(geo_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET") - MESSAGE("add -DTARGET") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${geo_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -add_definitions(-DUSE_DLOG_LOG) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-Iinclude) +FOREACH(flag ${geo_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED geo_sensor.cpp @@ -44,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED geo_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${geo_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${geo_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/gravity/CMakeLists.txt b/src/gravity/CMakeLists.txt index 42cf604..e66964e 100755 --- a/src/gravity/CMakeLists.txt +++ b/src/gravity/CMakeLists.txt @@ -1,42 +1,26 @@ cmake_minimum_required(VERSION 2.6) project(gravity CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME gravity_sensor) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") - -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(gravity_pkgs REQUIRED vconf) + +FOREACH(flag ${gravity_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) + +FOREACH(flag ${gravity_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED gravity_sensor.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_NAME} ${gravity_pkgs_LDFLAGS} "-lm") -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/gyro/CMakeLists.txt b/src/gyro/CMakeLists.txt index b8af818..228fac9 100755 --- a/src/gyro/CMakeLists.txt +++ b/src/gyro/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(gyro CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME gyro_sensor) SET(SENSOR_HAL_NAME gyro_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(gyro_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${gyro_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${gyro_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED gyro_sensor.cpp @@ -43,8 +25,8 @@ add_library(${SENSOR_HAL_NAME} SHARED gyro_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${gyro_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${gyro_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/libsensord/CMakeLists.txt b/src/libsensord/CMakeLists.txt index 81f759f..5a59254 100755 --- a/src/libsensord/CMakeLists.txt +++ b/src/libsensord/CMakeLists.txt @@ -1,33 +1,21 @@ cmake_minimum_required(VERSION 2.6) project(sensor CXX) -# to install pkgconfig setup file. -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "\${prefix}") SET(VERSION_MAJOR 1) SET(VERSION "${VERSION_MAJOR}.1.0") -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf glib-2.0) -add_definitions(${rpkgs_CFLAGS}) +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(lib_pkgs REQUIRED vconf glib-2.0) -#add_definitions(-Wall -O3 -omit-frame-pointer -lm) -#add_definitions(-Wall -g -lma -DUSE_FILE_DEBUG) -#add_definitions(-D_DEBUG) -add_definitions(-Wall -g -lma -fPIC -DUSE_DLOG_LOG -std=c++0x) -#add_definitions(-fvisibility=hidden -lm -DUSE_DLOG_LOG) -#add_definitions(-fvisibility=hidden -lm) +FOREACH(flag ${lib_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" STREQUAL "arm") -# ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK -DUSE_MPU3050_GYRO") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET") -ELSE("${ARCH}" STREQUAL "arm") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" STREQUAL "arm") +FOREACH(flag ${lib_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden -g -fPIC") include_directories(${CMAKE_CURRENT_SOURCE_DIR}) @@ -41,35 +29,32 @@ add_library(${PROJECT_NAME} SHARED poller.cpp ) -target_link_libraries(${PROJECT_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "sensord-share") +target_link_libraries(${PROJECT_NAME} ${lib_pkgs_LDFLAGS} "sensord-share") SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION}) configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY) - -#install(DIRECTORY include/ DESTINATION ${INCLUDEDIR} FILES_MATCHING PATTERN "*.h") -install(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries) - -install(FILES sensor.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_internal_deprecated.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_internal.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES poller.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES creg_event_info.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES csensor_event_listener.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_info_manager.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES csensor_handle_info.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES client_common.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_accel.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_geomag.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_light.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_proxi.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_gyro.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_pressure.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_context.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_gravity.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_linear_accel.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_orientation.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_rv.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_temperature.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES sensor_motion.h DESTINATION ${INCLUDEDIR}/sensor/) -install(FILES ${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig) +install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries) +install(FILES sensor.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_internal_deprecated.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_internal.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES poller.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES creg_event_info.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES csensor_event_listener.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_info_manager.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES csensor_handle_info.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES client_common.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_accel.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_geomag.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_light.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_proxi.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_gyro.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_pressure.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_context.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_gravity.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_linear_accel.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_orientation.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_rv.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_temperature.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_motion.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES ${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/src/light/CMakeLists.txt b/src/light/CMakeLists.txt index ca8cd53..099ff82 100755 --- a/src/light/CMakeLists.txt +++ b/src/light/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(light CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME light_sensor) SET(SENSOR_HAL_NAME light_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(light_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${light_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${light_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED light_sensor.cpp @@ -44,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED light_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${light_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${light_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/linear_accel/CMakeLists.txt b/src/linear_accel/CMakeLists.txt index 2295b67..986fb11 100755 --- a/src/linear_accel/CMakeLists.txt +++ b/src/linear_accel/CMakeLists.txt @@ -1,44 +1,27 @@ cmake_minimum_required(VERSION 2.6) project(linear_accel CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME linear_accel_sensor) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) include_directories(${CMAKE_SOURCE_DIR}/src/sensor_fusion) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(linear_accel_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${linear_accel_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${linear_accel_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED linear_accel_sensor.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_NAME} ${linear_accel_pkgs_LDFLAGS} "-lm") -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/orientation/CMakeLists.txt b/src/orientation/CMakeLists.txt index 0896f56..6f02e9a 100755 --- a/src/orientation/CMakeLists.txt +++ b/src/orientation/CMakeLists.txt @@ -1,44 +1,27 @@ cmake_minimum_required(VERSION 2.6) project(orientation CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME orientation_sensor) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) include_directories(${CMAKE_SOURCE_DIR}/src/sensor_fusion) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(orientation_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${orientation_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${orientation_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED orientation_sensor.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_NAME} ${orientation_pkgs_LDFLAGS} "-lm") -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/pressure/CMakeLists.txt b/src/pressure/CMakeLists.txt index 090d748..e61aca4 100755 --- a/src/pressure/CMakeLists.txt +++ b/src/pressure/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(pressure CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME pressure_sensor) SET(SENSOR_HAL_NAME pressure_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(pressure_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${pressure_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${pressure_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED pressure_sensor.cpp @@ -44,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED pressure_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${pressure_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${pressure_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/proxi/CMakeLists.txt b/src/proxi/CMakeLists.txt index d41eb8d..7cd4517 100755 --- a/src/proxi/CMakeLists.txt +++ b/src/proxi/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(proxi CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME proxi_sensor) SET(SENSOR_HAL_NAME proxi_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(proxi_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${proxi_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${proxi_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED proxi_sensor.cpp @@ -44,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED proxi_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${proxi_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${proxi_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/rotation_vector/rv/CMakeLists.txt b/src/rotation_vector/rv/CMakeLists.txt index 33ac289..d26d4f9 100755 --- a/src/rotation_vector/rv/CMakeLists.txt +++ b/src/rotation_vector/rv/CMakeLists.txt @@ -1,47 +1,27 @@ cmake_minimum_required(VERSION 2.6) project(rv CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(LIBDIR "\${prefix}/lib") -SET(INCLUDEDIR "\${prefix}/include") -SET(VERSION 1.0) - SET(SENSOR_NAME rv_sensor) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) include_directories(${CMAKE_SOURCE_DIR}/src/sensor_fusion) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(rv_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET") - MESSAGE("add -DTARGET") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${rv_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -add_definitions(-DUSE_DLOG_LOG) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-Iinclude) +FOREACH(flag ${rv_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED rv_sensor.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_NAME} ${rv_pkgs_LDFLAGS} "-lm") -install(TARGETS ${SENSOR_NAME} DESTINATION lib/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/sensor_fusion/CMakeLists.txt b/src/sensor_fusion/CMakeLists.txt index 0a753db..2505fe5 100755 --- a/src/sensor_fusion/CMakeLists.txt +++ b/src/sensor_fusion/CMakeLists.txt @@ -45,4 +45,4 @@ add_library(${SENSOR_FUSION_NAME} SHARED target_link_libraries(${SENSOR_FUSION_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -install(TARGETS ${SENSOR_FUSION_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_FUSION_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index 88e83da..2b01530 100755 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -1,14 +1,23 @@ cmake_minimum_required(VERSION 2.6) project(sensord CXX) -#add_definitions(-Wall -g -DUSE_FILE_DEBUG) -#add_definitions(-Wall -g -D_DEBUG) -#add_definitions(-Wall -g -pg) -add_definitions(-Wall -std=gnu++0x) +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(server_pkgs REQUIRED vconf glib-2.0 gio-2.0 dlog libsystemd-daemon) + +FOREACH(flag ${server_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) + +FOREACH(flag ${server_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lrt -ldl -pthread -fPIE") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie") + SET(SERVER_SRCS dbus_util.cpp server.cpp @@ -18,7 +27,6 @@ SET(SERVER_SRCS add_executable(${PROJECT_NAME} ${SERVER_SRCS}) -target_link_libraries(${PROJECT_NAME} ${rpkgs_LDFLAGS} "sensord-server") -set(CMAKE_CXX_FLAGS "-lrt -ldl -pthread ${CMAKE_CXX_FLAGS}") +target_link_libraries(${PROJECT_NAME} ${server_pkgs_LDFLAGS} "sensord-server") install(TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 8c5d1c8..f400944 100755 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -1,34 +1,18 @@ cmake_minimum_required(VERSION 2.6) project(sf_common CXX) -# to install pkgconfig setup file. -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) -#set(CMAKE_INSTALL_PREFIX "$ENV{DATAFS}") -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "2") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(shared_pkgs REQUIRED vconf dlog libxml-2.0) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED dlog libxml-2.0) -add_definitions(${rpkgs_CFLAGS}) +FOREACH(flag ${shared_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}") -add_definitions(-DLOCALEDIR="$ENV{DATAFS}/share/locale") -add_definitions(-DFACTORYFS="$ENV{FACTORYFS}") -add_definitions(-DDATAFS="$ENV{DATAFS}") -add_definitions(-Wall -fPIC -std=gnu++0x) -add_definitions(-DUSE_DLOG_LOG) -#add_definitions(-DX1_PROF) -#add_definitions(-D_GETTEXT) -#add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-D_DEFAULT_FONT_NAME="Vera") -#add_definitions(-Wall -g -DUSE_FILE_DEBUG) -#add_definitions(-Wall -g -D_DEBUG) -#add_definitions(-Wl,--as-needed -Wl,-O1) -#add_definitions(-finstrument-functions) +FOREACH(flag ${shared_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) @@ -62,15 +46,15 @@ add_library(sensord-share SHARED sensor_info.cpp ) -target_link_libraries(sensord-server ${rpkgs_LDFLAGS} "-lrt -ldl -pthread" "sensord-share") -target_link_libraries(sensord-share ${rpkgs_LDFLAGS} "-lrt -ldl -pthread") +target_link_libraries(sensord-server ${shared_pkgs_LDFLAGS} "-lrt -ldl -pthread" "sensord-share") +target_link_libraries(sensord-share ${shared_pkgs_LDFLAGS} "-lrt -ldl -pthread") configure_file(sensord-server.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/sensord-server.pc @ONLY) configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc @ONLY) -install(TARGETS sensord-server DESTINATION ${LIBDIR}) -install(TARGETS sensord-share DESTINATION ${LIBDIR}) -install(FILES sensord-server.pc DESTINATION ${LIBDIR}/pkgconfig) -install(FILES ${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig) +install(TARGETS sensord-server DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS sensord-share DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(FILES sensord-server.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +install(FILES ${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(FILES crw_lock.h worker_thread.h @@ -92,11 +76,11 @@ install(FILES common.h sensor_info.h iio_common.h - DESTINATION ${INCLUDEDIR}/${PROJECT_NAME} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) install(FILES sensor_common.h - DESTINATION ${INCLUDEDIR}/sensor + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor ) diff --git a/src/temperature/CMakeLists.txt b/src/temperature/CMakeLists.txt index f67773e..87dab53 100755 --- a/src/temperature/CMakeLists.txt +++ b/src/temperature/CMakeLists.txt @@ -1,40 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(temperature CXX) -# to install pkgconfig setup file. -SET(EXEC_PREFIX "\${prefix}") -SET(VERSION 1.0) - SET(SENSOR_NAME temperature_sensor) SET(SENSOR_HAL_NAME temperature_sensor_hal) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/src/libsensord) -include(FindPkgConfig) -pkg_check_modules(rpkgs REQUIRED vconf) -add_definitions(${rpkgs_CFLAGS} -DUSE_ONLY_ONE_MODULE -DUSE_LCD_TYPE_CHECK) - -set(PROJECT_MAJOR_VERSION "0") -set(PROJECT_MINOR_VERSION "0") -set(PROJECT_RELEASE_VERSION "1") -set(CMAKE_VERBOSE_MAKEFILE OFF) - +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(temp_pkgs REQUIRED vconf) -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DTARGET -DHWREV_CHECK") - MESSAGE("add -DTARGET -DHWREV_CHECK") -ELSE("${ARCH}" MATCHES "^arm.*") - ADD_DEFINITIONS("-DSIMULATOR") - MESSAGE("add -DSIMULATOR") -ENDIF("${ARCH}" MATCHES "^arm.*") +FOREACH(flag ${temp_pkgs_LDFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) -add_definitions(-Wall -O3 -omit-frame-pointer) -#add_definitions(-Wall -g -D_DEBUG) -add_definitions(-DUSE_DLOG_LOG) -add_definitions(-Iinclude) +FOREACH(flag ${temp_pkgs_CFLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") +ENDFOREACH(flag) add_library(${SENSOR_NAME} SHARED temperature_sensor.cpp @@ -44,8 +26,8 @@ add_library(${SENSOR_HAL_NAME} SHARED temperature_sensor_hal.cpp ) -target_link_libraries(${SENSOR_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS} "-lm") -target_link_libraries(${SENSOR_HAL_NAME} ${rpkgs_LDFLAGS} ${GLES_LDFLAGS}) +target_link_libraries(${SENSOR_NAME} ${temp_pkgs_LDFLAGS} "-lm") +target_link_libraries(${SENSOR_HAL_NAME} ${temp_pkgs_LDFLAGS}) -install(TARGETS ${SENSOR_NAME} DESTINATION ${LIBDIR}/sensord) -install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${LIBDIR}/sensord) +install(TARGETS ${SENSOR_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) +install(TARGETS ${SENSOR_HAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensord) -- 2.7.4 From 46598dfc35a601ad38c8277d35d291b5e1fa9aa2 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Wed, 7 Jan 2015 14:05:17 +0900 Subject: [PATCH 14/16] sensord: fix CMakeList.txt for avoiding build-break - define LIBDIR - install virtual_sensors.xml Change-Id: I4b3e65c6a0fa25dbf9e312e744087b4174a21620 Signed-off-by: Kibak Yoon --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ecff83..eb4beee 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}") MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") add_definitions(-DUSE_DLOG_LOG) +add_definitions(-DLIBDIR="${CMAKE_INSTALL_LIBDIR}") # Internal Debugging Options #add_definitions(-Wall -g -D_DEBUG) @@ -35,8 +36,10 @@ ENDIF("${ARCH}" MATCHES "^arm.*") # Installing files CONFIGURE_FILE(sensor_plugins.xml.in sensor_plugins.xml @ONLY) CONFIGURE_FILE(sensors.xml.in sensors.xml @ONLY) +CONFIGURE_FILE(virtual_sensors.xml.in virtual_sensors.xml @ONLY) INSTALL(FILES sensor_plugins.xml sensors.xml DESTINATION etc) +INSTALL(FILES virtual_sensors.xml virtual_sensors.xml DESTINATION etc) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME sensord) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION share/license RENAME libsensord) -- 2.7.4 From 21194b013a3cbd1a2f129ed51a2fb47edeaabdf1 Mon Sep 17 00:00:00 2001 From: Kibak Yoon Date: Wed, 7 Jan 2015 15:24:37 +0900 Subject: [PATCH 15/16] sensord: add/change enums and types for avoiding build-break this patch would be reverted. However enumerations and types are added for avoiding build-break until sensor capi is replaced by Tizen 2.3 API. all packages which use tizen 2.2.1 api doesn't have a problem about building, but some APIs don't work from now. Change-Id: I8511158d977304b738fb33c9842a749e0f3519d1 Signed-off-by: Kibak Yoon --- src/accel/accel_sensor.cpp | 4 +- src/accel/accel_sensor.h | 2 +- src/accel/accel_sensor_hal.cpp | 2 +- src/accel/accel_sensor_hal.h | 2 +- src/geo/geo_sensor.cpp | 4 +- src/geo/geo_sensor.h | 2 +- src/geo/geo_sensor_hal.cpp | 2 +- src/geo/geo_sensor_hal.h | 2 +- src/gravity/gravity_sensor.cpp | 2 +- src/gravity/gravity_sensor.h | 2 +- src/gyro/gyro_sensor.cpp | 4 +- src/gyro/gyro_sensor.h | 2 +- src/gyro/gyro_sensor_hal.cpp | 2 +- src/gyro/gyro_sensor_hal.h | 2 +- src/libsensord/CMakeLists.txt | 1 + src/libsensord/client.cpp | 15 ++++++++ src/libsensord/sensor_deprecated.h | 58 +++++++++++++++++++++++++++++ src/libsensord/sensor_internal_deprecated.h | 37 +++++++++++------- src/libsensord/sensor_motion.h | 2 - src/light/light_sensor.cpp | 2 +- src/light/light_sensor.h | 2 +- src/light/light_sensor_hal.cpp | 2 +- src/light/light_sensor_hal.h | 2 +- src/linear_accel/linear_accel_sensor.cpp | 2 +- src/linear_accel/linear_accel_sensor.h | 2 +- src/orientation/orientation_sensor.cpp | 2 +- src/orientation/orientation_sensor.h | 2 +- src/pressure/pressure_sensor.cpp | 4 +- src/pressure/pressure_sensor.h | 2 +- src/pressure/pressure_sensor_hal.cpp | 2 +- src/pressure/pressure_sensor_hal.h | 2 +- src/proxi/proxi_sensor.cpp | 2 +- src/proxi/proxi_sensor.h | 2 +- src/proxi/proxi_sensor_hal.cpp | 2 +- src/proxi/proxi_sensor_hal.h | 2 +- src/rotation_vector/rv/rv_sensor.cpp | 2 +- src/rotation_vector/rv/rv_sensor.h | 2 +- src/shared/sensor_base.cpp | 4 +- src/shared/sensor_base.h | 2 +- src/shared/sensor_common.h | 8 +++- src/shared/sensor_hal.h | 2 +- src/shared/sf_common.h | 2 +- src/temperature/temperature_sensor.cpp | 4 +- src/temperature/temperature_sensor.h | 2 +- src/temperature/temperature_sensor_hal.cpp | 2 +- src/temperature/temperature_sensor_hal.h | 2 +- 46 files changed, 150 insertions(+), 63 deletions(-) create mode 100644 src/libsensord/sensor_deprecated.h diff --git a/src/accel/accel_sensor.cpp b/src/accel/accel_sensor.cpp index 7323b35..55ddf2b 100755 --- a/src/accel/accel_sensor.cpp +++ b/src/accel/accel_sensor.cpp @@ -65,7 +65,7 @@ bool accel_sensor::init() return false; } - sensor_properties_t properties; + sensor_properties_s properties; if (m_sensor_hal->get_properties(properties) == false) { ERR("sensor->get_properties() is failed!\n"); @@ -133,7 +133,7 @@ bool accel_sensor::on_stop(void) return stop_poll(); } -bool accel_sensor::get_properties(sensor_properties_t &properties) +bool accel_sensor::get_properties(sensor_properties_s &properties) { return m_sensor_hal->get_properties(properties); } diff --git a/src/accel/accel_sensor.h b/src/accel/accel_sensor.h index 5d946ba..fec8d69 100755 --- a/src/accel/accel_sensor.h +++ b/src/accel/accel_sensor.h @@ -35,7 +35,7 @@ public: static bool working(void *inst); virtual bool set_interval(unsigned long interval); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); virtual int get_sensor_data(unsigned int type, sensor_data_t &data); private: sensor_hal *m_sensor_hal; diff --git a/src/accel/accel_sensor_hal.cpp b/src/accel/accel_sensor_hal.cpp index 53bb2d7..6a78105 100755 --- a/src/accel/accel_sensor_hal.cpp +++ b/src/accel/accel_sensor_hal.cpp @@ -436,7 +436,7 @@ int accel_sensor_hal::get_sensor_data(sensor_data_t &data) return 0; } -bool accel_sensor_hal::get_properties(sensor_properties_t &properties) +bool accel_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/accel/accel_sensor_hal.h b/src/accel/accel_sensor_hal.h index b2e86e1..821bb1e 100755 --- a/src/accel/accel_sensor_hal.h +++ b/src/accel/accel_sensor_hal.h @@ -41,7 +41,7 @@ public: bool set_interval(unsigned long val); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); // bool check_hw_node(void); private: diff --git a/src/geo/geo_sensor.cpp b/src/geo/geo_sensor.cpp index 029df71..7f967c7 100755 --- a/src/geo/geo_sensor.cpp +++ b/src/geo/geo_sensor.cpp @@ -51,7 +51,7 @@ bool geo_sensor::init() return false; } - sensor_properties_t properties; + sensor_properties_s properties; if (m_sensor_hal->get_properties(properties) == false) { ERR("sensor->get_properties() is failed!\n"); @@ -118,7 +118,7 @@ bool geo_sensor::on_stop(void) return stop_poll(); } -bool geo_sensor::get_properties(sensor_properties_t &properties) +bool geo_sensor::get_properties(sensor_properties_s &properties) { return m_sensor_hal->get_properties(properties); } diff --git a/src/geo/geo_sensor.h b/src/geo/geo_sensor.h index c211e5c..d864ec1 100755 --- a/src/geo/geo_sensor.h +++ b/src/geo/geo_sensor.h @@ -36,7 +36,7 @@ public: static bool working(void *inst); virtual bool set_interval(unsigned long interval); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); int get_sensor_data(unsigned int type, sensor_data_t &data); private: sensor_hal *m_sensor_hal; diff --git a/src/geo/geo_sensor_hal.cpp b/src/geo/geo_sensor_hal.cpp index 21a2276..fdd99f9 100755 --- a/src/geo/geo_sensor_hal.cpp +++ b/src/geo/geo_sensor_hal.cpp @@ -195,7 +195,7 @@ int geo_sensor_hal::get_sensor_data(sensor_data_t &data) return 0; } -bool geo_sensor_hal::get_properties(sensor_properties_t &properties) +bool geo_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/geo/geo_sensor_hal.h b/src/geo/geo_sensor_hal.h index 25183d2..291c725 100755 --- a/src/geo/geo_sensor_hal.h +++ b/src/geo/geo_sensor_hal.h @@ -44,7 +44,7 @@ public: bool set_interval(unsigned long val); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); private: string m_model_id; string m_vendor; diff --git a/src/gravity/gravity_sensor.cpp b/src/gravity/gravity_sensor.cpp index 5467318..21b8e96 100755 --- a/src/gravity/gravity_sensor.cpp +++ b/src/gravity/gravity_sensor.cpp @@ -255,7 +255,7 @@ int gravity_sensor::get_sensor_data(const unsigned int event_type, sensor_data_t return 0; } -bool gravity_sensor::get_properties(sensor_properties_t &properties) +bool gravity_sensor::get_properties(sensor_properties_s &properties) { properties.min_range = -GRAVITY; properties.max_range = GRAVITY; diff --git a/src/gravity/gravity_sensor.h b/src/gravity/gravity_sensor.h index 03fd4f3..ec2c5e1 100755 --- a/src/gravity/gravity_sensor.h +++ b/src/gravity/gravity_sensor.h @@ -40,7 +40,7 @@ public: bool delete_interval(int client_id); int get_sensor_data(const unsigned int event_type, sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); private: sensor_base *m_orientation_sensor; cmutex m_value_mutex; diff --git a/src/gyro/gyro_sensor.cpp b/src/gyro/gyro_sensor.cpp index d057959..30f562b 100755 --- a/src/gyro/gyro_sensor.cpp +++ b/src/gyro/gyro_sensor.cpp @@ -54,7 +54,7 @@ bool gyro_sensor::init() return false; } - sensor_properties_t properties; + sensor_properties_s properties; if (m_sensor_hal->get_properties(properties) == false) { ERR("sensor->get_properties() is failed!\n"); @@ -120,7 +120,7 @@ bool gyro_sensor::on_stop(void) return stop_poll(); } -bool gyro_sensor::get_properties(sensor_properties_t &properties) +bool gyro_sensor::get_properties(sensor_properties_s &properties) { return m_sensor_hal->get_properties(properties); } diff --git a/src/gyro/gyro_sensor.h b/src/gyro/gyro_sensor.h index 81d7557..a56ca2f 100755 --- a/src/gyro/gyro_sensor.h +++ b/src/gyro/gyro_sensor.h @@ -36,7 +36,7 @@ public: static bool working(void *inst); virtual bool set_interval(unsigned long interval); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); int get_sensor_data(unsigned int type, sensor_data_t &data); private: sensor_hal *m_sensor_hal; diff --git a/src/gyro/gyro_sensor_hal.cpp b/src/gyro/gyro_sensor_hal.cpp index c9bf135..f4f690e 100755 --- a/src/gyro/gyro_sensor_hal.cpp +++ b/src/gyro/gyro_sensor_hal.cpp @@ -281,7 +281,7 @@ int gyro_sensor_hal::get_sensor_data(sensor_data_t &data) return 0; } -bool gyro_sensor_hal::get_properties(sensor_properties_t &properties) +bool gyro_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/gyro/gyro_sensor_hal.h b/src/gyro/gyro_sensor_hal.h index f2e63a6..dcb8bfe 100755 --- a/src/gyro/gyro_sensor_hal.h +++ b/src/gyro/gyro_sensor_hal.h @@ -41,7 +41,7 @@ public: bool set_interval(unsigned long ms_interval); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); private: int m_x; diff --git a/src/libsensord/CMakeLists.txt b/src/libsensord/CMakeLists.txt index 5a59254..4b51611 100755 --- a/src/libsensord/CMakeLists.txt +++ b/src/libsensord/CMakeLists.txt @@ -57,4 +57,5 @@ install(FILES sensor_orientation.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/senso install(FILES sensor_rv.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) install(FILES sensor_temperature.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) install(FILES sensor_motion.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) +install(FILES sensor_deprecated.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/sensor/) install(FILES ${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/src/libsensord/client.cpp b/src/libsensord/client.cpp index 3132921..dcac646 100755 --- a/src/libsensord/client.cpp +++ b/src/libsensord/client.cpp @@ -388,6 +388,21 @@ API int sf_check_rotation(unsigned long *rotation) return 0; } +int sf_is_sensor_event_available(sensor_type_t sensor_type, unsigned int event_type) +{ + return 0; +} + +int sf_get_data_properties(unsigned int data_id, sensor_data_properties_t *return_data_properties) +{ + return 0; +} + +int sf_get_properties(sensor_type_t sensor_type, sensor_properties_t *return_properties) +{ + return 0; +} + static bool get_sensor_list(void) { static cmutex l; diff --git a/src/libsensord/sensor_deprecated.h b/src/libsensord/sensor_deprecated.h new file mode 100644 index 0000000..094907a --- /dev/null +++ b/src/libsensord/sensor_deprecated.h @@ -0,0 +1,58 @@ +/* + * libsensord + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef __SENSOR_DEPRECATED_H__ +#define __SENSOR_DEPRECATED_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define ACCELEROMETER_EVENT_ROTATION_CHECK ((ACCELEROMETER_SENSOR << 16) | 0x0100) + +#define ACCELEROMETER_ORIENTATION_DATA_SET (ACCELEROMETER_SENSOR << 16) | 0x0002 +#define ACCELEROMETER_LINEAR_ACCELERATION_DATA_SET (ACCELEROMETER_SENSOR << 16) | 0x0004 +#define ACCELEROMETER_GRAVITY_DATA_SET (ACCELEROMETER_SENSOR << 16) | 0x0008 + +#define ACCELEROMETER_EVENT_GRAVITY_DATA_REPORT_ON_TIME (ACCELEROMETER_SENSOR << 16) | 0x0080 +#define ACCELEROMETER_EVENT_LINEAR_ACCELERATION_DATA_REPORT_ON_TIME (ACCELEROMETER_SENSOR << 16) | 0x0040 +#define ACCELEROMETER_EVENT_ORIENTATION_DATA_REPORT_ON_TIME (ACCELEROMETER_SENSOR << 16) | 0x0020 +#define GEOMAGNETIC_EVENT_ATTITUDE_DATA_REPORT_ON_TIME (GEOMAGNETIC_SENSOR << 16) | 0x0004 +#define ACCELEROMETER_EVENT_CALIBRATION_NEEDED 0x01 +#define ACCELEROMETER_EVENT_SET_WAKEUP 0x02 + +enum accelerometer_rotate_state { + ROTATION_UNKNOWN = 0, + ROTATION_LANDSCAPE_LEFT = 1, + ROTATION_PORTRAIT_TOP = 2, + ROTATION_PORTRAIT_BTM = 3, + ROTATION_LANDSCAPE_RIGHT = 4, + ROTATION_EVENT_0 = 2, + ROTATION_EVENT_90 = 1, + ROTATION_EVENT_180 = 3, + ROTATION_EVENT_270 = 4, +}; + +#ifdef __cplusplus +} +#endif + +#endif //__SENSOR_DEPRECATED_H__ + diff --git a/src/libsensord/sensor_internal_deprecated.h b/src/libsensord/sensor_internal_deprecated.h index 9f3910d..69fa4ec 100755 --- a/src/libsensord/sensor_internal_deprecated.h +++ b/src/libsensord/sensor_internal_deprecated.h @@ -50,6 +50,9 @@ extern "C" #include #include #include +#include + +#define MAX_KEY_LEN 30 typedef struct { condition_op_t cond_op; @@ -70,19 +73,27 @@ typedef struct { int z; } sensor_panning_data_t; -#define ACCELEROMETER_EVENT_ROTATION_CHECK ((ACCELEROMETER_SENSOR << 16) | 0x0001) - -enum accelerometer_rotate_state { - ROTATION_UNKNOWN = 0, - ROTATION_LANDSCAPE_LEFT = 1, - ROTATION_PORTRAIT_TOP = 2, - ROTATION_PORTRAIT_BTM = 3, - ROTATION_LANDSCAPE_RIGHT = 4, - ROTATION_EVENT_0 = 2, - ROTATION_EVENT_90 = 1, - ROTATION_EVENT_180 = 3, - ROTATION_EVENT_270 = 4, -}; +typedef struct { + int sensor_unit_idx; + float sensor_min_range; + float sensor_max_range; + float sensor_resolution; + char sensor_name[MAX_KEY_LEN]; + char sensor_vendor[MAX_KEY_LEN]; +} sensor_properties_t; + +typedef struct { + int sensor_unit_idx; + float sensor_min_range; + float sensor_max_range; + float sensor_resolution; +} sensor_data_properties_t; + +int sf_is_sensor_event_available(sensor_type_t sensor_type , unsigned int event_type); + +int sf_get_data_properties(unsigned int data_id, sensor_data_properties_t *return_data_properties); + +int sf_get_properties(sensor_type_t sensor_type, sensor_properties_t *return_properties); int sf_check_rotation(unsigned long *rotation); diff --git a/src/libsensord/sensor_motion.h b/src/libsensord/sensor_motion.h index 205def6..1fe2db5 100755 --- a/src/libsensord/sensor_motion.h +++ b/src/libsensord/sensor_motion.h @@ -28,8 +28,6 @@ extern "C" { #endif -#define MOTION_SENSOR 0xFF - enum motion_event_type { MOTION_ENGINE_EVENT_SNAP = (MOTION_SENSOR << 16) | 0x0001, MOTION_ENGINE_EVENT_SHAKE = (MOTION_SENSOR << 16) | 0x0002, diff --git a/src/light/light_sensor.cpp b/src/light/light_sensor.cpp index af222e1..bf287c6 100755 --- a/src/light/light_sensor.cpp +++ b/src/light/light_sensor.cpp @@ -151,7 +151,7 @@ bool light_sensor::on_stop(void) return stop_poll(); } -bool light_sensor::get_properties(const unsigned int type, sensor_properties_t &properties) +bool light_sensor::get_properties(const unsigned int type, sensor_properties_s &properties) { m_sensor_hal->get_properties(properties); diff --git a/src/light/light_sensor.h b/src/light/light_sensor.h index 455df3d..18bbe48 100755 --- a/src/light/light_sensor.h +++ b/src/light/light_sensor.h @@ -39,7 +39,7 @@ public: virtual bool on_stop(void); virtual bool set_interval(unsigned long interval); - virtual bool get_properties(const unsigned int type, sensor_properties_t &properties); + virtual bool get_properties(const unsigned int type, sensor_properties_s &properties); int get_sensor_data(const unsigned int type, sensor_data_t &data); private: diff --git a/src/light/light_sensor_hal.cpp b/src/light/light_sensor_hal.cpp index 4cc630c..521a2dc 100755 --- a/src/light/light_sensor_hal.cpp +++ b/src/light/light_sensor_hal.cpp @@ -181,7 +181,7 @@ int light_sensor_hal::get_sensor_data(sensor_data_t &data) } -bool light_sensor_hal::get_properties(sensor_properties_t &properties) +bool light_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/light/light_sensor_hal.h b/src/light/light_sensor_hal.h index ec35104..f2043ec 100755 --- a/src/light/light_sensor_hal.h +++ b/src/light/light_sensor_hal.h @@ -37,7 +37,7 @@ public: bool set_interval(unsigned long val); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); private: string m_model_id; string m_vendor; diff --git a/src/linear_accel/linear_accel_sensor.cpp b/src/linear_accel/linear_accel_sensor.cpp index 6d7c1df..94a5f8f 100755 --- a/src/linear_accel/linear_accel_sensor.cpp +++ b/src/linear_accel/linear_accel_sensor.cpp @@ -271,7 +271,7 @@ int linear_accel_sensor::get_sensor_data(const unsigned int event_type, sensor_d return 0; } -bool linear_accel_sensor::get_properties(sensor_properties_t &properties) +bool linear_accel_sensor::get_properties(sensor_properties_s &properties) { m_accel_sensor->get_properties(properties); properties.name = "Linear Acceleration Sensor"; diff --git a/src/linear_accel/linear_accel_sensor.h b/src/linear_accel/linear_accel_sensor.h index 273fa84..b17792f 100755 --- a/src/linear_accel/linear_accel_sensor.h +++ b/src/linear_accel/linear_accel_sensor.h @@ -38,7 +38,7 @@ public: bool delete_interval(int client_id); int get_sensor_data(const unsigned int event_type, sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); private: sensor_base *m_accel_sensor; sensor_base *m_gravity_sensor; diff --git a/src/orientation/orientation_sensor.cpp b/src/orientation/orientation_sensor.cpp index 9419c96..56658ba 100755 --- a/src/orientation/orientation_sensor.cpp +++ b/src/orientation/orientation_sensor.cpp @@ -432,7 +432,7 @@ int orientation_sensor::get_sensor_data(const unsigned int event_type, sensor_da return 0; } -bool orientation_sensor::get_properties(sensor_properties_t &properties) +bool orientation_sensor::get_properties(sensor_properties_s &properties) { if(m_raw_data_unit == "DEGREES") { properties.min_range = -180; diff --git a/src/orientation/orientation_sensor.h b/src/orientation/orientation_sensor.h index ed61891..4ae764f 100755 --- a/src/orientation/orientation_sensor.h +++ b/src/orientation/orientation_sensor.h @@ -35,7 +35,7 @@ public: bool add_interval(int client_id, unsigned int interval); bool delete_interval(int client_id); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); sensor_type_t get_type(void); int get_sensor_data(const unsigned int data_id, sensor_data_t &data); diff --git a/src/pressure/pressure_sensor.cpp b/src/pressure/pressure_sensor.cpp index d29311c..d1f23a2 100755 --- a/src/pressure/pressure_sensor.cpp +++ b/src/pressure/pressure_sensor.cpp @@ -62,7 +62,7 @@ bool pressure_sensor::init() return false; } - sensor_properties_t properties; + sensor_properties_s properties; if (!m_sensor_hal->get_properties(properties)) { ERR("sensor->get_properties() is failed!\n"); @@ -152,7 +152,7 @@ bool pressure_sensor::on_stop(void) return stop_poll(); } -bool pressure_sensor::get_properties(sensor_properties_t &properties) +bool pressure_sensor::get_properties(sensor_properties_s &properties) { return m_sensor_hal->get_properties(properties); } diff --git a/src/pressure/pressure_sensor.h b/src/pressure/pressure_sensor.h index 1bd8df2..6bd0f40 100755 --- a/src/pressure/pressure_sensor.h +++ b/src/pressure/pressure_sensor.h @@ -37,7 +37,7 @@ public: static bool working(void *inst); bool set_interval(unsigned long interval); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); int get_sensor_data(unsigned int type, sensor_data_t &data); private: diff --git a/src/pressure/pressure_sensor_hal.cpp b/src/pressure/pressure_sensor_hal.cpp index c899d3e..6485dab 100755 --- a/src/pressure/pressure_sensor_hal.cpp +++ b/src/pressure/pressure_sensor_hal.cpp @@ -303,7 +303,7 @@ int pressure_sensor_hal::get_sensor_data(sensor_data_t &data) } -bool pressure_sensor_hal::get_properties(sensor_properties_t &properties) +bool pressure_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/pressure/pressure_sensor_hal.h b/src/pressure/pressure_sensor_hal.h index 42e5310..28c5d87 100755 --- a/src/pressure/pressure_sensor_hal.h +++ b/src/pressure/pressure_sensor_hal.h @@ -37,7 +37,7 @@ public: bool set_interval(unsigned long val); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); private: string m_model_id; diff --git a/src/proxi/proxi_sensor.cpp b/src/proxi/proxi_sensor.cpp index 37dfce6..4db701a 100755 --- a/src/proxi/proxi_sensor.cpp +++ b/src/proxi/proxi_sensor.cpp @@ -122,7 +122,7 @@ bool proxi_sensor::on_stop(void) return stop_poll(); } -bool proxi_sensor::get_properties(sensor_properties_t &properties) +bool proxi_sensor::get_properties(sensor_properties_s &properties) { m_sensor_hal->get_properties(properties); diff --git a/src/proxi/proxi_sensor.h b/src/proxi/proxi_sensor.h index f058724..9a45e72 100755 --- a/src/proxi/proxi_sensor.h +++ b/src/proxi/proxi_sensor.h @@ -34,7 +34,7 @@ public: static bool working(void *inst); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); int get_sensor_data(unsigned int type, sensor_data_t &data); private: sensor_hal *m_sensor_hal; diff --git a/src/proxi/proxi_sensor_hal.cpp b/src/proxi/proxi_sensor_hal.cpp index 3154c18..73bdd75 100755 --- a/src/proxi/proxi_sensor_hal.cpp +++ b/src/proxi/proxi_sensor_hal.cpp @@ -238,7 +238,7 @@ int proxi_sensor_hal::get_sensor_data(sensor_data_t &data) return 0; } -bool proxi_sensor_hal::get_properties(sensor_properties_t &properties) +bool proxi_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/proxi/proxi_sensor_hal.h b/src/proxi/proxi_sensor_hal.h index 6113397..17d8182 100755 --- a/src/proxi/proxi_sensor_hal.h +++ b/src/proxi/proxi_sensor_hal.h @@ -42,7 +42,7 @@ public: bool disable(void); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); private: string m_model_id; string m_vendor; diff --git a/src/rotation_vector/rv/rv_sensor.cpp b/src/rotation_vector/rv/rv_sensor.cpp index e37ff33..e5d0a0e 100755 --- a/src/rotation_vector/rv/rv_sensor.cpp +++ b/src/rotation_vector/rv/rv_sensor.cpp @@ -383,7 +383,7 @@ int rv_sensor::get_sensor_data(unsigned int data_id, sensor_data_t &data) return 0; } -bool rv_sensor::get_properties(sensor_properties_t &properties) +bool rv_sensor::get_properties(sensor_properties_s &properties) { properties.vendor = m_vendor; properties.name = SENSOR_NAME; diff --git a/src/rotation_vector/rv/rv_sensor.h b/src/rotation_vector/rv/rv_sensor.h index 3d84a80..04b42b6 100755 --- a/src/rotation_vector/rv/rv_sensor.h +++ b/src/rotation_vector/rv/rv_sensor.h @@ -35,7 +35,7 @@ public: bool add_interval(int client_id, unsigned int interval); bool delete_interval(int client_id); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); sensor_type_t get_type(void); int get_sensor_data(const unsigned int data_id, sensor_data_t &data); diff --git a/src/shared/sensor_base.cpp b/src/shared/sensor_base.cpp index 3b71b36..109504c 100755 --- a/src/shared/sensor_base.cpp +++ b/src/shared/sensor_base.cpp @@ -252,7 +252,7 @@ unsigned int sensor_base::get_interval(int client_id, bool is_processor) void sensor_base::get_sensor_info(sensor_info &info) { - sensor_properties_t properties; + sensor_properties_s properties; get_properties(properties); info.set_type(get_type()); @@ -271,7 +271,7 @@ void sensor_base::get_sensor_info(sensor_info &info) return; } -bool sensor_base::get_properties(sensor_properties_t &properties) +bool sensor_base::get_properties(sensor_properties_s &properties) { return true; } diff --git a/src/shared/sensor_base.h b/src/shared/sensor_base.h index 1cc6636..16d3dba 100755 --- a/src/shared/sensor_base.h +++ b/src/shared/sensor_base.h @@ -76,7 +76,7 @@ public: void get_sensor_info(sensor_info &info); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); bool is_supported(unsigned int event_type); virtual long set_command(unsigned int cmd, long value); diff --git a/src/shared/sensor_common.h b/src/shared/sensor_common.h index cfecead..7fbfec7 100755 --- a/src/shared/sensor_common.h +++ b/src/shared/sensor_common.h @@ -56,7 +56,8 @@ typedef enum { LINEAR_ACCEL_SENSOR, ORIENTATION_SENSOR, TEMPERATURE_SENSOR, - ROTATION_VECTOR_SENSOR + ROTATION_VECTOR_SENSOR, + MOTION_SENSOR } sensor_type_t; typedef unsigned int sensor_id_t; @@ -84,7 +85,10 @@ typedef struct sensor_data_t { int data_accuracy; //deprecated }; - unsigned long long timestamp; + union { + unsigned long long timestamp; + unsigned long long time_stamp; //deprecated + }; /* * Use "value_count" instead of "values_num" diff --git a/src/shared/sensor_hal.h b/src/shared/sensor_hal.h index 261608e..41d5d6d 100755 --- a/src/shared/sensor_hal.h +++ b/src/shared/sensor_hal.h @@ -79,7 +79,7 @@ public: virtual bool disable(void) = 0; virtual bool set_interval(unsigned long val); virtual bool is_data_ready(bool wait) = 0; - virtual bool get_properties(sensor_properties_t &properties) = 0; + virtual bool get_properties(sensor_properties_s &properties) = 0; virtual int get_sensor_data(sensor_data_t &data); virtual int get_sensor_data(sensorhub_data_t &data); virtual long set_command(unsigned int cmd, long val); diff --git a/src/shared/sf_common.h b/src/shared/sf_common.h index a47ef4f..3b6b79e 100755 --- a/src/shared/sf_common.h +++ b/src/shared/sf_common.h @@ -162,7 +162,7 @@ typedef struct { int min_interval; int fifo_count; int max_batch_count; -} sensor_properties_t; +} sensor_properties_s; /* diff --git a/src/temperature/temperature_sensor.cpp b/src/temperature/temperature_sensor.cpp index 944d3c5..b81c645 100755 --- a/src/temperature/temperature_sensor.cpp +++ b/src/temperature/temperature_sensor.cpp @@ -51,7 +51,7 @@ bool temperature_sensor::init() return false; } - sensor_properties_t properties; + sensor_properties_s properties; if (!m_sensor_hal->get_properties(properties)) { @@ -120,7 +120,7 @@ bool temperature_sensor::on_stop(void) return stop_poll(); } -bool temperature_sensor::get_properties(sensor_properties_t &properties) +bool temperature_sensor::get_properties(sensor_properties_s &properties) { return m_sensor_hal->get_properties(properties); } diff --git a/src/temperature/temperature_sensor.h b/src/temperature/temperature_sensor.h index bcf9346..9bb881a 100755 --- a/src/temperature/temperature_sensor.h +++ b/src/temperature/temperature_sensor.h @@ -36,7 +36,7 @@ public: static bool working(void *inst); bool set_interval(unsigned long interval); - virtual bool get_properties(sensor_properties_t &properties); + virtual bool get_properties(sensor_properties_s &properties); int get_sensor_data(unsigned int type, sensor_data_t &data); private: diff --git a/src/temperature/temperature_sensor_hal.cpp b/src/temperature/temperature_sensor_hal.cpp index cf562bb..0588952 100755 --- a/src/temperature/temperature_sensor_hal.cpp +++ b/src/temperature/temperature_sensor_hal.cpp @@ -196,7 +196,7 @@ int temperature_sensor_hal::get_sensor_data(sensor_data_t &data) } -bool temperature_sensor_hal::get_properties(sensor_properties_t &properties) +bool temperature_sensor_hal::get_properties(sensor_properties_s &properties) { properties.name = m_chip_name; properties.vendor = m_vendor; diff --git a/src/temperature/temperature_sensor_hal.h b/src/temperature/temperature_sensor_hal.h index f492ee4..aba0fb7 100755 --- a/src/temperature/temperature_sensor_hal.h +++ b/src/temperature/temperature_sensor_hal.h @@ -44,7 +44,7 @@ public: bool set_interval(unsigned long val); bool is_data_ready(bool wait); virtual int get_sensor_data(sensor_data_t &data); - bool get_properties(sensor_properties_t &properties); + bool get_properties(sensor_properties_s &properties); private: float m_temperature; int m_node_handle; -- 2.7.4 From a2ed47c719f02d24fd7b1964b0299f27f42b9d54 Mon Sep 17 00:00:00 2001 From: Ankur Date: Tue, 6 Jan 2015 17:39:48 +0530 Subject: [PATCH 16/16] Removed Compilation warning - Unused return value -Return value from the function call to write() was not being used, generating a compilation warning. -Added a while loop to check how many bytes are written in each iteration and ensure that the whole buffer is written. Change-Id: Ice225aa6cfd4eb36293e5475c1d37ebf672e633a --- src/shared/common.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/shared/common.cpp b/src/shared/common.cpp index 9c6da31..884bbf3 100755 --- a/src/shared/common.cpp +++ b/src/shared/common.cpp @@ -50,7 +50,13 @@ EXTAPI void sf_log(int type , int priority , const char *tag , const char *fmt , sf_debug_file_fd = open(SF_SERVER_MSG_LOG_FILE, O_WRONLY|O_CREAT|O_APPEND, 0644); if (sf_debug_file_fd != -1) { vsnprintf(sf_debug_file_buf,255, fmt , ap ); - write(sf_debug_file_fd, sf_debug_file_buf, strlen(sf_debug_file_buf)); + int total_bytes_written = 0; + while (total_bytes_written < (int) strlen(sf_debug_file_buf)){ + int bytes_written = write(sf_debug_file_fd, (sf_debug_file_buf + total_bytes_written), strlen(sf_debug_file_buf) - total_bytes_written); + if (bytes_written == -1) + break; + total_bytes_written = total_bytes_written + bytes_written; + } close(sf_debug_file_fd); } break; -- 2.7.4