From: Eunyoung Lee Date: Tue, 10 Oct 2017 08:28:38 +0000 (+0900) Subject: Challenge : Question #1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=967619f766fcdc702451e9309f781ff47714e72a;p=apps%2Fnative%2Fposition-finder-server.git Challenge : Question #1 Change-Id: If50387e16167c7882551303a1b2b1e313bbe83e9 --- diff --git a/inc/resource_internal.h b/inc/resource_internal.h index cb751b5..df9c77f 100755 --- a/inc/resource_internal.h +++ b/inc/resource_internal.h @@ -46,7 +46,7 @@ struct _resource_s { }; typedef struct _resource_s resource_s; -typedef void (*resource_read_cb)(double value, void *data); +typedef void (*resource_read_cb)(float value, void *data); struct _resource_read_cb_s { resource_read_cb cb; diff --git a/src/controller.c b/src/controller.c index c80090e..d78ec71 100644 --- a/src/controller.c +++ b/src/controller.c @@ -32,20 +32,48 @@ #include "controller_util.h" #include "webutil.h" + #define CONNECTIVITY_KEY "opened" -#define SENSORING_TIME_INTERVAL 1.0f +/** + * DO NOT EDIT: please don't edit the time interval. + */ +#define SENSORING_TIME_INTERVAL 2.0f + +/** + * TODO: You have to use the pin numbers below. + * You can change the pin numbers freely. + */ +#define TRIG_PIN_NUMBER 20 +#define ECHO_PIN_NUMBER 21 typedef struct app_data_s { Ecore_Timer *getter_timer; connectivity_resource_s *resource_info; } app_data; -static Eina_Bool control_sensors_cb(void *data) +static void _ultrasonic_sensor_read_cb(float value, void *data) +{ + /** + * TODO: Send the value of the ultrasonic sensor to the Client. + */ + + + + + +} + +static Eina_Bool _control_sensors_cb(void *data) { app_data *ad = data; - if (connectivity_notify_bool(ad->resource_info, CONNECTIVITY_KEY, true) == -1) - _E("Cannot notify message"); + /** + * TODO: Prepare to read the value of the ultrasonic sensor. + */ + + + + return ECORE_CALLBACK_RENEW; } @@ -54,24 +82,35 @@ static bool service_app_create(void *data) { app_data *ad = data; int ret = -1; + const char *path = NULL; /** - * No modification required!!! + * DO NOT EDIT: please don't edit the function below. * Access only when modifying internal functions. */ controller_init_internal_functions(); /** - * Create a connectivity resource and registers the resource in server. + * TODO: Get a path of the box. + * Get a predefined path based on where the box is placed.(e.g. "/door/1") + * The path is a string value that is passed as the first argument to the connectivity_set_resource(). + */ + + + + + + /** + * Creates a connectivity resource and registers the resource in server. */ - ret = connectivity_set_resource(NULL, "org.tizen.door", &ad->resource_info); + ret = connectivity_set_resource(/*PATH*/, "org.tizen.door", &ad->resource_info); if (ret == -1) _E("Cannot broadcast resource"); /** * Creates a timer to call the given function in the given period of time. * In the control_sensors_cb(), each sensor reads the measured value or writes a specific value to the sensor. */ - ad->getter_timer = ecore_timer_add(SENSORING_TIME_INTERVAL, control_sensors_cb, ad); + ad->getter_timer = ecore_timer_add(SENSORING_TIME_INTERVAL, _control_sensors_cb, ad); if (!ad->getter_timer) { _E("Failed to add infrared motion getter timer"); return false; @@ -87,14 +126,13 @@ static void service_app_terminate(void *data) if (ad->getter_timer) ecore_timer_del(ad->getter_timer); - /** * Releases the resource about connectivity. */ connectivity_unset_resource(ad->resource_info); /** - * No modification required!!! + * DO NOT EDIT: please don't edit the function below. * Access only when modifying internal functions. */ controller_fini_internal_functions(); diff --git a/tizen-manifest.xml.in b/tizen-manifest.xml.in index 677801e..e5cbac4 100644 --- a/tizen-manifest.xml.in +++ b/tizen-manifest.xml.in @@ -5,7 +5,7 @@ Geunsun Lee Eunyoung Lee Junkyu Han - + @PROJECT_NAME@.png