from stimuli.AbstractStimulus import AbstractStimulus class StepStimulus(AbstractStimulus): def __init__(self, start, duration, value, base_value=0, seconds=True): self.start = 0 self.duration = 0 self.base_value = base_value self.value = value if seconds: self.start = start self.duration = duration else: self.start = start / 1000 self.duration = duration / 1000 def value_at_time_in_ms(self, time_point): return self.value_at_time_in_s(time_point/1000) def value_at_time_in_s(self, time_point): if self.start <= time_point <= self.start + self.duration: return self.value else: return self.base_value