1%C%#############################################################
2%C%#                                                           #
3%C%#               Configuration file for Dire Wolf            #
4%C%#                                                           #
5%L%#                   Linux version                           #
6%W%#                   Windows version                         #
7%M%#                   Macintosh version                       #
8%C%#                                                           #
9%C%#############################################################
10%R%
11%R%
12%R%	The sample config file was getting pretty messy
13%R%	with the Windows and Linux differences.
14%R%	It would be a maintenance burden to keep most of
15%R%	two different versions in sync.
16%R%	This common source is now used to generate the
17%R%	two different variations while having only a single
18%R%	copy of the common parts.
19%R%
20%R%	The first column contains one of the following:
21%R%
22%R%		R	remark which is discarded.
23%R%		C	common to both versions.
24%R%		W	Windows version only.
25%R%		L	Linux version only.
26%R%		M	Macintosh version and possibly others (portaudio used).
27%R%
28%C%#
29%C%# Extensive documentation can be found here:
30%C%# Stable release -       https://github.com/wb2osz/direwolf/tree/master/doc
31%C%# Latest development -   https://github.com/wb2osz/direwolf/tree/dev/doc
32%C%#
33%W%# The complete documentation set can also be found in the doc folder.
34%L%# The complete documentation set can also be found in
35%L%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/
36%L%# Concise "man" pages are also available for Linux.
37%M%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/
38%M%# Concise "man" pages are also available for Mac OSX.
39%C%#
40%C%# This sample file does not have examples for all of the possibilities.
41%C%# Consult the User Guide for more details on configuration options.%C%#
42%C%#
43%C%# These are the most likely settings you might change:
44%C%#
45%C%#	(1)   	MYCALL 	-  call sign and SSID for your station.
46%C%#
47%C%#			Look for lines starting with MYCALL and
48%C%#			change NOCALL to your own.
49%C%#
50%C%#	(2)	PBEACON	-  enable position beaconing.
51%C%#
52%C%#			Look for lines starting with PBEACON and
53%C%#			modify for your call, location, etc.
54%C%#
55%C%#	(3)	DIGIPEATER  -  configure digipeating rules.
56%C%#
57%C%#			Look for lines starting with DIGIPEATER.
58%C%#			Most people will probably use the given example.
59%C%#			Just remove the "#" from the start of the line
60%C%#			to enable it.
61%C%#
62%C%#	(4)	IGSERVER, IGLOGIN  - IGate server and login
63%C%#
64%C%#			Configure an IGate client to relay messages between
65%C%#			radio and internet servers.
66%C%#
67%C%#
68%C%# The default location is "direwolf.conf" in the current working directory.
69%L%# On Linux, the user's home directory will also be searched.
70%C%# An alternate configuration file location can be specified with the "-c" command line option.
71%C%#
72%C%# As you probably guessed by now, # indicates a comment line.
73%C%#
74%C%# Remove the # at the beginning of a line if you want to use a sample
75%C%# configuration that is currently commented out.
76%C%#
77%C%# Commands are a keyword followed by parameters.
78%C%#
79%C%# Command key words are case insensitive.  i.e. upper and lower case are equivalent.
80%C%#
81%C%# Command parameters are generally case sensitive.  i.e. upper and lower case are different.
82%C%#
83%C%
84%C%
85%C%#############################################################
86%C%#                                                           #
87%C%#               FIRST AUDIO DEVICE PROPERTIES               #
88%C%#               (Channel 0 + 1 if in stereo)                #
89%C%#                                                           #
90%C%#############################################################
91%C%
92%C%#
93%C%# Many people will simply use the default sound device.
94%C%# Some might want to use an alternative device by choosing it here.
95%C%#
96%R% ---------- Windows ----------
97%R%
98%W%# When the Windows version starts up, it displays something like
99%W%# this with the available sound devices and capabilities:
100%W%#
101%W%#	Available audio input devices for receive (*=selected):
102%W%#	   *  0: Microphone (C-Media USB Headpho   (channel 2)
103%W%#	      1: Microphone (Bluetooth SCO Audio
104%W%#	      2: Microphone (Bluetooth AV Audio)
105%W%#	 *    3: Microphone (Realtek High Defini   (channels 0 & 1)
106%W%#	Available audio output devices for transmit (*=selected):
107%W%#	   *  0: Speakers (C-Media USB Headphone   (channel 2)
108%W%#	      1: Speakers (Bluetooth SCO Audio)
109%W%#	      2: Realtek Digital Output(Optical)
110%W%#	      3: Speakers (Bluetooth AV Audio)
111%W%#	 *    4: Speakers (Realtek High Definiti   (channels 0 & 1)
112%W%#	      5: Realtek Digital Output (Realtek
113%W%#
114%W%# Example: To use the microphone and speaker connections on the
115%W%# system board, either of these forms can be used:
116%W%
117%W%#ADEVICE High
118%W%#ADEVICE  3 4
119%W%
120%W%
121%W%# Example: To use the USB Audio, use a command like this with
122%W%# the input and output device numbers.  (Remove the # comment character.)
123%W%#ADEVICE USB
124%W%
125%W%# You can also use "-" or "stdin" to pipe stdout from
126%W%# some other application such as a software defined radio.
127%W%# "stdin" is not an audio device.  Don't use this unless you
128%W%# understand what this means.  Read the User Guide.
129%W%# You can also specify "UDP:" and an optional port for input.
130%W%# Something different must be specified for output.
131%W%
132%W%# ADEVICE stdin 0
133%W%# ADEVICE UDP:7355 0
134%W%
135%W%# The position in the list can change when devices (e.g. USB) are added and removed.
136%W%# You can also specify devices by using part of the name.
137%W%# Here is an example of specifying the USB Audio device.
138%W%# This is case-sensitive.  Upper and lower case are not treated the same.
139%W%
140%W%#ADEVICE USB
141%W%
142%W%
143%R% ---------- Linux ----------
144%R%
145%L%# Linux ALSA is complicated.  See User Guide for discussion.
146%L%# To use something other than the default, generally use plughw
147%L%# and a card number reported by "arecord -l" command.  Example:
148%L%
149%L%# ADEVICE  plughw:1,0
150%L%
151%L%# You can also use "-" or "stdin" to pipe stdout from
152%L%# some other application such as a software defined radio.
153%L%# "stdin" is not an audio device.  Don't use this unless you
154%L%# understand what this means.  Read the User Guide.
155%L%# You can also specify "UDP:" and an optional port for input.
156%L%# Something different must be specified for output.
157%L%
158%L%# ADEVICE stdin plughw:1,0
159%L%# ADEVICE UDP:7355 default
160%L%
161%R% ---------- Mac ----------
162%R%
163%M%# Macintosh Operating System uses portaudio driver for audio
164%M%# input/output. Default device selection not available. User/OP
165%M%# must configure the sound input/output option.  Note that
166%M%# the device names can contain spaces.  In this case, the names
167%M%# must be enclosed by quotes.
168%M%#
169%M%# Examples:
170%M%#
171%M%ADEVICE "Built-in Input" "Built-in Output"
172%M%
173%M%# ADEVICE  "USB Audio Codec:6"  "USB Audio Codec:5"
174%M%#
175%M%#
176%M%# You can also use "-" or "stdin" to pipe stdout from
177%M%# some other application such as a software defined radio.
178%M%# "stdin" is not an audio device.  Don't use this unless you
179%M%# understand what this means.  Read the User Guide.
180%M%# You can also specify "UDP:" and an optional port for input.
181%M%# Something different must be specified for output.
182%M%
183%M%# ADEVICE UDP:7355 default
184%M%#
185%C%
186%C%#
187%C%# Number of audio channels for this souncard:  1 (mono) or 2 (stereo).
188%C%# 1 is the default so there is no need to specify it.
189%C%#
190%C%
191%C%#ACHANNELS 2
192%C%
193%C%
194%C%#############################################################
195%C%#                                                           #
196%C%#               SECOND AUDIO DEVICE PROPERTIES              #
197%C%#               (Channel 2 + 3 if in stereo)                #
198%C%#                                                           #
199%C%#############################################################
200%C%
201%C%#ADEVICE1  ...
202%C%
203%C%
204%C%#############################################################
205%C%#                                                           #
206%C%#               THIRD AUDIO DEVICE PROPERTIES               #
207%C%#               (Channel 4 + 5 if in stereo)                #
208%C%#                                                           #
209%C%#############################################################
210%C%
211%C%#ADEVICE2  ...
212%C%
213%C%
214%C%#############################################################
215%C%#                                                           #
216%C%#               CHANNEL 0 PROPERTIES                        #
217%C%#                                                           #
218%C%#############################################################
219%C%
220%C%CHANNEL 0
221%C%
222%C%#
223%C%# The following MYCALL, MODEM, PTT, etc. configuration items
224%C%# apply to the most recent CHANNEL.
225%C%#
226%C%
227%C%#
228%C%# Station identifier for this channel.
229%C%# Multiple channels can have the same or different names.
230%C%#
231%C%# It can be up to 6 letters and digits with an optional ssid.
232%C%# The APRS specification requires that it be upper case.
233%C%#
234%C%# Example (don't use this unless you are me):  MYCALL	WB2OSZ-5
235%C%#
236%C%
237%C%MYCALL N0CALL
238%C%
239%C%#
240%C%# Pick a suitable modem speed based on your situation.
241%C%#	1200 	Most common for VHF/UHF.  Default if not specified.
242%C%#	2400	QPSK compatible with MFJ-2400, and probably PK232-2400 & KPC-2400.
243%C%#	300	Low speed for HF SSB.  Default tones 1600 & 1800.
244%C%#	EAS	Emergency Alert System (EAS) Specific Area Message Encoding (SAME).
245%C%#	9600	G3RUH style - Can't use Microphone and Speaker connections.
246%C%#	AIS	International system for tracking ships on VHF.
247%C%#			Also uses 9600 bps so Speaker connection won't work.
248%C%#
249%C%# In most cases you can just specify the speed.  Examples:
250%C%#
251%C%
252%C%MODEM 1200
253%C%#MODEM 9600
254%C%
255%C%#
256%C%# Many options are available for great flexibility.
257%C%# See User Guide for details.
258%C%#
259%C%
260%C%#
261%C%# Uncomment line below to enable the DTMF decoder for this channel.
262%C%#
263%C%
264%C%#DTMF
265%C%
266%C%#
267%C%# If not using a VOX circuit, the transmitter Push to Talk (PTT)
268%C%# control is usually wired to a serial port with a suitable interface circuit.
269%C%# DON'T connect it directly!
270%C%#
271%C%# For the PTT command, specify the device and either RTS or DTR.
272%C%# RTS or DTR may be preceded by "-" to invert the signal.
273%C%# Both can be used for interfaces that want them driven with opposite polarity.
274%C%#
275%L%# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on.
276%L%#
277%C%
278%C%#PTT COM1 RTS
279%C%#PTT COM1 RTS -DTR
280%L%#PTT /dev/ttyUSB0 RTS
281%C%
282%L%#
283%L%# On Linux, you can also use general purpose I/O pins if
284%L%# your system is configured for user access to them.
285%L%# This would apply mostly to microprocessor boards, not a regular PC.
286%L%# See separate Raspberry Pi document for more details.
287%L%# The number may be preceded by "-" to invert the signal.
288%L%#
289%L%
290%L%#PTT GPIO 25
291%L%
292%C%# The Data Carrier Detect (DCD) signal can be sent to the same places
293%C%# as the PTT signal.  This could be used to light up an LED like a normal TNC.
294%C%
295%C%#DCD COM1 -DTR
296%L%#DCD GPIO 24
297%C%
298%C%
299%C%#############################################################
300%C%#                                                           #
301%C%#               CHANNEL 1 PROPERTIES                        #
302%C%#                                                           #
303%C%#############################################################
304%C%
305%C%#CHANNEL 1
306%C%
307%C%#
308%C%# Specify MYCALL, MODEM, PTT, etc. configuration items for
309%C%# CHANNEL 1.   Repeat for any other channels.
310%C%
311%C%
312%C%#############################################################
313%C%#                                                           #
314%C%#               TEXT TO SPEECH COMMAND FILE                 #
315%C%#                                                           #
316%C%#############################################################
317%C%
318%W%#SPEECH dwespeak.bat
319%L%#SPEECH dwespeak.sh
320%C%
321%C%
322%C%#############################################################
323%C%#                                                           #
324%C%#               VIRTUAL TNC SERVER PROPERTIES               #
325%C%#                                                           #
326%C%#############################################################
327%C%
328%C%#
329%C%# Dire Wolf acts as a virtual TNC and can communicate with
330%C%# client applications by different protocols:
331%C%#
332%C%#	- the "AGW TCPIP Socket Interface" - default port 8000
333%C%#	- KISS protocol over TCP socket - default port 8001
334%W%#	- KISS TNC via serial port
335%L%#	- KISS TNC via pseudo terminal   (-p command line option)
336%C%#
337%C%
338%C%AGWPORT 8000
339%C%KISSPORT 8001
340%C%
341%W%#
342%W%# Some applications are designed to operate with only a physical
343%W%# TNC attached to a serial port.  For these, we provide a virtual serial
344%W%# port that appears to be connected to a TNC.
345%W%#
346%W%# Take a look at the User Guide for instructions to set up
347%W%# two virtual serial ports named COM3 and COM4 connected by
348%W%# a null modem.
349%W%#
350%W%# Using the  configuration described, Dire Wolf will connect to
351%W%# COM3 and the client application will use COM4.
352%W%#
353%W%# Uncomment following line to use this feature.
354%W%
355%W%#NULLMODEM COM3
356%W%
357%W%
358%C%#
359%C%# It is sometimes possible to recover frames with a bad FCS.
360%C%# This applies to all channels.
361%C%#
362%C%#	0  [NONE] - Don't try to repair.
363%C%#	1  [SINGLE] - Attempt to fix single bit error.  (default)
364%C%#	... see User Guide for more values and in-depth discussion.
365%C%#
366%C%
367%C%#FIX_BITS 0
368%C%
369%C%#
370%C%#############################################################
371%C%#                                                           #
372%C%#           FIXED POSIION BEACONING PROPERTIES              #
373%C%#                                                           #
374%C%#############################################################
375%C%
376%C%
377%C%#
378%C%# Beaconing is configured with these two commands:
379%C%#
380%C%#	PBEACON		- for a position report (usually yourself)
381%C%#	OBEACON		- for an object report (usually some other entity)
382%C%#
383%C%# Each has a series of keywords and values for options.
384%C%# See User Guide for details.
385%C%#
386%C%# Example:
387%C%#
388%C%# This results in a broadcast once every 10 minutes.
389%C%# Every half hour, it can travel via two digipeater hops.
390%C%# The others are kept local.
391%C%#
392%C%
393%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,WIDE2-1
394%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"
395%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"
396%C%
397%C%
398%C%# With UTM coordinates instead of latitude and longitude.
399%C%
400%C%#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178
401%C%
402%C%
403%C%#
404%C%# When the destination field is set to "SPEECH" the information part is
405%C%# converted to speech rather than transmitted as a data frame.
406%C%#
407%C%
408%C%#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm."
409%C%
410%C%# Similar for Morse code.  If SSID is specified, it is multiplied
411%C%# by 2 to get speed in words per minute (WPM).
412%C%
413%C%#CBEACON dest="MORSE-6" info="de MYCALL"
414%C%
415%C%
416%C%#
417%C%# Modify for your particular situation before removing
418%C%# the # comment character from the beginning of appropriate lines above.
419%C%#
420%C%
421%C%
422%C%#############################################################
423%C%#                                                           #
424%C%#             APRS DIGIPEATER PROPERTIES                    #
425%C%#                                                           #
426%C%#############################################################
427%C%
428%C%#
429%C%# For most common situations, use something like this by removing
430%C%# the "#" from the beginning of the line below.
431%C%#
432%C%
433%C%#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE
434%C%
435%C%# See User Guide for more explanation of what this means and how
436%C%# it can be customized for your particular needs.
437%C%
438%C%# Filtering can be used to limit was is digipeated.
439%C%# For example, only weather weather reports, received on channel 0,
440%C%# will be retransmitted on channel 1.
441%C%#
442%C%
443%C%#FILTER 0 1 t/wn
444%C%
445%C%# Traditional connected mode packet radio uses a different
446%C%# type of digipeating.  See User Guide for details.
447%C%
448%C%#############################################################
449%C%#                                                           #
450%C%#               INTERNET GATEWAY                            #
451%C%#                                                           #
452%C%#############################################################
453%C%
454%C%# First you need to specify the name of a Tier 2 server.
455%C%# The current preferred way is to use one of these regional rotate addresses:
456%C%
457%C%#	noam.aprs2.net 		- for North America
458%C%#	soam.aprs2.net		- for South America
459%C%#	euro.aprs2.net		- for Europe and Africa
460%C%#	asia.aprs2.net 		- for Asia
461%C%#	aunz.aprs2.net		- for Oceania
462%C%
463%C%#IGSERVER noam.aprs2.net
464%C%
465%C%# You also need to specify your login name and passcode.
466%C%# Contact the author if you can't figure out how to generate the passcode.
467%C%
468%C%#IGLOGIN WB2OSZ-5 123456
469%C%
470%C%# That's all you need for a receive only IGate which relays
471%C%# messages from the local radio channel to the global servers.
472%C%
473%C%# Some might want to send an IGate client position directly to a server
474%C%# without sending it over the air and relying on someone else to
475%C%# forward it to an IGate server.  This is done by using sendto=IG rather
476%C%# than a radio channel number. Overlay R for receive only, T for two way.
477%C%
478%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W
479%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W
480%C%
481%C%
482%C%# To relay messages from the Internet to radio, you need to add
483%C%# one more option with the transmit channel number and a VIA path.
484%C%
485%C%#IGTXVIA 0 WIDE1-1
486%C%
487%C%
488%C%# Finally, we don't want to flood the radio channel.
489%C%# The IGate function will limit the number of packets transmitted
490%C%# during 1 minute and 5 minute intervals.   If a limit would
491%C%# be exceeded, the packet is dropped and message is displayed in red.
492%C%
493%C%IGTXLIMIT 6 10
494%C%
495%C%
496%C%#############################################################
497%C%#                                                           #
498%C%#               APRStt GATEWAY                              #
499%C%#                                                           #
500%C%#############################################################
501%C%
502%C%#
503%C%# Dire Wolf can receive DTMF (commonly known as Touch Tone)
504%C%# messages and convert them to packet objects.
505%C%#
506%C%# See separate "APRStt-Implementation-Notes" document for details.
507%C%#
508%C%
509%C%#
510%C%# Sample gateway configuration based on:
511%C%#
512%C%#	http://www.aprs.org/aprstt/aprstt-coding24.txt
513%C%#	http://www.aprs.org/aprs-jamboree-2013.html
514%C%#
515%C%
516%C%# Define specific points.
517%C%
518%C%TTPOINT  B01  37^55.37N  81^7.86W
519%C%TTPOINT  B7495088  42.605237  -71.34456
520%C%TTPOINT  B934  42.605237  -71.34456
521%C%
522%C%TTPOINT B901  42.661279  -71.364452
523%C%TTPOINT B902  42.660411  -71.364419
524%C%TTPOINT B903  42.659046  -71.364452
525%C%TTPOINT B904  42.657578  -71.364602
526%C%
527%C%
528%C%# For location at given bearing and distance from starting point.
529%C%
530%C%TTVECTOR  B5bbbddd  37^55.37N  81^7.86W  0.01  mi
531%C%
532%C%# For location specified by x, y coordinates.
533%C%
534%C%TTGRID   Byyyxxx    37^50.00N  81^00.00W  37^59.99N  81^09.99W
535%C%
536%C%# UTM location for Lowell-Dracut-Tyngsborough State Forest.
537%C%
538%C%TTUTM  B6xxxyyy  19T  10  300000  4720000
539%C%
540%C%
541%C%
542%C%# Location for the corral.
543%C%
544%C%TTCORRAL   37^55.50N  81^7.00W  0^0.02N
545%C%
546%C%# Compact messages - Fixed locations xx and object yyy where
547%C%#   	Object numbers 100 - 199	= bicycle
548%C%#	Object numbers 200 - 299	= fire truck
549%C%#	Others				= dog
550%C%
551%C%TTMACRO  xx1yy  B9xx*AB166*AA2B4C5B3B0A1yy
552%C%TTMACRO  xx2yy  B9xx*AB170*AA3C4C7C3B0A2yy
553%C%TTMACRO  xxyyy  B9xx*AB180*AA3A6C4A0Ayyy
554%C%
555%C%TTMACRO  z  Cz
556%C%
557%C%# Receive on channel 0, Transmit object reports on channel 1 with optional via path.
558%C%# You probably want to put in a transmit delay on the APRStt channel so it
559%C%# it doesn't start sending a response before the user releases PTT.
560%C%# This is in 10 ms units so 100 means 1000 ms = 1 second.
561%C%
562%C%#TTOBJ 0 1 WIDE1-1
563%C%#CHANNEL 0
564%C%#DWAIT 100
565%C%
566%C%# Advertise gateway position with beacon.
567%C%
568%C%# 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"
569%C%
570%C%
571%C%# Sample speech responses.
572%C%# Default is Morse code "R" for received OK and "?" for all errors.
573%C%
574%C%#TTERR  OK               SPEECH  Message Received.
575%C%#TTERR  D_MSG            SPEECH  D not implemented.
576%C%#TTERR  INTERNAL         SPEECH  Internal error.
577%C%#TTERR  MACRO_NOMATCH    SPEECH  No definition for digit sequence.
578%C%#TTERR  BAD_CHECKSUM     SPEECH  Bad checksum on call.
579%C%#TTERR  INVALID_CALL     SPEECH  Invalid callsign.
580%C%#TTERR  INVALID_OBJNAME  SPEECH  Invalid object name.
581%C%#TTERR  INVALID_SYMBOL   SPEECH  Invalid symbol.
582%C%#TTERR  INVALID_LOC      SPEECH  Invalid location.
583%C%#TTERR  NO_CALL          SPEECH  No call or object name.
584%C%#TTERR  SATSQ            SPEECH  Satellite square must be 4 digits.
585%C%#TTERR  SUFFIX_NO_CALL   SPEECH  Send full call before using suffix.
586%C%