--- /dev/null
+#!/bin/sh
+
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2023 Hugo Villeneuve <hugo@hugovil.com>
+
+COLOR_ERR="\033[0;31m"
+COLOR_WARN="\033[0;33m"
+COLOR_NONE="\033[0m"
+
+# When using /bin/sh, echo needs to be prefixed with its path to avoid
+# printing "-e".
+ECHO="/bin/echo -e"
+
+if [ "${debug}" = "" ]; then
+ # Set default value, debug disabled.
+ # Define to 1 to display debug messages.
+ debug=0
+fi
+
+log_info() {
+ ${ECHO} "${COLOR_NONE}${*}"
+}
+
+log_dbg() {
+ if [ ${debug} -eq 1 ]; then
+ ${ECHO} "${*}"
+ fi
+}
+
+log_warn() {
+ ${ECHO} >&2 "${COLOR_WARN}${*}${COLOR_NONE}"
+}
+
+log_err() {
+ ${ECHO} >&2 "${COLOR_ERR}${*}${COLOR_NONE}"
+}
+
+lcd() {
+ printf "$@" > /dev/lcd
+}
+
+lcd_clear() {
+ lcd '\f'
+}
+
+lcd_init() {
+ # Cursor off
+ lcd "\x1b[Lc"
+ lcd_clear
+}
+
+# Input variables:
+# l1 to l4
+# l1p to l4p
+lcd_update() {
+
+ # TODO: scroll long lines...
+
+ if [ "${l1}" != "${l1p}" -o \
+ "${l2}" != "${l2p}" -o \
+ "${l3}" != "${l3p}" -o \
+ "${l4}" != "${l4p}" ]; then
+ lcd_clear
+
+ log_dbg "lcd_update()"
+ log_dbg " l1=$l1"
+ log_dbg " l2=$l2"
+ log_dbg " l3=$l3"
+ log_dbg " l4=$l4"
+
+ # Make sure strings are at least 20 characters long:
+ l1f="${l1}${fill}"
+ l2f="${l2}${fill}"
+ l3f="${l3}${fill}"
+ l4f="${l4}${fill}"
+
+ l1t="$(printf "%.20s\n" "${l1f}")"
+ l2t="$(printf "%.20s\n" "${l2f}")"
+ # Bug, écran défectueux ligne 3...
+ l3t=""
+ l4t="$(printf "%.20s\n" "${l4f}")"
+
+ # TODO: remove trailing whitespace
+
+ l13="${l1t}${l3t}"
+ l24="${l2t}${l4t}"
+
+ log_dbg " l13=$l13"
+ log_dbg " l24=$l24"
+
+ lcd "${l13}\n"
+ lcd "${l24}\n"
+
+ l1p="${l1}"
+ l2p="${l2}"
+ l3p="${l3}"
+ l4p="${l4}"
+ fi
+}
--- /dev/null
+DESCRIPTION = "HV utils scripts"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+
+PV = "0.0.1"
+
+SRC_URI += "file://hvutils.sh"
+
+RDEPENDS:${PN} +="bash"
+
+do_install () {
+ # Common header shell script:
+ install -d ${D}${bindir}
+ install -m 0644 ${WORKDIR}/hvutils.sh ${D}${bindir}/
+}
+
+FILES:${PN} += "${bindir}/hvutils.sh"