import abc from utils.value import AttributeChange class APid(AttributeChange): def __init__(self): AttributeChange.__init__(self) @abc.abstractmethod def set_theta_soll(self, value): return None @abc.abstractmethod def set_heatrate_soll(self, value): return None @abc.abstractmethod def get_theta_ist(self): return None @abc.abstractmethod def get_heatrate_ist(self): return None @abc.abstractmethod def get_theta_soll_set(self): return None @abc.abstractmethod def get_theta_soll(self): return None @abc.abstractmethod def get_heatrate_soll_set(self): return None @abc.abstractmethod def get_heatrate_soll(self): return None @abc.abstractmethod def process(self): pass @abc.abstractmethod def is_holding(self): """Whether the controller's own gap-tracking FSM considers theta_ist close enough to theta_soll_set to no longer be actively ramping toward it.""" return None