class Display: #active_cols = [] def __init__(self,rowgpios,colgpios): self.numrows = len(rowgpios) self.numcols = len(colgpios) self.led_array = LEDArray(self.numrows, self.numcols) self.gpio_module = GPIOModule(rowgpios,colgpios) def outputPattern(self): # turn off current row self.gpio_module.deactivateRow() # shifting the circular queues self.gpio_module.rowgpios.shift() self.led_array.rowindices.shift() # getting the new set of active columns active_cols = self.led_array.getActiveColumns(self.led_array.getRowIndex()) # Outputting Values to the LED Grid Hardware self.gpio_module.outputColumns(active_cols) # Activate the new row self.gpio_module.activateRow() ''' run time - time displays update time - flickering time ''' def run(self, array, run_time, update_time): dt = 0 self.led_array.updateArray(array) timestart = time.time() while dt < run_time: self.outputPattern() time.sleep(update_time) dt = time.time()-timestart
def __init__(self,rowgpios,colgpios): self.numrows = len(rowgpios) self.numcols = len(colgpios) self.led_array = LEDArray(self.numrows, self.numcols) self.gpio_module = GPIOModule(rowgpios,colgpios)