From: drowe67 Date: Sun, 13 May 2012 22:16:40 +0000 (+0000) Subject: reduced stack req for logging data on fdmdv_demod, thanks Peter X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=819f775074edb985efaff61de911fd2f55763247;p=freetel-svn-tracking.git reduced stack req for logging data on fdmdv_demod, thanks Peter git-svn-id: https://svn.code.sf.net/p/freetel/code@454 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/src/fdmdv_demod.c b/codec2-dev/src/fdmdv_demod.c index 36ca926d..91cd7ccb 100644 --- a/codec2-dev/src/fdmdv_demod.c +++ b/codec2-dev/src/fdmdv_demod.c @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) int f; FILE *foct = NULL; struct FDMDV_STATS stats; - float rx_fdm_log[FDMDV_MAX_SAMPLES_PER_FRAME*MAX_FRAMES]; + float *rx_fdm_log; int rx_fdm_log_col_index; COMP rx_symbols_log[FDMDV_NSYM][MAX_FRAMES]; int coarse_fine_log[MAX_FRAMES]; @@ -96,6 +96,12 @@ int main(int argc, char *argv[]) exit(1); } + /* this cause out of stack probs on windows as a regular variable + so let malloc it */ + + rx_fdm_log = (float*)malloc(sizeof(float)*FDMDV_MAX_SAMPLES_PER_FRAME*MAX_FRAMES); + assert(rx_fdm_log != NULL); + fdmdv = fdmdv_create(); f = 0; state = 0; @@ -130,7 +136,7 @@ int main(int argc, char *argv[]) f++; } else - printf("MAX_FRAMES exceed in Octave log, log truncated\n"); + fprintf(stderr,"MAX_FRAMES exceed in Octave log, log truncated\n"); /* state machine to output codec bits only if we have a 0,1 sync bit sequence */ @@ -202,6 +208,7 @@ int main(int argc, char *argv[]) fclose(fin); fclose(fout); + free(rx_fdm_log); fdmdv_destroy(fdmdv); return 0;