#25
1.3.0
PianetaRadio 2022-11-14 20:19:39 +01:00 zatwierdzone przez GitHub
rodzic 3f8db6aa0f
commit 47eede5866
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
5 zmienionych plików z 859 dodań i 403 usunięć

Wyświetl plik

@ -86,6 +86,9 @@ MainWindow::MainWindow(QWidget *parent)
connect(ui->verticalSlider_RFgain, &QAbstractSlider::valueChanged, ui->label_RFgainValue, QOverload<int>::of(&QLabel::setNum));
connect(ui->verticalSlider_AFGain, &QAbstractSlider::valueChanged, ui->label_AFGainValue, QOverload<int>::of(&QLabel::setNum));
connect(ui->verticalSlider_Squelch, &QAbstractSlider::valueChanged, ui->label_SquelchValue, QOverload<int>::of(&QLabel::setNum));
connect(ui->verticalSlider_micGain, &QAbstractSlider::valueChanged, ui->label_micGainLevel, QOverload<int>::of(&QLabel::setNum));
connect(ui->verticalSlider_micMonitor, &QAbstractSlider::valueChanged, ui->label_micMonitorLevel, QOverload<int>::of(&QLabel::setNum));
connect(ui->verticalSlider_micCompressor, &QAbstractSlider::valueChanged, ui->label_micCompressorLevel, QOverload<int>::of(&QLabel::setNum));
connect(ui->horizontalSlider_clar, &QAbstractSlider::valueChanged, ui->label_clar, QOverload<int>::of(&QLabel::setNum));
connect(ui->horizontalSlider_IFshift, &QAbstractSlider::valueChanged, ui->label_IFshiftValue,QOverload<int>::of(&QLabel::setNum));
@ -246,6 +249,18 @@ void MainWindow::guiInit()
ui->comboBox_Preamp->addItem(QString::number(my_rig->state.preamp[i]));
}
//* Levels
if (!rig_has_set_level(my_rig, RIG_LEVEL_RFPOWER)) ui->verticalSlider_RFpower->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_RF)) ui->verticalSlider_RFgain->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_AF)) ui->verticalSlider_AFGain->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_SQL)) ui->verticalSlider_Squelch->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_MICGAIN)) ui->verticalSlider_micGain->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_MONITOR_GAIN)) ui->verticalSlider_micMonitor->setEnabled(false);
if (!rig_has_set_level(my_rig, RIG_LEVEL_COMP)) ui->verticalSlider_micCompressor->setEnabled(false);
if (!rig_has_set_func(my_rig, RIG_FUNC_COMP)) ui->checkBox_micCompressor->setEnabled(false);
if (!rig_has_set_func(my_rig, RIG_FUNC_MON)) ui->checkBox_micMonitor->setEnabled(false);
//* Filter
if (!rig_has_set_func(my_rig, RIG_FUNC_NB)) ui->checkBox_NB->setEnabled(false);
if (!rig_has_set_func(my_rig, RIG_FUNC_NB2)) ui->checkBox_NB2->setEnabled(false);
@ -482,12 +497,19 @@ void MainWindow::guiUpdate()
else ui->progressBar_subMeter->setValue(0.0);
}
//* Sliders
//* Levels
if (!ui->verticalSlider_RFpower->isSliderDown() && !rigCmd.rfPower) ui->verticalSlider_RFpower->setValue((int)(rigGet.rfPower*100));
if (!ui->verticalSlider_RFgain->isSliderDown() && !rigCmd.rfGain) ui->verticalSlider_RFgain->setValue((int)(rigGet.rfGain*100));
if (!ui->verticalSlider_AFGain->isSliderDown() && !rigCmd.afGain) ui->verticalSlider_AFGain->setValue((int)(rigGet.afGain*100));
if (!ui->verticalSlider_Squelch->isSliderDown() && !rigCmd.squelch) ui->verticalSlider_Squelch->setValue((int)(rigGet.squelch*100));
//* MIC
if (!ui->verticalSlider_micGain->isSliderDown() && !rigCmd.micGain) ui->verticalSlider_micGain->setValue((int)(rigGet.micGain*100));
if (!ui->verticalSlider_micMonitor->isSliderDown() && !rigCmd.micMonLevel) ui->verticalSlider_micMonitor->setValue((int)(rigGet.micMonLevel*100));
if (!ui->verticalSlider_micCompressor->isSliderDown() && !rigCmd.micCompLevel) ui->verticalSlider_micCompressor->setValue((int)(rigGet.micCompLevel*100));
ui->checkBox_micCompressor->setChecked(rigGet.micComp);
ui->checkBox_micMonitor->setChecked(rigGet.micMon);
//* Filter
ui->checkBox_NB->setChecked(rigGet.noiseBlanker);
ui->checkBox_NB2->setChecked(rigGet.noiseBlanker2);
@ -813,6 +835,33 @@ void MainWindow::on_pushButton_BandUp_clicked()
}
//***** CheckBox *****
void MainWindow::on_checkBox_micCompressor_toggled(bool checked)
{
if (checked && !rigGet.micComp)
{
rigSet.micComp = 1;
rigCmd.micComp = 1;
}
else if (!checked && rigGet.micComp)
{
rigSet.micComp = 0;
rigCmd.micComp = 1;
}
}
void MainWindow::on_checkBox_micMonitor_toggled(bool checked)
{
if (checked && !rigGet.micMon)
{
rigSet.micMon = 1;
rigCmd.micMon = 1;
}
else if (!checked && rigGet.micMon)
{
rigSet.micMon = 0;
rigCmd.micMon = 1;
}
}
void MainWindow::on_checkBox_NAR_toggled(bool checked)
{
@ -1205,6 +1254,63 @@ void MainWindow::on_verticalSlider_Squelch_sliderReleased()
}
void MainWindow::on_verticalSlider_micGain_valueChanged(int value)
{
if (!rigCmd.micGain && !ui->verticalSlider_micGain->isSliderDown())
{
rigSet.micGain = (float)(value)/100;
if (rigSet.micGain != rigGet.micGain) rigCmd.micGain = 1;
}
}
void MainWindow::on_verticalSlider_micGain_sliderReleased()
{
if (!rigCmd.micGain)
{
rigSet.micGain = (float)(ui->verticalSlider_micGain->value())/100;
rigCmd.micGain = 1;
}
}
void MainWindow::on_verticalSlider_micCompressor_valueChanged(int value)
{
if (!rigCmd.micCompLevel && !ui->verticalSlider_micCompressor->isSliderDown())
{
rigSet.micCompLevel = (float)(value)/100;
if (rigSet.micCompLevel != rigGet.micCompLevel) rigCmd.micCompLevel = 1;
}
}
void MainWindow::on_verticalSlider_micCompressor_sliderReleased()
{
if (!rigCmd.micCompLevel)
{
rigSet.micCompLevel = (float)(ui->verticalSlider_micCompressor->value())/100;
rigCmd.micCompLevel = 1;
}
}
void MainWindow::on_verticalSlider_micMonitor_valueChanged(int value)
{
if (!rigCmd.micMonLevel && !ui->verticalSlider_micMonitor->isSliderDown())
{
rigSet.micMonLevel = (float)(value)/100;
if (rigSet.micMonLevel != rigGet.micMonLevel) rigCmd.micMonLevel = 1;
}
}
void MainWindow::on_verticalSlider_micMonitor_sliderReleased()
{
if (!rigCmd.micMonLevel)
{
rigSet.micMonLevel = (float)(ui->verticalSlider_micMonitor->value())/100;
rigCmd.micMonLevel = 1;
}
}
void MainWindow::on_horizontalSlider_IFshift_valueChanged(int value)
{
if (!rigCmd.ifShift && !ui->horizontalSlider_IFshift->isSliderDown())

Wyświetl plik

@ -187,6 +187,22 @@ private slots:
void on_checkBox_NB2_toggled(bool checked);
void on_verticalSlider_micGain_valueChanged(int value);
void on_verticalSlider_micGain_sliderReleased();
void on_verticalSlider_micCompressor_valueChanged(int value);
void on_verticalSlider_micCompressor_sliderReleased();
void on_verticalSlider_micMonitor_valueChanged(int value);
void on_verticalSlider_micMonitor_sliderReleased();
void on_checkBox_micCompressor_toggled(bool checked);
void on_checkBox_micMonitor_toggled(bool checked);
private:
Ui::MainWindow *ui;
QTimer *timer;

Plik diff jest za duży Load Diff

Wyświetl plik

@ -385,6 +385,45 @@ void RigDaemon::rigUpdate()
if (retcode == RIG_OK) rigGet.squelch = rigSet.squelch;
rigCmd.squelch = 0;
}
//* MIC gain
if (rigCmd.micGain)
{
retvalue.f = rigSet.micGain;
retcode = rig_set_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_MICGAIN, retvalue);
if (retcode == RIG_OK) rigGet.micGain = rigSet.micGain;
rigCmd.micGain = 0;
}
//* MIC comp
if (rigCmd.micCompLevel)
{
retvalue.f = rigSet.micCompLevel;
retcode = rig_set_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_COMP, retvalue);
if (retcode == RIG_OK) rigGet.micCompLevel = rigSet.micCompLevel;
rigCmd.micCompLevel = 0;
}
if (rigCmd.micComp)
{
retcode = rig_set_func(my_rig, RIG_VFO_CURR, RIG_FUNC_COMP, rigSet.micComp);
if (retcode == RIG_OK) rigGet.micComp = rigSet.micComp;
rigCmd.micComp = 0;
}
//* Monitor
if (rigCmd.micMonLevel)
{
retvalue.f = rigSet.micMonLevel;
retcode = rig_set_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_MONITOR_GAIN, retvalue);
if (retcode == RIG_OK) rigGet.micMonLevel = rigSet.micMonLevel;
rigCmd.micMonLevel = 0;
}
if (rigCmd.micMon)
{
retcode = rig_set_func(my_rig, RIG_VFO_CURR, RIG_FUNC_MON, rigSet.micMon);
if (retcode == RIG_OK) rigGet.micMon = rigSet.micMon;
rigCmd.micMon = 0;
}
//* NB noise blanker
if (rigCmd.noiseBlanker)
@ -650,15 +689,42 @@ void RigDaemon::rigUpdate()
rigGet.squelch = retvalue.f;
}
//* NB noise blanker
//* MIC
if ((commandPriority == 12 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_level(my_rig, RIG_LEVEL_MICGAIN))
{
rig_get_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_MICGAIN, &retvalue);
rigGet.micGain = retvalue.f;
}
if (rig_has_get_func(my_rig, RIG_FUNC_COMP)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_COMP, &rigGet.micComp);
if (rig_has_get_level(my_rig, RIG_LEVEL_COMP))
{
rig_get_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_COMP, &retvalue);
rigGet.micCompLevel = retvalue.f;
}
}
//* Monitor
if ((commandPriority == 13 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_func(my_rig, RIG_FUNC_MON)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_MON, &rigGet.micMon);
if (rig_has_get_level(my_rig, RIG_LEVEL_MONITOR_GAIN))
{
rig_get_level(my_rig, RIG_VFO_CURR, RIG_LEVEL_MONITOR_GAIN, &retvalue);
rigGet.micMonLevel = retvalue.f;
}
}
//* NB noise blanker
if ((commandPriority == 14 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_func(my_rig, RIG_FUNC_NB)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_NB, &rigGet.noiseBlanker);
if (rig_has_get_func(my_rig, RIG_FUNC_NB2)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_NB2, &rigGet.noiseBlanker2);
}
//* NR noise reduction
if ((commandPriority == 13 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
if ((commandPriority == 15 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_func(my_rig, RIG_FUNC_NR)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_NR, &rigGet.noiseReduction);
if (rig_has_get_level(my_rig, RIG_LEVEL_NR))
@ -669,13 +735,13 @@ void RigDaemon::rigUpdate()
}
//* NF notch filter
if ((commandPriority == 14 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
if ((commandPriority == 16 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_func(my_rig, RIG_FUNC_ANF)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_ANF, &rigGet.notchFilter);
}
//* IF Shift
if ((commandPriority == 15 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
if ((commandPriority == 17 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_level(my_rig, RIG_LEVEL_NR))
{
@ -685,7 +751,7 @@ void RigDaemon::rigUpdate()
}
//* Clarifier
if ((commandPriority == 16 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
if ((commandPriority == 18 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0)
{
if (rig_has_get_func(my_rig, RIG_FUNC_RIT)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_RIT, &rigGet.rit); //RIT
if (rig_has_get_func(my_rig, RIG_FUNC_XIT)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_XIT, &rigGet.xit); //XIT
@ -697,7 +763,7 @@ void RigDaemon::rigUpdate()
}
//* CW
if ((commandPriority == 17 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0) //&& mode=CW
if ((commandPriority == 19 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0) //&& mode=CW
{
if (rig_has_get_func(my_rig, RIG_FUNC_FBKIN)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_FBKIN, &rigGet.bkin); //Break-in
if (rig_has_get_func(my_rig, RIG_FUNC_APF)) rig_get_func(my_rig, RIG_VFO_CURR, RIG_FUNC_APF, &rigGet.apf); //Audio Peak Filter
@ -706,7 +772,7 @@ void RigDaemon::rigUpdate()
}
//* FM
if ((commandPriority == 18 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0) //&& mode=FM
if ((commandPriority == 20 && !rigGet.ptt && rigCom.fullPoll) || commandPriority == 0) //&& mode=FM
{
rig_get_rptr_shift(my_rig, RIG_VFO_CURR, &rigGet.rptShift); //Repeater Shift
rig_get_rptr_offs(my_rig, RIG_VFO_CURR, &rigGet.rptOffset); //Repeater Offset
@ -748,7 +814,7 @@ void RigDaemon::rigUpdate()
}
commandPriority ++;
if (commandPriority == 19) commandPriority = 1;
if (commandPriority == 21) commandPriority = 1;
}
emit resultReady();

Wyświetl plik

@ -76,7 +76,7 @@ typedef struct {
int toneType; //0 none, 1 burst 1750, 2 CTCSS, 3 CTCSS SQL, 4 DCS
tone_t tone; //CTCSS or DCS tone
int micComp, micMon; //Flag MIC Compressor, MIC Monitor
float micGain, micMonLevel; //Level MIC Gain, MIC Monitor
float micGain, micMonLevel, micCompLevel; //Level MIC Gain, MIC Monitor, MIC Compressor
} rigSettings;
typedef struct {
@ -112,5 +112,5 @@ typedef struct {
int rptShift, rptOffset;
int tone;
int micComp, micMon;
int micGain, micMonLevel;
int micGain, micMonLevel, micCompLevel;
} rigCommand;