aboutsummaryrefslogtreecommitdiff
path: root/broccoli/script/livegraph.sh
blob: 67111bc03c5ea884a2a2447de2f4e6247b36202b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash

if [[ $# -ne 1 ]]
then
	echo "Reads the sensor.dat and distance.dat from a running Pasad"
	echo "instance and draws a graph from them."
	echo
	echo "Usage:"
	echo "    $0 SOURCE"
	echo "Arguments:"
	echo "    SOURCE    an expression such that SOURCE/sensor.dat and"
	echo "              SOURCE/distance.dat can be used as arguments for"
	echo "              scp (e. g. user@host:/path/to/files)"
	echo
	echo "Note: Use ssh-add to avoid typing your SSH passphrase every second"
	exit 1
fi

function plot() {
	scp -i /home/andreas/.ssh/pasadpi_rsa -P 8022 "${SCP_EXPR}/sensor.dat" "${SCP_EXPR}/distance.dat" .
	tail -1000 sensor.dat > sensor-1000.dat
	tail -1000 distance.dat > distance-1000.dat
	echo "set terminal png; set yrange [17000:17300]; set y2range [0:300]; set ytics nomirror; set y2tics nomirror; set title 'Midbro/PASAD demo'; set ylabel 'sensor value'; set y2label 'distance'; plot 'sensor-1000.dat' using 0:1 with line title 'sensor value', 'distance-1000.dat' using 0:1 axis x1y2 with line title 'distance'" | gnuplot > live-tmp.png
	mv live-tmp.png live.png
}

SCP_EXPR=$1

echo 0 > sensor.dat
echo 0 > distance.dat
plot
feh -x --reload 0.1 live.png &

while true
do
	sleep 0.1
	plot
done