%C%#############################################################
%C%#                                                           #
%C%#               Configuration file for Dire Wolf            #
%C%#                                                           #
%L%#                   Linux version                           #
%W%#                   Windows version                         #
%M%#                   Macintosh version                       #
%C%#                                                           #
%C%#############################################################
%R%
%R%
%R%	The sample config file was getting pretty messy
%R%	with the Windows and Linux differences.
%R%	It would be a maintenance burden to keep most of
%R%	two different versions in sync.
%R%	This common source is now used to generate the
%R%	two different variations while having only a single
%R%	copy of the common parts.
%R%
%R%	The first column contains one of the following:
%R%
%R%		R	remark which is discarded.
%R%		C	common to both versions.
%R%		W	Windows version only.
%R%		L	Linux version only.
%R%		M	Macintosh version and possibly others (portaudio used).
%R%
%C%#
%C%# Extensive documentation can be found here:
%C%# Stable release -       https://github.com/wb2osz/direwolf/tree/master/doc
%C%# Latest development -   https://github.com/wb2osz/direwolf/tree/dev/doc
%C%# Additional topics -    https://github.com/wb2osz/direwolf-doc
%C%#
%W%# The basic documentation set can also be found in the doc folder.
%L%# The basic documentation set can also be found in
%L%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/
%L%# Concise "man" pages are also available for Linux.
%M%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/
%M%# Concise "man" pages are also available for Mac OSX.
%C%#
%C%# Questions???  Join the discussion forum:  https://groups.io/g/direwolf
%C%#
%C%#
%C%# This sample file does not have examples for all of the possibilities.
%C%# Consult the User Guide for more details on configuration options
%C%# and other documents for more details for different uses.
%C%#
%C%# These are the most likely settings you might change:
%C%#
%C%#	(1)   	MYCALL 	-  call sign and SSID for your station.
%C%#
%C%#			Look for lines starting with MYCALL and
%C%#			change NOCALL to your own.
%C%#
%C%#	(2)	PBEACON	-  enable position beaconing.
%C%#
%C%#			Look for lines starting with PBEACON and
%C%#			modify for your call, location, etc.
%C%#
%C%#	(3)	DIGIPEATER  -  configure digipeating rules.
%C%#
%C%#			Look for lines starting with DIGIPEATER.
%C%#			Most people will probably use the given example.
%C%#			Just remove the "#" from the start of the line
%C%#			to enable it.
%C%#
%C%#	(4)	IGSERVER, IGLOGIN  - IGate server and login
%C%#
%C%#			Configure an IGate client to relay messages between
%C%#			radio and internet servers.
%C%#
%C%#
%C%# The default location is "direwolf.conf" in the current working directory.
%L%# On Linux, the user's home directory will also be searched.
%C%# An alternate configuration file location can be specified with the "-c" command line option.
%C%#
%C%# As you probably guessed by now, # indicates a comment line.
%C%#
%C%# Remove the # at the beginning of a line if you want to use a sample
%C%# configuration that is currently commented out.
%C%#
%C%# Commands are a keyword followed by parameters.
%C%#
%C%# Command key words are case insensitive.  i.e. upper and lower case are equivalent.
%C%#
%C%# Command parameters are generally case sensitive.  i.e. upper and lower case are different.
%C%#
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               FIRST AUDIO DEVICE PROPERTIES               #
%C%#               (Channel 0 + 1 if in stereo)                #
%C%#                                                           #
%C%#############################################################
%C%
%C%#
%C%# Many people will simply use the default sound device.
%C%# Some might want to use an alternative device by choosing it here.
%C%#
%C%#
%C%# Many examples of radio interfaces and PTT options can be found in: 
%C%# https://github.com/wb2osz/direwolf-doc/blob/main/Radio-Interface-Guide.pdf
%C%#
%C%#
%R% ---------- Windows ----------
%R%
%W%# When the Windows version starts up, it displays something like
%W%# this with the available sound devices and capabilities:
%W%#
%W%#	Available audio input devices for receive (*=selected):
%W%#	   *  0: Microphone (C-Media USB Headpho   (channel 2)
%W%#	      1: Microphone (Bluetooth SCO Audio
%W%#	      2: Microphone (Bluetooth AV Audio)
%W%#	 *    3: Microphone (Realtek High Defini   (channels 0 & 1)
%W%#	Available audio output devices for transmit (*=selected):
%W%#	   *  0: Speakers (C-Media USB Headphone   (channel 2)
%W%#	      1: Speakers (Bluetooth SCO Audio)
%W%#	      2: Realtek Digital Output(Optical)
%W%#	      3: Speakers (Bluetooth AV Audio)
%W%#	 *    4: Speakers (Realtek High Definiti   (channels 0 & 1)
%W%#	      5: Realtek Digital Output (Realtek
%W%#
%W%# Example: To use the microphone and speaker connections on the
%W%# system board, either of these forms can be used:
%W%
%W%#ADEVICE High
%W%#ADEVICE  3 4
%W%
%W%
%W%# Example: To use the USB Audio, use a command like this with
%W%# the input and output device numbers.  (Remove the # comment character.)
%W%#ADEVICE USB
%W%
%W%# You can also use "-" or "stdin" to pipe stdout from
%W%# some other application such as a software defined radio.
%W%# "stdin" is not an audio device.  Don't use this unless you
%W%# understand what this means.  Read the User Guide.
%W%# You can also specify "UDP:" and an optional port for input.
%W%# Something different must be specified for output.
%W%
%W%# ADEVICE stdin 0
%W%# ADEVICE UDP:7355 0
%W%
%W%# The position in the list can change when devices (e.g. USB) are added and removed.
%W%# You can also specify devices by using part of the name.
%W%# Here is an example of specifying the USB Audio device.
%W%# This is case-sensitive.  Upper and lower case are not treated the same.
%W%
%W%#ADEVICE USB
%W%
%W%
%R% ---------- Linux ----------
%R%
%L%# Linux ALSA is complicated.  See User Guide for discussion.
%L%# To use something other than the default, generally use plughw
%L%# and a card number reported by "arecord -l" command.  Example:
%L%
%L%# ADEVICE  plughw:1,0
%L%
%L%# You can also use "-" or "stdin" to pipe stdout from
%L%# some other application such as a software defined radio.
%L%# "stdin" is not an audio device.  Don't use this unless you
%L%# understand what this means.  Read the User Guide.
%L%# You can also specify "UDP:" and an optional port for input.
%L%# Something different must be specified for output.
%L%
%L%# ADEVICE stdin plughw:1,0
%L%# ADEVICE UDP:7355 default
%L%
%R% ---------- Mac ----------
%R%
%M%# Macintosh Operating System uses portaudio driver for audio
%M%# input/output. Default device selection not available. User/OP
%M%# must configure the sound input/output option.  Note that
%M%# the device names can contain spaces.  In this case, the names
%M%# must be enclosed by quotes.
%M%#
%M%# Examples:
%M%#
%M%ADEVICE "Built-in Input" "Built-in Output"
%M%
%M%# ADEVICE  "USB Audio Codec:6"  "USB Audio Codec:5"
%M%#
%M%#
%M%# You can also use "-" or "stdin" to pipe stdout from
%M%# some other application such as a software defined radio.
%M%# "stdin" is not an audio device.  Don't use this unless you
%M%# understand what this means.  Read the User Guide.
%M%# You can also specify "UDP:" and an optional port for input.
%M%# Something different must be specified for output.
%M%
%M%# ADEVICE UDP:7355 default
%M%#
%C%
%C%#
%C%# Number of audio channels for this souncard:  1 (mono) or 2 (stereo).
%C%# 1 is the default so there is no need to specify it.
%C%#
%C%
%C%#ACHANNELS 2
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               SECOND AUDIO DEVICE PROPERTIES              #
%C%#               (Channel 2 + 3 if in stereo)                #
%C%#                                                           #
%C%#############################################################
%C%
%C%#ADEVICE1  ...
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               THIRD AUDIO DEVICE PROPERTIES               #
%C%#               (Channel 4 + 5 if in stereo)                #
%C%#                                                           #
%C%#############################################################
%C%
%C%#ADEVICE2  ...
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               CHANNEL 0 PROPERTIES                        #
%C%#                                                           #
%C%#############################################################
%C%
%C%CHANNEL 0
%C%
%C%#
%C%# The following MYCALL, MODEM, PTT, etc. configuration items
%C%# apply to the most recent CHANNEL.
%C%#
%C%
%C%#
%C%# Station identifier for this channel.
%C%# Multiple channels can have the same or different names.
%C%#
%C%# It can be up to 6 letters and digits with an optional ssid.
%C%# The APRS specification requires that it be upper case.
%C%#
%C%# Example (don't use this unless you are me):  MYCALL WB2OSZ-5
%C%#
%C%
%C%MYCALL N0CALL
%C%
%C%#
%C%# Pick a suitable modem speed based on your situation.
%C%#	1200 	Most common for VHF/UHF.  This is the default if not specified.
%C%#	2400	QPSK compatible with MFJ-2400, and probably PK232-2400 & KPC-2400.
%C%#	300	Low speed for HF SSB.  Default tones 1600 & 1800.
%C%#	EAS	Emergency Alert System (EAS) Specific Area Message Encoding (SAME).
%C%#	9600	G3RUH style - Can't use Microphone and Speaker connections.
%C%#	AIS	International system for tracking ships on VHF.
%C%#			Also uses 9600 bps so Speaker connection won't work.
%C%#
%C%# In most cases you can just specify the speed.  Examples:
%C%#
%C%
%C%MODEM 1200
%C%#MODEM 9600
%C%
%C%#
%C%# Many options are available for great flexibility.
%C%# See User Guide for details.
%C%#
%C%
%C%#
%C%# Uncomment line below to enable the DTMF decoder for this channel.
%C%#
%C%
%C%#DTMF
%C%
%C%# Push to Talk (PTT) can be confusing because there are so many different cases.
%C%# Radio-Interface-Guide.pdf  in  https://github.com/wb2osz/direwolf-doc
%C%# goes into detail about the various options.
%C%
%L%# If using a C-Media CM108/CM119 or similar USB Audio Adapter,
%L%# you can use a GPIO pin for PTT control. This is very convenient
%L%# because a single USB connection is used for both audio and PTT.
%L%# Example:
%L%
%L%#PTT CM108
%L%
%W%# If using a C-Media CM108/CM119 or similar USB Audio Adapter,
%W%# you can use a GPIO pin for PTT control. This is very convenient
%W%# because a single USB connection is used for both audio and PTT.
%W%# Example:
%W%
%W%#PTT CM108
%W%%C%#
%C%# The transmitter Push to Talk (PTT) control can be wired to a serial port
%C%# with a suitable interface circuit.  DON'T connect it directly!
%C%#
%C%# For the PTT command, specify the device and either RTS or DTR.
%C%# RTS or DTR may be preceded by "-" to invert the signal.
%C%# Both can be used for interfaces that want them driven with opposite polarity.
%C%#
%L%# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on.
%L%#
%C%
%C%#PTT COM1 RTS
%C%#PTT COM1 RTS -DTR
%L%#PTT /dev/ttyUSB0 RTS
%L%#PTT /dev/ttyUSB0 RTS -DTR
%C%
%L%#
%L%# On Linux, you can also use general purpose I/O pins if
%L%# your system is configured for user access to them.
%L%# This would apply mostly to microprocessor boards, not a regular PC.
%L%# See separate Raspberry Pi document for more details.
%L%# The number may be preceded by "-" to invert the signal.
%L%#
%L%
%L%#PTT GPIO 25
%L%
%C%# The Data Carrier Detect (DCD) signal can be sent to most of the same places
%C%# as the PTT signal.  This could be used to light up an LED like a normal TNC.
%C%
%C%#DCD COM1 -DTR
%L%#DCD GPIO 24
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               CHANNEL 1 PROPERTIES                        #
%C%#                                                           #
%C%#############################################################
%C%
%C%#CHANNEL 1
%C%
%C%#
%C%# Specify MYCALL, MODEM, PTT, etc. configuration items for
%C%# CHANNEL 1.   Repeat for any other channels.
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               TEXT TO SPEECH COMMAND FILE                 #
%C%#                                                           #
%C%#############################################################
%C%
%W%#SPEECH dwespeak.bat
%L%#SPEECH dwespeak.sh
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               VIRTUAL TNC SERVER PROPERTIES               #
%C%#                                                           #
%C%#############################################################
%C%
%C%#
%C%# Dire Wolf acts as a virtual TNC and can communicate with
%C%# client applications by different protocols:
%C%#
%C%#	- the "AGW TCPIP Socket Interface" - default port 8000
%C%#	- KISS protocol over TCP socket - default port 8001
%W%#	- KISS TNC via serial port
%L%#	- KISS TNC via pseudo terminal   (-p command line option)
%C%#
%C%
%C%AGWPORT 8000
%C%KISSPORT 8001
%C%
%W%#
%W%# Some applications are designed to operate with only a physical
%W%# TNC attached to a serial port.  For these, we provide a virtual serial
%W%# port that appears to be connected to a TNC.
%W%#
%W%# Take a look at the User Guide for instructions to set up
%W%# two virtual serial ports named COM3 and COM4 connected by
%W%# a null modem.
%W%#
%W%# Using the  configuration described, Dire Wolf will connect to
%W%# COM3 and the client application will use COM4.
%W%#
%W%# Uncomment following line to use this feature.
%W%
%W%#NULLMODEM COM3
%W%
%W%
%C%#
%C%# It is sometimes possible to recover frames with a bad FCS.
%C%# This is not a global setting.
%C%# It applies only the the most recent CHANNEL specified.
%C%#
%C%#	0 - Don't try to repair.  (default)
%C%#	1 - Attempt to fix single bit error.
%C%#
%C%
%C%#FIX_BITS 0
%C%
%C%#
%C%#############################################################
%C%#                                                           #
%C%#           FIXED POSIION BEACONING PROPERTIES              #
%C%#                                                           #
%C%#############################################################
%C%
%C%
%C%#
%C%# Beaconing is configured with these two commands:
%C%#
%C%#	PBEACON		- for a position report (usually yourself)
%C%#	OBEACON		- for an object report (usually some other entity)
%C%#
%C%# Each has a series of keywords and values for options.
%C%# See User Guide for details.
%C%#
%C%# Example:
%C%#
%C%# This results in a broadcast once every 10 minutes.
%C%# Every half hour, it can travel via one digipeater hop.
%C%# The others are kept local.
%C%#
%C%
%C%#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
%C%#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"
%C%#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"
%C%
%C%#
%C%# Did you know that APRS comments and messages can contain UTF-8 characters, not only plain ASCII?
%C%#
%C%#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"
%C%#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"
%C%#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"
%C%#
%C%# With UTM coordinates instead of latitude and longitude.
%C%
%C%#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178
%C%
%C%
%C%#
%C%# When the destination field is set to "SPEECH" the information part is
%C%# converted to speech rather than transmitted as a data frame.
%C%#
%C%
%C%#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm."
%C%
%C%# Similar for Morse code.  If SSID is specified, it is multiplied
%C%# by 2 to get speed in words per minute (WPM).
%C%
%C%#CBEACON dest="MORSE-6" info="de MYCALL"
%C%
%C%
%C%#
%C%# Modify for your particular situation before removing
%C%# the # comment character from the beginning of appropriate lines above.
%C%#
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#             APRS DIGIPEATER PROPERTIES                    #
%C%#                                                           #
%C%#############################################################
%C%
%C%#
%C%# For most common situations, use something like this by removing
%C%# the "#" from the beginning of the line below.
%C%#
%C%
%C%#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$
%C%
%C%# See User Guide and "APRS-Digipeaters.pdf" for more explanation of what
%C%# this means and how it can be customized for your particular needs.
%C%
%C%
%C%# Traditional connected mode packet radio uses a different
%C%# type of digipeating.  See User Guide for details.
%C%
%C%#############################################################
%C%#                                                           #
%C%#               INTERNET GATEWAY                            #
%C%#                                                           #
%C%#############################################################
%C%
%C%# First you need to specify the name of a Tier 2 server.
%C%# The current preferred way is to use one of these regional rotate addresses:
%C%
%C%#	noam.aprs2.net 		- for North America
%C%#	soam.aprs2.net		- for South America
%C%#	euro.aprs2.net		- for Europe and Africa
%C%#	asia.aprs2.net 		- for Asia
%C%#	aunz.aprs2.net		- for Oceania
%C%
%C%#IGSERVER noam.aprs2.net
%C%
%C%# You also need to specify your login name and passcode.
%C%# Contact the author if you can't figure out how to generate the passcode.
%C%
%C%#IGLOGIN WB2OSZ-5 123456
%C%
%C%# That's all you need for a receive only IGate which relays
%C%# messages from the local radio channel to the global servers.
%C%
%C%# Some might want to send an IGate client position directly to a server
%C%# without sending it over the air and relying on someone else to
%C%# forward it to an IGate server.  This is done by using sendto=IG rather
%C%# than a radio channel number. Overlay R for receive only, T for two way.
%C%# There is no need to send it as often as you would over the radio.
%C%
%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W
%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W
%C%
%C%
%C%# To relay messages from the Internet to radio, you need to add
%C%# one more option with the transmit channel number and a VIA path.
%C%
%C%#IGTXVIA 0 WIDE1-1,WIDE2-1
%C%
%C%
%C%# Finally, we don't want to flood the radio channel.
%C%# The IGate function will limit the number of packets transmitted
%C%# during 1 minute and 5 minute intervals.   If a limit would
%C%# be exceeded, the packet is dropped and message is displayed in red.
%C%# This might be low for APRS Thursday when there is abnormally high activity.
%C%
%C%IGTXLIMIT 6 10
%C%
%C%
%C%#############################################################
%C%#                                                           #
%C%#               APRStt GATEWAY                              #
%C%#                                                           #
%C%#############################################################
%C%
%C%#
%C%# Dire Wolf can receive DTMF (commonly known as Touch Tone)
%C%# messages and convert them to packet objects.
%C%#
%C%# See separate "APRStt-Implementation-Notes" document for details.
%C%#

