<option id="gnu.cpp.compiler.option.optimization.level.927516291" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/>
<option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1484656362" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
<option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1001060053" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
- <option id="gnu.cpp.compiler.option.dialect.std.1328601870" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="false" valueType="enumerated"/>
- <option id="sbi.gnu.cpp.compiler.option.752658663" superClass="sbi.gnu.cpp.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
+ <option id="gnu.cpp.compiler.option.dialect.std.1328601870" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="false" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.752658663" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
<listOptionValue builtIn="false" value="iot-headless-5.0-device.core_llvm40.armel"/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1317601758" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1317601758" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
<listOptionValue builtIn="false" value="osp"/>
<listOptionValue builtIn="false" value="Native_API"/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1381199239" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1381199239" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1068841642" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1068841642" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
<listOptionValue builtIn="false" value="-mthumb"/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation.1481967674" superClass="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
+ <option id="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation.1481967674" name="Defined symbols (-D)" superClass="sbi.gnu.cpp.compiler.option.preprocessor.def.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="TIZEN_DEPRECATION"/>
<listOptionValue builtIn="false" value="DEPRECATION_WARNING"/>
<listOptionValue builtIn="false" value="_DEBUG"/>
</option>
- <option id="gnu.cpp.compiler.option.include.paths.194754833" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+ <option id="gnu.cpp.compiler.option.include.paths.194754833" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1893389969" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1280615976" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.440810614" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
<option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.25875162" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
- <option id="gnu.c.compiler.option.dialect.std.1231802084" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="false" valueType="enumerated"/>
- <option id="sbi.gnu.c.compiler.option.1129862963" superClass="sbi.gnu.c.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
+ <option id="gnu.c.compiler.option.dialect.std.1231802084" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="false" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1129862963" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
<listOptionValue builtIn="false" value="iot-headless-5.0-device.core_llvm40.armel"/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks.core.1715324858" superClass="sbi.gnu.c.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1715324858" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" useByScannerDiscovery="false" valueType="userObjs">
<listOptionValue builtIn="false" value="osp"/>
<listOptionValue builtIn="false" value="Native_API"/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1993317799" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1993317799" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2122567201" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
- <listOptionValue builtIn="false" value="$(TC_COMPILER_MISC)"/>
- <listOptionValue builtIn="false" value="$(RS_COMPILER_MISC)"/>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2122567201" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
- <listOptionValue builtIn="false" value="--sysroot="$(SBI_SYSROOT)""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
<listOptionValue builtIn="false" value="-mthumb"/>
</option>
- <option id="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation.1953195779" superClass="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
+ <option id="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation.1953195779" name="Defined symbols (-D)" superClass="sbi.gnu.c.compiler.option.preprocessor.def.symbols.deprecation" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="TIZEN_DEPRECATION"/>
<listOptionValue builtIn="false" value="DEPRECATION_WARNING"/>
<listOptionValue builtIn="false" value="_DEBUG"/>
</option>
- <option id="gnu.c.compiler.option.include.paths.1327550699" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+ <option id="gnu.c.compiler.option.include.paths.1327550699" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1767616947" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
<option defaultValue="false" id="sbi.gnu.cpp.link.option.strip.726351699" name="Omit all symbol information (-s)" superClass="sbi.gnu.cpp.link.option.strip" valueType="boolean"/>
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.995372830" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.757485109" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
- <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1283583507" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" useByScannerDiscovery="false" valueType="stringList">
- <listOptionValue builtIn="false" value="$(TC_LINKER_MISC)"/>
- <listOptionValue builtIn="false" value="$(RS_LINKER_MISC)"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1283583507" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" useByScannerDiscovery="false" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
<listOptionValue builtIn="false" value="-pie -lpthread "/>
- <listOptionValue builtIn="false" value="--sysroot="$(SBI_SYSROOT)""/>
- <listOptionValue builtIn="false" value="-Xlinker --version-script="$(PROJ_PATH)/.exportMap""/>
- <listOptionValue builtIn="false" value="-L"$(SBI_SYSROOT)/usr/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
<listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
</option>
- <option id="gnu.cpp.link.option.paths.1531158283" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
+ <option id="gnu.cpp.link.option.paths.1531158283" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
</option>
- <option id="gnu.cpp.link.option.libs.1983413821" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
+ <option id="gnu.cpp.link.option.libs.1983413821" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
<listOptionValue builtIn="false" value="st_thing_resource_api"/>
<listOptionValue builtIn="false" value="st_thing_master_api"/>
</option>
#define LED_ON "on"
#define LED_OFF "off"
+#define SENSOR_LED_INIT "off"
+#define SENSOR_MOTION_CH (46)
+#define SENSOR_LED_CH (130)
+#define SENSOR_GATHER_INTERVAL (50) //50ms
#define USE_ST_SDK
#define SENSOR_MOTION_URI "/capability/motionSensor/main/0"
#define SENSOR_MOTION_KEY "value"
-#define SENSOR_MOTION_CH 46
#define SENSOR_LED_URI "/capability/switch/main/0"
#define SENSOR_LED_KEY "power"
-#define SENSOR_LED_INIT "off"
-#define SENSOR_LED_CH 130
-#define SENSOR_GATHER_INTERVAL (50) //50ms
#endif /* USE_ST_SDK */
return err_str;
}
+static int __change_led_data(void *data, char *state) {
+ int ret = 0;
+ app_data *ad = data;
+
+ retv_if(!ad, -1);
+ retv_if(!ad->led_data, -1);
+
+ sensor_data_set_string(ad->led_data, state, strlen(state));
+
+ if (0 == strcmp(state, LED_ON)) {
+ ret = resource_write_led(SENSOR_LED_CH, 1);
+ } else {
+ ret = resource_write_led(SENSOR_LED_CH, 0);
+ }
+
+ retv_if(ret != 0, -1);
+
+ return 0;
+}
+
static bool
handle_get_motion(smartthings_payload_h resp_payload, void *user_data)
{
retv_if(!ad, false);
+ _D("Received a GET request for MOTION");
+
sensor_data_get_bool(ad->motion_data, &value);
- smartthings_payload_set_bool(resp_payload, SENSOR_MOTION_KEY, value);
+ smartthings_payload_set_bool(resp_payload, SENSOR_MOTION_KEY, ad->motion_data);
_D("Value : %d", value);
{
app_data *ad = user_data;
const char *str = NULL;
+ int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
retv_if(!ad, false);
- sensor_data_get_string(ad->led_data, &str);
+ _D("Received a GET request for LED");
- if (!str) {
- str = SENSOR_LED_INIT;
- }
+ error = smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, ad->led_data);
+ if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
+ _E("smartthings_resource_notify() failed, [%s]",
+ __resource_error_to_str(error));
- smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, str);
_D("Power : %s", str);
-// free(str);
-
return true;
}
static bool
-handle_set_led(smartthings_payload_h resp_payload, void *user_data)
+handle_set_led(smartthings_payload_h payload, smartthings_payload_h resp_payload, void *user_data)
{
app_data *ad = user_data;
- const char *str = NULL;
+ char *str = NULL;
int ret = 0;
+ int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
retv_if(!ad, false);
- _D("set [%s:%s] == %s", SENSOR_LED_URI, SENSOR_LED_KEY, str);
- smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, str);
+ _D("Received a SET request");
+
+ smartthings_payload_get_string(payload, SENSOR_LED_KEY, &str);
+ if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
+ _E("smartthings_resource_notify() failed, [%s]",
+ __resource_error_to_str(error));
-// ret = __change_led_data(ad, strdup(str));
+ ret = __change_led_data(ad, strdup(str));
retv_if(ret != 0, false);
-// free(str);
+ free(str);
- return true;
+ error = smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, ad->led_data);
+ if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
+ _E("smartthings_resource_notify() failed, [%s]",
+ __resource_error_to_str(error));
+
+ return true;
}
static void
_E("No matching Resource uri to get");
} else if (req_type == SMARTTHINGS_RESOURCE_REQUEST_SET) {
if (0 == g_strcmp0(uri, SENSOR_LED_URI))
- result = handle_set_led(resp_payload, user_data);
+ result = handle_set_led(payload, resp_payload, user_data);
else
_E("No matching Resource uri to get");
} else {
// Notify observers of the Motion sensor resource
st_thing_notify_resource(ad, SENSOR_MOTION_URI, SENSOR_MOTION_KEY, ad->motion_data);
#endif
-
- return TRUE;
+ return FALSE;
+// return TRUE;
}
-//static int __change_led_data(void *data, char *state) {
-// int ret = 0;
-// app_data *ad = data;
-//
-// retv_if(!ad, -1);
-// retv_if(!ad->led_data, -1);
-//
-// sensor_data_set_string(ad->led_data, state, strlen(state));
-//
-// if (0 == strcmp(state, LED_ON)) {
-// ret = resource_write_led(SENSOR_LED_CH, 1);
-// } else {
-// ret = resource_write_led(SENSOR_LED_CH, 0);
-// }
-//
-// retv_if(ret != 0, -1);
-//
-//#ifdef USE_ST_SDK
-// // Notify observers of the LED resource
-// st_thing_notify_resource(ad, SENSOR_LED_URI, SENSOR_LED_KEY, ad->motion_data);
-//#endif
-//
-// return 0;
-//}
-
static void gathering_stop(void *data)
{
app_data *ad = data;
{
app_data *ad = data;
ret_if(!ad);
+
ad->getter_motion = g_timeout_add(SENSOR_GATHER_INTERVAL, __change_motion_sensor_data, ad);
+
if (!ad->getter_motion)
_E("Failed to add getter_motion");
}
#endif
// Turn off LED light with __set_led()
-// __change_led_data(ad, LED_OFF);
+ __change_led_data(ad, LED_OFF);
// Free sensor Motion & LED data
sensor_data_free(ad->motion_data);