示例#1
0
static void
filterrule_free(void *vp) {
  filterrule_t *r = vp;
  FRF(r,target);
  FRF(r,module);
  FRF(r,name);
  FRF(r,metric);
  free(r);
}
示例#2
0
int PIController::Home(const std::string &axesNames, const std::string &homingMode)
{
	if (homingMode.empty())
	     return DEVICE_OK;

	if ( (homingMode == "REF") || (homingMode == "FRF") )
	{
		if (HasFRF())
		{
			if (FRF(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else if (HasREF())
		{
			if (REF(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else
			return DEVICE_OK;
	}
	else if ( (homingMode == "MNL") || (homingMode == "FNL") )
	{
		if (HasFNL())
		{
			if (FNL(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else if (HasMNL())
		{
			if (MNL(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else
			return DEVICE_OK;
	}
	else if ( (homingMode == "MPL") || (homingMode == "FPL") )
	{
		if (HasFPL())
		{
			if (FPL(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else if (HasMPL())
		{
			if (MPL(axesNames))
			{
				referenceMoveActive_ = true;
				return DEVICE_OK;
			}
			else
				return GetTranslatedError();
		}
		else
			return DEVICE_OK;
	}
	else
	{
		return DEVICE_INVALID_PROPERTY_VALUE;
	}
}