static void filterrule_free(void *vp) { filterrule_t *r = vp; FRF(r,target); FRF(r,module); FRF(r,name); FRF(r,metric); free(r); }
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; } }