From d491f51ce90d248f6a65d36281bb54e3308f3b1e Mon Sep 17 00:00:00 2001 From: WB2OSZ Date: Sun, 31 Jan 2016 11:42:58 -0500 Subject: [PATCH] Misc fixes for upstream #20. Bug fix for reading config files, a number of warning fixes, and a fix that allows Clang to be used to compile direwolf. modified: .gitignore modified: Makefile.linux modified: aclients.c modified: audio.c modified: config.c modified: demod_afsk.c modified: dwgpsd.c modified: igate.c modified: kiss.c modified: kissnet.c modified: ttcalc.c --- .gitignore | 22 ++++++++++++++++++++-- Makefile.linux | 23 ++++++++++++++--------- aclients.c | 1 + audio.c | 2 +- config.c | 2 +- demod_afsk.c | 2 +- dwgpsd.c | 1 + igate.c | 1 + kiss.c | 2 +- kissnet.c | 2 +- ttcalc.c | 1 + 11 files changed, 43 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 496a5da..9f3c376 100644 --- a/.gitignore +++ b/.gitignore @@ -6,9 +6,7 @@ z* *~ *.xlsx *.stackdump -direwolf.conf *.wav -fsk_fast_filter.h # Object files @@ -41,6 +39,26 @@ fsk_fast_filter.h *.x86_64 *.hex +# Binaries, other build results + +aclients +atest +decode_aprs +direwolf +gen_fff +gen_packets +ll2utm +log2gpx +text2tt +tt2text +ttcalc +utm2ll + +direwolf.conf +fsk_fast_filter.h +direwolf.desktop + + # ========================= # Operating System Files # ========================= diff --git a/Makefile.linux b/Makefile.linux index 0949eb7..9d47877 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -327,10 +327,10 @@ gen_packets : gen_packets.c ax25_pad.c hdlc_send.c fcs_calc.c gen_tone.c morse.c # Unit test for AFSK demodulator -atest : atest.c fsk_fast_filter.h demod.c demod_afsk.c demod_9600.c \ - dsp.o hdlc_rec.c hdlc_rec2.o multi_modem.o rrbb.o \ - fcs_calc.c ax25_pad.c decode_aprs.c dwgpsnmea.o \ - dwgps.o dwgpsd.o serial_port.o telemetry.c latlong.c symbols.c tt_text.c textcolor.c \ +atest : atest.c demod.o demod_afsk.o demod_9600.o \ + dsp.o hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \ + fcs_calc.o ax25_pad.o decode_aprs.o dwgpsnmea.o \ + dwgps.o dwgpsd.o serial_port.o telemetry.o latlong.o symbols.o tt_text.o textcolor.o \ misc.a $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) @@ -683,6 +683,7 @@ kisstest : kiss_frame.c # ----------------------------- Manual tests and experiments --------------------------- +# These are not included in a normal build. Might be broken. # Unit test for IGate @@ -690,19 +691,23 @@ itest : igate.c textcolor.c ax25_pad.c fcs_calc.c textcolor.o misc.a $(CC) $(CFLAGS) -DITEST -o $@ $^ ./itest -# Unit test for UDP reception with AFSK demodulator +# Unit test for UDP reception with AFSK demodulator. +# Temporary during development. Might not be useful anymore. -udptest : udp_test.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.c hdlc_rec2.c multi_modem.c rrbb.c - fcs_calc.c ax25_pad.c decode_aprs.c symbols.c textcolor.c misc.a +udptest : udp_test.c demod.o dsp.o demod_afsk.o demod_9600.o hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \ + fcs_calc.o ax25_pad.o decode_aprs.o symbols.o textcolor.o misc.a $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) ./udptest +# For demodulator tweaking experiments. +# Dependencies of demod*.c, rather than .o, are intentional. + demod.o : tune.h demod_afsk.o : tune.h demod_9600.o : tune.h -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 telemetry.c latlong.c symbols.c tune.h textcolor.c misc.a +testagc : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \ + fcs_calc.o ax25_pad.o decode_aprs.o telemetry.o latlong.o symbols.o tune.h textcolor.o misc.a $(CC) $(CFLAGS) -o atest $^ $(LDFLAGS) ./atest 02_Track_2.wav | grep "packets decoded in" > atest.out diff --git a/aclients.c b/aclients.c index a579285..fe5e93c 100644 --- a/aclients.c +++ b/aclients.c @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include diff --git a/audio.c b/audio.c index d5fcdcd..84aa854 100644 --- a/audio.c +++ b/audio.c @@ -1134,7 +1134,7 @@ int audio_flush (int a) { #if USE_ALSA int k; - char *psound; + unsigned char *psound; int retries = 10; snd_pcm_status_t *status; diff --git a/config.c b/config.c index 860dc8d..5115a97 100644 --- a/config.c +++ b/config.c @@ -1233,7 +1233,7 @@ void config_init (char *fname, struct audio_s *p_audio_config, /* Later, we check for valid letters and no more than one letter if + specified. */ for (pc = t; *pc != '\0'; pc++) { - if ( ! isalpha(*pc) && ! *pc == '+') { + if ( ! isalpha(*pc) && ! (*pc == '+')) { text_color_set(DW_COLOR_ERROR); dw_printf ("Line %d: Demodulator type can only contain letters and + character.\n", line); } diff --git a/demod_afsk.c b/demod_afsk.c index c5d248a..b769e21 100644 --- a/demod_afsk.c +++ b/demod_afsk.c @@ -720,7 +720,7 @@ static void emit_macro (char *name, int size, float *coeff) dw_printf ("\n"); } -int main () +int main (void) { //int n; char fff_profile; diff --git a/dwgpsd.c b/dwgpsd.c index 5fc97bf..37688ff 100644 --- a/dwgpsd.c +++ b/dwgpsd.c @@ -41,6 +41,7 @@ #include #include #include +#include #if __WIN32__ #error Not for Windows diff --git a/igate.c b/igate.c index 080c30e..16041b6 100644 --- a/igate.c +++ b/igate.c @@ -81,6 +81,7 @@ #include #include #include +#include #include #include #endif diff --git a/kiss.c b/kiss.c index 0007d1f..db68d69 100644 --- a/kiss.c +++ b/kiss.c @@ -685,7 +685,7 @@ void kiss_send_rec_packet (int chan, unsigned char *fbuf, int flen) text_color_set(DW_COLOR_DEBUG); dw_printf ("\n"); dw_printf ("Packet content before adding KISS framing and any escapes:\n"); - hex_dump ((char*)fbuf, flen); + hex_dump (fbuf, flen); } kiss_len = kiss_encapsulate (stemp, flen+1, kiss_buff); diff --git a/kissnet.c b/kissnet.c index 357c582..e377657 100644 --- a/kissnet.c +++ b/kissnet.c @@ -511,7 +511,7 @@ void kissnet_send_rec_packet (int chan, unsigned char *fbuf, int flen) text_color_set(DW_COLOR_DEBUG); dw_printf ("\n"); dw_printf ("Packet content before adding KISS framing and any escapes:\n"); - hex_dump ((char*)fbuf, flen); + hex_dump (fbuf, flen); } kiss_len = kiss_encapsulate (stemp, flen+1, kiss_buff); diff --git a/ttcalc.c b/ttcalc.c index b122be4..17538e3 100644 --- a/ttcalc.c +++ b/ttcalc.c @@ -57,6 +57,7 @@ #include #include #include +#include #include #include #include