//====================================================================== // TR.cpp //====================================================================== #include #include "TR.h" UBitxTR _tr(DSP); UBitxTR& TR = _tr; void UBitxTR::update(bool cw, bool extKey) { updateKey(); if (cw) { if ((keyEnable && keyDown) || extKey) { setTX(); } else { setRX(); } return; } updatePTT(); updateVOX(); if (isTX) { // If we are currently transmitting, then ANY T/R release (key // release) will result in exitting transmit... except for VOX // and CAT which can only function as a release if it was enabled. if (pttReleased() || keyReleased() || (voxEnable && voxDeactivated()) || (catEnable && catDeactivated())) { // first, stop transmitting; then, setup RX audio DBGCMD( setRX() ); DBGCMD( dsp.rx() ); } } else { if ((pttEnable && pttPressed()) || (voxEnable && voxActivated())) { // first, setup TX audio; then, start transmitting (from Mic) DBGCMD( dsp.txMicIn() ); DBGCMD( setTX() ); } else if (keyEnable && keyPressed()) { // first, setup TX audio; then, start transmitting (from Line In) DBGCMD( dsp.txLineIn() ); DBGCMD( setTX() ); } else if (catEnable && catActivated()) { // first, setup TX audio; then, start transmitting (USB) DBGCMD( dsp.txUSBIn() ); DBGCMD( setTX() ); } } } //====================================================================== // EOF //======================================================================