# class that holds analog data for N samples class AnalogData : # constr def __init__ ( self , maxLen ): self . ax = deque ([ 0.0 ] * maxLen ) self . ay = deque ([ 0.0 ] * maxLen ) self . maxLen = maxLen # ring buffer def addToBuf ( self , buf , val ): if len ( buf ) < self . maxLen : buf . append ( val ) else : buf . pop () buf . appendleft ( val ) # add data def add ( self , data ): assert ( len ( data ) == 2 ) self . addToBuf ( self . ax , data [ 0 ]) self . addToBuf ( self . ay , data [ 1 ])