mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-09-28 16:16:58 -04:00
Add a read-only TX antenna menu entry showing the active one, closing #559
This commit is contained in:
parent
8993121fc6
commit
a018a36100
@ -811,8 +811,18 @@ void AppFrame::updateDeviceParams() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Runtime settings part
|
//Add an informative, read-only menu entry to display the current TX selected antenna, if any.
|
||||||
|
if (devInfo->getAntennaNames(SOAPY_SDR_TX, 0).size() > 1) {
|
||||||
|
|
||||||
|
currentTXantennaName = devInfo->getAntennaName(SOAPY_SDR_TX, 0);
|
||||||
|
|
||||||
|
newSettingsMenu->AppendSeparator();
|
||||||
|
|
||||||
|
antennaMenuItems[wxID_ANTENNA_CURRENT_TX] = newSettingsMenu->Append(wxID_ANTENNA_CURRENT_TX, getSettingsLabel("TX Antenna", currentTXantennaName));
|
||||||
|
antennaMenuItems[wxID_ANTENNA_CURRENT_TX]->Enable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Runtime settings part
|
||||||
SoapySDR::ArgInfoList::const_iterator args_i;
|
SoapySDR::ArgInfoList::const_iterator args_i;
|
||||||
settingArgs = soapyDev->getSettingInfo();
|
settingArgs = soapyDev->getSettingInfo();
|
||||||
|
|
||||||
@ -1689,6 +1699,16 @@ void AppFrame::OnIdle(wxIdleEvent& event) {
|
|||||||
updateDeviceParams();
|
updateDeviceParams();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Refresh the current TX antenna on, if any:
|
||||||
|
if (devInfo) {
|
||||||
|
std::string actualTxAntenna = devInfo->getAntennaName(SOAPY_SDR_TX, 0);
|
||||||
|
|
||||||
|
if (currentTXantennaName != actualTxAntenna) {
|
||||||
|
currentTXantennaName = actualTxAntenna;
|
||||||
|
antennaMenuItems[wxID_ANTENNA_CURRENT_TX]->SetItemLabel(getSettingsLabel("TX Antenna", currentTXantennaName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//try to garbage collect the retired demodulators.
|
//try to garbage collect the retired demodulators.
|
||||||
wxGetApp().getDemodMgr().garbageCollect();
|
wxGetApp().getDemodMgr().garbageCollect();
|
||||||
|
|
||||||
|
@ -65,7 +65,8 @@
|
|||||||
#define wxID_SETTINGS_BASE 2300
|
#define wxID_SETTINGS_BASE 2300
|
||||||
|
|
||||||
#define wxID_ANTENNA_CURRENT 2500
|
#define wxID_ANTENNA_CURRENT 2500
|
||||||
#define wxID_ANTENNAS_BASE 2501
|
#define wxID_ANTENNA_CURRENT_TX 2501
|
||||||
|
#define wxID_ANTENNAS_BASE 2502
|
||||||
|
|
||||||
#define wxID_DEVICE_ID 3500
|
#define wxID_DEVICE_ID 3500
|
||||||
|
|
||||||
@ -223,6 +224,8 @@ private:
|
|||||||
|
|
||||||
std::vector<std::string> antennaNames;
|
std::vector<std::string> antennaNames;
|
||||||
|
|
||||||
|
std::string currentTXantennaName;
|
||||||
|
|
||||||
std::string currentSessionFile;
|
std::string currentSessionFile;
|
||||||
|
|
||||||
FFTVisualDataThread *waterfallDataThread;
|
FFTVisualDataThread *waterfallDataThread;
|
||||||
|
@ -191,9 +191,25 @@ std::vector<long> SDRDeviceInfo::getSampleRates(int direction, size_t channel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> SDRDeviceInfo::getAntennaNames(int direction, size_t channel) {
|
std::vector<std::string> SDRDeviceInfo::getAntennaNames(int direction, size_t channel) {
|
||||||
|
|
||||||
SoapySDR::Device *dev = getSoapyDevice();
|
SoapySDR::Device *dev = getSoapyDevice();
|
||||||
|
|
||||||
|
if (dev) {
|
||||||
|
|
||||||
return dev->listAntennas(direction, channel);
|
return dev->listAntennas(direction, channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::vector<std::string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string SDRDeviceInfo::getAntennaName(int direction, size_t channel) {
|
||||||
|
SoapySDR::Device *dev = getSoapyDevice();
|
||||||
|
|
||||||
|
if (dev) {
|
||||||
|
return dev->getAntenna(direction, channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::string("");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +86,8 @@ public:
|
|||||||
|
|
||||||
std::vector<std::string> getAntennaNames(int direction, size_t channel);
|
std::vector<std::string> getAntennaNames(int direction, size_t channel);
|
||||||
|
|
||||||
|
std::string getAntennaName(int direction, size_t channel);
|
||||||
|
|
||||||
long getSampleRateNear(int direction, size_t channel, long sampleRate_in);
|
long getSampleRateNear(int direction, size_t channel, long sampleRate_in);
|
||||||
|
|
||||||
SDRRangeMap getGains(int direction, size_t channel);
|
SDRRangeMap getGains(int direction, size_t channel);
|
||||||
|
Loading…
Reference in New Issue
Block a user