mirror of https://github.com/PentHertz/srsLTE.git
Support multiple SoapySDR devices using soapy=# device_arg
This commit is contained in:
parent
f2851b037e
commit
e15eb936fa
|
@ -298,7 +298,24 @@ int rf_soapy_open_multi(char* args, void** h, uint32_t num_requested_channels)
|
|||
printf("\n");
|
||||
}
|
||||
|
||||
SoapySDRDevice* sdr = SoapySDRDevice_make(&(soapy_args[0]));
|
||||
// Select Soapy device by id
|
||||
const char dev_arg[] = "id=";
|
||||
char* dev_ptr = strstr(args, dev_arg);
|
||||
int dev_id = 0;
|
||||
if (dev_ptr) {
|
||||
char dev_str[64] = {0};
|
||||
copy_subdev_string(dev_str, dev_ptr + strnlen(dev_arg, 64));
|
||||
printf("Selecting Soapy device: %s\n", dev_str);
|
||||
dev_id = strtol(dev_str, NULL, 0);
|
||||
if (dev_id < 0 || dev_id > 10) {
|
||||
ERROR("Failed to set device. Using 0 as default.\n");
|
||||
dev_id = 0;
|
||||
}
|
||||
remove_substring(args, dev_arg);
|
||||
remove_substring(args, dev_str);
|
||||
}
|
||||
|
||||
SoapySDRDevice* sdr = SoapySDRDevice_make(&(soapy_args[dev_id]));
|
||||
if (sdr == NULL) {
|
||||
printf("Failed to create Soapy object\n");
|
||||
return SRSLTE_ERROR;
|
||||
|
|
Loading…
Reference in New Issue