diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2015-01-30 19:19:33 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2015-02-12 14:00:30 +0900 |
commit | 9854fb4624b6f419fc149698a9783d351249be89 (patch) | |
tree | 3988607697e5796534e5ea20ae1c86e7af999ded | |
parent | 9298d6349a42a62be2b48d108bf8ea7bed1ac4bb (diff) | |
download | libdevice-node-9854fb4624b6f419fc149698a9783d351249be89.tar.gz libdevice-node-9854fb4624b6f419fc149698a9783d351249be89.tar.bz2 libdevice-node-9854fb4624b6f419fc149698a9783d351249be89.zip |
device-node: Add led structuressubmit/tizen/20150225.080307accepted/tizen/wearable/20150226.095205accepted/tizen/tv/20150226.094255accepted/tizen/mobile/20150226.100152accepted/tizen/common/20150226.084857
Led device support to control the brightness level, color and duty.
There is an detail information in Tizen Wiki:
https://wiki.tizen.org/wiki/HAL_upgrade_for_Tizen_3.0#Device
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Change-Id: I70b0402fb528ba057ec782c4ba1718eb3dbd4225
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | hw/led.h | 73 |
2 files changed, 75 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a156cd9..8accafd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,8 @@ SET(HEADERS SET(HW_HEADERS hw/common.h - hw/backlight.h) + hw/backlight.h + hw/led.h) INCLUDE(devices/CMakeLists.txt) diff --git a/hw/led.h b/hw/led.h new file mode 100644 index 0000000..69c6c10 --- /dev/null +++ b/hw/led.h @@ -0,0 +1,73 @@ +/* + * libdevice-node + * + * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#ifndef __HW_LED_H__ +#define __HW_LED_H__ + +#include <hw/common.h> + +/** + * The id of this device + */ +#define LED_HARDWARE_DEVICE_ID "led" + +/** + * The version of this device + */ +#define LED_HARDWARE_DEVICE_VERSION MAKE_VERSION(1,0) + +/** + * The id of led devices + */ +#define LED_ID_CAMERA_BACK "camera_back" +#define LED_ID_CAMERA_FRONT "camera_front" +#define LED_ID_NOTIFICATION "notification" +#define LED_ID_TOUCH_KEY "touch_key" + +enum led_type { + LED_TYPE_MANUAL, + LED_TYPE_BLINK, +}; + +struct led_state { + /* Led type */ + enum led_type type; + /** + * The first byte means opaque and the other 3 bytes are RGB values. + * You can use opaque byte as a led brightness value. + * If the first byte is 0x00, led will be turned off. + * Anything else will be worked as on. The max value is 0xFF. + */ + unsigned int color; + /* Turn on time in milliseconds */ + int duty_on; + /* Turn off time in milliseconds */ + int duty_off; +}; + +struct led_device { + struct hw_common common; + + /** + * Set led state + */ + int (*set_state)(struct led_state *state); +}; + +#endif |