class DftControl():

    def __init__(self, buffer_size=50, window_length=5):
        self.buffer = RingBuffer(buffer_size)
        self.dftobj = Dft()
        self.window_length = window_length

    def control(self, data):
        self.buffer.add(float(data.value))
        if self.buffer.fillLevel() < self.window_length:
            return None
        result = self.dftobj.dft(self.convert(data), self.window_length)

        return result


    def convert(self, data):
        return np.asarray(data)
 def __init__(self, buffer_size=50, window_length=5):
     self.buffer = RingBuffer(buffer_size)
     self.dftobj = Dft()
     self.window_length = window_length