From 127b338d70ca84dd569bd31b09bc64f5667c91aa Mon Sep 17 00:00:00 2001 From: Michel-FK Date: Tue, 5 Jan 2021 18:23:34 +0100 Subject: [PATCH] simplify snpshot autoincrement Signed-off-by: Michel-FK --- .../funkey/rootfs-overlay/usr/local/sbin/snap | 8 ++--- .../funkey/rootfs-overlay/usr/local/sbin/snap | 29 +++++++++++++------ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/snap b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/snap index 78185ab..4b8cc81 100755 --- a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/snap +++ b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/snap @@ -20,12 +20,8 @@ touch "${LOCK_FILE}" # Increment name and save snapshot SNAPSHOT_DIR=/mnt/funkey/snapshots mkdir -p "${SNAPSHOT_DIR}" -last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_\([0-9]\+\)\.PNG$/\1/') -if [ "x${last}" = "x" ]; then - last=1 -else - last=$(expr $last + 1) -fi +last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_0*\([0-9]\+\)\.PNG$/\1/') +let last=${last}+1 snapshot_file=$(printf "IMG_%04d.PNG" $last) notif_set 2 " NEW SCREEENSHOT ${snapshot_file}" fbgrab "${SNAPSHOT_DIR}/${snapshot_file}" & diff --git a/Recovery/board/funkey/rootfs-overlay/usr/local/sbin/snap b/Recovery/board/funkey/rootfs-overlay/usr/local/sbin/snap index 726a3ed..4b8cc81 100755 --- a/Recovery/board/funkey/rootfs-overlay/usr/local/sbin/snap +++ b/Recovery/board/funkey/rootfs-overlay/usr/local/sbin/snap @@ -1,6 +1,7 @@ #!/bin/sh -SNAPSHOT_DIR=/mnt/funkey/snapshots +# Uncomment the following line to get debug info +#set -x # Check args if [ ${#} -ne 0 ]; then @@ -8,14 +9,24 @@ if [ ${#} -ne 0 ]; then exit 1 fi -mkdir -p "${SNAPSHOT_DIR}" -last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_\([0-9]\+\)\.PNG$/\1/') -if [ "x${last}" = "x" ]; then - last=1 -else - let last++ +# Lock file (necessary since fbgrab must run in bg not to block the buttons while gaming) +LOCK_FILE="/var/lock/snap.lock" +if [ -f "${LOCK_FILE}" ]; then + #echo "${LOCK_FILE} already exists" + exit 1 fi +touch "${LOCK_FILE}" + +# Increment name and save snapshot +SNAPSHOT_DIR=/mnt/funkey/snapshots +mkdir -p "${SNAPSHOT_DIR}" +last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_0*\([0-9]\+\)\.PNG$/\1/') +let last=${last}+1 snapshot_file=$(printf "IMG_%04d.PNG" $last) -fbgrab "${SNAPSHOT_DIR}/${snapshot_file}" -notif_disp 1 " CAPTURE TO ${snapshot_file}" +notif_set 2 " NEW SCREEENSHOT ${snapshot_file}" +fbgrab "${SNAPSHOT_DIR}/${snapshot_file}" & + +# Remove lock file +rm -f "${LOCK_FILE}" + exit 0