From: John Melton - G0ORX/N6LYT Date: Mon, 18 Jul 2016 18:45:13 +0000 (+0000) Subject: new protocol updates X-Git-Url: https://git.rkrishnan.org/uri/vdrive/$top_link?a=commitdiff_plain;h=5cc7ee64078511bcfef6677a7346e9e3adce0fb8;p=pihpsdr.git new protocol updates --- diff --git a/meter.c b/meter.c index cd01fbf..40da458 100644 --- a/meter.c +++ b/meter.c @@ -87,12 +87,14 @@ meter_draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data) { return FALSE; } +static void smeter_select_cb (GtkWidget *widget, gpointer data) { smeter=(int)data; } +static void alc_meter_select_cb (GtkWidget *widget, gpointer data) { diff --git a/new_protocol.c b/new_protocol.c index b8fd5da..3e4a07a 100644 --- a/new_protocol.c +++ b/new_protocol.c @@ -103,18 +103,18 @@ static int fft_size=4096; static int dspRate=48000; static int outputRate=48000; -static double micinputbuffer[BUFFER_SIZE*2]; -static double micoutputbuffer[BUFFER_SIZE*4*2]; +static int micSampleRate=48000; +static int micDspRate=48000; +static int micOutputRate=192000; +static int micoutputsamples=BUFFER_SIZE*4; // 48000 in, 192000 out + +static double micinputbuffer[BUFFER_SIZE*2]; // 48000 +static double micoutputbuffer[BUFFER_SIZE*4*2]; //192000 static long tx_iq_sequence; static unsigned char iqbuffer[1444]; static int iqindex; -static int micSampleRate=48000; -static int micDspRate=48000; -static int micOutputRate=192000; -static int micoutputsamples; - static int spectrumWIDTH=800; static int SPECTRUM_UPDATES_PER_SECOND=10; @@ -142,7 +142,7 @@ static int audioindex; #ifdef FREEDV static int freedv_samples=0; -static int freedv_divisor=6; // convert from 48000 to 8000 +static int freedv_resample=6; // convert from 48000 to 8000 #endif static void* new_protocol_thread(void* arg); @@ -563,17 +563,18 @@ void new_protocol_stop() { sleep(1); } -float sineWave(double* buf, int samples, float phase, float freq) { - //float phase_step = 2 * PI * freq / 192000.0F; +static float sineWave(double* buf, int samples, float phase, float freq) { float phase_step = 2 * PI * freq / 48000.0F; int i; for (i = 0; i < samples; i++) { buf[i*2] = (double) sin(phase); + buf[(i*2)+1] = (double) sin(phase); phase += phase_step; } return phase; } + double calibrate(int v) { // Angelia double v1; @@ -612,16 +613,6 @@ void* new_protocol_thread(void* arg) { float micsamplefloat; int micsamples; -/* - float micleftinputbuffer[BUFFER_SIZE]; // 48000 - float micrightinputbuffer[BUFFER_SIZE]; - int micoutputsamples; - float micleftoutputbuffer[BUFFER_SIZE*4]; // 192000 - float micrightoutputbuffer[BUFFER_SIZE*4]; - long tx_iq_sequence; - unsigned char iqbuffer[1444]; - int iqindex; -*/ int i, j; fprintf(stderr,"new_protocol_thread: receiver=%d\n", receiver); @@ -629,7 +620,6 @@ fprintf(stderr,"new_protocol_thread: receiver=%d\n", receiver); micsamples=0; iqindex=4; - micoutputsamples=BUFFER_SIZE*4; // 48000 in, 192000 out fprintf(stderr,"outputsamples=%d\n", outputsamples); data_socket=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP); @@ -780,22 +770,19 @@ if(dash!=previous_dash) { for(i=0;i<720;i++) { micsample = (int)((signed char) buffer[b++]) << 8; micsample |= (int)((unsigned char)buffer[b++] & 0xFF); - micsamplefloat = (float)micsample/32767.0F; // 16 bit sample #ifdef FREEDV if(mode==modeFREEDV) { - if(freedv_samples==0) { + if(freedv_samples==0) { // 48K to 8K int modem_samples=mod_sample_freedv(micsample); if(modem_samples!=0) { int s; for(s=0;s