mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-02 06:04:39 -04:00
Add master clock rate display to GUI.
Calculate full range of sample rates supported, by varying master clock. Check if requested sample rate can be met.
This commit is contained in:
@@ -163,9 +163,10 @@ bool USRPInputGUI::handleMessage(const Message& message)
|
||||
else if (DeviceUSRPShared::MsgReportBuddyChange::match(message))
|
||||
{
|
||||
DeviceUSRPShared::MsgReportBuddyChange& report = (DeviceUSRPShared::MsgReportBuddyChange&) message;
|
||||
m_settings.m_devSampleRate = report.getDevSampleRate();
|
||||
m_settings.m_masterClockRate = report.getMasterClockRate();
|
||||
|
||||
if (report.getRxElseTx()) {
|
||||
m_settings.m_devSampleRate = report.getDevSampleRate();
|
||||
m_settings.m_centerFrequency = report.getCenterFrequency();
|
||||
m_settings.m_loOffset = report.getLOOffset();
|
||||
}
|
||||
@@ -287,12 +288,20 @@ void USRPInputGUI::handleInputMessages()
|
||||
void USRPInputGUI::updateSampleRate()
|
||||
{
|
||||
uint32_t sr = m_settings.m_devSampleRate;
|
||||
int cr = m_settings.m_masterClockRate;
|
||||
|
||||
if (sr < 100000000) {
|
||||
ui->sampleRateLabel->setText(tr("%1k").arg(QString::number(sr / 1000.0f, 'g', 5)));
|
||||
} else {
|
||||
ui->sampleRateLabel->setText(tr("%1M").arg(QString::number(sr / 1000000.0f, 'g', 5)));
|
||||
}
|
||||
if (cr < 0) {
|
||||
ui->masterClockRateLabel->setText("-");
|
||||
} else if (cr < 100000000) {
|
||||
ui->masterClockRateLabel->setText(tr("%1k").arg(QString::number(cr / 1000.0f, 'g', 5)));
|
||||
} else {
|
||||
ui->masterClockRateLabel->setText(tr("%1M").arg(QString::number(cr / 1000000.0f, 'g', 5)));
|
||||
}
|
||||
// LO offset shouldn't be greater than half the sample rate
|
||||
ui->loOffset->setValueRange(false, 5, -(int32_t)sr/2/1000, (int32_t)sr/2/1000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user