X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=bash%2Fserial_loopback_test.sh;h=e9ab56910e09f877d632fb4931f54f179bc4bb60;hb=926881f96a4de6c87b4f8325a9d6b22156b6aecc;hp=83c28404037785c32fb282deb9a08529e15fff11;hpb=4257d52ff7065fdc0aa3efefb71d9ece477dde49;p=mirrors%2FPrograms.git diff --git a/bash/serial_loopback_test.sh b/bash/serial_loopback_test.sh index 83c2840..e9ab569 100755 --- a/bash/serial_loopback_test.sh +++ b/bash/serial_loopback_test.sh @@ -1,8 +1,14 @@ #!/bin/sh +# #Serial line tester v0.3 -#Tested in busybox ash #(c) Tomas Mudrunka 2022-2024 +# +#Tested in: busybox ash, bash +function serial_loopback_test() { + +port_tx= +port_rx= trylimit=0 seconds=0 baudrate=115200 @@ -18,15 +24,15 @@ while getopts ":t:r:b:l:s:w" OPT; do s) seconds=$OPTARG;; w) workaround_rs485=true;; - '?') echo "Usage: $0 -t /dev/ttyTX [-r /dev/ttyRX] [-b 9600] [-l 10] [-s 10] [-w]" >&2; exit 250;; - ':') echo "Missing option argument for -$OPTARG" >&2; exit 251;; - * ) echo "Unimplemented option: -$OPT" >&2; exit 252;; + '?') echo "Usage: $0 -t /dev/ttyTX [-r /dev/ttyRX] [-b 9600] [-l 10] [-s 10] [-w]" >&2; return 250;; + ':') echo "Missing option argument for -$OPTARG" >&2; return 251;; + * ) echo "Unimplemented option: -$OPT" >&2; return 252;; esac done [ -z "$port_tx" ] && port_tx="$port_rx" [ -z "$port_rx" ] && port_rx="$port_tx" -[ -z "$port_rx" ] && { echo Port not specified; exit 253; } +[ -z "$port_rx" ] && { echo Port not specified; return 253; } testdata="${RANDOM}d82b2ae45432e7c80699852ab557b279c42180a379711aae85487bda0cc58602f65c0ab5af0d510d6ac1606c52f887f3332052f67c45212dbbf2730${RANDOM}" @@ -67,5 +73,9 @@ exec 5>&- exec 6<&- echo TRANSMITTED: $trycnt, ERRORS: $errcnt, SECONDS: $(($(date +%s)-$datestart)) -[ "$errcnt" = "0" -a "$trycnt" -gt 0 ] && exit 0 -exit 255 +[ "$errcnt" = "0" -a "$trycnt" -gt 0 ] && return 0 +return 255 + +} + +serial_loopback_test "$@"