make delay parametrable

This commit is contained in:
Geoffray Levasseur-Brandin
2025-06-19 14:34:22 +02:00
parent 4879b418db
commit eeb87c5bfc

View File

@@ -39,12 +39,30 @@
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
busy() busy()
{ {
if [[ -n $1 ]]; then
local pattern="$@"
else
local pattern="ca fe" local pattern="ca fe"
for arg in "$@"; do
case "$arg" in
--delay=*)
delay_ms="${arg#*=}"
if ! [[ $delay_ms =~ ^[0-9]+$ ]]; then
disp E "Invalid delay value, must be an integer (milliseconds)."
return 1
fi fi
cat /dev/urandom | hexdump -C | grep "$pattern" ;;
*)
pattern="$arg"
;;
esac
done
# Convert milliseconds to seconds for 'sleep'
local delay_s=$(awk "BEGIN { printf \"%.3f\", $delay_ms / 1000 }")
cat /dev/urandom | hexdump -C | grep --line-buffered "$pattern" | \
while read -r line; do
echo $line
[[ $delay_ms -gt 0 ]] && sleep "$delay_s"
done
unset pattern unset pattern
} }