From ea7afbaa2c7a2158a0bfc4a4ef96dba8381f31a8 Mon Sep 17 00:00:00 2001 From: Sehong Na Date: Sat, 31 May 2014 12:34:21 +0900 Subject: [PATCH 1/1] Initialize Tizen 2.3 --- AUTHORS | 1 + CMakeLists.txt | 77 +++ LICENSE.Flora | 206 +++++++ NOTICE.Flora | 4 + config/tizen.cfg | 3 + debian/changelog | 7 + debian/charging-animation.install.in | 3 + debian/charging-animation.postinst | 7 + debian/compat | 1 + debian/control | 18 + debian/dirs | 2 + debian/docs | 1 + debian/rules | 126 +++++ include/chg_battery.h | 38 ++ include/chg_common.h | 45 ++ include/chg_drmd.h | 65 +++ include/chg_env.h | 44 ++ include/chg_fb.h | 49 ++ include/chg_fbd.h | 35 ++ include/chg_misc.h | 29 + include/chg_png.h | 34 ++ include/chg_power.h | 50 ++ packaging/charging-animation.changes | 2 + packaging/charging-animation.spec | 61 +++ packaging/charging-mode.service | 10 + packaging/charging-mode.target | 7 + res/images/chg_img/720x1280/batt_chg_level_10.png | Bin 0 -> 11785 bytes res/images/chg_img/720x1280/batt_chg_level_100.png | Bin 0 -> 37929 bytes res/images/chg_img/720x1280/batt_chg_level_20.png | Bin 0 -> 16324 bytes res/images/chg_img/720x1280/batt_chg_level_30.png | Bin 0 -> 19983 bytes res/images/chg_img/720x1280/batt_chg_level_40.png | Bin 0 -> 22100 bytes res/images/chg_img/720x1280/batt_chg_level_50.png | Bin 0 -> 24012 bytes res/images/chg_img/720x1280/batt_chg_level_60.png | Bin 0 -> 26082 bytes res/images/chg_img/720x1280/batt_chg_level_70.png | Bin 0 -> 28106 bytes res/images/chg_img/720x1280/batt_chg_level_80.png | Bin 0 -> 29905 bytes res/images/chg_img/720x1280/batt_chg_level_90.png | Bin 0 -> 31940 bytes res/images/chg_img/720x1280/batt_disconnect.png | Bin 0 -> 22802 bytes res/images/chg_img/720x1280/batt_temp_error.png | Bin 0 -> 28920 bytes res/images/chg_img/720x1280/progress_01.png | Bin 0 -> 5358 bytes res/images/chg_img/720x1280/progress_02.png | Bin 0 -> 5331 bytes res/images/chg_img/720x1280/progress_03.png | Bin 0 -> 5238 bytes res/images/chg_img/720x1280/progress_04.png | Bin 0 -> 5208 bytes res/images/chg_img/720x1280/progress_05.png | Bin 0 -> 5328 bytes run-chg-ani.in | 52 ++ src/chg_battery.c | 157 ++++++ src/chg_drmd.c | 445 ++++++++++++++++ src/chg_env.c | 49 ++ src/chg_fb.c | 589 +++++++++++++++++++++ src/chg_fbd.c | 95 ++++ src/chg_main.c | 297 +++++++++++ src/chg_misc.c | 172 ++++++ src/chg_png.c | 188 +++++++ src/chg_power.c | 206 +++++++ 53 files changed, 3175 insertions(+) create mode 100644 AUTHORS create mode 100755 CMakeLists.txt create mode 100755 LICENSE.Flora create mode 100755 NOTICE.Flora create mode 100755 config/tizen.cfg create mode 100644 debian/changelog create mode 100644 debian/charging-animation.install.in create mode 100644 debian/charging-animation.postinst create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/dirs create mode 100644 debian/docs create mode 100755 debian/rules create mode 100755 include/chg_battery.h create mode 100755 include/chg_common.h create mode 100755 include/chg_drmd.h create mode 100755 include/chg_env.h create mode 100755 include/chg_fb.h create mode 100755 include/chg_fbd.h create mode 100755 include/chg_misc.h create mode 100755 include/chg_png.h create mode 100755 include/chg_power.h create mode 100644 packaging/charging-animation.changes create mode 100755 packaging/charging-animation.spec create mode 100644 packaging/charging-mode.service create mode 100644 packaging/charging-mode.target create mode 100755 res/images/chg_img/720x1280/batt_chg_level_10.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_100.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_20.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_30.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_40.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_50.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_60.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_70.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_80.png create mode 100755 res/images/chg_img/720x1280/batt_chg_level_90.png create mode 100755 res/images/chg_img/720x1280/batt_disconnect.png create mode 100755 res/images/chg_img/720x1280/batt_temp_error.png create mode 100755 res/images/chg_img/720x1280/progress_01.png create mode 100755 res/images/chg_img/720x1280/progress_02.png create mode 100755 res/images/chg_img/720x1280/progress_03.png create mode 100755 res/images/chg_img/720x1280/progress_04.png create mode 100755 res/images/chg_img/720x1280/progress_05.png create mode 100755 run-chg-ani.in create mode 100755 src/chg_battery.c create mode 100755 src/chg_drmd.c create mode 100755 src/chg_env.c create mode 100755 src/chg_fb.c create mode 100755 src/chg_fbd.c create mode 100755 src/chg_main.c create mode 100755 src/chg_misc.c create mode 100755 src/chg_png.c create mode 100755 src/chg_power.c diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..87223f1 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Yongchul Park diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100755 index 0000000..1bf7b96 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,77 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(charging-animation C) + +SET(SRCS + src/chg_main.c + src/chg_fb.c + src/chg_fbd.c + src/chg_drmd.c + src/chg_env.c + src/chg_png.c + src/chg_power.c + src/chg_battery.c + src/chg_misc.c +) + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) + +SET(PACKAGE ${PROJECT_NAME}) +SET(PKGNAME "${PACKAGE}") +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(BINDIR "${PREFIX}/bin") +SET(PKGDIR "${PREFIX}/share/charging-animation") +SET(RESDIR "${PKGDIR}/res") +SET(CFGDIR "${PKGDIR}/config") + + +IF("${CMAKE_BUILD_TYPE}" STREQUAL "") + SET(CMAKE_BUILD_TYPE "Release") +ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") +MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") + + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED + libpng + libdrm + libkms + device-node + devman + dlog +) + +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") +SET(CMAKE_C_FLAGS_RELEASE "-O2") + +FIND_PROGRAM(UNAME NAMES uname) +EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") +IF("${ARCH}" STREQUAL "arm") + ADD_DEFINITIONS("-DTARGET") + MESSAGE("add -DTARGET") +ENDIF("${ARCH}" STREQUAL "arm") + +ADD_DEFINITIONS("-DSYS_LOG_DEBUG") +ADD_DEFINITIONS("-DINTERFACE_FB") +ADD_DEFINITIONS("-DINTERFACE_DRM") +ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"") +ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"") +ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") +ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"") + +#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") + +ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) + +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/run-chg-ani.in ${CMAKE_SOURCE_DIR}/run-chg-ani @ONLY) + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR}) +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/config DESTINATION ${PKGDIR}) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/run-chg-ani DESTINATION /etc/rc.d/init.d) diff --git a/LICENSE.Flora b/LICENSE.Flora new file mode 100755 index 0000000..4a0af40 --- /dev/null +++ b/LICENSE.Flora @@ -0,0 +1,206 @@ +Flora License + +Version 1.1, April, 2013 + +http://floralicense.org/license/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Tizen Compliance Specification +and passes the Tizen Compliance Tests as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work +solely as incorporated into a Tizen Certified Platform, where such +license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work solely +as incorporated into a Tizen Certified Platform to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent infringement, +then any patent licenses granted to You under this License for that +Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an addendum + to the NOTICE text from the Work, provided that such additional attribution + notices cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional or + different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of + the Work otherwise complies with the conditions stated in this License + and your own copyright statement or terms and conditions do not conflict + the conditions stated in the License including section 3. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Flora License to your work + +To apply the Flora License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.1 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://floralicense.org/license/ + + 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. + diff --git a/NOTICE.Flora b/NOTICE.Flora new file mode 100755 index 0000000..73f7581 --- /dev/null +++ b/NOTICE.Flora @@ -0,0 +1,4 @@ +Copyright (c) Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Flora License, Version 1.1 +Please, see the LICENSE file for Flora License, Version 1.1 terms and conditions. + diff --git a/config/tizen.cfg b/config/tizen.cfg new file mode 100755 index 0000000..d8028b9 --- /dev/null +++ b/config/tizen.cfg @@ -0,0 +1,3 @@ +export CHG_ENV_DEV_FB= +export CHG_ENV_DEV_DRM_NAME=exynos +export CHG_ENV_NO_SLEEP=0 \ No newline at end of file diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..b0dfc1a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,7 @@ +charging-animation (0.0.2) unstable; urgency=low + + * Fix LCD on issue and change image postition + * Git: shared/pkgs/c/charging-animation + * Tag : charging-animation_0.0.2 + + -- YoungJin Lee Tue, 10 Apr 2012 15:31:35 +0900 diff --git a/debian/charging-animation.install.in b/debian/charging-animation.install.in new file mode 100644 index 0000000..f389df7 --- /dev/null +++ b/debian/charging-animation.install.in @@ -0,0 +1,3 @@ +@PREFIX@/bin/* +@PREFIX@/share/* +/etc/* diff --git a/debian/charging-animation.postinst b/debian/charging-animation.postinst new file mode 100644 index 0000000..dbce13e --- /dev/null +++ b/debian/charging-animation.postinst @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ ${USER} = "root" ] +then + /bin/chmod 744 /etc/rc.d/init.d/run-chg-ani +fi + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1db5c63 --- /dev/null +++ b/debian/control @@ -0,0 +1,18 @@ +Source: charging-animation +Section: devel +Priority: extra +Maintainer: YongChul Park +Uploaders: YoungJin Lee , Dongil Park +Build-Depends: debhelper (>= 5), libpng-dev, libdrm-dev +Standards-Version: 0.1.0 + +Package: charging-animation +Architecture: armel +Depends: ${shlibs:Depends}, ${misc:Depends}, libpng12-0, libdrm2, libkms1 +Description: charging-animation application + +Package: charging-animation-dbg +Section: debug +Architecture: armel +Depends: charging-animation (= ${Source-Version}), ${misc:Depends} +Description: charging-animation debug package(unstripped) diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..ca882bb --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..a0f0008 --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +CMakeLists.txt diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..d960715 --- /dev/null +++ b/debian/rules @@ -0,0 +1,126 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS ?= -Wall -g +LDFLAGS ?= +PREFIX ?= /usr +DATADIR ?= /usr/share + +#ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +# CFLAGS += -O0 +#else +# CFLAGS += -O2 +#endif +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + BUILD_TYPE=Debug +else + BUILD_TYPE=Release +endif + +LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed + +CMAKE_BUILD_DIR ?= $(CURDIR)/cmake_build_tmp + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + mkdir -p $(CMAKE_BUILD_DIR) && cd $(CMAKE_BUILD_DIR) && \ + CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" cmake .. -DCMAKE_INSTALL_PREFIX="$(PREFIX)" -DCMAKE_BUILD_TYPE="$(BUILD_TYPE)" + + touch configure-stamp + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + cd $(CMAKE_BUILD_DIR) && $(MAKE) + + for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ + cat $$f > $${f%.in}; \ + sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \ + sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \ + done + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) clean + rm -fr CMakeCache.txt + rm -fr CMakeFiles + rm -fr cmake_install.cmake + rm -fr Makefile + rm -fr install_manifest.txt + rm -fr run-chg-ani + rm -rf $(CMAKE_BUILD_DIR) + + for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ + rm -f $${f%.in}; \ + done + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k +# dh_installdirs + + # Add here commands to install the package into debian/wavplayer. + cd $(CMAKE_BUILD_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + + mkdir -p $(CURDIR)/debian/tmp/etc/rc.d/rc2.d/ + ln -s ../init.d/run-chg-ani $(CURDIR)/debian/tmp/etc/rc.d/rc2.d/S01charging-animation + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installchangelogs +# dh_installdocs +# dh_installexamples + dh_install --sourcedir=debian/tmp +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip --dbg-package=charging-animation-dbg + dh_compress + dh_fixperms +# dh_perl + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/include/chg_battery.h b/include/chg_battery.h new file mode 100755 index 0000000..a81ac09 --- /dev/null +++ b/include/chg_battery.h @@ -0,0 +1,38 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_BATTERY_H__ +#define __CHG_BATTERY_H__ + + +enum { + BATT_HEALTH_BAD = 0, + BATT_HEALTH_GOOD = 1 +}; + +enum { + BATT_STATE_CHARGING, + BATT_STATE_FULL, + BATT_STATE_ERROR, + BATT_STATE_DISCONNECT +}; + +extern int batt_chg_state(); +extern int batt_chg_level(); +extern void show_batt_info(void); +extern int is_batt_chg_full(void); + +#endif /* __CHG_BATTERY_H__ */ diff --git a/include/chg_common.h b/include/chg_common.h new file mode 100755 index 0000000..606a492 --- /dev/null +++ b/include/chg_common.h @@ -0,0 +1,45 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_COMMON_H__ +#define __CHG_COMMON_H__ + +#include +#include +#ifdef SYS_LOG_DEBUG +#include +#include +#define DEBUG_MSG(format,args...) \ +do {\ + syslog(LOG_DEBUG,""format"", ##args); \ +} while(0); +#else +//#define DEBUG_MSG printf +#define CHG_LOG_TAG "CHG_ANI" +#include +#include +#include +#include + +#define DEBUG_MSG(format,args...) \ +do {\ + LOG(LOG_DEBUG, CHG_LOG_TAG, "[%s:%d] "format"", __func__, __LINE__, ##args);\ +}while(0) +#endif + +#define FILE_IO_BUF_SIZE 128 + +#endif /* __CHG_COMMON_H__ */ diff --git a/include/chg_drmd.h b/include/chg_drmd.h new file mode 100755 index 0000000..ea6c202 --- /dev/null +++ b/include/chg_drmd.h @@ -0,0 +1,65 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_DRMD_H__ +#define __CHG_DRMD_H__ + + +#include "xf86drm.h" +#include "xf86drmMode.h" +#include "libkms.h" + +#define DPMSModeOn 0 +#define DPMSModeStandby 1 +#define DPMSModeSuspend 2 +#define DPMSModeOff 3 + +typedef struct _st_drmdi { + char *driver_name; + char *device_name; + int fd; + int dpms_mode; + + struct kms_driver* kms; + drmModeResPtr res_mode; + drmModeConnectorPtr connector; + drmModeEncoderPtr encoder; + drmModeCrtcPtr crtc; + + /*framebuffer*/ + unsigned int fb_id[2]; + struct kms_bo *bo[2]; + unsigned char *fb_buf; + unsigned char *fb_buf2; + unsigned int bo_stride; + unsigned int bo_handle; + unsigned int bo_width, bo_height; +} st_drmdi; + +enum { + FRAME_BUFFER1 = 0, + FRAME_BUFFER2 +}; + +extern st_drmdi s_drmdi; +extern drmEventContext evctx; +extern int drmd_open(st_drmdi *drmdi); +extern void drmd_close(st_drmdi *drmdi); +extern int drmd_lcd_on(st_drmdi *drmdi); +extern int drmd_lcd_off(st_drmdi *drmdi); +extern void page_flip_handler(int fd, unsigned int frame, unsigned int sec, unsigned int usec, void * data); + +#endif /* __CHG_DRMD_H__ */ diff --git a/include/chg_env.h b/include/chg_env.h new file mode 100755 index 0000000..a8b70a2 --- /dev/null +++ b/include/chg_env.h @@ -0,0 +1,44 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_ENV_H__ +#define __CHG_ENV_H__ + + +#define ENV_MAX_LEN 1024 + +enum { + EN_ENV_BATT_DUMMY = 0, + EN_ENV_DEV_FB, + EN_ENV_DEV_DRM_NAME, + EN_ENV_NO_SLEEP, + EN_ENV_MAX +}; + +#define CHG_ENV_DEV_FB "CHG_ENV_DEV_FB" +#define CHG_ENV_DEV_DRM_NAME "CHG_ENV_DEV_DRM_NAME" +#define CHG_ENV_NO_SLEEP "CHG_ENV_NO_SLEEP" + +extern char chg_env_str[EN_ENV_MAX][ENV_MAX_LEN]; + + +extern void get_env(char *name, char *buf, int size); +extern void chg_env_str_load(void); + + + +#endif /* __CHG_ENV_H__ */ + diff --git a/include/chg_fb.h b/include/chg_fb.h new file mode 100755 index 0000000..8ab0e79 --- /dev/null +++ b/include/chg_fb.h @@ -0,0 +1,49 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_FB_H__ +#define __CHG_FB_H__ + + +enum fb_dev_t { + FB_DEV_FB, + FB_DEV_DRM +}; + +typedef struct _FbInfo { + unsigned char *buf, *buf2; + unsigned int current_fb_id; + int w; + int h; + int sz; + int type; + void* dev; +} FbInfo; + +extern void set_chg_img_params(FbInfo fbi); +extern int fb_open(FbInfo *fbi); +extern void fb_close(FbInfo *fbi); +extern int fb_pan_display( FbInfo *fbi ); +extern void fb_clear_screen(FbInfo *fbi, unsigned int color); +extern void fb_fill_rect(FbInfo *fbi, int x1, int y1, int x2, int y2, + unsigned int color); +extern void fb_draw_img_normal_charging(FbInfo *fbi); +extern void fb_draw_img_full_charging(FbInfo *fbi); +extern void fb_draw_img_batt_err_plug(FbInfo *fbi); +extern void fb_draw_img_batt_err_temp(FbInfo *fbi); +extern void fb_draw_img_batt_err_charging(FbInfo *fbi); + +#endif /* __CHG_FB_H__ */ diff --git a/include/chg_fbd.h b/include/chg_fbd.h new file mode 100755 index 0000000..aba92b9 --- /dev/null +++ b/include/chg_fbd.h @@ -0,0 +1,35 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_FBD_H__ +#define __CHG_FBD_H__ + + +#include + +typedef struct _st_fbdi { + unsigned char *fb_buf; + unsigned fb_buf_size; + int fb_fd; + struct fb_fix_screeninfo fi; + struct fb_var_screeninfo vi; +} st_fbdi; + +extern int fbd_open(st_fbdi *fbdi); +extern void fbd_close(st_fbdi *fbdi); +extern int fbd_pan_display(st_fbdi *fbdi); + +#endif /* __CHG_FBD_H__ */ diff --git a/include/chg_misc.h b/include/chg_misc.h new file mode 100755 index 0000000..30d44b2 --- /dev/null +++ b/include/chg_misc.h @@ -0,0 +1,29 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_MISC_H__ +#define __CHG_MISC_H__ + + +#include + +extern int read_from_file(const char *path, char *buf, int size); +extern int write_to_file(const char *path, const char *buf); +extern int read_int_from_file(char *path); +extern int system_cmd_wait(const char *command); +extern int system_cmd_nowait(const char *command); + +#endif /* __CHG_MISC_H__ */ diff --git a/include/chg_png.h b/include/chg_png.h new file mode 100755 index 0000000..6217129 --- /dev/null +++ b/include/chg_png.h @@ -0,0 +1,34 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_PNG_H__ +#define __CHG_PNG_H__ + + +#include "chg_fb.h" +#include "chg_drmd.h" + +extern int png_img_width; +extern int png_img_height; +/* clear screen based on img size */ +//extern int png_img_width_batt_normal; +//extern int png_img_height_batt_normal; +extern int read_png_file(char *file_name); +extern void draw_png_img_xy(FbInfo *fbi, int x1, int y1); +extern void release_png_res(void); + + +#endif /* __CHG_PNG_H__ */ diff --git a/include/chg_power.h b/include/chg_power.h new file mode 100755 index 0000000..b67427b --- /dev/null +++ b/include/chg_power.h @@ -0,0 +1,50 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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 __CHG_POWER_H__ +#define __CHG_POWER_H__ + +#include "chg_fb.h" +#include "chg_fbd.h" + +enum { + LCD_BL_ON, + LCD_BL_OFF +}; + +enum { + LCD_BR_DIMM, + LCD_BR_NORMAL +}; + +enum { + SYS_POWER_ON, + SYS_POWER_OFF +}; + +extern int lcd_bl_on(FbInfo *fbi); +extern int lcd_bl_off(FbInfo *fbi); +extern int lcd_bl_state(void); +extern int lcd_br_normal(void); +extern int lcd_br_dimm(void); +extern int lcd_br_state(void); +extern int sys_power_wakeup(FbInfo *fbi); +extern int sys_power_sleep(FbInfo *fbi); +extern int sys_power_state(void); +extern void sys_power_reboot(void); +extern void sys_power_off(void); + +#endif /* __CHG_POWER_H__ */ diff --git a/packaging/charging-animation.changes b/packaging/charging-animation.changes new file mode 100644 index 0000000..5b3116c --- /dev/null +++ b/packaging/charging-animation.changes @@ -0,0 +1,2 @@ +* Fri Jul 28 2012 Yin Kangkai +- Port from sysV rc script based to systemd based. diff --git a/packaging/charging-animation.spec b/packaging/charging-animation.spec new file mode 100755 index 0000000..375dc9a --- /dev/null +++ b/packaging/charging-animation.spec @@ -0,0 +1,61 @@ +Name: charging-animation +Summary: charging-animation +ExclusiveArch: %{arm} +Version: 0.0.10 +Release: 0 +Group: misc +License: Flora Software License +Source0: %{name}-%{version}.tar.gz +Source100: charging-mode.target +Source101: charging-mode.service + +BuildRequires: cmake +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libkms) +BuildRequires: pkgconfig(device-node) +BuildRequires: pkgconfig(devman) +BuildRequires: pkgconfig(dlog) + +%description +charging-animation + +%prep +%setup -q + + +%build +export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib -Wl,--as-needed" +mkdir cmake_tmp +cd cmake_tmp +LDFLAGS="$LDFLAGS" cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} + +make %{?jobs:-j%jobs} + +%install +mkdir -p %{buildroot}/usr/share/license +cp LICENSE.Flora %{buildroot}/usr/share/license/%{name} +cd cmake_tmp +%make_install + +# systemd related +mkdir -p %{buildroot}%{_libdir}/systemd/system/ +install -m 0644 %{SOURCE100} %{buildroot}%{_libdir}/systemd/system/ +install -m 0644 %{SOURCE101} %{buildroot}%{_libdir}/systemd/system/ +mkdir -p %{buildroot}%{_libdir}/systemd/system/charging-mode.target.wants +ln -s ../charging-mode.service %{buildroot}%{_libdir}/systemd/system/charging-mode.target.wants/charging-mode.service + +%post +chmod 755 /etc/rc.d/init.d/run-chg-ani +mkdir -p /etc/rc.d/rc2.d +ln -s /etc/rc.d/init.d/run-chg-ani /etc/rc.d/rc2.d/S01charging-animation + +%files +%defattr(-,root,root,-) +%attr(755,-,-) %{_sysconfdir}/rc.d/init.d/run-chg-ani +%{_sysconfdir}/* +%{_bindir}/* +%dir %{_libdir}/systemd/system/charging-mode.target.wants +%{_libdir}/systemd/system/* +%{_datadir}/* +/usr/share/license/%{name} diff --git a/packaging/charging-mode.service b/packaging/charging-mode.service new file mode 100644 index 0000000..433991f --- /dev/null +++ b/packaging/charging-mode.service @@ -0,0 +1,10 @@ +[Unit] +Description=Charging Mode Service +OnFailure=basic.target + +[Service] +Type=forking +ExecStartPre=-/bin/bash -c '/bin/echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' +ExecStart=/bin/sh -c '/etc/rc.d/rc2.d/S01charging-animation' +Restart=always +RestartSec=5 diff --git a/packaging/charging-mode.target b/packaging/charging-mode.target new file mode 100644 index 0000000..901502a --- /dev/null +++ b/packaging/charging-mode.target @@ -0,0 +1,7 @@ +[Unit] +Description=Charging Mode +Conflicts=graphical.target +AllowIsolate=yes + +[Install] +Alias=default.target diff --git a/res/images/chg_img/720x1280/batt_chg_level_10.png b/res/images/chg_img/720x1280/batt_chg_level_10.png new file mode 100755 index 0000000000000000000000000000000000000000..c7ae828ba6e701475dbabbeefbb2fc9486c4f45f GIT binary patch literal 11785 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 E01KO>*#H0l literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_chg_level_100.png b/res/images/chg_img/720x1280/batt_chg_level_100.png new file mode 100755 index 0000000000000000000000000000000000000000..7baa0f3e325d3d0d0beb713e54f086493c5f6e01 GIT binary patch literal 37929 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 I`6c-O0p^?4Z~y=R literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_chg_level_30.png b/res/images/chg_img/720x1280/batt_chg_level_30.png new file mode 100755 index 0000000000000000000000000000000000000000..f4fbcfaf531988a744f4da05f11f44f7194e40fe GIT binary patch literal 19983 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 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_chg_level_50.png b/res/images/chg_img/720x1280/batt_chg_level_50.png new file mode 100755 index 0000000000000000000000000000000000000000..d58b96fbfe833977eee03c481e6fa276aacce524 GIT binary patch literal 24012 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 WI8bsSh}8Q40000BRPQ3eLMP{y? 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 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_chg_level_80.png b/res/images/chg_img/720x1280/batt_chg_level_80.png new file mode 100755 index 0000000000000000000000000000000000000000..eda4ec933d3ebe9c39a138a92446145c1dee345d GIT binary patch literal 29905 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
w)GWCmm|wbME47h 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�)kPda-@kj_#sGo60Qql7}HbeuL z*sd!YKN5Wvy_AUdW~zEr2#JjtERpEM1fq;(v{ATX8_w&(WI zS!N=7vHzl2`^)da0c%f{F1^n54xrn;9%jTf5tAF^0LBnk~6y1VGM1E#@Bk z&qLK$Lh%@6M%e1Zu_^DMEzg?BOa0d%y{A608ck@&%CE!jPk@^E&Oc_CHjdX9zDqgf z7Y0KYn!F4ePA{Cso=&QxJe(y5XLmD^>B;5=I}_(6=qHqA6M(&9uOA0f7^}7N4L>Wg z@H1`(IQEiqSB4JIKMo8EVc>^#hZAReA8SLI>6L4F)Uo00+S%MTI!~GSY?r4(4&hSS zOq{oKm=J>g;1!$?VyTc*O-*lpL!e$*(YQk!8axg^$Y%CroWQw92+OBykI(5_7CQBt zjj${murbvV&}^Rf1-bv%S}x6CJpD4;?YAVE6Y0FEtN7) zDi@~kO!?*K`$kL3`?*P|y{yC{bdZ6n_(Q{;*M}gth0Yq81$7Z zP1Q)c=tJzn)P;PgOB65%%%)I1yQ*uuImf*(denE{aumVQgNU92NhOLC3XU4mR)f?G zP`1}a%ZygWTtjD^*&<66bIvEcCimBAh3|IZ&L$Q#JL!hzNMvYx{&v$X`G@Bza6d>J z^$F_qt0%b@P(~N1wJ{;5qy0R-Q+$@nk;;F|K^smOE~I*^9d( zs_R&FT2X0OUAd?b`_zjX;w^&EfYP#ly#Z-Oh||n}UbJbM!B0G*RUT@C%dLL_{!8vc z#2xEwe`OUaTtiCR-R|D*UqJ|EOUSk?E$M?E{1aR9dtW!8RyXS` za8?|{5}5`&tc_b2c-|m5?n&mendgbzwclO^mlFiE{=mRl#vKpgD>Th$Bl(KAy?#J` a;iS;dY%~ux_&hV}i?q0cSha{z!2behz?)M5 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_chg_level_90.png b/res/images/chg_img/720x1280/batt_chg_level_90.png new file mode 100755 index 0000000000000000000000000000000000000000..dd3f42c0b559d4ab511b1820eee2ddf54a2de7e7 GIT binary patch literal 31940 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 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/batt_disconnect.png b/res/images/chg_img/720x1280/batt_disconnect.png new file mode 100755 index 0000000000000000000000000000000000000000..9457fa9b7545d703e82ad0d4bedc0488520dface GIT binary patch literal 22802 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 Za#e>$^$Rf+{A(FBCArtK)zZen{{yX_bNK)O literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/progress_01.png b/res/images/chg_img/720x1280/progress_01.png new file mode 100755 index 0000000000000000000000000000000000000000..f42f5a82dc102164784614fbbcc01a105a0e6749 GIT binary patch literal 5358 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 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/progress_02.png b/res/images/chg_img/720x1280/progress_02.png new file mode 100755 index 0000000000000000000000000000000000000000..6329a05a5e15e6a6986bf2615729d610c27fef55 GIT binary patch literal 5331 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 literal 0 HcmV?d00001 diff --git a/res/images/chg_img/720x1280/progress_03.png b/res/images/chg_img/720x1280/progress_03.png new file mode 100755 index 0000000000000000000000000000000000000000..2fb24ee818bca4f98035ca81deb904486ddb7a0d GIT binary patch literal 5238 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 idU_fQ3k$;U{~iF~D`$k@n(qMs0000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + + INPUT_SEARCH_BASE=/sys/class/input + CANDIDATE=`ls ${INPUT_SEARCH_BASE} | grep input` + + FOUND= + for f in ${CANDIDATE} + do + DEV_NAME=`cat ${INPUT_SEARCH_BASE}/${f}/name` + if [ "${DEV_NAME}" = "gpio-keys" ]; then + FOUND=${f} + break + fi + done + if [ "X${FOUND}" = "X" ]; then + echo "[error] cannot find key input event node" + fi + FOUND_NUM=${FOUND##input} + KEY_EVENT=/dev/input/event${FOUND_NUM} + + /usr/bin/charging-animation $KEY_EVENT & +} + + +charging_boot=`grep charger_detect_boot /proc/cmdline` +if [ "z$charging_boot" != "z" ]; then + +# for logs + mount -a + syslogd -b 5 -O /opt/var/log/messages-chrg + klogd + + do_charging_ani + +fi diff --git a/src/chg_battery.c b/src/chg_battery.c new file mode 100755 index 0000000..39afae4 --- /dev/null +++ b/src/chg_battery.c @@ -0,0 +1,157 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include +#include +#include "chg_common.h" +#include "chg_battery.h" +#include "chg_env.h" +#include "chg_misc.h" + +#define CHG_ENV_BATT_VOL_NOW "/sys/class/power_supply/battery/voltage_now" + +/*----------------------------------------------------------------------------- + is_batt_present() + ----------------------------------------------------------------------------*/ +static int is_ta_online(void) +{ + int ret = 0, value = 0; + + ret = device_get_property(DEVICE_TYPE_EXTCON, PROP_EXTCON_TA_ONLINE, &value); + + DEBUG_MSG("[is_ta_online] %d\n", value); + + return !!value; +} +/*----------------------------------------------------------------------------- + is_batt_present() + ----------------------------------------------------------------------------*/ +static int is_batt_present(void) +{ + int ret = 0, value = 0; + + ret = device_get_property(DEVICE_TYPE_POWER, PROP_POWER_PRESENT, &value); + + DEBUG_MSG("[is_batt_present] %d\n", value); + + return !!value; +} + +/*----------------------------------------------------------------------------- + is_batt_healthy() + ----------------------------------------------------------------------------*/ +static int is_batt_healthy(void) +{ + int ret = 0; + + ret = (device_get_battery_health() == BATTERY_GOOD); + + DEBUG_MSG("[is_batt_healthy] %d\n", ret); + + return ret; +} + +/*----------------------------------------------------------------------------- + is_batt_chg_now() + ----------------------------------------------------------------------------*/ +int is_batt_chg_now(void) +{ + int ret = 0, value = 0; + + ret = device_get_property(DEVICE_TYPE_POWER, PROP_POWER_CHARGE_NOW, &value); + + DEBUG_MSG("[is_batt_chg_now] %d\n", value); + + return value; +} + +/*----------------------------------------------------------------------------- + is_batt_chg_full() + ----------------------------------------------------------------------------*/ +int is_batt_chg_full(void) +{ + int ret = 0; + + ret = device_is_battery_full(); + + if (ret == -1) + ret = 0; + DEBUG_MSG("[is_batt_chg_full] %d\n", ret); + + return !!ret; +} + +/*----------------------------------------------------------------------------- + batt_chg_state() + + return value + 0 : charging + 1 : full + 2 : no good + 3 : disconnected + ----------------------------------------------------------------------------*/ +int batt_chg_state() +{ + int val = 0; + + if (!is_ta_online() || !is_batt_present()) { + val = BATT_STATE_DISCONNECT; + } else if(!is_batt_healthy()) { + val = BATT_STATE_ERROR; + } else if (is_batt_chg_full()) { + val = BATT_STATE_FULL; + } else { + val = BATT_STATE_CHARGING; + } + return val; +} + +/*----------------------------------------------------------------------------- + batt_chg_level() + ----------------------------------------------------------------------------*/ +int batt_chg_level() +{ + int bat_soc; + int bat_bar = 0; + + bat_soc = device_get_battery_pct(); + + bat_bar = bat_soc / 10; + bat_bar = bat_bar * 10; + if (bat_bar == 0) { + bat_bar = 10; + } else if (bat_bar >= 100) { + bat_bar = 90; + } + return bat_bar; +}; + +/*----------------------------------------------------------------------------- + show_batt_info() + ----------------------------------------------------------------------------*/ +void show_batt_info(void) +{ + int bat_soc; + int bat_vol; + + bat_soc = device_get_battery_pct(); + bat_vol = read_int_from_file(CHG_ENV_BATT_VOL_NOW); + + DEBUG_MSG("[capacity] %d\n", bat_soc); + DEBUG_MSG("[voltage_now] %d\n", bat_vol); +} \ No newline at end of file diff --git a/src/chg_drmd.c b/src/chg_drmd.c new file mode 100755 index 0000000..285c84b --- /dev/null +++ b/src/chg_drmd.c @@ -0,0 +1,445 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#define _GNU_SOURCE +#define __USE_GNU +#include +#include +#include "chg_common.h" +#include "chg_drmd.h" +#include "chg_env.h" + +drmEventContext evctx; +/*----------------------------------------------------------------------------- + find_connector() + ----------------------------------------------------------------------------*/ +static int find_connector(st_drmdi *drmdi, int type) +{ + int i; + int fd; + drmModeConnectorPtr connector=NULL; + drmModeEncoderPtr encoder=NULL; + drmModeCrtcPtr crtc; + drmModeResPtr res_mode; + + if (drmdi == NULL) + return -1; + + fd = drmdi->fd; + res_mode = drmdi->res_mode; + + for(i=0; icount_connectors; i++) { + connector = drmModeGetConnector(fd, res_mode->connectors[i]); + if(connector == NULL) { + DEBUG_MSG("[find_connector] connector is NULL)\n"); + continue; + } + if(connector->connector_type == type) + break; + + drmModeFreeConnector(connector); + connector = NULL; + } + + if(!connector) { + DEBUG_MSG("[find_connector] Cannot find connector:%d\n", type); + return -1; + } + + if(connector->connection != DRM_MODE_CONNECTED) { + DEBUG_MSG("[find_connector] connector is not connected (%d)\n", + (int)connector->connection); + return -1; + } + + /* find default encoder */ + encoder = drmModeGetEncoder(fd, connector->encoder_id); + if(!encoder) { + DEBUG_MSG("[find_connector] Cannot get encoder:%d\n", type); + return -1; + } + + /* find default crtc */ + crtc = drmModeGetCrtc(fd, encoder->crtc_id); + if(!crtc) { + DEBUG_MSG("[find_connector] Cannot get CRTC\n"); + return -1; + } + + drmdi->connector = connector; + drmdi->encoder = encoder; + drmdi->crtc = crtc; + + return 0; +} + +/*----------------------------------------------------------------------------- + create_framebuffer() + ----------------------------------------------------------------------------*/ +static int create_framebuffer(st_drmdi *drmdi,int i) +{ + unsigned int attrs[]={ + KMS_WIDTH, 0, + KMS_HEIGHT, 0, + KMS_BO_TYPE, KMS_BO_TYPE_SCANOUT_X8R8G8B8, + KMS_TERMINATE_PROP_LIST + }; + + /* Create kms bo */ + attrs[1] = drmdi->connector->modes[0].hdisplay; + attrs[3] = drmdi->connector->modes[0].vdisplay; + + if(kms_bo_create(drmdi->kms, attrs, &drmdi->bo[i])) { + DEBUG_MSG("[create_framebuffer] Cannot create kms bo\n"); + return -1; + } + + drmdi->bo_width = drmdi->connector->modes[0].hdisplay; + drmdi->bo_height = drmdi->connector->modes[0].vdisplay; + kms_bo_get_prop(drmdi->bo[i], KMS_PITCH, &drmdi->bo_stride); + kms_bo_get_prop(drmdi->bo[i], KMS_HANDLE, &drmdi->bo_handle); + + /* add drm framebuffer */ + if(drmModeAddFB(drmdi->fd, drmdi->bo_width, drmdi->bo_height, + 24, 32, drmdi->bo_stride, drmdi->bo_handle, &drmdi->fb_id[i])) { + DEBUG_MSG("[create_framebuffer] Cannot add drm fb\n"); + return -1; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + set_mode() + ----------------------------------------------------------------------------*/ +static int set_drm_mode(st_drmdi *drmdi) +{ + if(drmModeSetCrtc(drmdi->fd + , drmdi->crtc->crtc_id + , drmdi->fb_id[0] + , 0, 0 + , &drmdi->connector->connector_id, 1 + , drmdi->connector->modes)) { + DEBUG_MSG("[set_drm_mode] Cannot set drm mode\n"); + return -1; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + init_drm() + ----------------------------------------------------------------------------*/ +static void free_drm_res(st_drmdi *drmdi) +{ + int i = 0; + if(drmdi->connector) + drmModeFreeConnector(drmdi->connector); + + if(drmdi->encoder) + drmModeFreeEncoder(drmdi->encoder); + + if(drmdi->crtc) + drmModeFreeCrtc(drmdi->crtc); + + if(drmdi->res_mode) + drmModeFreeResources(drmdi->res_mode); + + + for( i = 0 ;i fb_id[i]) + drmModeRmFB(drmdi->fd, drmdi->fb_id[i]); + if(drmdi->bo[i]) + kms_bo_destroy(&drmdi->bo[i]); + } + + if(drmdi->kms) + kms_destroy(&drmdi->kms); + + drmClose(drmdi->fd); +} + +void page_flip_handler(int fd, unsigned int frame, + unsigned int sec, unsigned int usec, void *data) +{ +// DEBUG_MSG("page_flip_handler~\n"); + return; +} + +char *drivers[] = { + "exynos", + NULL +}; + +/*----------------------------------------------------------------------------- + drmd_open() + ----------------------------------------------------------------------------*/ +int drmd_open(st_drmdi *drmdi) +{ + drm_magic_t magic; + void *ptr, *ptr2; + int ret, i; + + if (drmdi == NULL) { + DEBUG_MSG("[drmd_open] drmdi is NULL\n"); + return -1; + } + + memset(drmdi, 0x00, sizeof(st_drmdi)); + + for (i = 0, drmdi->fd = -1; drmdi->fd < 0 && drivers[i]; i++) { + drmdi->fd = drmOpen(drivers[i], NULL); + DEBUG_MSG("[drmd_open] driver : %s ",drivers[i]); + } + if(drmdi->fd<0) { + DEBUG_MSG("[drmd_open] Cannot open drm:%s\n", + chg_env_str[EN_ENV_DEV_DRM_NAME]); + return -1; + } + else { + DEBUG_MSG("[drmd_open] drmdi->fd : %d ",drmdi->fd); + } + + drmdi->driver_name = drmGetDeviceNameFromFd(drmdi->fd); + DEBUG_MSG("[drmd_open] Init DRM(name:%s, fd:%d)...OK\n", + drmdi->driver_name, drmdi->fd); + + /* Auth DRM */ + if(drmGetMagic(drmdi->fd, &magic)) { + DEBUG_MSG("[drmd_open] Cannot get magic\n"); + goto drm_err_exit; + } + + if(drmAuthMagic(drmdi->fd, magic)) { + DEBUG_MSG("[drmd_open] Cannot auth magic\n"); + goto drm_err_exit; + } + + /* Create KMS */ + if(kms_create(drmdi->fd, &drmdi->kms)) { + DEBUG_MSG("[drmd_open] Cannot create kms\n"); + goto drm_err_exit; + } + + /* Get drmmode resource */ + drmdi->res_mode = drmModeGetResources(drmdi->fd); + if(!drmdi->res_mode) { + DEBUG_MSG("[drmd_open] Cannot get drmmode resources\n"); + goto drm_err_exit; + } + + ret = find_connector(drmdi, DRM_MODE_CONNECTOR_LVDS); + if(ret < 0) { + DEBUG_MSG("[drmd_open] Cannot get default(LVDS) connector\n"); + goto drm_err_exit; + } + + /* Create framebuffer */ + ret = create_framebuffer(drmdi, FRAME_BUFFER1); + if(ret < 0) { + DEBUG_MSG("[drmd_open] Cannot create frame buffer\n"); + goto drm_err_exit; + } + + if (kms_bo_map(drmdi->bo[FRAME_BUFFER1], &ptr)) { + DEBUG_MSG("[drmd_open] kms_bo_map() failed. \n"); + goto drm_err_exit; + } + drmdi->fb_buf = ptr; + drmdi->dpms_mode = DPMSModeOn; + memset(ptr, 0x00, drmdi->bo_stride * drmdi->bo_height); + kms_bo_unmap(drmdi->bo[FRAME_BUFFER1]); + + /* Set mode */ + ret = set_drm_mode(drmdi); + if(ret < 0) { + DEBUG_MSG("[drmd_open] Cannot set drm mode\n"); + goto drm_err_exit; + } + + /* Create framebuffer 2 */ + ret = create_framebuffer(drmdi, FRAME_BUFFER2); + if(ret < 0) { + DEBUG_MSG("[drmd_open] Cannot create frame buffer\n"); + goto drm_err_exit; + } + + if (kms_bo_map(drmdi->bo[FRAME_BUFFER2], &ptr2)) { + DEBUG_MSG("[drmd_open] kms_bo_map() failed. \n"); + goto drm_err_exit; + } + + drmdi->fb_buf2 = ptr2; + memset(ptr2, 0x00, drmdi->bo_stride * drmdi->bo_height); + kms_bo_unmap(drmdi->bo[FRAME_BUFFER2]); + + + ret = drmModePageFlip(drmdi->fd, drmdi->crtc->crtc_id, drmdi->fb_id[0], + DRM_MODE_PAGE_FLIP_EVENT, drmdi); + if (ret) { + DEBUG_MSG("failed to page flip: %s\n", strerror(errno)); + return -1; + } + + memset(&evctx, 0, sizeof evctx); + evctx.version = DRM_EVENT_CONTEXT_VERSION; + evctx.vblank_handler = NULL; + evctx.page_flip_handler = page_flip_handler; + + { + struct timeval timeout = { .tv_sec = 3, .tv_usec = 0 }; + fd_set fds; + + + FD_ZERO(&fds); + FD_SET(0, &fds); + FD_SET(drmdi->fd, &fds); + ret = select(drmdi->fd + 1, &fds, NULL, NULL, &timeout); + + if (ret <= 0) { + DEBUG_MSG("select timed out or error (ret %d)\n", + ret); + } else if (FD_ISSET(0, &fds)) { + // break; + DEBUG_MSG("drmHandleEvent.. \n"); + } + + drmHandleEvent(drmdi->fd, &evctx); + } + + return 0; + +drm_err_exit: + DEBUG_MSG("drm_err_exit\n"); + free_drm_res(drmdi); + return -1; +} + +/*----------------------------------------------------------------------------- + drmd_close() + ----------------------------------------------------------------------------*/ +void drmd_close(st_drmdi *drmdi) +{ + int i; + for( i = 0 ;i bo[i]); + } + free_drm_res(drmdi); +} + +/*----------------------------------------------------------------------------- + drmd_set_dpms_mode() + ----------------------------------------------------------------------------*/ +static int drmd_set_dpms_mode(st_drmdi *drmdi, int dpms_mode) +{ + int i; + drmModeConnectorPtr connector; + + if (drmdi == NULL) { + DEBUG_MSG("[drmd_set_dpms_mode] drmdi is NULL\n"); + return -1; + } + + connector = drmdi->connector; + + if (dpms_mode == DPMSModeStandby || dpms_mode == DPMSModeSuspend) { + DEBUG_MSG("[drmd_set_dpms_mode] dmps_mode %s is not supported.\n", + (dpms_mode == DPMSModeStandby)? + "DPMSModeStandby":"DPMSModeSuspend"); + return -1; + } + + for (i = 0; i < connector->count_props; i++) { + drmModePropertyPtr props; + props = drmModeGetProperty (drmdi->fd, connector->props[i]); + if (!props) + continue; + + if (!strcmp(props->name, "DPMS")) { + int _tmp_dpms = dpms_mode; + switch (dpms_mode) { + case DPMSModeOn: + if (drmdi->dpms_mode == DPMSModeOn) { + drmModeFreeProperty (props); + return 0; + } + + /* lcd on */ + _tmp_dpms = DPMSModeOn; + drmdi->dpms_mode = DPMSModeOn; + break; + + case DPMSModeOff: + if (drmdi->dpms_mode == DPMSModeOff) { + drmModeFreeProperty(props); + return 0; + } + + /* lcd off */ + _tmp_dpms = DPMSModeOff; + drmdi->dpms_mode = DPMSModeOff; + break; + default: + return -1; + } + + drmModeConnectorSetProperty(drmdi->fd, + connector->connector_id, + props->prop_id, + _tmp_dpms); + + drmModeFreeProperty(props); + return 0; + } + + drmModeFreeProperty(props); + } + + return -1; +} + +/*----------------------------------------------------------------------------- + drmd_lcd_on() + ----------------------------------------------------------------------------*/ +int drmd_lcd_on(st_drmdi *drmdi) +{ + int ret; + + ret = drmd_set_dpms_mode(drmdi, DPMSModeOn); + if (ret < 0) { + DEBUG_MSG("[drmd_lcd_on] drmd_set_dpms_mode() fail.\n"); + return -1; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + drmd_lcd_off() + ----------------------------------------------------------------------------*/ +int drmd_lcd_off(st_drmdi *drmdi) +{ + int ret; + + ret = drmd_set_dpms_mode(drmdi, DPMSModeOff); + if (ret < 0) { + DEBUG_MSG("[drmd_lcd_off] drmd_set_dpms_mode() fail.\n"); + return -1; + } + + return 0; +} + diff --git a/src/chg_env.c b/src/chg_env.c new file mode 100755 index 0000000..9bcd129 --- /dev/null +++ b/src/chg_env.c @@ -0,0 +1,49 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include +#include "chg_common.h" +#include "chg_env.h" + + +char chg_env_str[EN_ENV_MAX][ENV_MAX_LEN]; + +void get_env(char *name, char *buf, int size) +{ + char *ret; + + ret = getenv(name); + if ((ret == NULL) || (strlen(ret) > ENV_MAX_LEN)) { + memset(buf, 0x00, size); + } else { + snprintf(buf, size, "%s", ret); + } + + DEBUG_MSG("[gen_env] %s ---> %s\n", name, buf); +} + +void chg_env_str_load(void) +{ + get_env(CHG_ENV_DEV_FB, + chg_env_str[EN_ENV_DEV_FB], ENV_MAX_LEN); + get_env(CHG_ENV_DEV_DRM_NAME, + chg_env_str[EN_ENV_DEV_DRM_NAME], ENV_MAX_LEN); + get_env(CHG_ENV_NO_SLEEP, + chg_env_str[EN_ENV_NO_SLEEP], ENV_MAX_LEN); +} + diff --git a/src/chg_fb.c b/src/chg_fb.c new file mode 100755 index 0000000..c4b398c --- /dev/null +++ b/src/chg_fb.c @@ -0,0 +1,589 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include "chg_common.h" +#include "chg_fb.h" +#include "chg_fbd.h" +#include "chg_drmd.h" +#include "chg_png.h" +#include "chg_env.h" +#include "chg_battery.h" +#include "chg_power.h" + +#define MAX_IMG_FILE_PATH 1024 +#define MAX_PROGRESS_CNT 5 + + +#if !defined(RESDIR) +#define RESDIR "/usr/share/charging-animation/res" +#endif +#define CHG_IMG_BASE RESDIR "/images/chg_img" +#define CHG_IMG_DIR_480x800 "/480x800/" +#define CHG_IMG_DIR_320x480 "/320x480/" +#define CHG_IMG_DIR_1024x600 "/1024x600/" +#define CHG_IMG_DIR_720x1280 "/720x1280/" + +enum { + E_LCD_RES_480x800 = (unsigned int) ((480 << 16) + 800), + E_LCD_RES_320x480 = (unsigned int) ((320 << 16) + 480), + E_LCD_RES_1024x600 = (unsigned int) ((1024 << 16) + 600), + E_LCD_RES_720x1280 = (unsigned int) ((720 << 16) + 1280), + E_LCD_RES_1280x800 = (unsigned int) ((1280 << 16) + 800), + E_LCD_RES_MAX +}; + + +#define CHG_IMG_NORMAL_PREFIX "batt_chg_level" +#define CHG_IMG_PROGRESS_PREFIX "progress" +#define CHG_IMG_TEMP_ERROR "batt_temp_error" +#define CHG_IMG_DISCONNECT "batt_disconnect" + + +static char str_chg_img_dir[1024]; + +static int s_normal_img_x; +static int s_normal_img_y; +static int s_progress_img_x; +static int s_progress_img_y; +static int s_err_img_x; +static int s_err_img_y; + + +st_fbdi s_fbdi; +st_drmdi s_drmdi; + +/*----------------------------------------------------------------------------- + set_chg_img_params() + ----------------------------------------------------------------------------*/ +void set_chg_img_params(FbInfo fbi) +{ + unsigned int lcd_res; + + lcd_res = (unsigned int)((fbi.w << 16) + fbi.h); + DEBUG_MSG("screen width(%d), height(%d)\n", fbi.w, fbi.h); + + /* charging images are different with models */ + switch (lcd_res) { + case E_LCD_RES_1024x600: + snprintf(str_chg_img_dir, sizeof(str_chg_img_dir)-1, "%s%s", CHG_IMG_BASE, CHG_IMG_DIR_1024x600); + s_normal_img_x = 376; + s_normal_img_y = 83; + s_progress_img_x = 354; + s_progress_img_y = 226; + s_err_img_x = 340; + s_err_img_y = 92; + break; + case E_LCD_RES_320x480: + snprintf(str_chg_img_dir, sizeof(str_chg_img_dir)-1, "%s%s", CHG_IMG_BASE, CHG_IMG_DIR_320x480); + s_normal_img_x = 45; + s_normal_img_y = 161; + s_progress_img_x = 120; + s_progress_img_y = 303; + s_err_img_x = 49; + s_err_img_y = 177; + break; + case E_LCD_RES_720x1280: + snprintf(str_chg_img_dir, sizeof(str_chg_img_dir)-1, "%s%s", CHG_IMG_BASE, CHG_IMG_DIR_720x1280); + s_normal_img_x = 266; + s_normal_img_y = 358; + s_progress_img_x = 270; + s_progress_img_y = 804; + s_err_img_x = 264; + s_err_img_y = 357; + break; + case E_LCD_RES_1280x800: + snprintf(str_chg_img_dir, sizeof(str_chg_img_dir)-1, "%s%s", CHG_IMG_BASE, CHG_IMG_DIR_480x800); + s_normal_img_x = 466; + s_normal_img_y = 270; + s_progress_img_x = 580; + s_progress_img_y = 507; + s_err_img_x = 472; + s_err_img_y = 298; + break; + default: + snprintf(str_chg_img_dir, sizeof(str_chg_img_dir)-1, "%s%s", CHG_IMG_BASE, CHG_IMG_DIR_480x800); + s_normal_img_x = 66; + s_normal_img_y = 270; + s_progress_img_x = 180; + s_progress_img_y = 507; + s_err_img_x = 72; + s_err_img_y = 298; + break; + } + +} + +/*----------------------------------------------------------------------------- + fb_open() + ----------------------------------------------------------------------------*/ +int fb_open(FbInfo *fbi) +{ + + if (!drmd_open(&s_drmdi) ) { + DEBUG_MSG("[fb_open] drm device is detected. \n"); + fbi->type = FB_DEV_DRM; + } else if (!fbd_open(&s_fbdi)) { + DEBUG_MSG("[fb_open] fb device is detected. \n"); + fbi->type = FB_DEV_FB; + } else { + DEBUG_MSG("[fb_open] No graphic device is specified. \n"); + return -1; + } + + switch (fbi->type) { + case FB_DEV_FB: + fbi->buf = s_fbdi.fb_buf; + fbi->w = s_fbdi.vi.xres; + fbi->h = s_fbdi.vi.yres; + fbi->sz = s_fbdi.fb_buf_size; + fbi->dev = (void*)&s_fbdi; + break; + case FB_DEV_DRM: + fbi->buf = s_drmdi.fb_buf; + fbi->buf2 = s_drmdi.fb_buf2; + fbi->current_fb_id = s_drmdi.fb_id[0]; + fbi->w = s_drmdi.bo_width; + fbi->h = s_drmdi.bo_height; + fbi->sz = s_drmdi.bo_stride * s_drmdi.bo_height; + fbi->dev = (void*)&s_drmdi; + break; + default: + return -1; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + fb_close() + ----------------------------------------------------------------------------*/ +void fb_close(FbInfo *fbi) +{ + switch (fbi->type) { + case FB_DEV_FB: + fbd_close(&s_fbdi); + break; + case FB_DEV_DRM: + drmd_close(&s_drmdi); + break; + default: + return; + } +} + +/*------------------------------------------------------------------------------ + fb_pan_display()- In case of Roy, the LCD Controller is turned OFF if it is not + in use, hence we need to call PAN Display each time we have a + new data in FB0 so that it can be pushed on the Display Panel +------------------------------------------------------------------------------*/ +int fb_pan_display( FbInfo *fbi ) +{ + int b_status = 0; + /* FB_IO_PAN_DISPLAY is used for pushing the data from FB0 i.e. + S/W Buffer to the H/W FIFO in the Display Panel + */ + if (fbd_pan_display(&s_fbdi)) { + b_status = -1; + } + else { + } + return b_status; +} + +/*----------------------------------------------------------------------------- + fb_clear_screen() + ----------------------------------------------------------------------------*/ +void fb_clear_screen(FbInfo *fbi, unsigned int color) +{ + unsigned int *fb_buf_cur = NULL; + int loop_count = fbi->w * fbi->h; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fb_buf_cur = (unsigned int *)fbi->buf; + else + fb_buf_cur = (unsigned int *)fbi->buf2; + } +#endif +#ifdef INTERFACE_FB +/* temprary code now fb will be use double buffer */ + if (fbi->type == FB_DEV_FB) + return ; +// fb_buf_cur = (unsigned int *)fbi->buf; +#endif + if (fb_buf_cur == NULL) { + DEBUG_MSG("fb_buf_cur is null error...\n"); + return; + } + while (loop_count--) + *(fb_buf_cur++) = color; +} + +/*----------------------------------------------------------------------------- + fb_fill_rect() + ----------------------------------------------------------------------------*/ +void fb_fill_rect(FbInfo *fbi, int x1, int y1, int x2, int y2, + unsigned int color) +{ + unsigned int *fb_buf_cur = NULL; + unsigned int *fb_line_buf; + int screen_width = fbi->w; + int draw_width = x2 - x1 + 1; + int draw_height = y2 - y1 + 1; + int width_cnt; + int height_cnt; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fb_buf_cur = (unsigned int *)fbi->buf; + else + fb_buf_cur = (unsigned int *)fbi->buf2; + } +#endif +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_FB) + fb_buf_cur = (unsigned int *)fbi->buf; +#endif + + fb_buf_cur += (x1 + y1 * screen_width); + fb_line_buf = fb_buf_cur; + width_cnt = draw_width; + while (width_cnt--) { + *(fb_buf_cur++) = color; + } + + height_cnt = draw_height - 1; + fb_buf_cur -= draw_width; + while (height_cnt--) { + fb_buf_cur += screen_width; + memcpy((void *)fb_buf_cur, (void *)fb_line_buf, draw_width * 4); + } + +} + +/*----------------------------------------------------------------------------- + fb_draw_img_normal_charging() + ----------------------------------------------------------------------------*/ +void fb_draw_img_normal_charging(FbInfo *fbi) +{ + static int progress_cnt = 0; + static int batt_bar = 5; + char chg_img_filename[MAX_IMG_FILE_PATH]; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + } +#endif + + /* fill full screen with black color */ + fb_clear_screen(fbi, 0x00000000); + + batt_bar = batt_chg_level(); + + /* draw charging image based on batt_bar */ + sprintf(chg_img_filename, "%s%s_%d.png", + str_chg_img_dir, CHG_IMG_NORMAL_PREFIX, batt_bar); + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_normal_img_x, s_normal_img_y); + release_png_res(); + + + /* draw charging image based on progress_cnt */ + sprintf(chg_img_filename, "%s%s_%02d.png", + str_chg_img_dir, CHG_IMG_PROGRESS_PREFIX, progress_cnt + 1); + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_progress_img_x, s_progress_img_y); + release_png_res(); + + progress_cnt++; + if (progress_cnt >= MAX_PROGRESS_CNT) { + progress_cnt = 0; + } + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (sys_power_state() == SYS_POWER_OFF) { + DEBUG_MSG("fb_draw_img_normal_charging - power off ..\n"); + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + return; + } + else + DEBUG_MSG("no check..\n"); + + DEBUG_MSG("[fb_draw_img_normal_charging] current_fb_id :%d\n",\ + fbi->current_fb_id); + drmModePageFlip(s_drmdi.fd, s_drmdi.crtc->crtc_id,\ + fbi->current_fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); + drmHandleEvent(s_drmdi.fd, &evctx); + } +#endif +} + +/*----------------------------------------------------------------------------- + fb_draw_img_full_charging() + ----------------------------------------------------------------------------*/ +void fb_draw_img_full_charging(FbInfo *fbi) +{ + char chg_img_filename[MAX_IMG_FILE_PATH]; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + } +#endif + /* fill full screen with black color */ + fb_clear_screen(fbi, 0x00000000); + + /* draw charging image based on batt_bar & progress_cnt */ + sprintf(chg_img_filename, "%s%s_100.png", + str_chg_img_dir, CHG_IMG_NORMAL_PREFIX); + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_normal_img_x, s_normal_img_y); + release_png_res(); + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (sys_power_state() == SYS_POWER_OFF) { + DEBUG_MSG("fb_draw_img_full_charging - power off ..\n"); + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + return; + } + else + DEBUG_MSG("no check..\n"); + + DEBUG_MSG("[fb_draw_img_full_charging] current_fb_id :%d\n",\ + fbi->current_fb_id); + drmModePageFlip(s_drmdi.fd, s_drmdi.crtc->crtc_id,\ + fbi->current_fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); + drmHandleEvent(s_drmdi.fd, &evctx); + } +#endif +} + +/*----------------------------------------------------------------------------- + fb_draw_img_batt_err_plug() + ----------------------------------------------------------------------------*/ +void fb_draw_img_batt_err_plug(FbInfo *fbi) +{ + char chg_img_filename[MAX_IMG_FILE_PATH]; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + } +#endif + /* fill full screen with black color */ + fb_clear_screen(fbi, 0x00000000); + + /* draw charging image based on batt_bar & progress_cnt */ + sprintf(chg_img_filename, "%s%s.png", + str_chg_img_dir, CHG_IMG_DISCONNECT); + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_err_img_x, s_err_img_y); + release_png_res(); + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + /* + if (sys_power_state() == SYS_POWER_OFF) { + DEBUG_MSG("fb_draw_img_batt_err_plug - power off ..\n"); + return; + } + else + DEBUG_MSG("no check..\n");*/ + + DEBUG_MSG("[fb_draw_img_batt_err_plug]new_fb_id : %d\n",\ + fbi->current_fb_id); + drmModePageFlip(s_drmdi.fd, s_drmdi.crtc->crtc_id,\ + fbi->current_fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); + drmHandleEvent(s_drmdi.fd, &evctx); + } +#endif +} + +/*----------------------------------------------------------------------------- + fb_draw_img_batt_err_temp() + ----------------------------------------------------------------------------*/ +void fb_draw_img_batt_err_temp(FbInfo *fbi) +{ + char chg_img_filename[MAX_IMG_FILE_PATH]; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + } +#endif + /* fill full screen with black color */ + fb_clear_screen(fbi, 0x00000000); + + /* draw charging image based on batt_bar & progress_cnt */ + sprintf(chg_img_filename, "%s%s.png", + str_chg_img_dir, CHG_IMG_TEMP_ERROR); + + /* clear screen based on normal_img & progress_img */ + /* fb_fill_rect(fbi, s_normal_img_x, s_normal_img_y,\ + s_normal_img_x + png_img_width_batt_normal,\ + s_normal_img_y + png_img_height_batt_normal,\ + 0x00000000); + fb_fill_rect(fbi, s_progress_img_x, s_progress_img_y,\ + s_progress_img_x + png_img_width,\ + s_progress_img_y + png_img_height, 0x00000000);*/ + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_err_img_x, s_err_img_y); + release_png_res(); + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (sys_power_state() == SYS_POWER_OFF) { + DEBUG_MSG("fb_draw_img_batt_err_temp - power off ..\n"); + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + return; + } + else + DEBUG_MSG("no check..\n"); + + DEBUG_MSG("[fb_draw_img_batt_err_temp]new_fb_id : %d\n",\ + fbi->current_fb_id); + drmModePageFlip(s_drmdi.fd, s_drmdi.crtc->crtc_id,\ + fbi->current_fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); + drmHandleEvent(s_drmdi.fd, &evctx); + } +#endif +} + +/*----------------------------------------------------------------------------- + fb_draw_img_batt_err_charging() + ----------------------------------------------------------------------------*/ +void fb_draw_img_batt_err_charging(FbInfo *fbi) +{ + static int progress_cnt = 0; + static int batt_bar = 5; + char chg_img_filename[MAX_IMG_FILE_PATH]; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + } +#endif + /* fill full screen with black color */ + fb_clear_screen(fbi, 0x00000000); + + batt_bar = batt_chg_level(); + + /* draw charging image based on batt_bar */ + sprintf(chg_img_filename, "%s%s_%d.png", + str_chg_img_dir, CHG_IMG_NORMAL_PREFIX, batt_bar); + + /* clear screen based on err_img */ + /* fb_fill_rect(fbi, s_err_img_x, s_err_img_y,\ + s_err_img_x + png_img_width,\ + s_err_img_y + png_img_height, 0x00000000);*/ + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_normal_img_x, s_normal_img_y); + release_png_res(); + +// png_img_width_batt_normal = png_img_width; +// png_img_height_batt_normal = png_img_height; + + /* draw charging image based on progress_cnt */ + sprintf(chg_img_filename, "%s%s_%02d.png", + str_chg_img_dir, CHG_IMG_PROGRESS_PREFIX, progress_cnt + 1); + + if (read_png_file(chg_img_filename) < 0) { + return; + } + + draw_png_img_xy(fbi, s_progress_img_x, s_progress_img_y); + release_png_res(); + + progress_cnt++; + if (progress_cnt >= MAX_PROGRESS_CNT) { + progress_cnt = 0; + } + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (sys_power_state() == SYS_POWER_OFF) { + DEBUG_MSG("fb_draw_img_batt_err_charging - power off ..\n"); + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fbi->current_fb_id = s_drmdi.fb_id[1]; + else + fbi->current_fb_id = s_drmdi.fb_id[0]; + return; + } + else + DEBUG_MSG("no check..\n"); + + DEBUG_MSG("[fb_draw_img_batt_err_charging]new_fb_id : %d\n",\ + fbi->current_fb_id); + drmModePageFlip(s_drmdi.fd, s_drmdi.crtc->crtc_id,\ + fbi->current_fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); + drmHandleEvent(s_drmdi.fd, &evctx); + } +#endif +} diff --git a/src/chg_fbd.c b/src/chg_fbd.c new file mode 100755 index 0000000..481d318 --- /dev/null +++ b/src/chg_fbd.c @@ -0,0 +1,95 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include +#include +#include +#include +#include "chg_common.h" +#include "chg_fbd.h" +#include "chg_env.h" + +/*----------------------------------------------------------------------------- + fbd_open() + ----------------------------------------------------------------------------*/ +int fbd_open(st_fbdi *fbdi) +{ + fbdi->fb_fd = open(chg_env_str[EN_ENV_DEV_FB], O_RDWR); + if (!fbdi->fb_fd) { + DEBUG_MSG("Error: cannot open framebuffer device.\n"); + return -1; + } + + /* Get fixed screen information */ + if (ioctl(fbdi->fb_fd, FBIOGET_FSCREENINFO, &fbdi->fi)) { + close(fbdi->fb_fd); + DEBUG_MSG("Error reading fixed information.\n"); + return -1; + } + + /* Get variable screen information */ + if (ioctl(fbdi->fb_fd, FBIOGET_VSCREENINFO, &fbdi->vi)) { + close(fbdi->fb_fd); + DEBUG_MSG("Error reading fixed information.\n"); + return -1; + } + + /* Figure out the size of the screen in bytes */ + fbdi->fb_buf_size = + fbdi->vi.xres * fbdi->vi.yres * fbdi->vi.bits_per_pixel / 8; + + /* Map the device to memory */ + fbdi->fb_buf = + (unsigned char *)mmap(0, fbdi->fb_buf_size, + PROT_READ | PROT_WRITE, MAP_SHARED, + fbdi->fb_fd, 0); + if ((void*)fbdi->fb_buf == (void*)-1) { + close(fbdi->fb_fd); + DEBUG_MSG("Error: failed to map framebuffer device to memory.\n"); + return -1; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + fbd_close() + ----------------------------------------------------------------------------*/ +void fbd_close(st_fbdi *fbdi) +{ + munmap((void *)fbdi->fb_buf, fbdi->fb_buf_size); + close(fbdi->fb_fd); +} + +/*------------------------------------------------------------------------------ + fbd_pan_display()- In case of Roy, the LCD Controller is turned OFF if it is + not in use, hence we need to call PAN Display each time we + have a new data in FB0 so that it can be pushed on the + Display Panel. + -----------------------------------------------------------------------------*/ +int fbd_pan_display(st_fbdi *fbdi) +{ + int b_status = 0; + + if (ioctl(fbdi->fb_fd, FBIOPAN_DISPLAY, &fbdi->vi)) { + b_status = -1; + } + else { + } + return b_status; +} diff --git a/src/chg_main.c b/src/chg_main.c new file mode 100755 index 0000000..3f6daac --- /dev/null +++ b/src/chg_main.c @@ -0,0 +1,297 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#define _GNU_SOURCE +#define __USE_GNU +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "chg_common.h" +#include "chg_fb.h" +#include "chg_power.h" +#include "chg_battery.h" +#include "chg_env.h" +#include "chg_misc.h" + +#define KEY_VAL_PRESS 1 +#define KEY_VAL_RELEASE 0 +#define KEY_CODE_POWER 116 + +#define EVT_LOOP_DURATION 1000 + +#define LCD_DIMM_TIME 10000 +#define LCD_OFF_TIME 30000 +#define LCD_DIMM_COUNT (LCD_DIMM_TIME/EVT_LOOP_DURATION) +#define LCD_OFF_COUNT (LCD_OFF_TIME/EVT_LOOP_DURATION) + +#define KEY_INPUT_PATH "/dev/input/event1" + +FbInfo fbi; + +static int charging_error_lcd_dimming = 0; + +/*----------------------------------------------------------------------------- + event_monitor_process() + ----------------------------------------------------------------------------*/ +int event_monitor_process(void *arg) +{ + int readcount, ret, fd; + struct pollfd pollevents; + struct input_event event; + static unsigned int sys_power_cnt = 0; + static int batt_full_charged = 0; + static int lcd_on_flag = 0; + struct timeval tv; + static int key_push_time = 0; + static int key_release_time = 0; + static int mode = 0; + + DEBUG_MSG("[main] event_monitor_process() started. %s\n", (char *)arg); + + if ((fd = open(arg, O_RDWR)) < 0) { + DEBUG_MSG("%s: open error, fd = %d\n", (char *)arg, fd); + return -1; + } + + memset(&pollevents, 0, sizeof(pollevents)); + pollevents.fd = fd; + pollevents.events = POLLIN | POLLERR; + + while (1) { + + ret = poll(&pollevents, 1, EVT_LOOP_DURATION); + + if (ret < 0) + DEBUG_MSG("poll error\n"); + + if (lcd_on_flag) { + if (lcd_on_flag == 1) { + lcd_on_flag++; + } else { + if (lcd_br_state() == LCD_BR_DIMM) { + lcd_br_normal(); + } + sys_power_wakeup(&fbi); + sys_power_cnt = LCD_DIMM_COUNT-5; + lcd_on_flag = 0; + } + } + + /* check battery state */ + if (!batt_full_charged) {/* battery status normal -> full */ + if (is_batt_chg_full()) { + DEBUG_MSG("battery fully charged\n"); + lcd_on_flag = 1; + batt_full_charged = 1; + } + } else { /* already battery level was full */ + DEBUG_MSG("full battery..\n"); + mode = batt_chg_state(); + if (BATT_STATE_DISCONNECT == mode) { + DEBUG_MSG("TA or USB disconnected !!\n"); + } + } + + /* lcd dimming */ + if (sys_power_cnt == LCD_DIMM_COUNT) { + if (lcd_br_dimm() < 0) + sys_power_cnt = 0; + } + + /* power sleep */ + if (sys_power_cnt >= LCD_OFF_COUNT + && sys_power_state()!= SYS_POWER_OFF) { + /* BATT_STATE_ERROR */ + if (charging_error_lcd_dimming ==1) { + sys_power_cnt = LCD_DIMM_COUNT; + continue; + } + sys_power_sleep(&fbi); + } + + if (sys_power_cnt > 0xFFFE) + sys_power_cnt = LCD_OFF_COUNT; + + sys_power_cnt++; + + DEBUG_MSG("poll event : %d, fd : %d sys_power_cnt : %d, arg : %s\n" \ + , ret, pollevents.fd, sys_power_cnt, (char *) arg); + + if (key_push_time) { + gettimeofday(&tv, NULL); + key_release_time = tv.tv_sec * 1000 + tv.tv_usec / 1000; + + if ((key_release_time - key_push_time) > 2000) { + sys_power_reboot(); + break; + } + } + + /* detect key event */ + if (pollevents.revents & POLLIN) { + readcount = read(pollevents.fd, &event, sizeof(event)); + if (readcount != sizeof(event)) { + DEBUG_MSG("key read error\n"); + continue; + } + + DEBUG_MSG("key events happen\n"); + if (event.type == EV_KEY) { + if (event.value == KEY_VAL_PRESS) { + if (event.code == KEY_CODE_POWER) { + gettimeofday(&tv, NULL); + key_push_time = + tv.tv_sec * 1000 + + tv.tv_usec / 1000; + } + lcd_br_normal(); + sys_power_wakeup(&fbi); + sys_power_cnt = 0; + } + + DEBUG_MSG("keycod: 0x%x, value: %d\n", + event.code, event.value); + + if (event.value == KEY_VAL_RELEASE + && key_push_time + && event.code == KEY_CODE_POWER) { + key_push_time = 0; + key_release_time = 0; + } + + } else if (event.type == EV_SYN) { + DEBUG_MSG("syn keycod: 0x%x, value: %d\n", + event.code, event.value); + } + + } + } + return 0; +} + +/*----------------------------------------------------------------------------- + charging_animation_process() + ----------------------------------------------------------------------------*/ +int charging_animation_process(void) +{ + int charging_mode = 0; + int batt_err_temp_cnt = 0; + int b_disp_status = 0; + DEBUG_MSG("[main] charging_animation_process() started. \n"); + + set_chg_img_params(fbi); + + /* main loop for checking battery status + and draw apropriate charging images */ + while (1) { + charging_mode = batt_chg_state(); + show_batt_info(); + + if (charging_mode == BATT_STATE_ERROR) + charging_error_lcd_dimming = 1; + else + charging_error_lcd_dimming = 0; + + switch (charging_mode) { + case BATT_STATE_CHARGING: /* Normal Charging */ + fb_draw_img_normal_charging(&fbi); + break; + case BATT_STATE_FULL: /* Charging Full */ + fb_draw_img_full_charging(&fbi); + break; + case BATT_STATE_ERROR: /* OverHeat */ + if (batt_err_temp_cnt % 2) { + fb_draw_img_batt_err_temp(&fbi); + } else { + fb_draw_img_batt_err_charging(&fbi); + } + batt_err_temp_cnt++; + break; + case BATT_STATE_DISCONNECT: /* TA disconnected */ + if (lcd_br_state() == LCD_BR_DIMM) + lcd_br_normal(); + if (lcd_bl_state() == LCD_BL_OFF) + lcd_bl_on(&fbi); + sleep(1); + fb_draw_img_batt_err_plug(&fbi); + sleep(1); + sys_power_off(); + break; + } + +#ifdef INTERFACE_FB + if (fbi.type == FB_DEV_FB) + b_disp_status = fb_pan_display(&fbi); +#endif + DEBUG_MSG("charging_animation_process() loop+...\n"); + sleep(1); + DEBUG_MSG("charging_animation_process() loop-...\n"); + } + + return 0; +} + + +/*----------------------------------------------------------------------------- + main() + ----------------------------------------------------------------------------*/ +int main(int argc, char *argv[]) +{ + int child_stack[4096]; + char key_path[256]; + + if (argc > 1) + strncpy(key_path, argv[1], 255); + else + strncpy(key_path, KEY_INPUT_PATH, 255); + + chg_env_str_load(); + + if (fb_open(&fbi) < 0) { + DEBUG_MSG("[main] fb_open() failed. \n"); + return -1; + } + + DEBUG_MSG("charging-animation main function called."); + + lcd_br_normal(); + + sys_power_wakeup(&fbi); + + if (clone(event_monitor_process, (void *)(child_stack + 4095), + CLONE_VM | CLONE_THREAD | CLONE_SIGHAND, key_path) < 0) { + DEBUG_MSG("[main] cannot creat thread ... \n"); + goto main_exit; + } + + charging_animation_process(); + +main_exit: + DEBUG_MSG("[main] terminate \n"); + lcd_br_dimm(); + lcd_bl_off(&fbi); + sys_power_sleep(&fbi); + fb_close(&fbi); + return -1; +} diff --git a/src/chg_misc.c b/src/chg_misc.c new file mode 100755 index 0000000..093bc21 --- /dev/null +++ b/src/chg_misc.c @@ -0,0 +1,172 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include "chg_common.h" +#include "chg_misc.h" + +/*----------------------------------------------------------------------------- + read_from_file() + ----------------------------------------------------------------------------*/ +int read_from_file(const char *path, char *buf, int size) +{ + int fd; + int count; + + if (!path) + return -1; + + fd = open(path, O_RDONLY, 0); + if (fd == -1) { + DEBUG_MSG("[read_from_file] Could not open '%s'", path); + return -1; + } + + count = (int)read(fd, buf, size); + if (count > 0) { + count = (count < size) ? count : size - 1; + while (count > 0 && buf[count - 1] == '\n') + count--; + buf[count] = '\0'; + } else { + buf[0] = '\0'; + } + + close(fd); + + return count; +} + + +/*----------------------------------------------------------------------------- + write_to_file() + ----------------------------------------------------------------------------*/ +int write_to_file(const char *path, const char *buf) +{ + int fd; + ssize_t count; + + if (!path) + return -1; + + fd = open(path, O_WRONLY); + if (fd == -1) { + DEBUG_MSG("[write_to_file] Could not open '%s'", path); + return -1; + } + + count = write(fd, buf, strlen(buf)); + close(fd); + if (count < 0) { + DEBUG_MSG("[write_to_file] %s write error", path); + return (int)count; + } + + return 0; +} + +/*----------------------------------------------------------------------------- + read_int_from_file() + ----------------------------------------------------------------------------*/ +int read_int_from_file(char *path) +{ + char buf[FILE_IO_BUF_SIZE]; + int value = 0; + if (read_from_file((const char*)path, buf, FILE_IO_BUF_SIZE) > 0) { + value = atoi(buf); + } + + return value; +} + +/*----------------------------------------------------------------------------- + system_cmd_wait() + ----------------------------------------------------------------------------*/ +int system_cmd_wait(const char *command) +{ + + int pid = 0; + int status = 0; + char* const environ[2] = {"DISPLAY=:0", NULL }; + + if (command == NULL) + return -1; + + pid = fork(); + + if (pid == -1) + return -1; + + if (pid == 0) { + char *argv[4]; + argv[0] = "sh"; + argv[1] = "-c"; + argv[2] = (char*)command; + argv[3] = 0; + execve("/bin/sh", argv, environ); + exit(127); + } + + do { + if (waitpid(pid, &status, 0) == -1) { + if (errno != EINTR) + return -1; + } else { + return status; + } + } while(1); +} + +/*----------------------------------------------------------------------------- + system_cmd_nowait() + ----------------------------------------------------------------------------*/ +int system_cmd_nowait(const char *command) +{ + + int pid = 0; + char* const environ[2] = {"DISPLAY=:0", NULL }; + + if (command == NULL) + return -1; + + pid = fork(); + + if (pid == -1) + return -1; + + if (pid == 0) { + char *argv[4]; + argv[0] = "sh"; + argv[1] = "-c"; + argv[2] = (char*)command; + argv[3] = 0; + execve("/bin/sh", argv, environ); + exit(127); + } else if (pid < 0) { + DEBUG_MSG("execve fail : '%s'", command); + return -1; + } + + return 0; +} + + diff --git a/src/chg_png.c b/src/chg_png.c new file mode 100755 index 0000000..972e25e --- /dev/null +++ b/src/chg_png.c @@ -0,0 +1,188 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include "chg_common.h" +#include "chg_png.h" + +int png_img_width; +int png_img_height; +/* clear screen based on img size */ +//int png_img_width_batt_normal; +//int png_img_height_batt_normal; + +png_byte color_type; +png_byte bit_depth; + +png_structp png_ptr; +png_infop info_ptr; +int number_of_passes; +png_bytep *row_pointers; + +/*----------------------------------------------------------------------------- + read_png_file() + ----------------------------------------------------------------------------*/ +int read_png_file(char *file_name) +{ + char header[8]; /* 8 is the maximum size that can be checked */ + int y; + + /* open file and test for it being a png */ + FILE *fp = fopen(file_name, "rb"); + if (!fp) { + DEBUG_MSG("[read_png_file] File %s could not be opened" + " for reading \n", file_name); + return -1; + } + + (void)fread(header, 1, 8, fp); + if (png_sig_cmp((png_bytep)header, 0, 8)) { + fclose(fp); + DEBUG_MSG("[read_png_file] File %s is not recognized" + " as a PNG file \n", file_name); + return -1; + } + + /* initialize stuff */ + png_ptr = + png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png_ptr) { + fclose(fp); + DEBUG_MSG("[read_png_file] png_create_read_struct failed \n"); + return -1; + } + + info_ptr = png_create_info_struct(png_ptr); + if (!info_ptr) { + png_destroy_read_struct(&png_ptr, NULL, NULL); + fclose(fp); + DEBUG_MSG("[read_png_file] png_create_info_struct failed \n"); + return -1; + } + + if (setjmp(png_jmpbuf(png_ptr))) { + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + fclose(fp); + DEBUG_MSG("[read_png_file] Error during init_io \n"); + return -1; + } + + png_init_io(png_ptr, fp); + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + + png_img_width = info_ptr->width; + png_img_height = info_ptr->height; + color_type = info_ptr->color_type; + bit_depth = info_ptr->bit_depth; + + number_of_passes = png_set_interlace_handling(png_ptr); + png_read_update_info(png_ptr, info_ptr); + + /* read file */ + if (setjmp(png_jmpbuf(png_ptr))) { + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + fclose(fp); + DEBUG_MSG("[read_png_file] Error during read_image \n"); + return -1; + } + + row_pointers = (png_bytep *) malloc(sizeof(png_bytep)*png_img_height); + for (y = 0; y < png_img_height; y++) + row_pointers[y] = (png_byte *) malloc(info_ptr->rowbytes); + + png_read_image(png_ptr, row_pointers); + + fclose(fp); + + return 0; +} + +/*----------------------------------------------------------------------------- + draw_png_img_xy() + ----------------------------------------------------------------------------*/ +void draw_png_img_xy(FbInfo *fbi, int x1, int y1) +{ + unsigned int *fb_buf_cur = NULL; + int bpp; + int x, y; + +#ifdef INTERFACE_DRM + if (fbi->type == FB_DEV_DRM) { + if (fbi->current_fb_id == s_drmdi.fb_id[0]) + fb_buf_cur = (unsigned int *)fbi->buf; + else + fb_buf_cur = (unsigned int *)fbi->buf2; + } +#endif +#ifdef INTERFACE_FB + if (fbi->type == FB_DEV_FB) + fb_buf_cur = (unsigned int *)fbi->buf; +#endif + /* check out range */ + if ((x1 + png_img_width > fbi->w) || + (y1 + png_img_height > fbi->h)) { + DEBUG_MSG("[draw_png_img_xy] output range exceeds frame buffer range \n"); + return; + } + + if (color_type == PNG_COLOR_TYPE_RGB) + bpp = 3; + else if (color_type == PNG_COLOR_TYPE_RGBA) + bpp = 4; + else { + DEBUG_MSG("[draw_png_img_xy] png type does not match RGB or RGBA \n"); + return; + } + + fb_buf_cur += y1 * fbi->w; + fb_buf_cur += x1; + for (y = 0; y < png_img_height; y++) { + png_byte *row = (png_byte *) row_pointers[y]; + for (x = 0; x < png_img_width; x++) { + if (bit_depth == 8) { + (*fb_buf_cur++) = + (row[0] << 16) | (row[1] << 8) | (row[2]); + row += bpp; + } else if (bit_depth == 16) { + (*fb_buf_cur++) = + (row[0] << 16) | (row[2] << 8) | (row[4]); + row += bpp*2; + } + } + fb_buf_cur -= png_img_width; + fb_buf_cur += fbi->w; + } + +} + +/*----------------------------------------------------------------------------- + release_png_res() + ----------------------------------------------------------------------------*/ +void release_png_res(void) +{ + int y; + + for (y = 0; y < png_img_height; y++) + free((void *)row_pointers[y]); + free((void *)row_pointers); + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); +} + + + diff --git a/src/chg_power.c b/src/chg_power.c new file mode 100755 index 0000000..946ff07 --- /dev/null +++ b/src/chg_power.c @@ -0,0 +1,206 @@ +/* +Copyright 2012-2013 Samsung Electronics Co., Ltd + +Licensed under the Flora License, Version 1.1 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://floralicense.org/license/ + +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. +*/ + +#include +#include +#include +#include +#include +#include + +#include "chg_common.h" +#include "chg_power.h" +#include "chg_misc.h" +#include "chg_env.h" +#include "chg_drmd.h" + +static int s_lcd_bl_state = LCD_BL_ON; +static int s_lcd_br_state = LCD_BR_NORMAL; +static int s_sys_power_state = SYS_POWER_ON; + +/*----------------------------------------------------------------------------- + fb_lcd_bl_on() + ----------------------------------------------------------------------------*/ +static int fb_lcd_bl_on(st_fbdi *s_fbdi) +{ + DEBUG_MSG("fb_lcd_bl_on() is called.\n"); + ioctl(s_fbdi->fb_fd, FBIOBLANK, FB_BLANK_UNBLANK); + return 0; +} + +/*----------------------------------------------------------------------------- + fb_lcd_bl_off() + ----------------------------------------------------------------------------*/ +static int fb_lcd_bl_off(st_fbdi *s_fbdi) +{ + DEBUG_MSG("fb_lcd_bl_off() is called.\n"); + ioctl(s_fbdi->fb_fd, FBIOBLANK, FB_BLANK_POWERDOWN); + return 0; +} +/*----------------------------------------------------------------------------- + lcd_bl_on() + ----------------------------------------------------------------------------*/ +int lcd_bl_on(FbInfo *fbi) +{ + DEBUG_MSG("lcd_bl_on() is called.\n"); + if (s_lcd_bl_state == LCD_BL_ON) + return 0; + + if (fbi->type == FB_DEV_FB) { + if (fb_lcd_bl_on((st_fbdi*)fbi->dev) < 0) + return -1; + } else if (fbi->type == FB_DEV_DRM) { + if (drmd_lcd_on((st_drmdi*)fbi->dev) < 0) + return -1; + } else + return -1; + + s_lcd_bl_state = LCD_BL_ON; + return 0; +} + +/*----------------------------------------------------------------------------- + lcd_bl_off() + ----------------------------------------------------------------------------*/ +int lcd_bl_off(FbInfo *fbi) +{ + DEBUG_MSG("lcd_bl_off() is called.\n"); + if (s_lcd_bl_state == LCD_BL_OFF) + return 0; + + if (fbi->type == FB_DEV_FB) { + if (fb_lcd_bl_off((st_fbdi*)fbi->dev) < 0) + return -1; + } else if (fbi->type == FB_DEV_DRM) { + if (drmd_lcd_off((st_drmdi*)fbi->dev) < 0) + return -1; + } else + return -1; + + s_lcd_bl_state = LCD_BL_OFF; + return 0; +} + +/*----------------------------------------------------------------------------- + lcd_bl_state() + ----------------------------------------------------------------------------*/ +int lcd_bl_state(void) +{ + return s_lcd_bl_state; +} + + +/*----------------------------------------------------------------------------- + lcd_br_normal() + ----------------------------------------------------------------------------*/ +int lcd_br_normal(void) +{ + int ret = 0; + int brightness_max = 0; + + brightness_max = device_get_max_brt(DEV_MAIN_DISPLAY); + ret = device_set_property(DEVICE_TYPE_DISPLAY,PROP_DISPLAY_BRIGHTNESS,(int)(brightness_max*0.6)); + + DEBUG_MSG("lcd_br_normal() is called. ret : %d \n",ret); + + s_lcd_br_state = LCD_BR_NORMAL; + return 0; +} + +/*----------------------------------------------------------------------------- + lcd_br_dimm() + ----------------------------------------------------------------------------*/ +int lcd_br_dimm(void) +{ + int ret = 0; + + ret = device_set_property(DEVICE_TYPE_DISPLAY,PROP_DISPLAY_BRIGHTNESS, 0); + + DEBUG_MSG("lcd_br_dimm() is called. ret : %d \n",ret); + + s_lcd_br_state = LCD_BR_DIMM; + return 0; +} + +/*----------------------------------------------------------------------------- + lcd_br_state() + ----------------------------------------------------------------------------*/ +int lcd_br_state(void) +{ + return s_lcd_br_state; +} + +/*----------------------------------------------------------------------------- + sys_power_wakeup() + ----------------------------------------------------------------------------*/ +int sys_power_wakeup(FbInfo *fbi) +{ + DEBUG_MSG("sys_power_wakeup() is called.\n"); + + s_sys_power_state = SYS_POWER_ON; + lcd_bl_on(fbi); + + return 0; +} + +/*----------------------------------------------------------------------------- + sys_power_sleep() + ----------------------------------------------------------------------------*/ +int sys_power_sleep(FbInfo *fbi) +{ + DEBUG_MSG("sys_power_sleep() is called.env :%s\n", + chg_env_str[EN_ENV_NO_SLEEP]); + + s_sys_power_state = SYS_POWER_OFF; + + lcd_bl_off(fbi); + + if (0 == (strcmp(chg_env_str[EN_ENV_NO_SLEEP], "1"))) { + DEBUG_MSG("nosleep...\n"); + return 0; + } + + system_cmd_nowait("echo mem > /sys/power/state"); + + return 0; +} + +/*----------------------------------------------------------------------------- + sys_power_state() + ----------------------------------------------------------------------------*/ +int sys_power_state(void) +{ + return s_sys_power_state; +} + +/*----------------------------------------------------------------------------- + sys_power_reboot() + ----------------------------------------------------------------------------*/ +void sys_power_reboot(void) +{ + DEBUG_MSG("sys_power_reboot() is called.\n"); + reboot(RB_AUTOBOOT); +} + +/*----------------------------------------------------------------------------- + sys_power_off() + ----------------------------------------------------------------------------*/ +void sys_power_off(void) +{ + DEBUG_MSG("sys_power_off() is called.\n"); + reboot(RB_POWER_OFF); +} + -- 2.7.4