#############################################################
#                                                           #
#               Configuration file for Dire Wolf            #
#                                                           #
#                   Linux version                           #
#                                                           #
#############################################################
#
# Extensive documentation can be found here:
# Stable release -       https://github.com/wb2osz/direwolf/tree/master/doc
# Latest development -   https://github.com/wb2osz/direwolf/tree/dev/doc
# Additional topics -    https://github.com/wb2osz/direwolf-doc
#
# The basic documentation set can also be found in
# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/
# Concise "man" pages are also available for Linux.
#
# Questions???  Join the discussion forum:  https://groups.io/g/direwolf
#
#
# This sample file does not have examples for all of the possibilities.
# Consult the User Guide for more details on configuration options
# and other documents for more details for different uses.
#
# These are the most likely settings you might change:
#
#	(1)   	MYCALL 	-  call sign and SSID for your station.
#
#			Look for lines starting with MYCALL and
#			change NOCALL to your own.
#
#	(2)	PBEACON	-  enable position beaconing.
#
#			Look for lines starting with PBEACON and
#			modify for your call, location, etc.
#
#	(3)	DIGIPEATER  -  configure digipeating rules.
#
#			Look for lines starting with DIGIPEATER.
#			Most people will probably use the given example.
#			Just remove the "#" from the start of the line
#			to enable it.
#
#	(4)	IGSERVER, IGLOGIN  - IGate server and login
#
#			Configure an IGate client to relay messages between
#			radio and internet servers.
#
#
# The default location is "direwolf.conf" in the current working directory.
# On Linux, the user's home directory will also be searched.
# An alternate configuration file location can be specified with the "-c" command line option.
#
# As you probably guessed by now, # indicates a comment line.
#
# Remove the # at the beginning of a line if you want to use a sample
# configuration that is currently commented out.
#
# Commands are a keyword followed by parameters.
#
# Command key words are case insensitive.  i.e. upper and lower case are equivalent.
#
# Command parameters are generally case sensitive.  i.e. upper and lower case are different.
#


#############################################################
#                                                           #
#               FIRST AUDIO DEVICE PROPERTIES               #
#               (Channel 0 + 1 if in stereo)                #
#                                                           #
#############################################################

#
# Many people will simply use the default sound device.
# Some might want to use an alternative device by choosing it here.
#
# Linux ALSA is complicated.  See User Guide for discussion.
# To use something other than the default, generally use plughw
# and a card number reported by "arecord -l" command.  Example:

# ADEVICE  plughw:1,0

# You can also use "-" or "stdin" to pipe stdout from
# some other application such as a software defined radio.
# "stdin" is not an audio device.  Don't use this unless you
# understand what this means.  Read the User Guide.
# You can also specify "UDP:" and an optional port for input.
# Something different must be specified for output.

# ADEVICE stdin plughw:1,0
# ADEVICE UDP:7355 default


#
# Number of audio channels for this souncard:  1 (mono) or 2 (stereo).
# 1 is the default so there is no need to specify it.
#

#ACHANNELS 2


#############################################################
#                                                           #
#               SECOND AUDIO DEVICE PROPERTIES              #
#               (Channel 2 + 3 if in stereo)                #
#                                                           #
#############################################################

#ADEVICE1  ...


#############################################################
#                                                           #
#               THIRD AUDIO DEVICE PROPERTIES               #
#               (Channel 4 + 5 if in stereo)                #
#                                                           #
#############################################################

#ADEVICE2  ...


#############################################################
#                                                           #
#               CHANNEL 0 PROPERTIES                        #
#                                                           #
#############################################################

CHANNEL 0

#
# The following MYCALL, MODEM, PTT, etc. configuration items
# apply to the most recent CHANNEL.
#

#
# Station identifier for this channel.
# Multiple channels can have the same or different names.
#
# It can be up to 6 letters and digits with an optional ssid.
# The APRS specification requires that it be upper case.
#
# Example (don't use this unless you are me):  MYCALL WB2OSZ-5
#

MYCALL N0CALL

#
# Pick a suitable modem speed based on your situation.
#	1200 	Most common for VHF/UHF.  This is the default if not specified.
#	2400	QPSK compatible with MFJ-2400, and probably PK232-2400 & KPC-2400.
#	300	Low speed for HF SSB.  Default tones 1600 & 1800.
#	EAS	Emergency Alert System (EAS) Specific Area Message Encoding (SAME).
#	9600	G3RUH style - Can't use Microphone and Speaker connections.
#	AIS	International system for tracking ships on VHF.
#			Also uses 9600 bps so Speaker connection won't work.
#
# In most cases you can just specify the speed.  Examples:
#

MODEM 1200
#MODEM 9600

#
# Many options are available for great flexibility.
# See User Guide for details.
#

#
# Uncomment line below to enable the DTMF decoder for this channel.
#

#DTMF

# Push to Talk (PTT) can be confusing because there are so many different cases.
# Radio-Interface-Guide.pdf  in  https://github.com/wb2osz/direwolf-doc
# goes into detail about the various options.

# If using a C-Media CM108/CM119 or similar USB Audio Adapter,
# you can use a GPIO pin for PTT control. This is very convenient
# because a single USB connection is used for both audio and PTT.
# Example:

#PTT CM108

# The transmitter Push to Talk (PTT) control can be wired to a serial port
# with a suitable interface circuit.  DON'T connect it directly!
#
# For the PTT command, specify the device and either RTS or DTR.
# RTS or DTR may be preceded by "-" to invert the signal.
# Both can be used for interfaces that want them driven with opposite polarity.
#
# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on.
#

#PTT COM1 RTS
#PTT COM1 RTS -DTR
#PTT /dev/ttyUSB0 RTS
#PTT /dev/ttyUSB0 RTS -DTR

#
# On Linux, you can also use general purpose I/O pins if
# your system is configured for user access to them.
# This would apply mostly to microprocessor boards, not a regular PC.
# See separate Raspberry Pi document for more details.
# The number may be preceded by "-" to invert the signal.
#

#PTT GPIO 25

# The Data Carrier Detect (DCD) signal can be sent to most of the same places
# as the PTT signal.  This could be used to light up an LED like a normal TNC.

#DCD COM1 -DTR
#DCD GPIO 24


#############################################################
#                                                           #
#               CHANNEL 1 PROPERTIES                        #
#                                                           #
#############################################################

#CHANNEL 1

#
# Specify MYCALL, MODEM, PTT, etc. configuration items for
# CHANNEL 1.   Repeat for any other channels.


#############################################################
#                                                           #
#               TEXT TO SPEECH COMMAND FILE                 #
#                                                           #
#############################################################

#SPEECH dwespeak.sh


#############################################################
#                                                           #
#               VIRTUAL TNC SERVER PROPERTIES               #
#                                                           #
#############################################################

#
# Dire Wolf acts as a virtual TNC and can communicate with
# client applications by different protocols:
#
#	- the "AGW TCPIP Socket Interface" - default port 8000
#	- KISS protocol over TCP socket - default port 8001
#	- KISS TNC via pseudo terminal   (-p command line option)
#

AGWPORT 8000
KISSPORT 8001

#
# It is sometimes possible to recover frames with a bad FCS.
# This is not a global setting.
# It applies only the the most recent CHANNEL specified.
#
#	0 - Don't try to repair.
#	1 - Attempt to fix single bit error.  (default)
#

#FIX_BITS 0

#
#############################################################
#                                                           #
#           FIXED POSIION BEACONING PROPERTIES              #
#                                                           #
#############################################################


#
# Beaconing is configured with these two commands:
#
#	PBEACON		- for a position report (usually yourself)
#	OBEACON		- for an object report (usually some other entity)
#
# Each has a series of keywords and values for options.
# See User Guide for details.
#
# Example:
#
# This results in a broadcast once every 10 minutes.
# Every half hour, it can travel via one digipeater hop.
# The others are kept local.
#

#PBEACON delay=1  every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA" via=WIDE1-1
#PBEACON delay=11 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA"
#PBEACON delay=21 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA"

#
# Did you know that APRS comments and messages can contain UTF-8 characters, not only plain ASCII?
#
#PBEACON delay=1  every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters?   \xe0\xb8\xa7\xe0\xb8\xb4\xe0\xb8\x97\xe0\xb8\xa2\xe0\xb8\xb8\xe0\xb8\xaa\xe0\xb8\xa1\xe0\xb8\xb1\xe0\xb8\x84\xe0\xb8\xa3\xe0\xb9\x80\xe0\xb8\xa5\xe0\xb9\x88\xe0\xb8\x99"
#PBEACON delay=11 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters?   \xce\xa1\xce\xb1\xce\xb4\xce\xb9\xce\xbf\xce\xb5\xcf\x81\xce\xb1\xcf\x83\xce\xb9\xcf\x84\xce\xb5\xcf\x87\xce\xbd\xce\xb9\xcf\x83\xce\xbc\xcf\x8c\xcf\x82"
#PBEACON delay=21 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters?   \xe3\x82\xa2\xe3\x83\x9e\xe3\x83\x81\xe3\x83\xa5\xe3\x82\xa2\xe7\x84\xa1\xe7\xb7\x9a"
#
# With UTM coordinates instead of latitude and longitude.

#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178


#
# When the destination field is set to "SPEECH" the information part is
# converted to speech rather than transmitted as a data frame.
#

#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm."

# Similar for Morse code.  If SSID is specified, it is multiplied
# by 2 to get speed in words per minute (WPM).

#CBEACON dest="MORSE-6" info="de MYCALL"


#
# Modify for your particular situation before removing
# the # comment character from the beginning of appropriate lines above.
#


#############################################################
#                                                           #
#             APRS DIGIPEATER PROPERTIES                    #
#                                                           #
#############################################################

#
# For most common situations, use something like this by removing
# the "#" from the beginning of the line below.
#

#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE

# See User Guide for more explanation of what this means and how
# it can be customized for your particular needs.


# Traditional connected mode packet radio uses a different
# type of digipeating.  See User Guide for details.

#############################################################
#                                                           #
#               INTERNET GATEWAY                            #
#                                                           #
#############################################################

# First you need to specify the name of a Tier 2 server.
# The current preferred way is to use one of these regional rotate addresses:

#	noam.aprs2.net 		- for North America
#	soam.aprs2.net		- for South America
#	euro.aprs2.net		- for Europe and Africa
#	asia.aprs2.net 		- for Asia
#	aunz.aprs2.net		- for Oceania

#IGSERVER noam.aprs2.net

# You also need to specify your login name and passcode.
# Contact the author if you can't figure out how to generate the passcode.

#IGLOGIN WB2OSZ-5 123456

# That's all you need for a receive only IGate which relays
# messages from the local radio channel to the global servers.

# Some might want to send an IGate client position directly to a server
# without sending it over the air and relying on someone else to
# forward it to an IGate server.  This is done by using sendto=IG rather
# than a radio channel number. Overlay R for receive only, T for two way.
# There is no need to send it as often as you would over the radio.

#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W
#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W


# To relay messages from the Internet to radio, you need to add
# one more option with the transmit channel number and a VIA path.

#IGTXVIA 0 WIDE1-1


# Finally, we don't want to flood the radio channel.
# The IGate function will limit the number of packets transmitted
# during 1 minute and 5 minute intervals.   If a limit would
# be exceeded, the packet is dropped and message is displayed in red.
# This might be low for APRS Thursday when there is abnormally high activity.

IGTXLIMIT 6 10


#############################################################
#                                                           #
#               APRStt GATEWAY                              #
#                                                           #
#############################################################

#
# Dire Wolf can receive DTMF (commonly known as Touch Tone)
# messages and convert them to packet objects.
#
# See separate "APRStt-Implementation-Notes" document for details.
#

#
# Sample gateway configuration based on:
#
#	http://www.aprs.org/aprstt/aprstt-coding24.txt
#	http://www.aprs.org/aprs-jamboree-2013.html
#

# Define specific points.

TTPOINT  B01  37^55.37N  81^7.86W
TTPOINT  B7495088  42.605237  -71.34456
TTPOINT  B934  42.605237  -71.34456

TTPOINT B901  42.661279  -71.364452
TTPOINT B902  42.660411  -71.364419
TTPOINT B903  42.659046  -71.364452
TTPOINT B904  42.657578  -71.364602


# For location at given bearing and distance from starting point.

TTVECTOR  B5bbbddd  37^55.37N  81^7.86W  0.01  mi

# For location specified by x, y coordinates.

TTGRID   Byyyxxx    37^50.00N  81^00.00W  37^59.99N  81^09.99W

# UTM location for Lowell-Dracut-Tyngsborough State Forest.

TTUTM  B6xxxyyy  19T  10  300000  4720000



# Location for the corral.

TTCORRAL   37^55.50N  81^7.00W  0^0.02N

# Compact messages - Fixed locations xx and object yyy where
#   	Object numbers 100 - 199	= bicycle
#	Object numbers 200 - 299	= fire truck
#	Others				= dog

TTMACRO  xx1yy  B9xx*AB166*AA2B4C5B3B0A1yy
TTMACRO  xx2yy  B9xx*AB170*AA3C4C7C3B0A2yy
TTMACRO  xxyyy  B9xx*AB180*AA3A6C4A0Ayyy

TTMACRO  z  Cz

# Receive on channel 0, Transmit object reports on channel 1 with optional via path.
# You probably want to put in a transmit delay on the APRStt channel so it
# it doesn't start sending a response before the user releases PTT.
# This is in 10 ms units so 100 means 1000 ms = 1 second.

#TTOBJ 0 1 WIDE1-1
#CHANNEL 0
#DWAIT 100

# Advertise gateway position with beacon.

# OBEACON DELAY=0:15 EVERY=10:00 VIA=WIDE1-1 OBJNAME=WB2OSZ-tt SYMBOL=APRStt LAT=42^37.14N LONG=71^20.83W COMMENT="APRStt Gateway"


# Sample speech responses.
# Default is Morse code "R" for received OK and "?" for all errors.

#TTERR  OK               SPEECH  Message Received.
#TTERR  D_MSG            SPEECH  D not implemented.
#TTERR  INTERNAL         SPEECH  Internal error.
#TTERR  MACRO_NOMATCH    SPEECH  No definition for digit sequence.
#TTERR  BAD_CHECKSUM     SPEECH  Bad checksum on call.
#TTERR  INVALID_CALL     SPEECH  Invalid callsign.
#TTERR  INVALID_OBJNAME  SPEECH  Invalid object name.
#TTERR  INVALID_SYMBOL   SPEECH  Invalid symbol.
#TTERR  INVALID_LOC      SPEECH  Invalid location.
#TTERR  NO_CALL          SPEECH  No call or object name.
#TTERR  SATSQ            SPEECH  Satellite square must be 4 digits.
#TTERR  SUFFIX_NO_CALL   SPEECH  Send full call before using suffix.
