#!/bin/bash if ! [[ "$1" =~ ^-?[0-9](\.[0-9]+)?+$ ]]; then echo "Usage: $0 " exit 1 fi echo "Belter display value: $1mm" tension=$(awk -v x="$1" 'BEGIN { if (x < 0) x = -x printf "%.3f", 7.673640167 * x - 33.7167364 }') echo "Belt tension: $tension N" echo "" ESC=$'\033' GREEN="${ESC}[32m" RED="${ESC}[31m" RESET="${ESC}[0m" check_range() { local label="$1" local min="$2" local max="$3" awk -v t="$tension" -v min="$min" -v max="$max" \ -v label="$label" -v G="$GREEN" -v R="$RED" -v Z="$RESET" ' BEGIN { if (t >= min && t <= max) printf "%s 🟩 %s[%.1f, %.1f] N%s\n", label, G, min, max, Z else printf "%s 🟥 %s[%.1f, %.1f] N%s\n", label, R, min, max, Z }' } echo "Reference tensions:" check_range "Voron A/B belts :" 7.8 15 check_range "Voron 2.4 Z belts :" 20.4 25.8 check_range "V350/250 belts :" 12 20 check_range "GT2 belts :" 20 30