//Called when subRx is checked in main menu via actionSubRx() void vfo::checkSubRx(long long f, int samplerate) { long long vfoAfreq; if(selectedVFO == 'B') { on_pBtnBtoA_clicked(); } vfoAfreq = readA(); if ((f < (vfoAfreq - (samplerate / 2))) || (f > (vfoAfreq + (samplerate / 2)))) { f=vfoAfreq; } writeB(f); emit frequencyChanged(readA()); // on_pBtnvfoA_clicked(); ui->pBtnvfoB->setText("subRx"); ui->pBtnvfoA->setText("mainRx"); selectedVFO = 'B'; ui->pBtnvfoB->setStyleSheet("background-color: rgb(85, 255, 0)"); ui->pBtnvfoA->setStyleSheet("background-color: normal"); ui->pBtnSplit->setStyleSheet("background-color: normal"); ui->pBtnvfoA->setEnabled(FALSE); vfoEnabled(false, true); // ui->pBtnvfoA->setEnabled(FALSE); //qDebug()<<Q_FUNC_INFO<<": About to check pBtnSubRx"; ui->pBtnSubRx->setChecked(TRUE); }
//Called when subRx is unchecked in main menu via actionSubRx() void vfo::uncheckSubRx() { ui->pBtnvfoB->setText("VFO B"); ui->pBtnvfoA->setText("VFO A"); ui->pBtnvfoA->setEnabled(TRUE); ui->pBtnSubRx->setChecked(FALSE); vfoEnabled(true, false); on_pBtnvfoA_clicked(); //Return to vfoA = default vfo }
void vfo::on_pBtnSplit_clicked() { if (selectedVFO != 'S' && ptt == false) { if (ui->pBtnRIT->isChecked()) { ui->pBtnRIT->setChecked(false); on_pBtnRIT_clicked(); } selectedVFO = 'S'; setVfoBtnColour(); vfoEnabled(true, false); emit frequencyChanged(readA()); } }
void vfo::on_pBtnvfoB_clicked() { if (selectedVFO != 'B') { if (ui->pBtnRIT->isChecked()) { ui->pBtnRIT->setChecked(false); on_pBtnRIT_clicked(); } selectedVFO = 'B'; ui->pBtnvfoB->setStyleSheet("background-color: rgb(85, 255, 0)"); ui->pBtnvfoA->setStyleSheet("background-color: normal"); ui->pBtnSplit->setStyleSheet("background-color: normal"); vfoEnabled(false, true); setBandButton(readB()); writeB(readB()); } }
void vfo::on_pBtnvfoA_clicked() { if (selectedVFO != 'A') { if (ui->pBtnRIT->isChecked()) { ui->pBtnRIT->setChecked(false); on_pBtnRIT_clicked(); } selectedVFO = 'A'; ui->pBtnvfoA->setStyleSheet("background-color: rgb(85, 255, 0)"); //Set button to Green ui->pBtnvfoB->setStyleSheet("background-color: normal"); ui->pBtnSplit->setStyleSheet("background-color: normal"); vfoEnabled(true, false); setBandButton(readA()); writeA(readA()); } }
void vfo::on_pBtnSplit_clicked() { if (selectedVFO != 'S') { if (ui->pBtnRIT->isChecked()) { ui->pBtnRIT->setChecked(false); on_pBtnRIT_clicked(); } selectedVFO = 'S'; ui->pBtnvfoA->setStyleSheet("background-color: rgb(85, 255, 0)"); ui->pBtnvfoB->setStyleSheet("background-color: rgb(255, 155, 155)"); ui->pBtnSplit->setStyleSheet("background-color: rgb(0, 170, 255)"); vfoEnabled(true, false); setBandButton(readA()); if (ptt == true) { writeB(readB()); } else { writeA(readA()); } } }
void vfo::togglePTT(bool pttRq) { int freq; bool vfoUsed; // true = vfoA, false = vfoB. if (selectedVFO == 'A') { freq = readA(); vfoUsed = true; } else if (selectedVFO == 'B') { freq = readB(); vfoUsed = false; } else if (pttRq == true) { // Must be split and freq = readB(); //we will Tx on vfoB vfoUsed = false; } else { // We are receiving so we freq = readA(); // will Rx on vfoA. vfoUsed = true; } // We have decided on vfo to use and got basic freq. Lets now see if we // are doing a valid changeover and if it is Rx to Tx or Tx to Rx. if (pttRq == true && ptt == false) { // Going from Rx to Tx ptt = true; if (ui->pBtnRIT->isChecked()) { if (selectedVFO == 'A' || selectedVFO == 'B'){ freq = freq + ui->hSlider->value() * -1; ui->pBtnRIT->setEnabled(false); ui->hSlider->setEnabled(false); } // We don't modify the vfo frequencies if on split } // and of course no modification if RIT not checked. if (vfoUsed == true) { // Using vfoA for transmit frequency writeA(freq); ui->pBtnvfoA->setStyleSheet("background-color: rgb(255, 0, 0)"); //Red } else { writeB(freq); //TODO set vfoA background to light green and disable display vfoEnabled(false, true) vfoEnabled(false, true); ui->pBtnvfoA->setStyleSheet("background-color: normal"); //Red ui->pBtnvfoB->setStyleSheet("background-color: rgb(255, 0, 0)"); //Red } } else if (pttRq == false && ptt == true) { //Going from Tx to Rx ptt = false; if (ui->pBtnRIT->isChecked()) { if (selectedVFO == 'A' || selectedVFO == 'B'){ freq = freq + ui->hSlider->value(); ui->pBtnRIT->setEnabled(true); ui->hSlider->setEnabled(true); } // We don't modify the vfo frequencies if on split } // and again no modification if RIT not checked. if (selectedVFO == 'A') { // Using vfoA for receive frequency writeA(freq); ui->pBtnvfoA->setStyleSheet("background-color: rgb(85, 255, 0)"); //Green } else if (selectedVFO == 'B'){ writeB(freq); ui->pBtnvfoB->setStyleSheet("background-color: rgb(85, 255, 0)"); //Green } else { writeA(freq); ui->pBtnvfoB->setStyleSheet("background-color: rgb(255, 155, 155)"); //Light Red ui->pBtnvfoA->setStyleSheet("background-color: rgb(85, 255, 0)"); //Green vfoEnabled(true, false); } } }