#!/bin/bash

# Capture raw data from all SkyNZ satellite multiplexes (transponders).

# Transponder frequencies (MHz)
declare -a DVB_S2_FREQS=(12290 12330 12370 12410 12455 12485 12530 12570 12610 12650 12690 12730)
#declare -a DVB_S_FREQS=(12519)

# Adapter number of DVB-S / DVB-S2 card.
DEFAULT_ADAPTER=7

# LNB frequency (MHz)
LNB_FREQ_MHz=10750

# Symbol rate
DEFAULT_SYMBOL_RATE=30000

# Number of seconds of raw data to capture from each mux.
CAPTURE_TIME=120

# Directory to store the capture files in.
CAPTURE_DIR="/mnt/lith/mnt/data/www2"

LOG_FILE=${CAPTURE_DIR}/skynz_mux_capture.txt

ISODATE=$(date -Idate)

./rotate.sh $LOG_FILE

if [ -e "$LOG_FILE" ] && [ -f "$LOG_FILE" ] ; then
    rm "$LOG_FILE"
fi

if [ "$1" != "" ]; then
    ADAPTER=$1
else
    ADAPTER=$DEFAULT_ADAPTER
fi

echo "Capturing raw data from all Sky NZ satellite transponders" >$LOG_FILE

for a in ${DVB_S2_FREQS[*]}; do
    echo "[[Capturing from $a MHz]]" | tee -a "$LOG_FILE"
    if [ "$a" == "12455" ] || [ "$a" == "12485" ]; then
	SYMBOL_RATE=22500
    else
	SYMBOL_RATE=$DEFAULT_SYMBOL_RATE
    fi
    tsp -I dvb \
	--adapter $ADAPTER \
	--lnb ${LNB_FREQ_MHz},${LNB_FREQ_MHz},99999 \
	--frequency ${a}000000 \
	--symbol-rate ${SYMBOL_RATE}000 \
	--polarity horizontal \
	--delivery-system DVB-S2 \
	--modulation 8-PSK \
	-P until --seconds $CAPTURE_TIME \
	-O file ${CAPTURE_DIR}/${ISODATE}_${a}.ts \
	2>&1 | tee -a $LOG_FILE
#	--roll-off 0.20 \
#	--fec-inner 3/5 \
done

#for a in ${DVB_S_FREQS[*]}; do
#    echo "[[Capturing from $a MHz]]" | tee -a "$LOG_FILE"
#    tsp -I dvb \
#	--adapter $ADAPTER \
#	--lnb ${LNB_FREQ_MHz},${LNB_FREQ_MHz},99999 \
#	--frequency ${a}000000 \
#	--symbol-rate ${SYMBOL_RATE}000 \
#	--fec-inner 3/4 \
#	--roll-off 0.35\
#	--polarity horizontal \
#	--delivery-system DVB-S \
#	--modulation QPSK \
#	-P until --seconds $CAPTURE_TIME \
#	-O file ${CAPTURE_DIR}/${ISODATE}_${a}.ts \
#	2>&1 | tee -a $LOG_FILE
#done
