#2102 Log Unknown Tuners From SDRPlay API (#2102)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
Denny Sheirer
2024-12-03 17:16:37 -05:00
committed by GitHub
parent db83d5121c
commit 4cf51405ea
3 changed files with 17 additions and 3 deletions

View File

@@ -28,4 +28,4 @@
# tag name, specifically the dashes inserted before and after the alpha/beta labels. # tag name, specifically the dashes inserted before and after the alpha/beta labels.
# See: https://github.com/DSheirer/sdrtrunk/issues/1651 # See: https://github.com/DSheirer/sdrtrunk/issues/1651
projectVersion=0.6.1 projectVersion=0.6.2-beta-1

View File

@@ -187,6 +187,9 @@ public class TunerFactory
break; break;
} }
break; break;
default:
mLog.warn("SDRPlay API returned an unknown tuner type [" + deviceInfo.getDeviceType() +
"] with serial number [" + deviceInfo.getSerialNumber() + "]");
} }
return tuners; return tuners;

View File

@@ -21,12 +21,15 @@ package io.github.dsheirer.source.tuner.sdrplay.api.device;
import io.github.dsheirer.source.tuner.sdrplay.api.v3_08.sdrplay_api_DeviceT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_08.sdrplay_api_DeviceT;
import java.lang.foreign.MemorySegment; import java.lang.foreign.MemorySegment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* sdrplay_api_DeviceT structure parser for API version 3.07 * sdrplay_api_DeviceT structure parser for API version 3.08+
*/ */
public class DeviceStruct_v3_08 implements IDeviceStruct public class DeviceStruct_v3_08 implements IDeviceStruct
{ {
private static final Logger LOGGER = LoggerFactory.getLogger(DeviceStruct_v3_08.class);
private final MemorySegment mDeviceMemorySegment; private final MemorySegment mDeviceMemorySegment;
private final DeviceType mDeviceType; private final DeviceType mDeviceType;
private final String mSerialNumber; private final String mSerialNumber;
@@ -38,9 +41,17 @@ public class DeviceStruct_v3_08 implements IDeviceStruct
public DeviceStruct_v3_08(MemorySegment deviceMemorySegment) public DeviceStruct_v3_08(MemorySegment deviceMemorySegment)
{ {
mDeviceMemorySegment = deviceMemorySegment; mDeviceMemorySegment = deviceMemorySegment;
mDeviceType = DeviceType.fromValue(0xFF & sdrplay_api_DeviceT.hwVer(mDeviceMemorySegment)); int deviceTypeValue = 0xFF & sdrplay_api_DeviceT.hwVer(mDeviceMemorySegment);
mDeviceType = DeviceType.fromValue(deviceTypeValue);
MemorySegment serialSegment = sdrplay_api_DeviceT.SerNo(mDeviceMemorySegment); MemorySegment serialSegment = sdrplay_api_DeviceT.SerNo(mDeviceMemorySegment);
mSerialNumber = serialSegment.getString(0); mSerialNumber = serialSegment.getString(0);
if(mDeviceType == DeviceType.UNKNOWN)
{
LOGGER.warn("Unrecognized RSP tuner device type value [" + deviceTypeValue + "] with serial number [" +
mSerialNumber + "]");
}
} }
@Override public MemorySegment getDeviceMemorySegment() @Override public MemorySegment getDeviceMemorySegment()