in sensors/Tools/SensorExplorer/Sensor.cs [525:1084]
public static async Task<bool> GetDefault(bool getPLD)
{
InitializeLists();
InitializeVariables();
DeviceInformationCollection deviceInfoCollection;
// Enumerate the Sensor class
try
{
Guid sensorGuid = new Guid("{5175d334-c371-4806-b3ba-71fd53c9258d}");
SensorClassDevice = await DeviceInformation.FindAllAsync(CustomDevice.GetDeviceSelector(sensorGuid));
NumFailedEnumerations = SensorClassDevice.Count;
}
catch
{
OtherSensorFailed = true;
}
try
{
//GUIDSensorType_Accelerometer3D = {C2FB0F5F-E2D2-4C78-BCD0-352A9582819D}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Accelerometer.GetDeviceSelector(AccelerometerReadingType.Standard), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Accelerometer accelerometer = await Accelerometer.FromIdAsync(deviceInfo.Id);
AccelerometerStandardList.Add(accelerometer);
AccelerometerStandardDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if(pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
AccelerometerStandardPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
AccelerometerStandardPLD.Add(pldInfo);
}
}
}
}
catch
{
AccelerometerStandardFailed = true;
}
try
{
//GUIDSensorType_GravityVector = {03B52C73-BB76-463F-9524-38DE76EB700B}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Accelerometer.GetDeviceSelector(AccelerometerReadingType.Gravity), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Accelerometer accelerometer = await Accelerometer.FromIdAsync(deviceInfo.Id);
AccelerometerGravityList.Add(accelerometer);
AccelerometerGravityDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
AccelerometerGravityPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
AccelerometerGravityPLD.Add(pldInfo);
}
}
}
}
catch
{
AccelerometerGravityFailed = false;
}
try
{
//GUIDSensorType_LinearAccelerometer = {038B0283-97B4-41C8-BC24-5FF1AA48FEC7}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Accelerometer.GetDeviceSelector(AccelerometerReadingType.Linear), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Accelerometer accelerometer = await Accelerometer.FromIdAsync(deviceInfo.Id);
AccelerometerLinearList.Add(accelerometer);
AccelerometerLinearDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
AccelerometerLinearPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
AccelerometerLinearPLD.Add(pldInfo);
}
}
}
}
catch
{
AccelerometerLinearFailed = false;
}
try
{
//GUIDSensorType_ActivityDetection = {9D9E0118-1807-4F2E-96E4-2CE57142E196}
deviceInfoCollection = await DeviceInformation.FindAllAsync(ActivitySensor.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
ActivitySensor activitySensor = await ActivitySensor.FromIdAsync(deviceInfo.Id);
ActivitySensorList.Add(activitySensor);
ActivitySensorDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
ActivitySensorPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
ActivitySensorPLD.Add(pldInfo);
}
}
}
}
catch
{
ActivitySensorFailed = false;
}
try
{
Altimeter = Altimeter.GetDefault();
if (Altimeter != null)
{
AltimeterDeviceInfo = await DeviceInformation.CreateFromIdAsync(Altimeter.DeviceId);
if (getPLD)
{
var pldInfo = await GetPLDInformation(AltimeterDeviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = AltimeterDeviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
AltimeterPLD = await GetPLDInformation(deviceInstanceId);
}
else
{
AltimeterPLD = pldInfo;
}
}
}
}
catch
{
AltimeterFailed = false;
}
try
{
//GUIDSensorType_Barometer = {0E903829-FF8A-4A93-97DF-3DCBDE402288}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Barometer.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Barometer barometer = await Barometer.FromIdAsync(deviceInfo.Id);
BarometerList.Add(barometer);
BarometerDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
BarometerPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
BarometerPLD.Add(pldInfo);
}
}
}
}
catch
{
BarometerFailed = false;
}
try
{
//GUIDSensorType_Orientation = {CDB5D8F7-3CFD-41C8-8542-CCE622CF5D6E}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Compass.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Compass compass = await Compass.FromIdAsync(deviceInfo.Id);
CompassList.Add(compass);
CompassDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
CompassPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
CompassPLD.Add(pldInfo);
}
}
}
}
catch
{
CompassFailed = false;
}
try
{
//GUIDSensorType_Custom = {E83AF229-8640-4D18-A213-E22675EBB2C3}
deviceInfoCollection = await DeviceInformation.FindAllAsync(CustomSensor.GetDeviceSelector(new Guid("E83AF229-8640-4D18-A213-E22675EBB2C3")), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
CustomSensor customSensor = await CustomSensor.FromIdAsync(deviceInfo.Id);
CustomSensorList.Add(customSensor);
CustomSensorDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
CustomSensorPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
CustomSensorPLD.Add(pldInfo);
}
}
}
}
catch
{
CustomSensorFailed = false;
}
try
{
//GUIDSensorType_Gyrometer3D = {09485F5A-759E-42C2-BD4B-A349B75C8643}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Gyrometer.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Gyrometer gyrometer = await Gyrometer.FromIdAsync(deviceInfo.Id);
GyrometerList.Add(gyrometer);
GyrometerDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
GyrometerPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
GyrometerPLD.Add(pldInfo);
}
}
}
}
catch
{
GyrometerFailed = false;
}
try
{
deviceInfoCollection = await DeviceInformation.FindAllAsync(Inclinometer.GetDeviceSelector(SensorReadingType.Absolute), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Inclinometer inclinometer = await Inclinometer.FromIdAsync(deviceInfo.Id);
InclinometerList.Add(inclinometer);
InclinometerDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
InclinometerPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
InclinometerPLD.Add(pldInfo);
}
}
}
}
catch
{
InclinometerFailed = false;
}
try
{
//GUIDSensorType_AmbientLight = {97F115C8-599A-4153-8894-D2D12899918A}
deviceInfoCollection = await DeviceInformation.FindAllAsync(LightSensor.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
LightSensor lightSensor = await LightSensor.FromIdAsync(deviceInfo.Id);
LightSensorList.Add(lightSensor);
LightSensorDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
LightSensorPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
LightSensorPLD.Add(pldInfo);
}
}
}
}
catch
{
LightSensorFailed = false;
}
try
{
//GUIDSensorType_Magnetometer3D = {55E5EFFB-15C7-40df-8698-A84B7C863C53}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Magnetometer.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Magnetometer magnetometer = await Magnetometer.FromIdAsync(deviceInfo.Id);
MagnetometerList.Add(magnetometer);
MagnetometerDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
MagnetometerPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
MagnetometerPLD.Add(pldInfo);
}
}
}
}
catch
{
MagnetometerFailed = false;
}
try
{
//GUIDSensorType_Orientation = {CDB5D8F7-3CFD-41C8-8542-CCE622CF5D6E}
deviceInfoCollection = await DeviceInformation.FindAllAsync(OrientationSensor.GetDeviceSelector(SensorReadingType.Absolute), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
OrientationSensor orientationSensor = await OrientationSensor.FromIdAsync(deviceInfo.Id);
OrientationAbsoluteList.Add(orientationSensor);
OrientationAbsoluteDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
OrientationAbsolutePLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
OrientationAbsolutePLD.Add(pldInfo);
}
}
}
}
catch
{
OrientationAbsoluteFailed = false;
}
try
{
//GUIDSensorType_Orientation = {CDB5D8F7-3CFD-41C8-8542-CCE622CF5D6E}
deviceInfoCollection = await DeviceInformation.FindAllAsync(OrientationSensor.GetDeviceSelector(SensorReadingType.Absolute, SensorOptimizationGoal.PowerEfficiency), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
OrientationSensor orientationSensor = await OrientationSensor.FromIdAsync(deviceInfo.Id);
OrientationGeomagneticList.Add(orientationSensor);
OrientationGeomagneticDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
OrientationGeomagneticPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
OrientationGeomagneticPLD.Add(pldInfo);
}
}
}
}
catch
{
OrientationGeomagneticFailed = false;
}
try
{
//GUIDSensorType_RelativeOrientation = {40993B51-4706-44DC-98D5-C920C037FFAB}
deviceInfoCollection = await DeviceInformation.FindAllAsync(OrientationSensor.GetDeviceSelector(SensorReadingType.Relative), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
OrientationSensor orientationSensor = await OrientationSensor.FromIdAsync(deviceInfo.Id);
OrientationRelativeList.Add(orientationSensor);
OrientationRelativeDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
OrientationRelativePLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
OrientationRelativePLD.Add(pldInfo);
}
}
}
}
catch
{
OrientationRelativeFailed = false;
}
try
{
//GUIDSensorType_Pedometer = {B19F89AF-E3EB-444B-8DEA-202575A71599}
deviceInfoCollection = await DeviceInformation.FindAllAsync(Pedometer.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
Pedometer pedometer = await Pedometer.FromIdAsync(deviceInfo.Id);
PedometerList.Add(pedometer);
PedometerDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
PedometerPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
PedometerPLD.Add(pldInfo);
}
}
}
}
catch
{
PedometerFailed = false;
}
try
{
//GUIDSensorType_Proximity = {5220DAE9-3179-4430-9F90-06266D2A34DE}
deviceInfoCollection = await DeviceInformation.FindAllAsync(ProximitySensor.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
ProximitySensor proximitySensor = ProximitySensor.FromId(deviceInfo.Id);
ProximitySensorList.Add(proximitySensor);
ProximitySensorDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
ProximitySensorPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
ProximitySensorPLD.Add(pldInfo);
}
}
}
}
catch
{
ProximitySensorFailed = false;
}
try
{
//GUIDSensorTypeSimpleDeviceOrientation = {86A19291-0482-402C-BF4C-ADDAC52B1C39}
deviceInfoCollection = await DeviceInformation.FindAllAsync(SimpleOrientationSensor.GetDeviceSelector(), Constants.RequestedProperties);
foreach (DeviceInformation deviceInfo in deviceInfoCollection)
{
SimpleOrientationSensor simpleOrientationSensor = await SimpleOrientationSensor.FromIdAsync(deviceInfo.Id);
SimpleOrientationSensorList.Add(simpleOrientationSensor);
SimpleOrientationSensorDeviceInfo.Add(deviceInfo);
if (getPLD)
{
var pldInfo = await GetPLDInformation(deviceInfo.Id, DeviceInformationKind.DeviceInterface);
if (pldInfo == null)
{
string deviceInstanceId = deviceInfo.Properties[Constants.Properties["DEVPKEY_Device_InstanceId"]].ToString();
SimpleOrientationSensorPLD.Add(await GetPLDInformation(deviceInstanceId));
}
else
{
SimpleOrientationSensorPLD.Add(pldInfo);
}
}
}
}
catch
{
SimpleOrientationSensorFailed = false;
}
return true;
}