From: Jin Yoon Date: Mon, 20 Aug 2018 07:30:33 +0000 (+0900) Subject: QUIZ X-Git-Url: http://review.tizen.org/git/?p=apps%2Fnative%2Fst-things-blind.git;a=commitdiff_plain;h=dbdecc2387b8bf6467d92478fe57f54ad21dbeaf QUIZ Change-Id: I2f3642bd53c7d3b79f6a6a2f76e4e1fd47554427 --- diff --git a/.gitignore b/.gitignore index 7b0adc8..2fd2277 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ /Debug/ /SA_Report/ +/.sign/ +/res/certificate.pem +/res/privatekey.der +/crash-info/ diff --git a/res/device_def.json b/res/device_def.json index 8993491..8e11803 100644 --- a/res/device_def.json +++ b/res/device_def.json @@ -4,12 +4,12 @@ "specification": { "device": { "deviceType": "oic.d.light", - "deviceName": "Smart Blind", + "deviceName": "*** YOUR DEVICE NAME ***", "specVersion": "core.1.1.0", "dataModelVersion": "res.1.1.0" }, "platform": { - "manufacturerName": "fAbr", + "manufacturerName": "*** YOUR MNID ***", "manufacturerUrl": "http://www.samsung.com/sec/", "manufacturingDate": "2017-08-31", "modelNumber": "BLIND-01", @@ -17,30 +17,30 @@ "osVersion": "1.0", "hardwareVersion": "1.0", "firmwareVersion": "1.0", - "vendorId": "TizenVendor" + "vendorId": "*** YOUR VENDOR ID ***" } }, "resources": { "single": [ { - "uri": "/capability/switch/main/0", + "uri": "/capability/illuminanceMeasurement/main/0", "types": [ - "x.com.st.powerswitch" + "oic.r.sensor.illuminance" ], "interfaces": [ - "oic.if.a", + "oic.if.s", "oic.if.baseline" ], "policy": 3 }, { - "uri": "/capability/illuminanceMeasurement/main/0", + "uri": "/capability/doorControl/main/0", "types": [ - "oic.r.sensor.illuminance" + "x.com.st.doorcontrol" ], "interfaces": [ - "oic.if.s", - "oic.if.baseline" + "oic.if.baseline", + "oic.if.a" ], "policy": 3 } @@ -50,24 +50,24 @@ ], "resourceTypes": [ { - "type": "x.com.st.powerswitch", + "type": "oic.r.sensor.illuminance", "properties": [ { - "key": "power", - "type": 3, + "key": "illuminance", + "type": 2, "mandatory": true, - "rw": 3 + "rw": 1 } ] }, { - "type": "oic.r.sensor.illuminance", + "type": "x.com.st.doorcontrol", "properties": [ { - "key": "illuminance", - "type": 2, + "key": "doorState", + "type": 3, "mandatory": true, - "rw": 1 + "rw": 3 } ] } @@ -77,7 +77,7 @@ "connectivity": { "type": 1, "softAP": { - "setupId": "007", + "setupId": "*** YOUR SETUPID ***", "artik": false } }, diff --git a/src/smart-blind.c b/src/smart-blind.c index 15db4bd..801582c 100644 --- a/src/smart-blind.c +++ b/src/smart-blind.c @@ -36,14 +36,12 @@ #define SENSOR_KEY_ILLUMINANCE "illuminance" #define SENSOR_KEY_RANGE "range" -#define SENSOR_URI_POWER "/capability/switch/main/0" -#define SENSOR_KEY_POWER "power" -#define SENSOR_POWER_INITIALIZING "off" +#define SENSOR_URI_DOOR "/capability/doorControl/main/0" +#define SENSOR_KEY_DOOR "doorState" +#define SENSOR_POWER_INITIALIZING BLIND_DOWN #define I2C_BUS_NUMBER (1) - -// QUIZ -#define SENSOR_GATHER_INTERVAL (1.0f) +#define SENSOR_GATHER_INTERVAL (5.0f) // QUIZ //#define USE_ST_SDK @@ -63,8 +61,8 @@ static app_data *g_ad = NULL; #define SERVO_MOTOR_DUTY_CYCLE_COUNTER_CLOCKWISE 1.0 #define SERVO_MOTOR_DUTY_CYCLE_CLOCKWISE 2.0 -#define BLIND_UP "on" -#define BLIND_DOWN "off" +#define BLIND_UP "opening" +#define BLIND_DOWN "closing" static inline int __get_illuminance(void *data, unsigned int *illuminance_value) { @@ -75,8 +73,10 @@ static inline int __get_illuminance(void *data, unsigned int *illuminance_value) retv_if(!ad->illuminance_data, -1); // QUIZ - ret = resource_read_illuminance_sensor(1, illuminance_value); +#if 0 + ret = resource_read_illuminance_sensor(/*** BUS ***/, illuminance_value); retv_if(ret != 0, -1); +#endif sensor_data_set_uint(ad->illuminance_data, *illuminance_value); _D("Illuminance value : %u", *illuminance_value); @@ -107,11 +107,12 @@ static int __set_servo_motor(void *data, int on) } #if 0 // QUIZ - ret = resource_set_servo_motor_value(/* duty_cycle */); + ret = resource_set_servo_motor_value(/*** DUTY CYCLE ***/); retv_if(ret != 0, -1); #endif sensor_data_set_string(ad->power_data, power_value, strlen(power_value)); + st_things_notify_observers(SENSOR_URI_DOOR); return 0; } @@ -136,7 +137,7 @@ static Eina_Bool __illuminance_to_servo_motor(void *data) ret = __get_illuminance(ad, &illuminance_value); retv_if(ret != 0, ECORE_CALLBACK_RENEW); -#if 1 // # Senario : Illuminance sensor +#if 0 // # Senario : Illuminance sensor int on = 0; if (illuminance_value < ILLUMINATION_CRITERIA) { @@ -207,21 +208,23 @@ static bool handle_get_request(st_things_get_request_message_s* req_msg, st_thin _D("resource_uri [%s]", req_msg->resource_uri); retv_if(!g_ad, false); - if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_ILLUMINANCE)) { + // QUIZ + if (0 == strcmp(req_msg->resource_uri, /*** URI ILLUMINANCE ***/)) { if (req_msg->has_property_key(req_msg, SENSOR_KEY_ILLUMINANCE)) { unsigned int value = 0; sensor_data_get_uint(g_ad->illuminance_data, &value); resp_rep->set_int_value(resp_rep, SENSOR_KEY_ILLUMINANCE, value); } return true; - } else if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_POWER)) { - if (req_msg->has_property_key(req_msg, SENSOR_KEY_POWER)) { + // QUIZ + } else if (0 == strcmp(req_msg->resource_uri, /*** URI_DOOR ***/)) { + if (req_msg->has_property_key(req_msg, SENSOR_KEY_DOOR)) { const char *str = NULL; sensor_data_get_string(g_ad->power_data, &str); if (!str) { str = SENSOR_POWER_INITIALIZING; } - resp_rep->set_str_value(resp_rep, SENSOR_KEY_POWER, str); + resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str); _D("Power : %s", str); } return true; @@ -235,18 +238,19 @@ static bool handle_set_request(st_things_set_request_message_s* req_msg, st_thin _D("resource_uri [%s]", req_msg->resource_uri); retv_if(!g_ad, false); - if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_POWER)) { + // QUIZ + if (0 == strcmp(req_msg->resource_uri, /*** URI DOOR ***/)) { int ret = 0; char *str = NULL; - if (req_msg->rep->get_str_value(req_msg->rep, SENSOR_KEY_POWER, &str)) { + if (req_msg->rep->get_str_value(req_msg->rep, SENSOR_KEY_DOOR, &str)) { retv_if(!str, false); - _D("set [%s:%s] == %s", SENSOR_URI_POWER, SENSOR_KEY_POWER, str); + _D("set [%s:%s] == %s", SENSOR_URI_DOOR, SENSOR_KEY_DOOR, str); sensor_data_set_string(g_ad->power_data, str, strlen(str)); - resp_rep->set_str_value(resp_rep, SENSOR_KEY_POWER, str); + resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str); - if (0 == strcmp(str, "on")) { + if (0 == strcmp(str, "opening")) { ret = __set_servo_motor(g_ad, 1); } else { ret = __set_servo_motor(g_ad, 0);