From 933a00515b7a2527d83dfd1a7f2737284a0aed76 Mon Sep 17 00:00:00 2001 From: Evka2k <77075640+Evka2k@users.noreply.github.com> Date: Fri, 5 Feb 2021 12:27:15 +0200 Subject: [PATCH] Helios64 UPS. System shutdown when battery reach 7.0V. (#2599) * Helios64 UPS. System shutdown when battery reach 7.0V. --- .../sources/families/include/rockchip64_common.inc | 1 + packages/bsp/helios64/helios64-ups.service | 2 +- packages/bsp/helios64/helios64-ups.sh | 12 ++++++++++++ packages/bsp/helios64/helios64-ups.timer | 3 ++- 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100755 packages/bsp/helios64/helios64-ups.sh diff --git a/config/sources/families/include/rockchip64_common.inc b/config/sources/families/include/rockchip64_common.inc index 18634e632d..4f8fa8e1a4 100644 --- a/config/sources/families/include/rockchip64_common.inc +++ b/config/sources/families/include/rockchip64_common.inc @@ -410,6 +410,7 @@ family_tweaks_bsp() # UPS service cp $SRC/packages/bsp/helios64/helios64-ups.service $destination/lib/systemd/system/ cp $SRC/packages/bsp/helios64/helios64-ups.timer $destination/lib/systemd/system/ + install -m 755 $SRC/packages/bsp/helios64/helios64-ups.sh $destination/usr/bin/helios64-ups.sh fi diff --git a/packages/bsp/helios64/helios64-ups.service b/packages/bsp/helios64/helios64-ups.service index 7d160f6d4a..7dd43da703 100644 --- a/packages/bsp/helios64/helios64-ups.service +++ b/packages/bsp/helios64/helios64-ups.service @@ -3,4 +3,4 @@ Description=Helios64 UPS Action [Service] Type=oneshot -ExecStart=/usr/sbin/poweroff +ExecStart=/usr/bin/helios64-ups.sh diff --git a/packages/bsp/helios64/helios64-ups.sh b/packages/bsp/helios64/helios64-ups.sh new file mode 100755 index 0000000000..04fbf2280c --- /dev/null +++ b/packages/bsp/helios64/helios64-ups.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +#7.0V 916 Recommended threshold to force shutdown system +TH=916 + +val=$(cat '/sys/bus/iio/devices/iio:device0/in_voltage2_raw') +sca=$(cat '/sys/bus/iio/devices/iio:device0/in_voltage_scale') +adc=$(echo "$val * $sca / 1" | bc) + +if [ "$adc" -le $TH ]; then + /usr/sbin/poweroff +fi diff --git a/packages/bsp/helios64/helios64-ups.timer b/packages/bsp/helios64/helios64-ups.timer index be01139a32..1ce7c68717 100644 --- a/packages/bsp/helios64/helios64-ups.timer +++ b/packages/bsp/helios64/helios64-ups.timer @@ -2,8 +2,9 @@ Description=Helios64 UPS Shutdown timer on power loss [Timer] -OnActiveSec=10m +OnActiveSec=20 AccuracySec=1s +OnUnitActiveSec=10 [Install] WantedBy=timers.target