Skip to content

Commit b5d1d1c

Browse files
committed
Version 1.1
modified: .gitattributes modified: APRStt-Implementation-Notes.pdf modified: CHANGES.txt modified: Makefile.linux modified: Makefile.win new file: Raspberry-Pi-APRS-Tracker.pdf modified: Raspberry-Pi-APRS.pdf modified: User-Guide.pdf modified: aclients.c modified: aprs_tt.c modified: aprs_tt.h modified: atest.c modified: audio.c modified: audio.h modified: audio_win.c modified: ax25_pad.c modified: ax25_pad.h modified: beacon.c modified: beacon.h modified: config.c modified: config.h modified: decode_aprs.c modified: decode_aprs.h modified: demod_afsk.c modified: digipeater.c modified: digipeater.h modified: direwolf.c modified: direwolf.conf modified: direwolf.h modified: dsp.c modified: dwgps.c modified: encode_aprs.c modified: encode_aprs.h modified: fsk_demod_state.h new file: grm_sym.h modified: hdlc_rec.c modified: hdlc_rec2.c modified: hdlc_rec2.h modified: kiss.c modified: kiss_frame.c modified: kiss_frame.h modified: kissnet.c modified: latlong.c modified: latlong.h new file: log.c new file: log.h new file: log2gpx.c new file: mgn_icon.h modified: misc/README-dire-wolf.txt modified: multi_modem.c new file: nmea.c new file: nmea.h modified: ptt.c modified: rdq.c modified: regex/README-dire-wolf.txt new file: rpack.h modified: rrbb.c modified: rrbb.h modified: server.c modified: symbols-new.txt modified: symbols.c modified: symbolsX.txt new file: telemetry.c new file: telemetry.h modified: textcolor.c modified: tocalls.txt modified: utm/README.txt modified: version.h modified: xmit.c modified: xmit.h
1 parent 8978f2d commit b5d1d1c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+9338
-2255
lines changed

.gitattributes

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,18 @@
1515
*.PDF diff=astextplain
1616
*.rtf diff=astextplain
1717
*.RTF diff=astextplain
18+
19+
# My rules to remove any doubt
20+
21+
*.c text
22+
*.cpp text
23+
*.h text
24+
*.pl text
25+
Makefile* text
26+
*.txt text
27+
*.desktop text
28+
*.conf text
29+
*.rc text
30+
31+
*.ico binary
32+
*.png binary

APRStt-Implementation-Notes.pdf

419 Bytes
Binary file not shown.

CHANGES.txt

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,78 @@ Revision history
33
----------------
44

55

6+
-----------
7+
Version 1.1 -- December 2014
8+
-----------
9+
10+
* Changes since beta test version.
11+
12+
It is still highly recommended, but no longer mandatory, that
13+
beaconing be enabled for digipeating to work.
14+
15+
16+
* Known problems.
17+
18+
Sometimes kissattach fails to connect with "direwolf -p".
19+
The User Guide and Raspberry Pi APRS document have a couple work-arounds.
20+
21+
22+
23+
-----------
24+
Version 1.1 -- Beta Test 1 -- November 2014
25+
-----------
26+
27+
* New Features:
28+
29+
Logging of received packets and utility to convert log file
30+
into GPX format.
31+
32+
AGW network port formerly allowed only one connection at a
33+
time. It can now accept 3 client applications at the same time.
34+
(Same has not yet been done for network KISS port.)
35+
36+
Frequency / offset / tone standard formats are now recognized.
37+
Non-standard attempts, in the comment, are often detected and
38+
a message suggests the correct format.
39+
40+
Telemetry is now recognized. Messages are printed for
41+
usage that does not adhere to the published standard.
42+
43+
Tracker function transmits location from GPS position.
44+
New configuration file options: TBEACON and SMARTBEACONING.
45+
(For Linux only. Warning - has not been well tested.)
46+
47+
Experimental packet regeneration feature for HF use.
48+
Will be documented later if proves to be useful...
49+
50+
Several enhancements for trying to fix incorrect CRC.
51+
- Additional types of attempts to fix a bad CRC.
52+
- Optimized code to reduce execution time.
53+
- Improved detection of duplicate packets from different fixup attempts.
54+
- Set limit on number of packets in fix up later queue.
55+
56+
Beacon positions can be specified in either latitude / longitude
57+
or UTM coordinates.
58+
59+
60+
* Bugs fixed:
61+
62+
For Windows version, maximum serial port was COM9.
63+
It is now possible to use COM10 and higher.
64+
65+
Fixed issue with KISS protocol decoder state that showed up
66+
only with "binary" data in packets (e.g. RMS Express).
67+
68+
An extra 00 byte was being appended to packets from AGW
69+
network protocol 'K' messages.
70+
71+
Invalid data from an AGW client application could cause an
72+
application crash.
73+
74+
OSS (audio interface for non-Linux versions of Unix) should
75+
be better now.
76+
77+
678
-----------
779
Version 1.0a May 2014
880
-----------
@@ -36,6 +108,13 @@ Improved support for UTF-8 character set.
36108

37109
Improved troubleshooting display for APRStt macros.
38110

111+
In earlier versions, the DTMF decoder was always active because it
112+
took a negligible amount of CPU time. Unfortunately this sometimes
113+
resulted in too many false positives from some other types of digital
114+
transmissions heard on HF. Starting in version 1.0, the DTMF decoder
115+
is enabled only when the APRStt gateway is configured.
116+
117+
39118

40119

41120
-----------
@@ -107,7 +186,7 @@ APRStt-Implementation-Notes.pdf
107186

108187

109188
-----------
110-
Version 0.6
189+
Version 0.6 February 2013
111190
-----------
112191

113192

@@ -152,15 +231,15 @@ run this in another window:
152231

153232

154233
-----------
155-
Version 0.5
234+
Version 0.5 March 2012
156235
-----------
157236

158237

159238
More error checking and messages for invalid APRS data.
160239

161240

162241
-----------
163-
Version 0.4
242+
Version 0.4 September 2011
164243
-----------
165244

166245
First general availability.

Makefile.linux

Lines changed: 93 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Makefile for Linux version of Dire Wolf.
33
#
44

5-
all : direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients
5+
all : direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients log2gpx
66

77
CC = gcc
88

@@ -81,18 +81,30 @@ CC = gcc
8181
arch := $(shell echo | gcc -E -dM - | grep __i386__)
8282

8383
ifneq ($(arch),)
84-
CFLAGS := -DUSE_ALSA -O3 -march=pentium3 -pthread
84+
# You might see improvement with -march fine tuned to your hardware.
85+
# Probably should keep pentium3 if you will be redistributing binaries
86+
# to other people.
87+
CFLAGS := -O3 -march=pentium3 -pthread -Iutm
8588
else
86-
CFLAGS := -DUSE_ALSA -O3 -pthread
89+
CFLAGS := -O3 -pthread -Iutm
8790
endif
8891

8992

90-
# Uncomment following lines to enable GPS interface.
91-
# DO NOT USE THIS. Still needs more work.
93+
94+
# If you want to use OSS (for FreeBSD, OpenBSD) instead of
95+
# ALSA (for Linux), comment out the two lines below.
96+
97+
CFLAGS += -DUSE_ALSA
98+
LDLIBS += -lasound
99+
100+
101+
# Uncomment following lines to enable GPS interface & tracker function.
102+
92103
#CFLAGS += -DENABLE_GPS
93104
#LDLIBS += -lgps
94105

95106

107+
96108
# Name of current directory.
97109
# Used to generate zip file name for distribution.
98110

@@ -107,9 +119,9 @@ direwolf : direwolf.o config.o demod.o dsp.o demod_afsk.o demod_9600.o hdlc_rec
107119
decode_aprs.o symbols.o server.o kiss.o kissnet.o kiss_frame.o hdlc_send.o fcs_calc.o \
108120
gen_tone.o audio.o digipeater.o dedupe.o tq.o xmit.o \
109121
ptt.o beacon.o dwgps.o encode_aprs.o latlong.o encode_aprs.o latlong.o textcolor.o \
110-
dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o \
122+
dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o nmea.o log.o telemetry.o \
111123
utm.a
112-
$(CC) $(CFLAGS) -o $@ $^ -lpthread -lrt -lasound $(LDLIBS) -lm
124+
$(CC) $(CFLAGS) -o $@ $^ -lpthread -lrt $(LDLIBS) -lm
113125

114126

115127
# Optimization for slow processors.
@@ -132,40 +144,51 @@ LatLong-UTMconversion.o : utm/LatLong-UTMconversion.c
132144
$(CC) $(CFLAGS) -c -o $@ $^
133145

134146

135-
# Optional install step.
147+
# Optional installation into /usr/local/...
148+
# Needs to be run as root or with sudo.
149+
136150
# TODO: Review file locations.
137-
# TODO: Handle Linux variations correctly.
138-
# The Raspberry Pi has ~/Desktop but Ubuntu does not.
139-
# For now, just put reference to it at the end so only last step fails.
140151

141152
install : direwolf decode_aprs tocalls.txt symbols-new.txt symbolsX.txt dw-icon.png direwolf.desktop
142-
sudo install direwolf /usr/local/bin
143-
sudo install decode_aprs /usr/local/bin
144-
sudo install text2tt /usr/local/bin
145-
sudo install tt2text /usr/local/bin
146-
sudo install ll2utm /usr/local/bin
147-
sudo install utm2ll /usr/local/bin
148-
sudo install aclients /usr/local/bin
149-
sudo install -D --mode=644 tocalls.txt /usr/share/direwolf/tocalls.txt
150-
sudo install -D --mode=644 symbols-new.txt /usr/share/direwolf/symbols-new.txt
151-
sudo install -D --mode=644 symbolsX.txt /usr/share/direwolf/symbolsX.txt
152-
sudo install -D --mode=644 dw-icon.png /usr/share/direwolf/dw-icon.png
153-
sudo install -D --mode=644 direwolf.desktop /usr/share/applications/direwolf.desktop
154-
cp direwolf.conf ~
153+
install direwolf /usr/local/bin
154+
install decode_aprs /usr/local/bin
155+
install text2tt /usr/local/bin
156+
install tt2text /usr/local/bin
157+
install ll2utm /usr/local/bin
158+
install utm2ll /usr/local/bin
159+
install aclients /usr/local/bin
160+
install log2gpx /usr/local/bin
161+
install -D --mode=644 tocalls.txt /usr/share/direwolf/tocalls.txt
162+
install -D --mode=644 symbols-new.txt /usr/share/direwolf/symbols-new.txt
163+
install -D --mode=644 symbolsX.txt /usr/share/direwolf/symbolsX.txt
164+
install -D --mode=644 dw-icon.png /usr/share/direwolf/dw-icon.png
165+
install -D --mode=644 direwolf.desktop /usr/share/applications/direwolf.desktop
166+
install -D --mode=644 CHANGES.txt /usr/local/share/doc/direwolf/CHANGES.txt
167+
install -D --mode=644 LICENSE-dire-wolf.txt /usr/local/share/doc/direwolf/LICENSE-dire-wolf.txt
168+
install -D --mode=644 LICENSE-other.txt /usr/local/share/doc/direwolf/LICENSE-other.txt
169+
install -D --mode=644 User-Guide.pdf /usr/local/share/doc/direwolf/User-Guide.pdf
170+
install -D --mode=644 Raspberry-Pi-APRS.pdf /usr/local/share/doc/direwolf/Raspberry-Pi-APRS.pdf
171+
install -D --mode=644 Raspberry-Pi-APRS-Tracker.pdf /usr/local/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf
172+
install -D --mode=644 APRStt-Implementation-Notes.pdf /usr/local/share/doc/direwolf/APRStt-Implementation-Notes.pdf
173+
install -D --mode=644 Quick-Start-Guide-Windows.pdf /usr/local/share/doc/direwolf/Quick-Start-Guide-Windows.pdf
174+
175+
176+
# The Raspberry Pi has ~/Desktop but Ubuntu does not.
177+
178+
# TODO: Handle Linux variations correctly.
179+
180+
181+
install-rpi : dw-start.sh
155182
cp dw-start.sh ~
156-
sudo install -D --mode=644 CHANGES.txt /usr/local/share/doc/direwolf/CHANGES.txt
157-
sudo install -D --mode=644 LICENSE-dire-wolf.txt /usr/local/share/doc/direwolf/LICENSE-dire-wolf.txt
158-
sudo install -D --mode=644 LICENSE-other.txt /usr/local/share/doc/direwolf/LICENSE-other.txt
159-
sudo install -D --mode=644 User-Guide.pdf /usr/local/share/doc/direwolf/User-Guide.pdf
160-
sudo install -D --mode=644 Raspberry-Pi-APRS.pdf /usr/local/share/doc/direwolf/Raspberry-Pi-APRS.pdf
161-
sudo install -D --mode=644 APRStt-Implementation-Notes.pdf /usr/local/share/doc/direwolf/APRStt-Implementation-Notes.pdf
162-
sudo install -D --mode=644 Quick-Start-Guide-Windows.pdf /usr/local/share/doc/direwolf/Quick-Start-Guide-Windows.pdf
163183
ln -f -s /usr/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop
164184

185+
install-conf : direwolf.conf
186+
cp direwolf.conf ~
187+
165188

166189
# Separate application to decode raw data.
167190

168-
decode_aprs : decode_aprs.c symbols.c ax25_pad.c textcolor.c fcs_calc.c
191+
decode_aprs : decode_aprs.c symbols.c ax25_pad.c textcolor.c fcs_calc.c latlong.c log.c telemetry.o
169192
$(CC) $(CFLAGS) -o decode_aprs -DTEST $^ -lm
170193

171194

@@ -182,32 +205,39 @@ tt2text : tt_text.c
182205
# Convert between Latitude/Longitude and UTM coordinates.
183206

184207
ll2utm : ll2utm.c utm.a
185-
$(CC) $(CFLAGS) -I utm -o $@ $^ -lm
208+
$(CC) $(CFLAGS) -o $@ $^ -lm
186209

187210
utm2ll : utm2ll.c utm.a
188-
$(CC) $(CFLAGS) -I utm -o $@ $^ -lm
211+
$(CC) $(CFLAGS) -o $@ $^ -lm
189212

190213

214+
# Convert from log file to GPX.
215+
216+
log2gpx : log2gpx.c
217+
$(CC) $(CFLAGS) -o $@ $^ -lm
218+
191219

192220
# Test application to generate sound.
193221

194222
gen_packets : gen_packets.c ax25_pad.c hdlc_send.c fcs_calc.c gen_tone.c textcolor.c
195-
$(CC) $(CFLAGS) -o $@ $^ -lasound -lm
223+
$(CC) $(CFLAGS) -o $@ $^ $(LDLIBS) -lm
196224

197225
demod.o : tune.h
198226
demod_afsk.o : tune.h
199227
demod_9600.o : tune.h
200228

201-
testagc : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec2.o multi_modem.o rrbb.o fcs_calc.c ax25_pad.c decode_aprs.c symbols.c tune.h textcolor.c
229+
testagc : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec2.o multi_modem.o rrbb.o \
230+
fcs_calc.c ax25_pad.c decode_aprs.c telemetry.c latlong.c symbols.c tune.h textcolor.c
202231
$(CC) $(CFLAGS) -o atest $^ -lm
203232
./atest 02_Track_2.wav | grep "packets decoded in" > atest.out
204233

205234

206235
# Unit test for AFSK demodulator
207236

208237

209-
atest : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec2.o multi_modem.o rrbb.o fcs_calc.c ax25_pad.c decode_aprs.c symbols.c textcolor.c
210-
$(CC) $(CFLAGS) -o $@ $^ -lm
238+
atest : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec2.o multi_modem.o rrbb.o \
239+
fcs_calc.c ax25_pad.c decode_aprs.c telemetry.c latlong.c symbols.c textcolor.c
240+
$(CC) $(CFLAGS) -o $@ $^ -lm -lrt
211241
time ./atest ../direwolf-0.2/02_Track_2.wav
212242

213243
# Unit test for inner digipeater algorithm
@@ -233,6 +263,14 @@ udptest : udp_test.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec
233263
./udptest
234264

235265

266+
# Unit test for telemetry decoding.
267+
268+
269+
etest : telemetry.c ax25_pad.c fcs_calc.c textcolor.c misc.a regex.a
270+
$(CC) $(CFLAGS) -o $@ $^ -lm -lrt
271+
./etest
272+
273+
236274
# Multiple AGWPE network or serial port clients to test TNCs side by side.
237275

238276
aclients : aclients.c ax25_pad.c fcs_calc.c textcolor.c
@@ -241,7 +279,7 @@ aclients : aclients.c ax25_pad.c fcs_calc.c textcolor.c
241279

242280
SRCS = direwolf.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c multi_modem.c fcs_calc.c ax25_pad.c decode_aprs.c symbols.c \
243281
server.c kiss.c kissnet.c kiss_frame.c hdlc_send.c fcs_calc.c gen_tone.c audio.c \
244-
digipeater.c dedupe.c tq.c xmit.c beacon.c encode_aprs.c latlong.c encode_aprs.c latlong.c
282+
digipeater.c dedupe.c tq.c xmit.c beacon.c encode_aprs.c latlong.c encode_aprs.c latlong.c telemetry.c log.c
245283

246284

247285
depend : $(SRCS)
@@ -256,12 +294,12 @@ clean :
256294
# Package it up for distribution.
257295

258296
dist-src : CHANGES.txt User-Guide.pdf Quick-Start-Guide-Windows.pdf Raspberry-Pi-APRS.pdf \
259-
direwolf.desktop dw-start.sh
297+
Raspberry-Pi-APRS-Tracker.pdf direwolf.desktop dw-start.sh
260298
rm -f fsk_fast_filter.h
261299
echo " " > tune.h
262300
rm -f ../$z-src.zip
263301
(cd .. ; zip $z-src.zip $z/CHANGES.txt $z/LICENSE* \
264-
$z/User-Guide.pdf $z/Quick-Start-Guide-Windows.pdf $z/Raspberry-Pi-APRS.pdf \
302+
$z/User-Guide.pdf $z/Quick-Start-Guide-Windows.pdf $z/Raspberry-Pi-APRS.pdf Raspberry-Pi-APRS-Tracker.pdf \
265303
$z/Makefile* $z/*.c $z/*.h $z/regex/* $z/misc/* $z/utm/* \
266304
$z/*.conf $z/tocalls.txt $z/symbols-new.txt $z/symbolsX.txt \
267305
$z/dw-icon.png $z/dw-icon.rc $z/dw-icon.ico \
@@ -277,11 +315,25 @@ dist-src : CHANGES.txt User-Guide.pdf Quick-Start-Guide-Windows.pdf Raspberry-P
277315
#Raspberry-Pi-APRS.pdf : Raspberry-Pi-APRS.docx
278316
# echo "***** Raspberry-Pi-APRS.pdf is out of date *****"
279317

318+
#Raspberry-Pi-APRS-Tracker.pdf : Raspberry-Pi-APRS-Tracker.docx
319+
# echo "***** Raspberry-Pi-APRS-Tracker.pdf is out of date *****"
320+
280321

281322
backup :
282323
mkdir /cygdrive/e/backup-cygwin-home/`date +"%Y-%m-%d"`
283324
cp -r . /cygdrive/e/backup-cygwin-home/`date +"%Y-%m-%d"`
284325

326+
#
327+
# The locations below appear to be the most recent.
328+
# The copy at http://www.aprs.org/tocalls.txt is out of date.
329+
#
330+
331+
tocalls-symbols :
332+
wget http://www.aprs.org/aprs11/tocalls.txt -O tocalls.txt
333+
wget http://www.aprs.org/symbols/symbols-new.txt -O symbols-new.txt
334+
wget http://www.aprs.org/symbols/symbolsX.txt -O symbolsX.txt
335+
336+
285337
#
286338
# The following is updated by "make depend"
287339
#

0 commit comments

Comments
 (0)