4a6834b70b1b1e62026e05d04c20026c655c334c
[apps/native/blind-motor.git] / src / capability / capability_illuminancemeasurement.c
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "st_things.h"
18 #include "log.h"
19
20 static const char *PROP_ILLUMINANCE = "illuminance";
21
22 extern uint16_t get_sensor_value(void);
23 extern void set_auto_motor_driving(uint16_t lux_value);
24
25 bool handle_get_request_on_resource_capability_illuminancemeasurement(st_things_get_request_message_s* req_msg, st_things_representation_s* resp_rep)
26 {
27         uint16_t sensor_value = 0;
28
29         //DBG("Received a GET request on %s\n", req_msg->resource_uri);
30
31         if (req_msg->has_property_key(req_msg, PROP_ILLUMINANCE)) {
32                 // get illuminance sensor value
33                 sensor_value = get_sensor_value();
34                 set_auto_motor_driving(sensor_value);
35
36                 // set sensor value
37                 resp_rep->set_int_value(resp_rep, PROP_ILLUMINANCE, sensor_value);
38         }
39         return true;
40 }