kopia lustrzana https://gitlab.com/eliggett/wfview
Fix bug where second VFO commands were being ignored
rodzic
84915024c5
commit
60dbcb6f04
|
@ -120,7 +120,7 @@ void cachingQueue::add(queuePriority prio ,queueItem item)
|
|||
if (item.command != funcNone)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
if (!item.recurring || isRecurring(item.command) != prio)
|
||||
if (!item.recurring || isRecurring(item.command,item.vfo) != prio)
|
||||
{
|
||||
if (item.recurring && prio == queuePriority::priorityImmediate) {
|
||||
qWarning() << "Warning, cannot add recurring command with immediate priority!" << funcString[item.command];
|
||||
|
|
|
@ -797,7 +797,7 @@ Periodic\27\Command=Tuner/ATU Status
|
|||
Periodic\27\VFO=0
|
||||
Periodic\28\Priority=Medium Low
|
||||
Periodic\28\Command=Tuning Step
|
||||
Periodic\28\VFO=-1
|
||||
Periodic\28\VFO=0
|
||||
Periodic\29\Priority=Medium
|
||||
Periodic\29\Command=Unselected Freq
|
||||
Periodic\29\VFO=1
|
||||
|
|
25
wfmain.cpp
25
wfmain.cpp
|
@ -3962,14 +3962,15 @@ void wfmain::initPeriodicCommands()
|
|||
queue->clear();
|
||||
|
||||
foreach (auto cap, rigCaps.periodic) {
|
||||
qDebug(logRig()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(cap.vfo);
|
||||
if (cap.vfo == -1) {
|
||||
for (uchar v=0;v<rigCaps.numVFO;v++)
|
||||
{
|
||||
qDebug(logSystem()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(v);
|
||||
queue->add(queuePriority(cap.prioVal),cap.func,true,v);
|
||||
}
|
||||
}
|
||||
else {
|
||||
qDebug(logSystem()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(cap.vfo);
|
||||
queue->add(queuePriority(cap.prioVal),cap.func,true,cap.vfo);
|
||||
}
|
||||
}
|
||||
|
@ -4654,8 +4655,12 @@ void wfmain::receiveTuningStep(unsigned char step)
|
|||
}
|
||||
}
|
||||
|
||||
void wfmain::receiveMeter(meter_t inMeter, unsigned char level)
|
||||
void wfmain::receiveMeter(meter_t inMeter, unsigned char level,unsigned char vfo)
|
||||
{
|
||||
// Currently do nothing with meters from second VFO
|
||||
if (vfo)
|
||||
return;
|
||||
|
||||
switch(inMeter)
|
||||
{
|
||||
// These first two meters, S and Power,
|
||||
|
@ -5588,7 +5593,7 @@ void wfmain::receiveValue(cacheItem val){
|
|||
case funcSMeterSqlStatus:
|
||||
break;
|
||||
case funcSMeter:
|
||||
receiveMeter(meter_t::meterS,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterS,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcVariousSql:
|
||||
break;
|
||||
|
@ -5598,25 +5603,25 @@ void wfmain::receiveValue(cacheItem val){
|
|||
}
|
||||
break;
|
||||
case funcCenterMeter:
|
||||
receiveMeter(meter_t::meterCenter,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterCenter,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcPowerMeter:
|
||||
receiveMeter(meter_t::meterPower,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterPower,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcSWRMeter:
|
||||
receiveMeter(meter_t::meterSWR,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterSWR,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcALCMeter:
|
||||
receiveMeter(meter_t::meterALC,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterALC,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcCompMeter:
|
||||
receiveMeter(meter_t::meterComp,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterComp,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcVdMeter:
|
||||
receiveMeter(meter_t::meterVoltage,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterVoltage,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcIdMeter:
|
||||
receiveMeter(meter_t::meterCurrent,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterCurrent,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
// 0x16 enable/disable functions:
|
||||
case funcPreamp:
|
||||
|
|
2
wfmain.h
2
wfmain.h
|
@ -395,7 +395,7 @@ private slots:
|
|||
void receiveIFShift(unsigned char level);
|
||||
|
||||
// Meters:
|
||||
void receiveMeter(meter_t meter, unsigned char level);
|
||||
void receiveMeter(meter_t meter, unsigned char level, unsigned char vfo=0);
|
||||
// void receiveSMeter(unsigned char level);
|
||||
// void receivePowerMeter(unsigned char level);
|
||||
// void receiveALCMeter(unsigned char level);
|
||||
|
|
Ładowanie…
Reference in New Issue