Incomming messages from APRSIS are now acknowledged if needed.

master
marcel 3 years ago
parent 525aa3cc0a
commit f9d0324509
  1. 28
      aprs_utils/process_aprs_messages.sh
  2. 6
      aprs_utils/send_message.sh

@ -213,6 +213,34 @@ while read LINE
#/usr/sbin/beacon -d "$APRS_HEADER" -s ax1 "$APRS_FRAME"
/usr/sbin/beacon "${args[@]}"
# Message on port aprsis, send ack on LoRa as this channel has the most iGATEs
elif [ $PORT == "aprsis" ]; then
# Local (own) stations do not need to be digipeated
if [ $OWN_CALL ]; then
APRS_HEADER="APRX29"
APRS_FRAME="::$FORMATTED_CALL:ack$ACKNOWLEDGE_NUMBER"
args[0]=-d
args[1]="APRX29"
args[2]=-s
args[3]=ax2
args[4]=":$FORMATTED_CALL:ack$ACKNOWLEDGE_NUMBER"
# Everyone else is digipeated
else
APRS_HEADER="APRX29 WIDE2-2"
APRS_FRAME="::$FORMATTED_CALL:ack$ACKNOWLEDGE_NUMBER"
args[0]=-d
args[1]="APRX29 WIDE2-2"
args[2]=-s
args[3]=ax2
args[4]=":$FORMATTED_CALL:ack$ACKNOWLEDGE_NUMBER"
fi
# use beacon to send acknowledge frame
#echo "/usr/sbin/beacon -d '$APRS_HEADER' -s ax1 '$APRS_FRAME'"
#/usr/sbin/beacon -d "$APRS_HEADER" -s ax1 "$APRS_FRAME"
/usr/sbin/beacon "${args[@]}"
fi
fi

@ -88,7 +88,7 @@ CURRENT_DATE_TIME=$(date +"%Y-%m-%d %H:%M:%S")
if [ "$Interface" == "ax0" ]; then
# Log message
echo "$CURRENT_DATE_TIME,ax0,$Call,APRX29,$Message" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
echo "$CURRENT_DATE_TIME,ax0,$Call,APRX29,\"$Message\"" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
# if call is less than 9 characters, add spaces at the end (according to the APRS protocol)
printf -v Call %-9.9s "$Call"
@ -103,7 +103,7 @@ if [ "$Interface" == "ax0" ]; then
elif [ "$Interface" == "ax1" ]; then
# Log message
echo "$CURRENT_DATE_TIME,ax1,$Call,APRX29,$Message" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
echo "$CURRENT_DATE_TIME,ax1,$Call,APRX29,\"$Message\"" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
# if call is less than 9 characters, add spaces at the end (according to the APRS protocol)
printf -v Call %-9.9s "$Call"
@ -129,7 +129,7 @@ elif [ "$Interface" == "ax1" ]; then
/usr/sbin/beacon "${args[@]}"
elif [ "$Interface" == "ax2" ]; then
# Log message
echo "$CURRENT_DATE_TIME,ax2,$Call,APRX29,$Message" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
echo "$CURRENT_DATE_TIME,ax2,$Call,APRX29,\"$Message\"" >> $APRS_RECEIVED_MESSAGES_DIR$MESSAGE_FILE
# if call is less than 9 characters, add spaces at the end (according to the APRS protocol)
printf -v Call %-9.9s "$Call"

Loading…
Cancel
Save