Commit Graph

385 Commits

Author SHA1 Message Date
wb2osz ad12fa86d6 Replace channel valid boolean with more versatile enum. 2019-05-13 06:25:12 -04:00
wb2osz d6ea439f98 New features for version 1.6. 2019-04-21 19:57:11 -04:00
wb2osz a5f3de2222 Fix compile warning. 2019-04-21 19:52:18 -04:00
wb2osz a4d87e4013 New function to generate APRS "message." 2019-04-21 19:36:20 -04:00
wb2osz 7fc9f31fbc More comments about GNSS. 2019-04-21 19:31:41 -04:00
wb2osz d828a8abe3 Add description for raw GPS data. 2019-04-21 19:27:44 -04:00
wb2osz aea1eb7b41 Better error message for invalid channel which could
be caused by use of SMACK rather than standard KISS.
2019-04-21 19:17:06 -04:00
wb2osz c559f0d443 Clarifying comment. 2019-04-21 19:14:52 -04:00
wb2osz 792569b991 More error checking. 2019-04-21 19:13:18 -04:00
wb2osz 8a2138e16b More transmit timing debug code. 2019-04-21 19:09:41 -04:00
wb2osz bfa7f4af93 Get necessary libasound header files. Pull request 189. 2019-02-17 22:00:30 -05:00
wb2osz a1e2d1c3a8 Issue 196 - Compatibility with GPSD API 7. 2019-02-17 21:49:51 -05:00
wb2osz d0cad72955 gcc 9 warnings. 2019-02-17 21:43:03 -05:00
wb2osz 7b5fc163dc More error checking. 2019-02-17 21:11:40 -05:00
wb2osz f1b54df647 Issue 196 - Compatibility with GPSD API 7. 2019-02-17 21:04:49 -05:00
wb2osz 71b3ca0047 AX.25 Throughput: Why is 9600 bps Packet Radio only twice as fast
as 1200?
2019-01-22 22:05:29 -05:00
wb2osz 2d3a04d0f1 New document: Why is 9600 only twice as fast as 1200 ? 2019-01-22 21:59:41 -05:00
wb2osz ab3796905e New document: Why is 9600 only twice as fast as 1200 ? 2019-01-22 21:49:20 -05:00
wb2osz e3dc8bbf1b New "-g" option for direwolf and atest to force G3RUH modem and override
default for the speed.   atest -h will display frame as hexadecimal
bytes.
2019-01-21 11:07:20 -05:00
wb2osz c7dcfd141e Latest symbols-new.txt and tocalls.txt 2019-01-06 12:06:16 -05:00
wb2osz a46471bf36 Fix counting of packets in transmit queue. 2019-01-06 12:04:02 -05:00
wb2osz 1a2de05e71 Better error message. 2019-01-06 11:59:14 -05:00
wb2osz 07f2174be4 Add ability to handle multiple audio files with one command. 2019-01-06 11:57:25 -05:00
wb2osz 08a691a02d Issue 169 - Fix AGW protocol 'Y' command. 2019-01-06 11:52:45 -05:00
wb2osz a5211f48fb Issue 169 - Fix AGW protocol 'Y' command. 2019-01-06 11:47:17 -05:00
wb2osz 41a85d87a7 Issue 169 - Fix AGW protocol 'Y' command. 2019-01-06 11:45:14 -05:00
wb2osz e1a4716857 Rename sock.c to dwsock.c to avoid confusion. 2019-01-06 11:35:08 -05:00
wb2osz ab40b1169e Rename sock.c to dwsock.c to avoid confusion. 2019-01-06 11:29:24 -05:00
wb2osz ecf5fd1d59 Issue 186 - Copy KISS frames between TCP KISS clients. 2019-01-01 19:59:58 -05:00
wb2osz c13375a9ab Merge branch 'dev' of https://github.com/wb2osz/direwolf into dev 2019-01-01 16:00:54 -05:00
wb2osz 84efe8c59b Issue 187. Updated MicroModem performance. 2019-01-01 15:56:44 -05:00
Annaliese McDermond 91d5b90e2a Fix transmit failures when using virtual devices
Direwolf does not send a continuous stream to the audio device.
It merely sends samples when it has a transmission to accomplish.
This seems to work okay on hardware devices, but is causing an
issue when working against a virtual device like plug or dmix
because the vitual device seems to get into a weird state while
direwolf is not sending samples.  This causes it to error out
with -EBADFD on every transmission after the first.

Direwolf tries to recover from this error by running
snd_pcm_recover() on the output device.  Inspecting the code of
this function revealed that it was a noop on any errors other
than -EPIPE or -ESTRPIPE, so it had no hope of fixing any issues
other than a buffer underrun or a suspended device.

This patch breaks things out so that we only run snd_pcm_recover()
on -EPIPE or -ESTRPIPE, and for any other error we go ahead and
just try to prepare the device again.  This appears to work to
make transmissions subsequent to the first work correctly on
virtual devices.  We handle -EBADFD differently merely so that
we don't print the error message for a quasi-expected condition.

This problem could also possibly be solved by unprotecting the
snd_pcm_prepare() on line 1174 of audio.c and just preparing the
device whether it apparently needs it or not, but I'm wary of the
unintended consequences of doing so in cases where the code is
currently working.  Much more testing would be necessary for that
solution.  This solution should only touch cases that are not working
currently regardless.
2018-12-02 19:59:03 -05:00
wb2osz a200f3da7e Add link to separate repository with presentations. 2018-11-25 15:41:04 -05:00
wb2osz b915842c9f Add link to separate repository with presentations. 2018-11-25 15:36:26 -05:00
wb2osz 9eaf9e361c Merge branch 'jedahan-macOS' into dev 2018-11-24 17:52:08 -05:00
wb2osz 20f9e15b8b Merge branch 'macOS' of git://github.com/jedahan/direwolf into jedahan-macOS 2018-11-24 17:51:28 -05:00
wb2osz 79df808d5d Issue 151 - Add support for Multi-GNSS NMEA sentences. 2018-11-24 17:20:45 -05:00
wb2osz c5526524b6 Begin version 1.6 development. 2018-11-24 16:57:05 -05:00
wb2osz 4590e21934 Include errno.h rather than sys/errno.h 2018-11-23 16:33:45 -05:00
wb2osz c0abb4b216 Release 1.5. 2018-10-08 10:15:21 -04:00
wb2osz da0a33ef2a Version 1.5 2018-10-08 09:49:18 -04:00
Jonathan Dahan e0fcdb8835 macOS: default to latest macOS if version string isnt found 2018-10-01 14:26:22 -04:00
Jonathan Dahan 9a98aed96e macOS: use INSTALLDIR in makefile to find libraries 2018-10-01 14:26:22 -04:00
Jonathan Dahan 9665fa845b macOS: use march=native in build 2018-10-01 14:26:22 -04:00
Jonathan Dahan 331b5774f9 macOS: remove -fslp-vectorize-aggressive as it is deprecated 2018-10-01 14:26:22 -04:00
wb2osz 11071bb06a Improve error message for audio output failure. 2018-09-12 06:31:42 -04:00
wb2osz be705987e2 Merge branch 'joshbuhler-jb_macBuildFixes' into dev
Mac build fixes - Pull request 140
2018-08-05 21:20:12 -04:00
wb2osz f864874771 Merge branch 'jb_macBuildFixes' of git://github.com/joshbuhler/direwolf into joshbuhler-jb_macBuildFixes
Mac build fixes - Pull request 140
2018-08-05 21:14:48 -04:00
wb2osz 220e7dd1c4 Issue 132 continued. If a client app tried to send connected data when
the transmitter was already on, the packet would get stuck in the outgoing
data queue.
2018-08-05 11:20:27 -04:00
wb2osz 4ecaf478cf Issue 132 - Sometimes, when outgoing frames would exceeed the "window" size
(MAXFRAME or EMAXFRAME) they would get stuck in a queue and not be released later.
2018-07-02 14:17:02 -04:00