Compare commits

...

2 Commits

Author SHA1 Message Date
AlexandreRouma
08f3a7d201 make the modulation field of a baseband recording 'IQ' instead of 'Unknown'
Some checks failed
Build Binaries / build_debian_buster (push) Failing after 6s
Build Binaries / build_debian_bullseye (push) Failing after 4s
Build Binaries / build_debian_bookworm (push) Failing after 4s
Build Binaries / build_debian_sid (push) Failing after 4s
Build Binaries / build_ubuntu_focal (push) Failing after 4s
Build Binaries / build_ubuntu_jammy (push) Failing after 4s
Build Binaries / build_ubuntu_mantic (push) Failing after 4s
Build Binaries / build_ubuntu_noble (push) Failing after 4s
Build Binaries / build_android (push) Failing after 5s
Build Binaries / check_spelling (push) Failing after 3s
Build Binaries / check_formatting (push) Successful in 4s
Build Binaries / build_raspios_bullseye_armhf (push) Has been cancelled
Build Binaries / create_full_archive (push) Has been cancelled
Build Binaries / update_nightly_release (push) Has been cancelled
Build Binaries / build_windows (push) Has been cancelled
Build Binaries / build_macos_intel (push) Has been cancelled
Build Binaries / build_macos_arm (push) Has been cancelled
2024-10-07 14:39:45 +02:00
AlexandreRouma
9ce62f8885 add whitelist for plutosdr-like devices 2024-10-07 14:10:23 +02:00
2 changed files with 20 additions and 5 deletions

View File

@ -168,10 +168,9 @@ public:
writer.setSamplerate(samplerate); writer.setSamplerate(samplerate);
// Open file // Open file
std::string type = (recMode == RECORDER_MODE_AUDIO) ? "audio" : "baseband";
std::string vfoName = (recMode == RECORDER_MODE_AUDIO) ? selectedStreamName : ""; std::string vfoName = (recMode == RECORDER_MODE_AUDIO) ? selectedStreamName : "";
std::string extension = ".wav"; std::string extension = ".wav";
std::string expandedPath = expandString(folderSelect.path + "/" + genFileName(nameTemplate, type, vfoName) + extension); std::string expandedPath = expandString(folderSelect.path + "/" + genFileName(nameTemplate, recMode, vfoName) + extension);
if (!writer.open(expandedPath)) { if (!writer.open(expandedPath)) {
flog::error("Failed to open file for recording: {0}", expandedPath); flog::error("Failed to open file for recording: {0}", expandedPath);
return; return;
@ -452,7 +451,7 @@ private:
{ RADIO_IFACE_MODE_RAW, "RAW" } { RADIO_IFACE_MODE_RAW, "RAW" }
}; };
std::string genFileName(std::string templ, std::string type, std::string name) { std::string genFileName(std::string templ, int mode, std::string name) {
// Get data // Get data
time_t now = time(0); time_t now = time(0);
tm* ltm = localtime(&now); tm* ltm = localtime(&now);
@ -462,6 +461,9 @@ private:
freq += gui::waterfall.vfos[name]->generalOffset; freq += gui::waterfall.vfos[name]->generalOffset;
} }
// Select the recording type string
std::string type = (recMode == RECORDER_MODE_AUDIO) ? "audio" : "baseband";
// Format to string // Format to string
char freqStr[128]; char freqStr[128];
char hourStr[128]; char hourStr[128];
@ -470,7 +472,7 @@ private:
char dayStr[128]; char dayStr[128];
char monStr[128]; char monStr[128];
char yearStr[128]; char yearStr[128];
const char* modeStr = "Unknown"; const char* modeStr = (recMode == RECORDER_MODE_AUDIO) ? "Unknown" : "IQ";
sprintf(freqStr, "%.0lfHz", freq); sprintf(freqStr, "%.0lfHz", freq);
sprintf(hourStr, "%02d", ltm->tm_hour); sprintf(hourStr, "%02d", ltm->tm_hour);
sprintf(minStr, "%02d", ltm->tm_min); sprintf(minStr, "%02d", ltm->tm_min);

View File

@ -23,6 +23,12 @@ SDRPP_MOD_INFO{
ConfigManager config; ConfigManager config;
const std::vector<const char*> deviceWhiteList = {
"PlutoSDR",
"ANTSDR",
"LibreSDR"
};
class PlutoSDRSourceModule : public ModuleManager::Instance { class PlutoSDRSourceModule : public ModuleManager::Instance {
public: public:
PlutoSDRSourceModule(std::string name) { PlutoSDRSourceModule(std::string name) {
@ -130,7 +136,14 @@ private:
std::string duri = iio_context_info_get_uri(info); std::string duri = iio_context_info_get_uri(info);
// If the device is not a plutosdr, don't include it // If the device is not a plutosdr, don't include it
if (desc.find("PlutoSDR") == std::string::npos) { bool isPluto = false;
for (const auto type : deviceWhiteList) {
if (desc.find(type) != std::string::npos) {
isPluto = true;
break;
}
}
if (!isPluto) {
flog::warn("Ignored IIO device: [{}] {}", duri, desc); flog::warn("Ignored IIO device: [{}] {}", duri, desc);
continue; continue;
} }