* Add a package that will run ts_calibrate if needed. This will allow separating this logic from the matrix init script since it is not always needed.
Signed-off-by: Chase Maupin <[email protected]> --- .../recipes-core/matrix/matrix-gui-tscal/init | 43 ++++++++++++++++++++ .../recipes-core/matrix/matrix-gui-tscal_1.0.bb | 25 +++++++++++ 2 files changed, 68 insertions(+), 0 deletions(-) create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-tscal/init create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-tscal_1.0.bb diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal/init b/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal/init new file mode 100644 index 0000000..e8d9197 --- /dev/null +++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal/init @@ -0,0 +1,43 @@ +#!/bin/sh +# Copyright (C) {2013} Texas Instruments Incorporated - http://www.ti.com/ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation version 2. +# +# This program is distributed "as is" WITHOUT ANY WARRANTY of any +# kind, whether express or implied; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +tsfile=/etc/pointercal + +# Check if the SD card is mounted and the first partition is +# vfat. If so let's write the pointercal file there so that if +# someone messes up calibration they can just delete the file from +# any system and reboot the board. + +#TODO how can we find the SD card and not eMMC? can we look for a "boot" +# LABEL? +mount | grep /media/mmcblk0p1 | grep vfat > /dev/null 2>&1 +if [ "$?" = "0" ] +then + tsfile=/media/mmcblk0p1/pointercal + export TSLIB_CALIBFILE=$tsfile +fi + +if [ ! -f $tsfile ] ; then + echo -n "Calibrating touchscreen (first time only)" + ts_calibrate + echo "." + + # If we create a pointercal file and it was not in /etc/pointercal + # let's copy it there as well if it does not already exist. This is so + # that running other applications that look for /etc/pointercal and + # without TSLIB_CALIBFILE set will still get the right calibration. + # TODO: can we just globally export TSLIB_CALIBFILE? + if [ ! -f /etc/pointercal -a -f $tsfile ] + then + cp $tsfile /etc/pointercal + fi +fi diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal_1.0.bb b/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal_1.0.bb new file mode 100644 index 0000000..9156a6a --- /dev/null +++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-tscal_1.0.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Matrix GUI TS calibration init script" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://init;beginline=2;endline=11;md5=4b2e3b15f01cf63d2cb7988afdcc6c60" + +PR = "r0" + +S = "${WORKDIR}" + +INITSCRIPT_NAME = "matrix-gui-tscal" +# Start this init script before the matrix gui launches +INITSCRIPT_PARAMS = "start 96 2 3 4 5 ." + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit update-rc.d + +SRC_URI = "file://init" + +do_install(){ + # Install the init script + # TODO: replace init script with systemd files + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/matrix-gui-tscal +} -- 1.7.0.4 _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
