//====================================================================== // TR.cpp //====================================================================== #include #include "TR.h" UBitxTR TR(DSP); void UBitxTR::update(bool cw, bool extKey) { updateLinePTT(); if (cw) { if ((keyEnable && keyDown) || extKey) { setTX(); } else { setRX(); } return; } updateMicPTT(); updateMicVOX(); updateDataVOX(); if (isTX) { // If we are currently transmitting, then ANY T/R release (key // release) will result in exiting transmit... except for VOX // and CAT which can only function as a release if it was enabled. if (micPTTReleased() || linePTTReleased() || (micVOXEnabled() && micVOXDeactivated()) || (catEnabled() && catDeactivated()) || (dataVOXEnabled() && dataVOXDeactivated())) { // first, stop transmitting; then, setup RX audio DBGCMD( setRX() ); DBGCMD( dsp.rx() ); } } else { if ((micPTTEnabled() && micPTTPressed()) || (micVOXEnabled() && micVOXActivated())) { // first, setup TX audio; then, start transmitting (from Mic) DBGCMD( dsp.tx(MIC_IN) ); DBGCMD( setTX() ); } else if ((linePTTEnabled() && linePTTPressed())) { // first, setup TX audio; then, start transmitting (from Line In) DBGCMD( dsp.tx(LINE_IN) ); DBGCMD( setTX() ); } else if (catEnable && catActivated()) { // first, setup TX audio; then, start transmitting (USB) DBGCMD( dsp.tx(USB_IN) ); DBGCMD( setTX() ); } } } //====================================================================== // EOF //======================================================================