Commit Graph

146 Commits

Author SHA1 Message Date
wb2osz dcabb8f7a5 Digipeat noid 2022-01-30 20:00:43 +00:00
wb2osz 0f2b241763 More error checking for messages. 2022-01-17 22:10:47 +00:00
wb2osz 366e0ab6e0 Clean up 2022-01-03 15:36:07 +00:00
wb2osz 42314b7219 gpsd 3.23 (API 12) compatibility and cleanups. 2022-01-02 02:55:11 +00:00
wb2osz 5dbe2ce136 Allow speed for GPSNMEA configuration. 2021-12-29 17:30:20 -05:00
wb2osz 65869bc643 Issue 366 - Remove 0x from pid in monitor header. 2021-12-19 16:30:45 -05:00
wb2osz eef35cf891 Issue 367 - AGW monitoring must handle binary data. 2021-12-19 21:06:42 +00:00
wb2osz 45cd680b90 First rough approximation of ICHANNEL. 2021-12-09 22:30:31 -05:00
wb2osz 9b9744ba15 Speed up 9600 demodulator. 2021-11-22 21:15:17 -05:00
wb2osz 049614d16c Fix IL2P for 9600 bps. 2021-11-22 21:10:31 -05:00
wb2osz 6442466a5d Shut off confusing debug message. 2021-11-11 20:01:30 -05:00
wb2osz 53e9ff7908 Add IL2P. 2021-10-22 17:29:20 -04:00
wb2osz 17b9336ce0 Merge branch 'dev' of http://github.com/wb2osz/direwolf into dev 2021-09-29 18:41:02 -04:00
wb2osz 8619b74c7b Pull request 353 - Fix spelling errors. 2021-09-29 18:28:17 -04:00
wb2osz 023f675caa Avoid serial port write error for Windows, 2021-09-21 13:29:29 -04:00
wb2osz 3220931439 Race condition when starting up with transmit queue not empty. Larger buffers. 2021-09-21 13:22:27 -04:00
wb2osz 1712fbcfb9 cleanup 2021-09-21 13:20:10 -04:00
wb2osz b77762780f More debug code. 2021-09-21 13:00:36 -04:00
wb2osz 257d2e3544 New get/set methods for packet object. 2021-09-21 12:56:45 -04:00
wb2osz 1b3ed76584 Add a comment about bundling multiple frames in single transmission. 2021-09-21 12:53:17 -04:00
Daniele Forsi d10ccb6cc0 Fix errors in strings
Errors found with codespell.
2021-09-19 21:25:00 +02:00
Daniele Forsi 6bfd22811c Fix errors in comments
Errors found with codespell.
2021-09-19 21:25:00 +02:00
wb2osz 0e68a7712a Pull Request 322 - SNDIO support for BSD. 2021-04-10 20:47:46 -04:00
wb2osz 73d5d139b4 Recognize Windows form of device path. 2021-04-10 20:46:13 -04:00
John Kristian 09de2f6681 Declare cm108 functions explicitly. 2021-03-13 18:00:24 -08:00
wb2osz e449e39d4d Update comments. 2021-03-12 19:50:25 -05:00
SASANO Takayoshi 0c285a0c6d cosme
rewrite

    int err;
    err = poll_sndio();
    if (err < 0) {
        :

to

    if (poll_sndio() < 0) {
        :
2021-02-26 06:57:59 +09:00
SASANO Takayoshi c18b562409 add sndio support (CMake) 2021-02-25 20:36:34 +09:00
SASANO Takayoshi 677117bff0 add sndio support 2021-02-25 20:35:41 +09:00
wb2osz a1afcbbafe Limited support for CM108/CM119 GPIO PTT on Windows. 2021-02-07 16:19:34 -05:00
wb2osz 667e9caaf2 Quick hack until I can handle multiple KISS TCP ports properly. 2021-01-04 21:25:49 -05:00
wb2osz 7ac1262fdf Fix Linux build. 2021-01-04 21:03:00 -05:00
wb2osz 8683ddcbd6 Allow multiple TCP KISS ports and option for single radio channel. 2021-01-04 19:43:00 -05:00
wb2osz 81447ed49f Comments about units. 2021-01-01 21:12:07 -05:00
wb2osz 6513efd052 Fix UNITTEST for MacOSX. 2021-01-01 21:09:25 -05:00
wb2osz 5d02e0ba0e Issue 292 - Remove serial port speed restriction for Mac OSX. 2021-01-01 21:03:04 -05:00
wb2osz 6f95752cab Merge branch 'feature/dns-sd' of git://github.com/hessu/direwolf into hessu-feature/dns-sd 2021-01-01 19:55:58 -05:00
wb2osz 1cad6edb42 Allow radio channel number for -x transmit calibration tone option. 2020-12-31 19:49:55 -05:00
wb2osz 8bca4862b0
Merge pull request #305 from BehemothTheKitten/x_fm_calibrate
Steady FM deviation calibration tones for -x
2020-12-31 15:04:53 -05:00
wb2osz 52e3a5b3af Display speed and altitude in both metric and Imperial units. 2020-12-31 14:42:27 -05:00
wb2osz 1d67b44669 Issue 150 - Check whether platform provides strlcpy & strlcat
or if we need to provide our own.
2020-12-30 22:32:09 -05:00
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