{
var newSrc = new SerialPortDeviceLocationSource();
//Specify the COM port the device is connected to
newSrc.ComPort = "Com3";
newSrc.BaudRate = 4800;
newSrc.AntennaHeight = 3; // meters
//fill in other properties as needed
var props = new DeviceLocationProperties();
props.AccuracyThreshold = 10; // meters
// jump to the background thread
//Note: Run within a QueuedTask
//open the device
DeviceLocationService.Instance.Open(newSrc, props);
}
{
// Check if a device is connected
bool isConnected = DeviceLocationService.Instance.IsDeviceConnected();
if (!isConnected)
return; // no device connected
// Get the current device location source
var src = DeviceLocationService.Instance.GetSource();
// Check if the source is a SerialPortDeviceLocationSource
//Set values for the SerialPortDeviceLocationSource
if (src is SerialPortDeviceLocationSource serialPortSrc)
{
var port = serialPortSrc.ComPort;
var antennaHeight = serialPortSrc.AntennaHeight;
var dataBits = serialPortSrc.DataBits;
var baudRate = serialPortSrc.BaudRate;
var parity = serialPortSrc.Parity;
var stopBits = serialPortSrc.StopBits;
// retrieving spatial reference needs the MCT
var sr = await QueuedTask.Run(() =>
{
return serialPortSrc.GetSpatialReference();
});
}
//Get current device location properties being used.
var dlProps = DeviceLocationService.Instance.GetProperties();
var accuracy = dlProps.AccuracyThreshold;
}
{
//Note: Run within QueuedTask
// Get the current device location properties
var dlProps = DeviceLocationService.Instance.GetProperties();
//Change the accuracy threshold
dlProps.AccuracyThreshold = 22.5; // meters
// Update the properties on the device location source
DeviceLocationService.Instance.UpdateProperties(dlProps);
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)