EOF
lt=1
for i in $ids; do
- (( i != 0)) && echo ", \\"
- echo -n " " \"hist-$i.dat\" with lp lt $lt title \"Message id $i\"
+ echo_plot "\"hist-$i.dat\" with lp lt $lt title \"Message id $i\""
lt=$((lt+1))
done
- echo
}
test_end
}
cleanupgw() {
- # Set can interfaces up
- sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done'
sshgw 'cangw -F'
}
echo $d
}
+echo_plot() {
+ plot=$1
+ [[ "$_plot_separator" ]] && echo ", \\"
+ _plot_separator=t
+ echo -n " " $plot
+}
+
_run() {
if [[ ! "$OPT_PLOT_ONLY" ]]; then
kernel_versions=$(sshgw uname -r)
cd $dir
echo "Working directory: $dir"
if [[ ! "$OPT_PLOT_ONLY" ]]; then
+ # Remove data from the last measurement
rm -rf *
+ # Set can interfaces up
+ sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done'
+ # Delete all vcan interfaces
+ sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done'
cleanupgw
+
main
cp $script .
fi
--- /dev/null
+#!/bin/bash
+
+. lib.sh
+
+numjobs=`seq 0 2 10`
+
+main() {
+ sshgw 'ip link add dev vcan0 type vcan && ip link set vcan0 up'
+ for i in $numjobs; do
+ cleanupgw
+ sshgw cangw -A -s can0 -d vcan0 -e -f 0:C00007FF
+ for j in `seq $i`; do
+ sshgw cangw -A -s vcan0 -d vcan0 -e -f $(printf %x:C00007FF $((j-1))) -m SET:I:$(printf %x $j).0.0000000000000000
+ done
+ sshgw cangw -A -s vcan0 -d can1 -f $(printf %x:C00007FF $i)
+
+ latester -d can0 -d can1 -d can2 -o -c $COUNT -i 0 -h hist-$i.dat -f time-$i.dat
+
+ echo
+ sshgw cangw -L
+
+ done
+ sshgw ip link del dev vcan0
+}
+
+plot_cmds() {
+ cat <<EOF
+set title "Chained GWs on a signle VCAN interface"
+set logscale y
+set grid
+set xlabel "Time [{/Symbol m}s]"
+set ylabel "Latency profile [messages]"
+plot [0:1500] [1:$COUNT] \\
+EOF
+ lt=1
+ for i in $numjobs; do
+ echo_plot "\"hist-$i.dat\" with lp lt $lt title \"$i GW jobs on vcan\""
+ lt=$((lt+1))
+ done
+}
+
+
+test_end