From d2f316c9be8d9c85565e0af101a34dd7e66416c9 Mon Sep 17 00:00:00 2001 From: Eunyoung Lee Date: Wed, 16 Aug 2017 17:14:13 +0900 Subject: [PATCH] Modify to connect only one infrared motion sensor & Fixed an issue the CBOR file in the data dir couldn't be copied from the res dir. Change-Id: I87109eec17a0376fade3222bd0b1bd25207c0361 --- CMakeLists.txt | 2 +- inc/connectivity.h | 2 ++ packaging/org.tizen.position-finder-server.spec | 4 +-- src/connectivity.c | 2 -- src/controller.c | 39 ++++++------------------- src/controller_internal.c | 2 -- 6 files changed, 14 insertions(+), 37 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54c7f72..f3562f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,7 +53,7 @@ TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${APP_PKGS_LDFLAGS}) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX}) INSTALL(FILES ${PROJECT_ROOT_DIR}/tizen-manifest.xml DESTINATION ${SYS_PACKAGES_DIR} RENAME org.tizen.position-finder-server.xml) -INSTALL(DIRECTORY DESTINATION ${PREFIX}/data) +INSTALL(DIRECTORY DESTINATION ${INSTALL_OWNER_DATADIR}) INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/position_finder_server.png DESTINATION ${SYS_ICONS_DIR}) INSTALL(FILES ${PROJECT_ROOT_DIR}/res/iotcon-test-svr-db-server.dat DESTINATION ${INSTALL_OWNER_RESDIR}) diff --git a/inc/connectivity.h b/inc/connectivity.h index fc7962f..9312fcc 100644 --- a/inc/connectivity.h +++ b/inc/connectivity.h @@ -22,6 +22,8 @@ #ifndef __POSITION_FINDER_CONNECTIVITY_H__ #define __POSITION_FINDER_CONNECTIVITY_H__ +#include + #include "connectivity_internal.h" struct connectivity_resource { diff --git a/packaging/org.tizen.position-finder-server.spec b/packaging/org.tizen.position-finder-server.spec index 76835bb..a9b3f5f 100644 --- a/packaging/org.tizen.position-finder-server.spec +++ b/packaging/org.tizen.position-finder-server.spec @@ -65,9 +65,8 @@ make %{?jobs:-j%jobs} %post /sbin/ldconfig chsmack -a "User::Pkg::org.tizen.position-finder-server" %{_pkg_res_dir}/*.dat -chmod 666 %{_pkg_res_dir}/*.dat +chmod 444 %{_pkg_res_dir}/*.dat -mkdir -p %{_pkg_rw_data_dir} touch %{_pkg_rw_data_dir}/iotcon-test-svr-db-server.dat chsmack -a "User::Pkg::org.tizen.position-finder-server" %{_pkg_rw_data_dir}/*.dat chmod 666 %{_pkg_rw_data_dir}/*.dat @@ -77,6 +76,7 @@ chmod 666 %{_pkg_rw_data_dir}/*.dat %files %manifest org.tizen.position-finder-server.manifest %{_pkg_res_dir}/*.dat +%{_pkg_rw_data_dir} %defattr(-,root,root,-) %{_pkg_dir}/bin/position-finder-server %{_sys_packages_dir}/org.tizen.position-finder-server.xml diff --git a/src/connectivity.c b/src/connectivity.c index 51f3a49..3534825 100644 --- a/src/connectivity.c +++ b/src/connectivity.c @@ -25,8 +25,6 @@ #include #include -#include - #include "log.h" #include "connectivity.h" diff --git a/src/controller.c b/src/controller.c index bf437b0..a95d3da 100644 --- a/src/controller.c +++ b/src/controller.c @@ -25,16 +25,12 @@ #include #include -#include // Please remove this after test - #include "log.h" #include "resource.h" -#include "connectivity.h" #include "controller.h" +#include "connectivity.h" -#define GPIO_ULTRASONIC_TRIG_NUM_1 20 -#define GPIO_ULTRASONIC_ECHO_NUM_1 21 -#define MULTIPLE_SENSOR_NUMBER 5 +#define GPIO_INFRARED_MOTION_NUM 20 #define CONNECTIVITY_KEY "opened" typedef struct app_data_s { @@ -44,36 +40,19 @@ typedef struct app_data_s { static Eina_Bool control_sensors_cb(void *data) { - int value[MULTIPLE_SENSOR_NUMBER] = { 0, }; - int total = 0; - int gpio_num[MULTIPLE_SENSOR_NUMBER] = { 5, 6, 13, 19, 26 }; - int i = 0; + int value = 0; app_data *ad = data; /** - * This is the case when a number of the same sensors are installed. - * Each of the five infrared motion sensors will receive the value. + * Infrared motion sensor outputs 1 if motion is detected, or 0 if motion is detected. */ - for (i = 0; i < MULTIPLE_SENSOR_NUMBER; i++) { - /** - * Infrared motion sensor outputs 1 if motion is detected, or 0 if motion is detected. - */ - if (resource_read_infrared_motion_sensor(gpio_num[i], &value[i]) == -1) { - _E("Failed to get Infrared Motion value [GPIO:%d]", gpio_num[i]); - continue; - } - /** - * If one of the five infrared motion sensors detects motion (1), - * it is judged that there is a person (total == 1). - */ - total |= value[i]; - } - _I("[5:%d] | [6:%d] | [13:%d] | [19:%d] | [26:%d] = [Total:%d]", value[0], value[1], value[2], value[3], value[4], total); + if (resource_read_infrared_motion_sensor(GPIO_INFRARED_MOTION_NUM, &value) == -1) + _E("Failed to get Infrared Motion value [GPIO:%d]", GPIO_INFRARED_MOTION_NUM); /** * Notifies specific clients that resource's attributes have changed. */ - if (connectivity_notify_bool(ad->resource_info, CONNECTIVITY_KEY, total) == -1) + if (connectivity_notify_bool(ad->resource_info, CONNECTIVITY_KEY, value) == -1) _E("Cannot notify message"); return ECORE_CALLBACK_RENEW; @@ -91,7 +70,7 @@ static bool service_app_create(void *data) controller_init_internal_functions(); /** - * Create connectivity resources and registers the resource in server. + * Create a connectivity resource and registers the resource in server. */ ret = connectivity_set_resource("/door/1", "org.tizen.door", &ad->resource_info); if (ret == -1) _E("Cannot broadcast resource"); @@ -120,7 +99,7 @@ static void service_app_terminate(void *data) } /** - * Releases all resources about connectivity. + * Releases the resource about connectivity. */ connectivity_unset_resource(ad->resource_info); diff --git a/src/controller_internal.c b/src/controller_internal.c index cd24bad..3508321 100644 --- a/src/controller_internal.c +++ b/src/controller_internal.c @@ -19,8 +19,6 @@ * limitations under the License. */ -#include - #include "log.h" #include "connectivity.h" #include "resource.h" -- 2.7.4