ubitx-v5x/TeensyDSP/TR.cpp

56 lines
1.6 KiB
C++

//======================================================================
// TR.cpp
//======================================================================
#include <Arduino.h>
#include "TR.h"
UBitxTR TR(DSP);
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
//======================================================================