From b45e563e54125125f459078b3694e6fd0ed17d64 Mon Sep 17 00:00:00 2001 From: EdFuentetaja Date: Tue, 6 May 2014 23:57:15 +0800 Subject: [PATCH] Fixed some compilation warnings and added a few comments. --- descramble.h | 13 +++++++++---- dsd.h | 5 +++++ dsd_dibit.c | 28 ++++++++++++++++++++++++---- dsd_filters.c | 2 +- dsd_frame.c | 6 +++--- dsd_frame_sync.c | 24 ++++++++++++------------ dsd_mbe.c | 3 +++ dsd_upsample.c | 6 +++--- 8 files changed, 60 insertions(+), 27 deletions(-) diff --git a/descramble.h b/descramble.h index c167f7b..6dbe4f1 100644 --- a/descramble.h +++ b/descramble.h @@ -166,16 +166,21 @@ void viterbiDecode (int n, int *data, int *m_pathMemory0, int *m_pathMemory1, in int FECdecoder (int * in, int * out) { int outLen; -int m_pathMemory0[330]; memset(m_pathMemory0,0,330*sizeof(int)); -int m_pathMemory1[330]; memset(m_pathMemory1,0,330*sizeof(int)); -int m_pathMemory2[330]; memset(m_pathMemory2,0,330*sizeof(int)); -int m_pathMemory3[330]; memset(m_pathMemory3,0,330*sizeof(int)); +int m_pathMemory0[330]; +int m_pathMemory1[330]; +int m_pathMemory2[330]; +int m_pathMemory3[330]; int m_pathMetric[4]; int loop,loop2; int n=0; +memset(m_pathMemory0,0,330*sizeof(int)); +memset(m_pathMemory1,0,330*sizeof(int)); +memset(m_pathMemory2,0,330*sizeof(int)); +memset(m_pathMemory3,0,330*sizeof(int)); + for (loop=0;loop<4;loop++) { m_pathMetric[loop]=0; }; // end for diff --git a/dsd.h b/dsd.h index ad6ffdc..b34f6fc 100644 --- a/dsd.h +++ b/dsd.h @@ -15,6 +15,9 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#ifndef DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2 +#define DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2 + #include "config.h" #include #include @@ -264,3 +267,5 @@ void processX2TDMAvoice (dsd_opts * opts, dsd_state * state); void processDSTAR_HD (dsd_opts * opts, dsd_state * state); short dmr_filter(short sample); short nxdn_filter(short sample); + +#endif // DSD_H__f8398b5f0d5d49a1be2f1645325dfdb2 diff --git a/dsd_dibit.c b/dsd_dibit.c index 3d05e4e..62bbd20 100644 --- a/dsd_dibit.c +++ b/dsd_dibit.c @@ -189,32 +189,43 @@ getDibit (dsd_opts * opts, dsd_state * state) { *state->dibit_buf_p = 1; state->dibit_buf_p++; - return (0); + return (0); // +1 } else { *state->dibit_buf_p = 3; state->dibit_buf_p++; - return (1); + return (1); // +3 } } else if ((state->synctype == 7) || (state->synctype == 15)|| (state->synctype == 19)) { + // 7 -D-STAR + // 15 -ProVoice + // 19 -D-STAR_HD + if (symbol > state->center) { *state->dibit_buf_p = 1; state->dibit_buf_p++; - return (1); + return (1); // +3 } else { *state->dibit_buf_p = 3; state->dibit_buf_p++; - return (0); + return (0); // +1 } } else if ((state->synctype == 1) || (state->synctype == 3) || (state->synctype == 5) || (state->synctype == 9) || (state->synctype == 11) || (state->synctype == 13)) { + // 1 -P25p1 + // 3 -X2-TDMA (inverted signal voice frame) + // 5 -X2-TDMA (inverted signal data frame) + // 9 -NXDN (inverted voice frame) + // 11 -DMR (inverted signal voice frame) + // 13 -DMR (inverted signal data frame) + if (symbol > state->center) { if (symbol > state->umid) @@ -248,6 +259,15 @@ getDibit (dsd_opts * opts, dsd_state * state) } else { + // 0 +P25p1 + // 2 +X2-TDMA (non inverted signal data frame) + // 4 +X2-TDMA (non inverted signal voice frame) + // 8 +NXDN (non inverted voice frame) + // 10 +DMR (non inverted signal data frame) + // 12 +DMR (non inverted signal voice frame) + // 16 +NXDN (non inverted data frame) + // 17 -NXDN (inverted data frame) ??? + if (symbol > state->center) { if (symbol > state->umid) diff --git a/dsd_filters.c b/dsd_filters.c index aff98dd..672b25e 100644 --- a/dsd_filters.c +++ b/dsd_filters.c @@ -112,5 +112,5 @@ dsd_input_filter(short sample, int mode) for (i = 0; i <= zeros; i++) sum += (coeffs[i] * v[i]); - return sum / ngain; // filtered sample out + return (short)(sum / ngain); // filtered sample out } \ No newline at end of file diff --git a/dsd_frame.c b/dsd_frame.c index 21cd744..7b59728 100644 --- a/dsd_frame.c +++ b/dsd_frame.c @@ -54,7 +54,7 @@ processFrame (dsd_opts * opts, dsd_state * state) char nac[13]; int level; - char status_0, status_1; + char status_0; char bch_code[63]; int index_bch_code; unsigned char parity; @@ -69,8 +69,8 @@ processFrame (dsd_opts * opts, dsd_state * state) if (state->rf_mod == 1) { - state->maxref = (state->max * 0.80); - state->minref = (state->min * 0.80); + state->maxref = (int)(state->max * 0.80F); + state->minref = (int)(state->min * 0.80F); } else { diff --git a/dsd_frame_sync.c b/dsd_frame_sync.c index bf44760..1993c23 100644 --- a/dsd_frame_sync.c +++ b/dsd_frame_sync.c @@ -43,16 +43,16 @@ int getFrameSync (dsd_opts * opts, dsd_state * state) { /* detects frame sync and returns frame type - * 0 = +P25p1 - * 1 = -P25p1 - * 2 = +X2-TDMA (non inverted signal data frame) - * 3 = +X2-TDMA (inverted signal voice frame) - * 4 = -X2-TDMA (non inverted signal voice frame) - * 5 = -X2-TDMA (inverted signal data frame) - * 6 = +D-STAR - * 7 = -D-STAR - * 8 = +NXDN (non inverted voice frame) - * 9 = -NXDN (inverted voice frame) + * 0 = +P25p1 + * 1 = -P25p1 + * 2 = +X2-TDMA (non inverted signal data frame) + * 3 = -X2-TDMA (inverted signal voice frame) + * 4 = +X2-TDMA (non inverted signal voice frame) + * 5 = -X2-TDMA (inverted signal data frame) + * 6 = +D-STAR + * 7 = -D-STAR + * 8 = +NXDN (non inverted voice frame) + * 9 = -NXDN (inverted voice frame) * 10 = +DMR (non inverted signal data frame) * 11 = -DMR (inverted signal voice frame) * 12 = +DMR (non inverted signal voice frame) @@ -211,8 +211,8 @@ getFrameSync (dsd_opts * opts, dsd_state * state) } state->max = lsum / opts->msize; state->center = ((state->max) + (state->min)) / 2; - state->maxref = ((state->max) * 0.80); - state->minref = ((state->min) * 0.80); + state->maxref = (int)((state->max) * 0.80F); + state->minref = (int)((state->min) * 0.80F); } else { diff --git a/dsd_mbe.c b/dsd_mbe.c index e0b7997..3e93a82 100644 --- a/dsd_mbe.c +++ b/dsd_mbe.c @@ -88,6 +88,9 @@ processMbeFrame (dsd_opts * opts, dsd_state * state, char imbe_fr[8][23], char a if ((state->synctype == 0) || (state->synctype == 1)) { + // 0 +P25p1 + // 1 -P25p1 + mbe_processImbe7200x4400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, imbe_fr, imbe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality); if (opts->mbe_out_f != NULL) { diff --git a/dsd_upsample.c b/dsd_upsample.c index 3bbc584..42623f4 100644 --- a/dsd_upsample.c +++ b/dsd_upsample.c @@ -53,11 +53,11 @@ upsample (dsd_state * state, float invalue) { sum = 0; outbuf1 -= 2; - sum += *outbuf1; + sum += (int)*outbuf1; outbuf1 += 2; - sum += *outbuf1; + sum += (int)*outbuf1; outbuf1 += 2; - sum += *outbuf1; + sum += (int)*outbuf1; outbuf1 -= 2; *outbuf1 = (sum / (float) 3); outbuf1++;