From: c vw Date: Mon, 3 Jun 2019 16:15:06 +0000 (+0200) Subject: streamlining X-Git-Url: https://git.rkrishnan.org/pf/content/en/seg/(%5B%5E?a=commitdiff_plain;h=b98dd7713147fb4556697d90d3dbad97743ea63b;p=pihpsdr.git streamlining --- diff --git a/ext.h b/ext.h index c3c9710..5ed6b06 100644 --- a/ext.h +++ b/ext.h @@ -28,7 +28,6 @@ extern int ext_vfo_update(void *data); extern int ext_set_frequency(void *data); extern int ext_vfo_filter_changed(void *data); extern int ext_band_update(void *data); -extern int ext_ptt_update(void *data); extern int ext_mox_update(void *data); extern int ext_tune_update(void *data); extern int ext_linein_changed(void *data); diff --git a/old_protocol.c b/old_protocol.c index 579a878..b830416 100644 --- a/old_protocol.c +++ b/old_protocol.c @@ -562,20 +562,20 @@ static void process_ozy_input_buffer(unsigned char *buffer) { int tx_vfo=split?VFO_B:VFO_A; - int nreceivers; + int num_hpsdr_receivers; #ifdef PURESIGNAL // for PureSignal, the number of receivers needed is hard-coded below. // we need at least 3 (for RX), and up to 5 for Orion2 boards, since // the TX DAC channel is hard-wired to RX5. - nreceivers=3; - if (device == DEVICE_HERMES) nreceivers=4; - if (device == DEVICE_ANGELIA || device == DEVICE_ORION || device == DEVICE_ORION2) nreceivers=5; + num_hpsdr_receivers=3; + if (device == DEVICE_HERMES) num_hpsdr_receivers=4; + if (device == DEVICE_ANGELIA || device == DEVICE_ORION || device == DEVICE_ORION2) num_hpsdr_receivers=5; #else #if defined(RADIOBERRY) || defined(PI_SDR) - nreceivers = receivers; + num_hpsdr_receivers = receivers; #else - nreceivers=RECEIVERS; + num_hpsdr_receivers=RECEIVERS; #endif #endif @@ -639,10 +639,10 @@ static void process_ozy_input_buffer(unsigned char *buffer) { break; } - int iq_samples=(512-8)/((nreceivers*6)+2); + int iq_samples=(512-8)/((num_hpsdr_receivers*6)+2); for(i=0;ialex_antenna; #ifdef PURESIGNAL // @@ -966,6 +969,9 @@ void ozy_send_buffer() { case 4: // Alex: RX1 IN, ANAN: EXT2, ANAN7000: RX BYPASS output_buffer[C3]|=0xA0; break; + case 5: // XVTR + output_buffer[C3]|=0xE0; + break; default: // RX1_OUT and RX1_ANT bits remain zero break; @@ -975,8 +981,9 @@ void ozy_send_buffer() { output_buffer[C4]=0x04; // duplex // 0 ... 7 maps on 1 ... 8 receivers - output_buffer[C4]|=(nreceivers-1)<<3; + output_buffer[C4]|=(num_hpsdr_receivers-1)<<3; + // Set ALEX TX_RELAX (that is, TX_ANT) if(isTransmitting()) { switch(transmitter->alex_antenna) { case 0: // ANT 1 @@ -1046,7 +1053,7 @@ void ozy_send_buffer() { output_buffer[C4]=txFrequency; break; case 2: // rx frequency - if(current_rxid; @@ -1093,7 +1100,7 @@ void ozy_send_buffer() { #endif current_rx++; } - if(current_rx>=nreceivers) { + if(current_rx>=num_hpsdr_receivers) { current_rx=0; } break; @@ -1288,7 +1295,7 @@ void ozy_send_buffer() { } #ifdef PURESIGNAL if(transmitter->puresignal) { - output_buffer[C2]|=0x40; // Synchronize RX5 andh TX frequency on transmit + output_buffer[C2]|=0x40; // Synchronize RX5 and TX frequency on transmit } #endif output_buffer[C3]=0x00; // Alex2 filters diff --git a/radio.c b/radio.c index 82c6fbf..d232a27 100644 --- a/radio.c +++ b/radio.c @@ -849,14 +849,15 @@ static void rxtx(int state) { void setMox(int state) { vox_cancel(); // remove time-out - if (vox) { // if VOX active, turn it off - rxtx(0); - vox=0; - } if(mox!=state) { - rxtx(state); + if (state && vox) { + // Suppress RX-TX transition if VOX was active + } else { + rxtx(state); + } mox=state; } + vox=0; } int getMox() { diff --git a/vfo.c b/vfo.c index dba5f8e..2e907ce 100644 --- a/vfo.c +++ b/vfo.c @@ -743,7 +743,8 @@ void vfo_update() { cairo_show_text(cr, temp_text); // NB and NB2 are mutually exclusive, therefore - // they are put to the same place + // they are put to the same place in order to save + // some space cairo_move_to(cr, 150, 50); if(active_receiver->nb) { cairo_set_source_rgb(cr, 1.0, 1.0, 0.0);