Commit Graph

155 Commits

Author SHA1 Message Date
Heikki Hannikainen feb1034cca Implement DNS-SD publishing of KISS over TCP service on Linux and Mac
This allows client applications to locate the IP addresses and the port of
the KISS TCP service, allowing the end user to just select a Dire Wolf from
a list instead of trying to guess its dynamic IP address and typing it in
manually.  This is especially convenient on mobile devices.

On Linux, the standard Avahi daemon is used via dbus and the avahi-client
library.  Building with it requires installing the development header
package; README.md is updated accordingly.

On Mac, the MacOS dnssd API is used:
https://developer.apple.com/documentation/dnssd?language=objc

I don't have Windows, but more recent Windows 10 builds apparently have
a working DNS-SD mDNS implementation that can be used on 64-bit builds.
2020-12-28 20:38:09 +00:00
BehemothTheKitten 042a0c44ed Addded options to transmit steady tones at various frequencies
(including 1200/2200Hz) to -x command line argument in Direwolf.
This is useful for calibrating FM deviation using a meter,
devcal, or manually. See:

https://groups.io/g/direwolf/topic/setting_deviation/78633292

Options are:

-x a: alternating mark/space tones (original functionality)
-x m or -x 1: steady mark tone (e.g. 1200Hz)
-x s or -x 2: steady space tone (e.g. 2200Hz)
-x p: set PTT only - for RTL-SDR adjustments

Scope tested with mark_freq>=300Hz and space_freq<=5000Hz.
Returns an error message if mark/space frequencies are set
to 0.
2020-12-23 14:52:32 -06:00
wb2osz 9922f176b2 New AFSK demodulators.
'A' uses mark and space filters but simpler and cleaner
than earlier attempts.
New 'B' uses a different technique where the demodulated
signal is proportional to the frequency.
2020-11-27 21:25:35 -05:00
wb2osz fdf660a7f1 New "-d d" command line option for APRStt debug. 2020-11-21 20:13:51 -05:00
wb2osz 48b9bac872 When decoding a third party traffic packet, decode the payload. 2020-11-13 20:46:57 -05:00
wb2osz e272ff87c8 Issue 269 - Morse code 'I' was sent wrong. 2020-11-07 21:09:25 -05:00
wb2osz 714d03f1d8 Bump version number up to 1.7 development. 2020-11-07 18:38:10 -05:00
wb2osz a20728762b Issue 298 - Add beacon SOURCE option to override AX.25 source. 2020-11-07 17:43:47 -05:00
wb2osz 4a1aa2b148 Issue 296 - Avoid potential buffer overflow. 2020-11-05 18:51:00 -05:00
wb2osz 413855e791 Merge branch 'dev' to master for release 1.6. 2020-10-27 20:45:30 -04:00
wb2osz 7cd027fcda Issue 295 - Yet another incompatible change for the libgps API. 2020-10-27 18:04:07 -04:00
wb2osz 512e8f88a9 Avoid compiler error. 2020-10-26 20:41:49 -04:00
wb2osz e8f1133226 Increase tocalls limit. 2020-10-25 22:01:09 -04:00
wb2osz 79d80ccb8e Change from development to release version. 2020-10-25 21:38:51 -04:00
wb2osz 3960942488 Fix compile warnings on Mac. 2020-10-25 21:35:19 -04:00
wb2osz b12e56fef4 Add link to more information. 2020-10-24 19:33:58 -04:00
wb2osz c0fc5f052d Increase default for time since message addressee heard. 2020-10-24 11:38:44 -04:00
wb2osz 7d4a49aecb Issue 290 - Add capability to set serial port speed for hamlib. 2020-10-21 22:07:19 -04:00
wb2osz 909b703b7e FX.25 enable value 1 now selects appropriate tag for frame length. 2020-06-22 17:04:03 -04:00
wb2osz 4b0395aeaf Remove speed warning for special cases. 2020-06-20 21:15:44 -04:00
wb2osz d747620257 Add another search location for tocalls.txt. 2020-06-20 21:06:00 -04:00
wb2osz 74cf91cc98 Issue 241 - Catch up with new gpsd incompatbilities. 2020-06-20 20:49:00 -04:00
wb2osz e2b32d1d2a EAS SAME reception. 2020-06-13 21:33:10 -04:00
wb2osz 45136a91eb AIS Reception enhancements. 2020-05-26 21:20:37 -04:00
wb2osz 6be428bea1 More comments. 2020-05-21 22:19:45 -04:00
wb2osz dc40b461d0 Add troubleshooting tip to error message. 2020-05-21 22:18:33 -04:00
wb2osz 0661e23f21 Issue 271 - DCD dropping at wrong time. 2020-05-21 21:37:34 -04:00
wb2osz 74a5c34a94 AIS refinements. 2020-04-25 07:59:06 -04:00
wb2osz b41b4445fb AIS reception. 2020-04-19 00:59:32 -04:00
wb2osz 0dc7cba1c5 AIS reception. 2020-04-19 00:50:18 -04:00
wb2osz 65d8d265cd More complete monitoring messages to AGW client app. 2020-04-13 21:07:10 -04:00
wb2osz c15903edb9 Issue 252 - Direwolf segments large frames when sending AX.25 version 2.0 packets.
Instead, it should simply divide the data into packets without segment headers,
on an AX.25 version 2.0 connection.
2020-04-13 20:54:42 -04:00
wb2osz cab47cfc48 -h command line option for help. 2020-03-21 19:02:39 -04:00
wb2osz 1484350465 Pull request 259 - Identify '{{' as user defined experimental. 2020-03-21 18:06:57 -04:00
wb2osz 7e44139eb3 Better error checking and helpful message. 2020-01-19 18:42:50 -05:00
wb2osz 1f2a5cfdb8 FX.25 2020-01-05 20:08:22 -05:00
Matt Domsch 2d4a8f4907 Include <stddef.h> everywhere ptrdiff_t is used
ptrdiff_t is defined in <stddef.h>
2019-12-04 21:38:12 -06:00
wb2osz d5cec4dc84 Fix compiler warnings for platforms where size of long is different than size of pointer. 2019-11-30 20:20:13 -05:00
wb2osz ff9eca682e Overhaul PSK demodulator. 2019-11-30 19:20:55 -05:00
wb2osz 249f5bd471 Clean out old obsolete demodulators. 2019-11-27 22:42:33 -05:00
wb2osz 747224ce57 Remove obsolete 'F' demodulator. 2019-11-27 21:26:59 -05:00
wb2osz 03939d25ba Fix CentOS 6 build. 2019-11-27 20:36:51 -05:00
wb2osz 6e92a4fa48 Fix build for CentOS. 2019-11-25 22:14:46 -05:00
wb2osz 362d19e073 Remove obsolete files. 2019-11-24 11:29:16 -05:00
wb2osz 690ed3e1d6 CentOS build issues. 2019-11-23 20:06:57 -05:00
Davide Gerhard 1cf5a22333
cmake: implement basic cpack functionality
to create ZIP package run

    cpack

to add new generator modify CPACK_GENERATOR variable.

NOTE: pay attention on CPU flags optimization when you redistribuite
the package (segmentation fault)
2019-11-13 15:57:11 +01:00
Davide Gerhard 8cd1f87ef6
cmake: windows build fixes
works with cygwin and x86_64-w64-mingw32-gcc/x86_64-w64-mingw32-g++
from the package installer of cygwin.
To use that add the following lines to .bash_profile

export CC=x86_64-w64-mingw32-gcc
export CXX=x86_64-w64-mingw32-g++

you also need cmake from cygwin
2019-11-09 08:31:35 +01:00
Davide Gerhard 0e5049c08a
cmake: implements tests using CTest suite
the new tests are implemented with CTest suite of CMake.
To enable the tests you need to run cmake with -DBUILD_TESTING=ON
There are optional tests (that might not work) that can be enabled with
-DOPTIONAL_TEST=ON

So, to enable all tests and run it use the following command

mkdir build
cmake -DBUILD_TESTING=ON -DOPTIONA_TEST=ON ..
make
ctest

to debug the errors use

ctest --debug

You can always find all tests binary on build/test/

Implementation:
- check-modem* tests are implemented with shell script because it
  requires to execute many commands and therefore will be easy to
  manage. The file is configured at configuration time.
- for single binary we verify the exit status (default = 0) so you
  only need to build the binary and add it to add_test()
2019-11-09 08:26:37 +01:00
Davide Gerhard de98f26229
walk96: fix builing errors (api mismatch) 2019-11-09 08:26:37 +01:00
Davide Gerhard 6f8ac80afd
igate: fix build errors 2019-11-09 08:26:37 +01:00
Davide Gerhard d06b644630
cmake: move install-conf target to conf/install_conf.cmake file
this way permit to use cmake language to manipulate the target and
avoid restriction imposed by CMAKE_COMMAND command mode
2019-11-09 08:26:36 +01:00
Davide Gerhard a1c16a67ef
cmake: new build tool
this step unify the builing system for all platforms (windows, linux,
osx and *BSD)

* Requirements:

  - gcc/clang (C/C++ compiler) (in debian build-essential)
  - cmake (in debian cmake)
  - git if you build from source (in debian git)
  - posix threads

** Requirements on *BSD/macOS:

  - portaudio

** Optional Requirements:

  - gpsd (in debian libgps-dev)
  - libhamlib (in debian libhamlib-dev)

** Optional Requirements in Linux

  - udev (in debian libudev-dev)
  - alsa (in debian libasound2-dev)

* Main changes:

  - version is now set only on CMakeLists.txt and automatically used
    on the code
  - cpu flags are auto-discovered in the default build and it works
    on gcc/clang/msvc on x86/x86_64/arm; you can force cpu flags with
    -DFORCE_SSE=1 for example (see CMakeLists.txt on root)
  - use a more "complex" tag on generic.conf to facilitate parsing
    by cmake (not more platform dependent). Now it is %C% or %R% for
    example
  - target `tocalls-symbols` is now called `data-update`
  - created debian/ directory to contains files to use debuild

* Example to build:

mkdir build && cd build
cmake ..
make
make install
make install-conf

then you have the binary files on src/ and in the system directory

* CMake options (see the head of CMakeLists.txt)

  - FORCE_SSE force sse instruction
  - FORCE_SSSE3 force ssse3 instruction
  - FORCE_SSE41 force ssse4.1 instruction
  - OPTIONAL_TEST compile optional test (might be broken)
  - BUILD_TESTING enable tests (ctest framework)
  - CMAKE_INSTALL_PREFIX if you want to change your install path
    prefix

for example:

  cmake .. -DOPTIONAL_TEST=ON
2019-11-09 08:26:33 +01:00
Davide Gerhard bc582cf24f
version: use version from cmake
in this way there is not mismatch
2019-11-09 08:26:08 +01:00
Davide Gerhard e35964ec98
add new search location for symbols-new.txt and tocalls.txt
seen that we moved data in the data/ directory we need to add the new
patch to source code.
2019-11-09 08:26:07 +01:00
Davide Gerhard 05828dc65f
reshape the repository moving objects to folders based on subject 2019-11-09 08:26:01 +01:00