mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 17:28:50 -05:00
Added shift to channel marker to take RIT into account
This commit is contained in:
parent
c99f2e1914
commit
51870a2ae1
@ -271,6 +271,7 @@ void WDSPRxGUI::on_rit_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
m_settings.m_rit = checked;
|
m_settings.m_rit = checked;
|
||||||
m_settings.m_profiles[m_settings.m_profileIndex].m_rit = m_settings.m_rit;
|
m_settings.m_profiles[m_settings.m_profileIndex].m_rit = m_settings.m_rit;
|
||||||
|
m_channelMarker.setShift(checked ? m_settings.m_ritFrequency: 0);
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,6 +279,7 @@ void WDSPRxGUI::on_ritFrequency_valueChanged(int value)
|
|||||||
{
|
{
|
||||||
m_settings.m_ritFrequency = value;
|
m_settings.m_ritFrequency = value;
|
||||||
ui->ritFrequencyText->setText(tr("%1").arg(value));
|
ui->ritFrequencyText->setText(tr("%1").arg(value));
|
||||||
|
m_channelMarker.setShift(m_settings.m_rit ? value: 0);
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -742,7 +744,11 @@ void WDSPRxGUI::applyBandwidths(unsigned int spanLog2, bool force)
|
|||||||
m_channelMarker.setBandwidth(bw * 200);
|
m_channelMarker.setBandwidth(bw * 200);
|
||||||
m_channelMarker.setSidebands(dsb ? ChannelMarker::dsb : bw < 0 ? ChannelMarker::lsb : ChannelMarker::usb);
|
m_channelMarker.setSidebands(dsb ? ChannelMarker::dsb : bw < 0 ? ChannelMarker::lsb : ChannelMarker::usb);
|
||||||
ui->dsb->setIcon(bw < 0 ? m_iconDSBLSB: m_iconDSBUSB);
|
ui->dsb->setIcon(bw < 0 ? m_iconDSBLSB: m_iconDSBUSB);
|
||||||
if (!dsb) { m_channelMarker.setLowCutoff(lw * 100); }
|
|
||||||
|
if (!dsb) {
|
||||||
|
m_channelMarker.setLowCutoff(lw * 100);
|
||||||
|
}
|
||||||
|
|
||||||
blockApplySettings(wasBlocked);
|
blockApplySettings(wasBlocked);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -753,6 +759,10 @@ void WDSPRxGUI::displaySettings()
|
|||||||
m_channelMarker.setBandwidth(m_settings.m_profiles[m_settings.m_profileIndex].m_highCutoff * 2);
|
m_channelMarker.setBandwidth(m_settings.m_profiles[m_settings.m_profileIndex].m_highCutoff * 2);
|
||||||
m_channelMarker.setTitle(m_settings.m_title);
|
m_channelMarker.setTitle(m_settings.m_title);
|
||||||
m_channelMarker.setLowCutoff(m_settings.m_profiles[m_settings.m_profileIndex].m_lowCutoff);
|
m_channelMarker.setLowCutoff(m_settings.m_profiles[m_settings.m_profileIndex].m_lowCutoff);
|
||||||
|
int shift = m_settings.m_profiles[m_settings.m_profileIndex].m_rit ?
|
||||||
|
m_settings.m_profiles[m_settings.m_profileIndex].m_ritFrequency :
|
||||||
|
0;
|
||||||
|
m_channelMarker.setShift(shift);
|
||||||
|
|
||||||
if (m_deviceUISet->m_deviceMIMOEngine)
|
if (m_deviceUISet->m_deviceMIMOEngine)
|
||||||
{
|
{
|
||||||
|
@ -52,6 +52,7 @@ ChannelMarker::ChannelMarker(QObject* parent) :
|
|||||||
m_bandwidth(0),
|
m_bandwidth(0),
|
||||||
m_oppositeBandwidth(0),
|
m_oppositeBandwidth(0),
|
||||||
m_lowCutoff(0),
|
m_lowCutoff(0),
|
||||||
|
m_shift(0),
|
||||||
m_sidebands(dsb),
|
m_sidebands(dsb),
|
||||||
m_visible(false),
|
m_visible(false),
|
||||||
m_highlighted(false),
|
m_highlighted(false),
|
||||||
@ -107,6 +108,12 @@ void ChannelMarker::setLowCutoff(int lowCutoff)
|
|||||||
emit changedByAPI();
|
emit changedByAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChannelMarker::setShift(int shift)
|
||||||
|
{
|
||||||
|
m_shift = shift;
|
||||||
|
emit changedByAPI();
|
||||||
|
}
|
||||||
|
|
||||||
void ChannelMarker::setSidebands(sidebands_t sidebands)
|
void ChannelMarker::setSidebands(sidebands_t sidebands)
|
||||||
{
|
{
|
||||||
m_sidebands = sidebands;
|
m_sidebands = sidebands;
|
||||||
|
@ -69,6 +69,9 @@ public:
|
|||||||
void setLowCutoff(int lowCutoff);
|
void setLowCutoff(int lowCutoff);
|
||||||
int getLowCutoff() const { return m_lowCutoff; }
|
int getLowCutoff() const { return m_lowCutoff; }
|
||||||
|
|
||||||
|
void setShift(int shift);
|
||||||
|
int getShift() const { return m_shift; }
|
||||||
|
|
||||||
void setSidebands(sidebands_t sidebands);
|
void setSidebands(sidebands_t sidebands);
|
||||||
sidebands_t getSidebands() const { return m_sidebands; }
|
sidebands_t getSidebands() const { return m_sidebands; }
|
||||||
|
|
||||||
@ -118,6 +121,7 @@ protected:
|
|||||||
int m_bandwidth;
|
int m_bandwidth;
|
||||||
int m_oppositeBandwidth;
|
int m_oppositeBandwidth;
|
||||||
int m_lowCutoff;
|
int m_lowCutoff;
|
||||||
|
int m_shift;
|
||||||
sidebands_t m_sidebands;
|
sidebands_t m_sidebands;
|
||||||
bool m_visible;
|
bool m_visible;
|
||||||
bool m_highlighted;
|
bool m_highlighted;
|
||||||
|
@ -564,9 +564,17 @@ void GLSpectrumView::setUseCalibration(bool useCalibration)
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLSpectrumView::setMeasurementParams(SpectrumSettings::Measurement measurement,
|
void GLSpectrumView::setMeasurementParams(
|
||||||
int centerFrequencyOffset, int bandwidth, int chSpacing, int adjChBandwidth,
|
SpectrumSettings::Measurement measurement,
|
||||||
int harmonics, int peaks, bool highlight, int precision)
|
int centerFrequencyOffset,
|
||||||
|
int bandwidth,
|
||||||
|
int chSpacing,
|
||||||
|
int adjChBandwidth,
|
||||||
|
int harmonics,
|
||||||
|
int peaks,
|
||||||
|
bool highlight,
|
||||||
|
int precision
|
||||||
|
)
|
||||||
{
|
{
|
||||||
m_mutex.lock();
|
m_mutex.lock();
|
||||||
m_measurement = measurement;
|
m_measurement = measurement;
|
||||||
@ -2201,13 +2209,22 @@ void GLSpectrumView::measurePeak()
|
|||||||
findPeak(power, frequency);
|
findPeak(power, frequency);
|
||||||
|
|
||||||
drawTextsRight(
|
drawTextsRight(
|
||||||
{"Peak: ", ""},
|
{
|
||||||
|
"Peak: ",
|
||||||
|
""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
displayPower(power, m_linear ? 'e' : 'f', m_linear ? 3 : 1),
|
displayPower(power, m_linear ? 'e' : 'f', m_linear ? 3 : 1),
|
||||||
displayFull(frequency)
|
displayFull(frequency)
|
||||||
},
|
},
|
||||||
{m_peakPowerMaxStr, m_peakFrequencyMaxStr},
|
{
|
||||||
{m_peakPowerUnits, "Hz"}
|
m_peakPowerMaxStr,
|
||||||
|
m_peakFrequencyMaxStr
|
||||||
|
},
|
||||||
|
{
|
||||||
|
m_peakPowerUnits,
|
||||||
|
"Hz"
|
||||||
|
}
|
||||||
);
|
);
|
||||||
if (m_measurements) {
|
if (m_measurements) {
|
||||||
m_measurements->setPeak(0, frequency, power);
|
m_measurements->setPeak(0, frequency, power);
|
||||||
@ -3032,23 +3049,31 @@ void GLSpectrumView::applyChanges()
|
|||||||
xc = m_centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency
|
xc = m_centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency
|
||||||
dsbw = dv->m_channelMarker->getBandwidth();
|
dsbw = dv->m_channelMarker->getBandwidth();
|
||||||
|
|
||||||
if (sidebands == ChannelMarker::usb) {
|
if (sidebands == ChannelMarker::usb)
|
||||||
nw = dv->m_channelMarker->getLowCutoff(); // negative bandwidth
|
{
|
||||||
|
nw = dv->m_channelMarker->getLowCutoff() + dv->m_channelMarker->getShift(); // negative bandwidth
|
||||||
int bw = dv->m_channelMarker->getBandwidth() / 2;
|
int bw = dv->m_channelMarker->getBandwidth() / 2;
|
||||||
pw = (qreal) bw; // positive bandwidth
|
pw = (qreal) bw + dv->m_channelMarker->getShift(); // positive bandwidth
|
||||||
} else if (sidebands == ChannelMarker::lsb) {
|
}
|
||||||
pw = dv->m_channelMarker->getLowCutoff();
|
else if (sidebands == ChannelMarker::lsb)
|
||||||
|
{
|
||||||
|
pw = dv->m_channelMarker->getLowCutoff() + dv->m_channelMarker->getShift();
|
||||||
int bw = dv->m_channelMarker->getBandwidth() / 2;
|
int bw = dv->m_channelMarker->getBandwidth() / 2;
|
||||||
nw = (qreal) bw;
|
nw = (qreal) bw + dv->m_channelMarker->getShift();
|
||||||
} else if (sidebands == ChannelMarker::vusb) {
|
}
|
||||||
nw = -dv->m_channelMarker->getOppositeBandwidth(); // negative bandwidth
|
else if (sidebands == ChannelMarker::vusb)
|
||||||
pw = dv->m_channelMarker->getBandwidth(); // positive bandwidth
|
{
|
||||||
} else if (sidebands == ChannelMarker::vlsb) {
|
nw = -dv->m_channelMarker->getOppositeBandwidth() + dv->m_channelMarker->getShift(); // negative bandwidth
|
||||||
pw = dv->m_channelMarker->getOppositeBandwidth(); // positive bandwidth
|
pw = dv->m_channelMarker->getBandwidth() + dv->m_channelMarker->getShift(); // positive bandwidth
|
||||||
nw = -dv->m_channelMarker->getBandwidth(); // negative bandwidth
|
}
|
||||||
} else {
|
else if (sidebands == ChannelMarker::vlsb) {
|
||||||
pw = dsbw / 2;
|
pw = dv->m_channelMarker->getOppositeBandwidth() + dv->m_channelMarker->getShift(); // positive bandwidth
|
||||||
nw = -pw;
|
nw = -dv->m_channelMarker->getBandwidth() + dv->m_channelMarker->getShift(); // negative bandwidth
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pw = (dsbw / 2) + dv->m_channelMarker->getShift();
|
||||||
|
nw = -(dsbw / 2) + dv->m_channelMarker->getShift();
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw the DSB rectangle
|
// draw the DSB rectangle
|
||||||
|
Loading…
Reference in New Issue
Block a user