class DriverAdaMatrix(DriverBase): # rows: height of the matrix, same as led-matrix example # chain: number of LEDMatrix panels, same as led-matrix example def __init__(self, rows=32, chain=1): super(DriverAdaMatrix, self).__init__(rows * 32 * chain) self._matrix = Adafruit_RGBmatrix(rows, chain) #Push new data to strand def update(self, data): self._matrix.SetBuffer(data) #Matrix supports between 2^1 and 2^11 levels of PWM #which translates to the total color bit-depth possible #A lower value will take up less CPU cycles def SetPWMBits(self, bits): if bits < 1 or bits > 11: raise ValueError("PWM level must be between 1 and 11") self._matrix.SetPWMBits(bits)
interval = 1. / fps n_frames = int(args.duration * fps) PWM_BIT_DEPTH = 6 MAX_RED = 200 MAX_GREEN = 200 MAX_BLUE = 200 # This is the size of our encoded representations. image_side = 28 image_dim = image_side * image_side # Rows and chain length are both required parameters: matrix = Adafruit_RGBmatrix(32, 1) matrix.SetPWMBits(PWM_BIT_DEPTH) matrix.Clear() def channel(v, max): return int(round(v * max)) def autoencoder_generate(n_steps): # Generate first image as random. frame = np.random.random((1, image_dim)) # Iterate. for t in range(n_steps): f = frame.reshape(image_side, image_side)