Skip to content

Commit c071a7d

Browse files
committed
Merge branch 'dev' into jj1bdx-apple-serialspeed
2 parents 66ebee8 + fdf660a commit c071a7d

39 files changed

+541
-697
lines changed

Diff for: CHANGES.md

+22-6
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,25 @@
22
# Revision History #
33

44

5-
## Version 1.6 -- Under Development ##
5+
## Version 1.7 -- Under Development ('dev' branch) ##
66

77

8+
### New Features: ###
9+
10+
11+
- The BEACON configuration now recognizes the SOURCE= option. This replaces the AX.25 source address rather than using the MYCALL value for the channel. This is useful for sending more than 5 analog telemetry channels. Use two, or more, source addresses with up to 5 analog channels each.
12+
13+
14+
15+
16+
## Version 1.6 -- October 2020 ##
17+
818
### New Build Procedure: ###
919

1020

11-
- Rather than trying to keep a bunch of different platform specific Makefiles in sync, "cmake" is now used for greater portability and easier maintenance.
21+
- Rather than trying to keep a bunch of different platform specific Makefiles in sync, "cmake" is now used for greater portability and easier maintenance. This was contributed by Davide Gerhard.
1222

13-
- README.md has a quick summary of the process. More details in the User Guide.
23+
- README.md has a quick summary of the process. More details in the ***User Guide***.
1424

1525

1626
### New Features: ###
@@ -45,15 +55,21 @@
4555

4656
- ***AX.25 + FEC = FX.25***
4757

58+
- ***AIS Reception***
59+
4860
- ***AX.25 Throughput: Why is 9600 bps Packet Radio only twice as fast as 1200?***
4961

50-
- [***Ham Radio of Things - IoT over Ham Radio***](https://github.com/wb2osz/hrot)
62+
- [***Ham Radio of Things (HRoT) - IoT over Ham Radio***](https://github.com/wb2osz/hrot)
63+
64+
- [***EAS SAME to APRS Message Converter***](https://github.com/wb2osz/eas2aprs)
5165

52-
- Power Point slide show in separate repository. [https://github.com/wb2osz/direwolf-presentation ](https://github.com/wb2osz/direwolf-presentation)
66+
- [***Dire Wolf PowerPoint Slide Show***](https://github.com/wb2osz/direwolf-presentation)
5367

5468
### Notes: ###
5569

56-
Windows binary distribution now uses gcc (MinGW) version 7.4.0.
70+
The Windows binary distribution now uses gcc (MinGW) version 7.4.0.
71+
The Windows version is built for both 32 and 64 bit operating systems.
72+
Use the 64 bit version if possible; it runs considerably faster.
5773

5874

5975

Diff for: CMakeLists.txt

+20-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ project(direwolf)
44

55
# configure version
66
set(direwolf_VERSION_MAJOR "1")
7-
set(direwolf_VERSION_MINOR "6")
7+
set(direwolf_VERSION_MINOR "7")
88
set(direwolf_VERSION_PATCH "0")
9-
set(direwolf_VERSION_SUFFIX "")
9+
set(direwolf_VERSION_SUFFIX "Development")
1010

1111
# options
12-
option(FORCE_SSE "Compile with SSE instruction only" OFF)
12+
# See Issue 297.
13+
option(FORCE_SSE "Compile with SSE instruction only" ON)
1314
option(FORCE_SSSE3 "Compile with SSSE3 instruction only" OFF)
1415
option(FORCE_SSE41 "Compile with SSE4.1 instruction only" OFF)
1516
option(OPTIONAL_TEST "Compile optional test (might be broken)" OFF)
@@ -86,13 +87,21 @@ set(CUSTOM_SHELL_SHABANG "#!/bin/sh -e")
8687
set(CPACK_GENERATOR "ZIP")
8788
set(CPACK_STRIP_FILES true)
8889
set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
89-
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${direwolf_VERSION}_${CMAKE_SYSTEM_PROCESSOR}")
90+
# This has architecture of the build machine, not the target platform.
91+
# e.g. Comes out as x86_64 when building for i686 target platform.
92+
#set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${direwolf_VERSION}_${CMAKE_SYSTEM_PROCESSOR}")
93+
# We don't know the target yet so this is set after FindCPUflags.
9094
set(CPACK_PACKAGE_CONTACT "https://github.com/wb2osz/direwolf")
91-
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Dire Wolf is a software soundcard AX.25 packet modem/TNC and APRS encoder/decoder")
95+
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Dire Wolf is an AX.25 soundcard TNC, digipeater, APRS IGate, GPS tracker, and APRStt gateway")
9296
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
9397
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
9498
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
9599
set(CPACK_SOURCE_IGNORE_FILES "${PROJECT_BINARY_DIR};/.git/;.gitignore;menu.yml;.travis.yml;.appveyor.yml;default.nix;.envrc;TODOs.org;/.scripts/")
100+
SET(CPACK_PACKAGE_VERSION "${direwolf_VERSION}")
101+
SET(CPACK_PACKAGE_VERSION_MAJOR "${direwolf_VERSION_MAJOR}")
102+
SET(CPACK_PACKAGE_VERSION_MINOR "${direwolf_VERSION_MINOR}")
103+
SET(CPACK_PACKAGE_VERSION_PATCH "${direwolf_VERSION_PATCH}")
104+
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libasound2,libgps23")
96105

97106
# if we don't set build_type
98107
if(NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "")
@@ -114,6 +123,12 @@ include(FindCompiler)
114123
# find cpu flags (and set compiler)
115124
include(FindCPUflags)
116125

126+
if(${ARCHITECTURE} MATCHES "x86")
127+
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${direwolf_VERSION}_i686")
128+
else()
129+
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${direwolf_VERSION}_${ARCHITECTURE}")
130+
endif()
131+
117132
# auto include current directory
118133
set(CMAKE_INCLUDE_CURRENT_DIR ON)
119134

Diff for: Makefile

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
all:
3+
@echo "The build procedure has changed in version 1.6."
4+
@echo "In general, it now looks like this:"
5+
@echo " "
6+
@echo "Download the source code:"
7+
@echo " "
8+
@echo " cd ~"
9+
@echo " git clone https://www.github.com/wb2osz/direwolf"
10+
@echo " cd direwolf"
11+
@echo " "
12+
@echo "Optional - Do this to get the latest development version"
13+
@echo "rather than the latest stable release."
14+
@echo " "
15+
@echo " git checkout dev"
16+
@echo " "
17+
@echo "Build it. There are two new steps not used for earlier releases."
18+
@echo " "
19+
@echo " mkdir build && cd build"
20+
@echo " cmake .."
21+
@echo " make -j4"
22+
@echo " "
23+
@echo "Install:"
24+
@echo " "
25+
@echo " sudo make install"
26+
@echo " make install-conf"
27+
@echo " "
28+
@echo "You will probably need to install additional applications and"
29+
@echo "libraries depending on your operating system."
30+
@echo "More details are in the README.md file."
31+
@echo " "
32+
@echo "Questions?"
33+
@echo " "
34+
@echo " - Extensive documentation can be found in the 'doc' directory."
35+
@echo " - Join the discussion forum here: https://groups.io/g/direwolf"
36+
@echo " "

Diff for: README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
In the early days of Amateur Packet Radio, it was necessary to use an expensive "Terminal Node Controller" (TNC) with specialized hardware. Those days are gone. You can now get better results at lower cost by connecting your radio to the "soundcard" interface of a computer and using software to decode the signals.
77

8-
Why settle for mediocre receive performance from a 1980's technology TNC using an old modem chip? Dire Wolf decodes over 1000 error-free frames from Track 2 of the [WA8LMF TNC Test CD](https://github.com/wb2osz/direwolf/tree/dev/doc/WA8LMF-TNC-Test-CD-Results.pdf), leaving all the hardware TNCs, and first generation "soundcard" modems, behind in the dust.
8+
Why waste $200 and settle for mediocre receive performance from a 1980's technology TNC using an old modem chip? Dire Wolf decodes over 1000 error-free frames from Track 2 of the [WA8LMF TNC Test CD](https://github.com/wb2osz/direwolf/tree/dev/doc/WA8LMF-TNC-Test-CD-Results.pdf), leaving all the hardware TNCs, and first generation "soundcard" modems, behind in the dust.
99

1010
![](tnc-test-cd-results.png)
1111

@@ -23,7 +23,7 @@ Without any additional software, it can perform as:
2323
- [APRStt](http://www.aprs.org/aprstt.html) gateway
2424

2525

26-
It can also be used as a virtual TNC for other applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://www.ui-view.net/),[UISS](http://users.belgacom.net/hamradio/uiss.htm), [Linux AX25](http://www.linux-ax25.org/wiki/Main_Page), [SARTrack](http://www.sartrack.co.nz/index.html), [Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K)](http://www.winlink.org/RMSExpress), [BPQ32](http://www.cantab.net/users/john.wiseman/Documents/BPQ32.html), [Outpost PM](http://www.outpostpm.org/), [Ham Radio of Things](https://github.com/wb2osz/hrot), and many others.
26+
It can also be used as a virtual TNC for other applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://www.ui-view.net/),[UISS](http://users.belgacom.net/hamradio/uiss.htm), [Linux AX25](http://www.linux-ax25.org/wiki/Main_Page), [SARTrack](http://www.sartrack.co.nz/index.html), [Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K)](http://www.winlink.org/RMSExpress), [BPQ32](http://www.cantab.net/users/john.wiseman/Documents/BPQ32.html), [Outpost PM](http://www.outpostpm.org/), [Ham Radio of Things](https://github.com/wb2osz/hrot), [Packet Compressed Sensing Imaging (PCSI)](https://maqifrnswa.github.io/PCSI/), and many others.
2727

2828

2929
## Features & Benefits ##
@@ -51,7 +51,7 @@ It can also be used as a virtual TNC for other applications such as [APRSIS32](h
5151

5252
IGate stations allow communication between disjoint radio networks by allowing some content to flow between them over the Internet.
5353

54-
- **Ham Radio of Things.**
54+
- **Ham Radio of Things (HRoT).**
5555

5656
There have been occasional mentions of merging Ham Radio with the Internet of Things but only ad hoc incompatible narrowly focused applications. Here is a proposal for a standardized more flexible method so different systems can communicate with each other.
5757

@@ -63,7 +63,7 @@ It can also be used as a virtual TNC for other applications such as [APRSIS32](h
6363

6464
- **KISS Interface (TCP/IP, serial port, Bluetooth) & AGW network Interface (TCP/IP).**
6565

66-
Dire Wolf can be used as a virtual TNC for applications such as APRSIS32, UI-View32, Xastir, APRS-TW,YAAC, UISS, Linux AX25, SARTrack, Winlink / RMS Express, Outpost PM, and many others.
66+
Dire Wolf can be used as a virtual TNC for applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://www.ui-view.net/),[UISS](http://users.belgacom.net/hamradio/uiss.htm), [Linux AX25](http://www.linux-ax25.org/wiki/Main_Page), [SARTrack](http://www.sartrack.co.nz/index.html), [Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K)](http://www.winlink.org/RMSExpress), [BPQ32](http://www.cantab.net/users/john.wiseman/Documents/BPQ32.html), [Outpost PM](http://www.outpostpm.org/), [Ham Radio of Things](https://github.com/wb2osz/hrot), [Packet Compressed Sensing Imaging (PCSI)](https://maqifrnswa.github.io/PCSI/), and many others.
6767

6868
### Radio Interfaces: ###
6969

@@ -79,7 +79,7 @@ It can also be used as a virtual TNC for other applications such as [APRSIS32](h
7979

8080
- **DTMF ("Touch Tone") Decoding and Encoding.**
8181

82-
- **Speech Synthesizer & Morse code generator.**
82+
- **Speech Synthesizer interface & Morse code generator.**
8383

8484
Transmit human understandable messages.
8585

@@ -108,7 +108,7 @@ It can also be used as a virtual TNC for other applications such as [APRSIS32](h
108108

109109
Go to the [**releases** page](https://github.com/wb2osz/direwolf/releases). Download a zip file with "win" in its name, unzip it, and run direwolf.exe from a command window.
110110

111-
For more details see the **User Guide** in the [**doc** directory](https://github.com/wb2osz/direwolf/tree/master/doc).
111+
You can also build it yourself from source. For more details see the **User Guide** in the [**doc** directory](https://github.com/wb2osz/direwolf/tree/master/doc).
112112

113113

114114

Diff for: cmake/modules/FindCPUflags.cmake

+6-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,12 @@ elseif(ARCHITECTURE_ARM)
354354
if(C_MSVC)
355355
try_run(RUN_NEON COMPILE_NEON "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_arm_neon.cxx" COMPILE_DEFINITIONS /O0)
356356
else()
357-
try_run(RUN_NEON COMPILE_NEON "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_arm_neon.cxx" COMPILE_DEFINITIONS -mfpu=neon -O0)
357+
if(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_SYSTEM_PROCESSOR})
358+
try_run(RUN_NEON COMPILE_NEON "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_arm_neon.cxx" COMPILE_DEFINITIONS -mfpu=neon -O0)
359+
else()
360+
try_compile(COMPILE_NEON "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_arm_neon.cxx" COMPILE_DEFINITIONS -mfpu=neon -O0)
361+
set(RUN_NEON 0)
362+
endif()
358363
endif()
359364
if(COMPILE_NEON AND RUN_NEON EQUAL 0)
360365
set(HAS_NEON ON CACHE BOOL "Architecture has NEON SIMD enabled")

0 commit comments

Comments
 (0)