diff --git a/DSP_API/.cproject b/DSP_API/.cproject index 2711762..b017295 100644 --- a/DSP_API/.cproject +++ b/DSP_API/.cproject @@ -1,83 +1,43 @@ - - - + - - + + - + - - - - - - - - - - + + - + - - - - - - - - - + + + + + + + + - - - - - - - - - + - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/DSP_API/.project b/DSP_API/.project index 9f98781..a5b6b5d 100644 --- a/DSP_API/.project +++ b/DSP_API/.project @@ -7,6 +7,7 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, ?name? @@ -22,7 +23,7 @@ org.eclipse.cdt.make.core.buildArguments - -k -j + org.eclipse.cdt.make.core.buildCommand @@ -30,7 +31,7 @@ org.eclipse.cdt.make.core.buildLocation - ${workspace_loc:../../bin} + ${workspace_loc:/DSP_API/Release} org.eclipse.cdt.make.core.cleanBuildTarget @@ -42,7 +43,7 @@ org.eclipse.cdt.make.core.enableAutoBuild - true + false org.eclipse.cdt.make.core.enableCleanBuild @@ -58,11 +59,11 @@ org.eclipse.cdt.make.core.stopOnError - false + true org.eclipse.cdt.make.core.useDefaultBuildCmd - false + true @@ -77,6 +78,5 @@ org.eclipse.cdt.core.cnature org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature diff --git a/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs b/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs deleted file mode 100644 index 5b5e2e8..0000000 --- a/DSP_API/.settings/org.eclipse.cdt.codan.core.prefs +++ /dev/null @@ -1,66 +0,0 @@ -#Sun Aug 31 19:31:58 CDT 2014 -eclipse.preferences.version=1 -org.eclipse.cdt.codan.checkers.errnoreturn=Warning -org.eclipse.cdt.codan.checkers.errnoreturn.params={implicit\=>false} -org.eclipse.cdt.codan.checkers.errreturnvalue=Error -org.eclipse.cdt.codan.checkers.errreturnvalue.params={} -org.eclipse.cdt.codan.checkers.noreturn=Error -org.eclipse.cdt.codan.checkers.noreturn.params={implicit\=>false} -org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error -org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error -org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning -org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={} -org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error -org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={} -org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning -org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} -org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning -org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={unknown\=>false,exceptions\=>()} -org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error -org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error -org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error -org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error -org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error -org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error -org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error -org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error -org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info -org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} -org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning -org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={} -org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error -org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error -org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error -org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning -org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={} -org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=Warning -org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={} -org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning -org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={macro\=>true,exceptions\=>()} -org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning -org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={paramNot\=>false} -org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning -org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={else\=>false,afterelse\=>false} -org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error -org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} -org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning -org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={macro\=>true} -org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning -org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={macro\=>true} -org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning -org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={macro\=>true,exceptions\=>("@(\#)","$Id")} -org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error -org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/DSP_API/CODEC2_FREEDV/freedv_api.c b/DSP_API/CODEC2_FREEDV/freedv_api.c index a5f9c19..8d4de0d 100644 --- a/DSP_API/CODEC2_FREEDV/freedv_api.c +++ b/DSP_API/CODEC2_FREEDV/freedv_api.c @@ -305,6 +305,7 @@ int freedv_rx(struct freedv *f, short speech_out[], short demod_in[]) { fdmdv_get_demod_stats(f->fdmdv, &f->fdmdv_stats); if (f->fdmdv_stats.sync) { + printf("\033[97mIn sync. Pass demod_in to Codec, Codec to speech_out\n"); if (reliable_sync_bit == 0) { memcpy(f->rx_bits, f->fdmdv_bits, bits_per_fdmdv_frame*sizeof(int)); nout = 0; @@ -384,7 +385,7 @@ int freedv_rx(struct freedv *f, short speech_out[], short demod_in[]) { } } /* if (sync) .... */ else { - //printf("Not in sync. Pass demod_in to speech_out\n"); + printf("\033[97mNot in sync. Pass demod_in to speech_out\n"); /* if not in sync pass through analog samples */ /* this lets us "hear" whats going on, e.g. during tuning */ for(i=0; i #include "freedv_api.h" @@ -139,10 +140,10 @@ void sched_waveform_signal() #define PACKET_SAMPLES 128 -#define SCALE_RX_IN 16000.0 // Multiplier -#define SCALE_RX_OUT 8000.0 // Divisor -#define SCALE_TX_IN 16000.0 // Multiplier -#define SCALE_TX_OUT 32768.0 // Divisor +#define SCALE_RX_IN 16000.0 // Multiplier +#define SCALE_RX_OUT 8000.0 // Divisor +#define SCALE_TX_IN 16000.0 // Multiplier +#define SCALE_TX_OUT 32768.0 // Divisor #define FILTER_TAPS 48 #define DECIMATION_FACTOR 3 @@ -239,26 +240,9 @@ void freedv_set_string(uint32 slice, char* string) -/* ********************************************************************************************* - * ********************************************************************************************* - * ********************************************************************************************* - * ******************** ^^^ TEMPORARY LOCATION OF DEMOD/MOD ^^^ ************************************** - * ********************************************************************************************* - * ********************************************************************************************* - * ********************************************************************************************* - */ - - - static void* _sched_waveform_thread(void* param) { - -/* ********************************************************************************************* - * ******************** ^ TEMPORARY LOCATION OF DEMOD/MOD ^^^ ************************************** - * ********************************************************************************************* - */ - int nin, nout; int i; // for loop counter @@ -266,8 +250,8 @@ static void* _sched_waveform_thread(void* param) // float Sig2Noise; // Signal to noise ratio // Flags ... - int initial_tx = 1; // Flags for TX circular buffer, clear if starting transmit - int initial_rx = 1; // Flags for RX circular buffer, clear if starting receive + int initial_tx = 1; // Flags for TX circular buffer, clear if starting transmit + int initial_rx = 1; // Flags for RX circular buffer, clear if starting receive // VOCODER I/O BUFFERS short speech_in[FREEDV_NSAMPLES]; @@ -345,10 +329,6 @@ static void* _sched_waveform_thread(void* param) _freedvS->callback_state = (void*)&_my_cb_state; _freedvS->freedv_get_next_tx_char = &my_get_next_tx_char; -/* ********************************************************************************************* - * ******************** ^ TEMPORARY LOCATION OF DEMOD/MOD ^^^ ************************************** - * ********************************************************************************************* - */ // show that we are running diff --git a/DSP_API/common.h b/DSP_API/common.h index f3307fb..daa941a 100644 --- a/DSP_API/common.h +++ b/DSP_API/common.h @@ -1,5 +1,5 @@ /* ***************************************************************************** - * common.h 2014 AUG 31 + * common.h 2015 JAN 27 * * Created on: Aug 28, 2014 * Author: Graham / KE9H @@ -72,13 +72,14 @@ #define SL_CLOSE_CLIENT SL_ERROR_BASE + 0x03A #define ANSI_ESC "\033[" -#define ANSI_RED ANSI_ESC "91m" -#define ANSI_GREEN ANSI_ESC "92m" +#define ANSI_RED ANSI_ESC "91m" +#define ANSI_GREEN ANSI_ESC "92m" #define ANSI_YELLOW ANSI_ESC "93m" -#define ANSI_BLUE ANSI_ESC "94m" +#define ANSI_BLUE ANSI_ESC "94m" #define ANSI_MAGENTA ANSI_ESC "95m" -#define ANSI_CYAN ANSI_ESC "96m" -#define ANSI_WHITE ANSI_ESC "97m" +#define ANSI_CYAN ANSI_ESC "96m" +#define ANSI_WHITE ANSI_ESC "97m" +#define CLR_WHT "\033[97m" #define ANSI_COLOR_OFF ANSI_ESC "m" #endif /* COMMON_H_ */ diff --git a/DSP_API/main.c b/DSP_API/main.c index cc33f74..3b0e5de 100644 --- a/DSP_API/main.c +++ b/DSP_API/main.c @@ -55,6 +55,7 @@ #include #include "smartsdr_dsp_api.h" + #include "common.h" @@ -146,6 +147,7 @@ int main( int argc, char * argv[]) * service or as a subprocess. */ enable_console = TRUE; + output(ANSI_YELLOW" WAVEFORM Version 1.0.3, Console alive.\n"ANSI_WHITE); } else if ( strncmp(argv[i], restrict_ip_param, strlen(restrict_ip_param)) == 0 ) { restrict_ip = safe_malloc(strlen(argv[i]));