Пример #1
0
bool Sensor2DeviceImpl::getPositionCalibrationReport(PositionCalibrationReport* data)
{
	UByte version = GetDeviceInterfaceVersion();
	if (version < 5)
	{
		PositionCalibrationImpl_Pre5 pci;
		if (GetInternalDevice()->GetFeatureReport(pci.Buffer, PositionCalibrationImpl_Pre5::PacketSize))
		{
			pci.Unpack();
			*data = pci.Settings;
			return true;
		}

		return false;
	}

    PositionCalibrationImpl pci;
    if (GetInternalDevice()->GetFeatureReport(pci.Buffer, PositionCalibrationImpl::PacketSize))
    {
        pci.Unpack();
        *data = pci.Settings;
        return true;
    }

    return false;
}
Пример #2
0
bool Sensor2DeviceImpl::setPositionCalibrationReport(const PositionCalibrationReport& data)
{
	UByte version = GetDeviceInterfaceVersion();
	if (version < 5)
	{
		PositionCalibrationImpl_Pre5 pci(data);
		return GetInternalDevice()->SetFeatureReport(pci.Buffer, PositionCalibrationImpl_Pre5::PacketSize);
	}
	
	PositionCalibrationImpl pci(data);
    return GetInternalDevice()->SetFeatureReport(pci.Buffer, PositionCalibrationImpl::PacketSize);
}
Пример #3
0
void
LoadedDeviceAdapter::CheckInterfaceVersion() const
{
   long moduleInterfaceVersion, deviceInterfaceVersion;
   try
   {
      moduleInterfaceVersion = GetModuleVersion();
      deviceInterfaceVersion = GetDeviceInterfaceVersion();
   }
   catch (const CMMError& e)
   {
      throw CMMError("Cannot verify interface compatibility of device adapter", e);
   }

   if (moduleInterfaceVersion != MODULE_INTERFACE_VERSION)
      throw CMMError("Incompatible module interface version (required = " +
            ToString(MODULE_INTERFACE_VERSION) +
            "; found = " + ToString(moduleInterfaceVersion) + ")");

   if (deviceInterfaceVersion != DEVICE_INTERFACE_VERSION)
      throw CMMError("Incompatible device interface version (required = " +
            ToString(DEVICE_INTERFACE_VERSION) +
            "; found = " + ToString(deviceInterfaceVersion) + ")");
}