Changed pixels from row vectors to column vectors to improve performance

This commit is contained in:
Scott Lawson 2016-11-13 01:10:44 -08:00
parent e8b8a09047
commit 9bdc8f8cb9

View File

@ -5,9 +5,9 @@ import config
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
_gamma = np.load(config.GAMMA_TABLE_PATH)
_prev_pixels = np.tile(253, (config.N_PIXELS, 3))
_prev_pixels = np.tile(253, (3, config.N_PIXELS))
pixels = np.tile(1, (config.N_PIXELS, 3))
pixels = np.tile(1, (3, config.N_PIXELS))
"""Array containing the pixel values for the LED strip"""
@ -18,9 +18,9 @@ def update():
p = _gamma[pixels] if config.GAMMA_CORRECTION else np.copy(pixels)
for i in range(config.N_PIXELS):
# Ignore pixels if they haven't changed (saves bandwidth)
if np.array_equal(p[i], _prev_pixels[i]):
if np.array_equal(p[:, i], _prev_pixels[:, i]):
continue
m += chr(i) + chr(p[i][0]) + chr(p[i][1]) + chr(p[i][2])
m += chr(i) + chr(p[0][i]) + chr(p[1][i]) + chr(p[2][i])
_prev_pixels = np.copy(p)
_sock.sendto(m, (config.UDP_IP, config.UDP_PORT))