Browse Source

reduced redundancy

pull/131/head
Pascal 3 years ago
parent
commit
20b8c4b627
4 changed files with 16 additions and 49 deletions
  1. +0
    -0
      receive_noaa.sh
  2. +2
    -2
      schedule.sh
  3. +0
    -44
      schedule_meteor.sh
  4. +14
    -3
      schedule_sat.sh

receive.sh → receive_noaa.sh View File


+ 2
- 2
schedule.sh View File

@@ -30,8 +30,8 @@ for i in $(atq | awk '{print $1}');do atrm "$i";done
if [ "$SCHEDULE_ISS" == "true" ]; then
"${NOAA_HOME}"/schedule_iss.sh "ISS (ZARYA)" 145.8000
fi
"${NOAA_HOME}"/schedule_meteor.sh "METEOR-M 2" 137.1000
#"${NOAA_HOME}"/schedule_meteor.sh "METEOR-M2 2" 137.9000 #Meteor M2-2 will never send LRPT again :(
"${NOAA_HOME}"/schedule_sat.sh "METEOR-M 2" 137.1000
#"${NOAA_HOME}"/schedule_sat.sh "METEOR-M2 2" 137.9000 #Meteor M2-2 will never send LRPT again :(
"${NOAA_HOME}"/schedule_sat.sh "NOAA 19" 137.1000
"${NOAA_HOME}"/schedule_sat.sh "NOAA 18" 137.9125
"${NOAA_HOME}"/schedule_sat.sh "NOAA 15" 137.6200

+ 0
- 44
schedule_meteor.sh View File

@@ -1,44 +0,0 @@
#!/bin/bash

### Run as a normal user
if [ $EUID -eq 0 ]; then
echo "This script shouldn't be run as root."
exit 1
fi

## import common lib
. "$HOME/.noaa.conf"
. "$NOAA_HOME/common.sh"

PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1)
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1)

var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1)

MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}')

log "Looking for passes of $1" INFO

while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do
log "Pass prediction for $1 in progress" "INFO"
START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4)
var1=$(echo "$PREDICTION_START" | cut -d " " -f 1)
var3=$(echo "$START_TIME" | cut -d " " -f 2 | cut -d ":" -f 3)
TIMER=$(expr "${var2}" - "${var1}" + "${var3}")
OUTDATE=$(date --date="TZ=\"UTC\" ${START_TIME}" +%Y%m%d-%H%M%S)

if [ "${MAXELEV}" -gt "${METEOR_MIN_ELEV}" ]; then
log "Pass at ${MAXELEV} is above ${METEOR_MIN_ELEV}, that is OK for me" "INFO"
SATNAME=$(echo "$1" | sed "s/ //g")
echo "${SATNAME}" "${OUTDATE}" "$MAXELEV"
echo "${NOAA_HOME}/receive_meteor.sh \"${1}\" $2 ${SATNAME}${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \
${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")"
sqlite3 $HOME/raspberry-noaa/panel.db "insert or replace into predict_passes (sat_name,pass_start,pass_end,max_elev,is_active) values (\"$SATNAME\",$var1,$var2,$MAXELEV,1);"
fi
NEXTPREDICT=$(expr "${var2}" + 60)
PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | head -1)
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | tail -1)
MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}')
var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1)
done


+ 14
- 3
schedule_sat.sh View File

@@ -18,15 +18,26 @@ fi
# $6 = Time to capture
# $7 = Satellite max elevation

if [[ "$1" == *"NOAA"* ]]; then
receive_script="receive_noaa.sh"
elif [[ "$1" == *"METEOR"* ]]; then
receive_script="receive_meteor.sh"
else
log "No recognized receive skript for satellite $1!" ERROR
return -1
fi

log "Looking for passes of $1" INFO

PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1)
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1)

[ -z "$PREDICTION_START" ] && log "predict did not return any values!" ERROR

var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1)

MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}')

log "Looking for passes of $1" INFO

while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do
START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4)
var1=$(echo "$PREDICTION_START" | cut -d " " -f 1)
@@ -37,7 +48,7 @@ while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do
if [ "${MAXELEV}" -gt "${SAT_MIN_ELEV}" ]; then
SATNAME=$(echo "$1" | sed "s/ //g")
echo "${SATNAME}" "${OUTDATE}" "$MAXELEV"
echo "${NOAA_HOME}/receive.sh \"${1}\" $2 ${SATNAME}-${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \
echo "${NOAA_HOME}/${receive_script}.sh \"${1}\" $2 ${SATNAME}-${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \
${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")"
sqlite3 $HOME/raspberry-noaa/panel.db "insert or replace into predict_passes (sat_name,pass_start,pass_end,max_elev,is_active) values (\"$SATNAME\",$var1,$var2,$MAXELEV, 1);"
else


Loading…
Cancel
Save