#!/bin/bash
. lib.sh
COUNT=2500
wait_for_key() {
[ "$INTERACTIVE" ] && read -p "Press a key to continue" || :
}
main() {
if ! [ "$INTERACTIVE" ]; then echo "Skipping interactive test $0"; SKIPPED=1; return; fi
sshgw cangw -A -s can0 -d can1
latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n len2
wait_for_key
latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 4) -n len4
wait_for_key
latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 6) -n len6
wait_for_key
latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n len8
}
ADDITIONAL_PLOTS=detail
plot_cmds() {
if [[ "$1" = detail ]]; then
range=0.06:0.4
echo "set logscale y"
else
range=0.05:100
echo "set logscale xy"
fi
cat <<EOF
set title "Measurment precission: PC versus CANalyzer"
set termoption dashed
set grid xtics mxtics ytics mytics lw 1, lw 0.5
set xlabel "Total latency [ms]"
set ylabel "Latency profile [frames]"
plot [$range] [1:$COUNT] \\
"len2-hist.txt" with lp lc 1 lt 1 title "PC: 2 byte messages", \\
"len4-hist.txt" with lp lc 2 lt 1 title "PC: 4 byte messages", \\
"len6-hist.txt" with lp lc 3 lt 1 title "PC: 6 byte messages", \\
"len8-hist.txt" with lp lc 4 lt 1 title "PC: 8 byte messages", \\
"canalyzer-2-hist.txt" with lp lc 1 lt 2 title "CANalyzer: 2 byte messages", \\
"canalyzer-4-hist.txt" with lp lc 2 lt 2 title "CANalyzer: 4 byte messages", \\
"canalyzer-6-hist.txt" with lp lc 3 lt 2 title "CANalyzer: 6 byte messages", \\
"canalyzer-8-hist.txt" with lp lc 4 lt 2 title "CANalyzer: 8 byte messages"
EOF
}
test_end