#!/bin/sh

EXPECTED_ARGS=2
if [ $# -ne $EXPECTED_ARGS ]
then
  echo "Usage: `basename $0` duration-in-seconds location"
  exit $E_BADARGS
fi

LOCATION=$2

#frequencies=`wget -q -O - http://lux1.automata.se/packetbruecke/packetbruecke.conf|cut -d \  -f 3|sort|uniq`
frequencies=2413 2418 2423 2428 2433 2438 2443 2448 2453 2458 2463 2468 2473 2485
echo "Frequencies: ${frequencies}"


SERVER=localhost
DURATION=$1
TARGET=recordings/$LOCATION-
# som netcat versions doesn't honor -d, other needs it
NETCATOPTIONS=
#NETCATOPTIONS=-d

echo "starting recording"
for freq in $frequencies
do
    netcat $NETCATOPTIONS $SERVER $freq > $TARGET$freq 2>/dev/null &
    pids="$pids $!"
done
ok="1"
for pid in $pids
do
   ps -p $pid > /dev/null   
   result="$?"
   if [ "$?" -ne "0" ]  
   then 
       ok="0"
   fi
done
if [ "$ok" -eq "1" ]
then 
   echo "recording $DURATION seconds"
   sleep $DURATION
else
   echo "failed to start all processes - cancelling"
fi
echo "killing all processes"
for pid in $pids
do
    kill "$pid"
done
sleep 0.2
for pid in $pids
do
   ps -p $pid > /dev/null   
   result="$?"
   if [ "$?" -ne "0" ]  
   then 
      echo "slaying $pid that refused to die"
      kill -9 $pid 2>/dev/null
   fi
done

