removed unused methods
changed fade steps from 30 to 25
@ -42,10 +42,8 @@ except:
|
||||
class Layer:
|
||||
def __init__(self, new_path):
|
||||
self.path = new_path
|
||||
# read png file
|
||||
self.png_reader = png.Reader(self.path)
|
||||
# gray_scale_map_small = png_reader.read()
|
||||
self.gray_scale_map_small_direct = self.png_reader.asRGB8()
|
||||
# read png file and get gray scale map as 3 dimension rgb array
|
||||
self.gray_scale_map_small_direct = png.Reader(self.path).asRGB8()
|
||||
# get png data from png object
|
||||
self.png_width = self.gray_scale_map_small_direct[0]
|
||||
self.png_height = self.gray_scale_map_small_direct[1]
|
||||
@ -56,7 +54,7 @@ class Layer:
|
||||
self.rgb_buffer_length = (self.png_width * self.png_height) * self.color_values
|
||||
self.layer_buffer_current_color = np.zeros(self.color_values, np.uint8)
|
||||
self.layer_buffer_array = np.zeros(self.rgb_buffer_length, np.uint8)
|
||||
self.png_image_data_flatten = np.array(self.flatten_rgb_array_from_png(self.png_image_data))
|
||||
self.png_image_data_flatten = np.array(self.png_image_data).flatten()
|
||||
# internal event states
|
||||
self.layer_current_event_value = 0
|
||||
self.animation_finished = True
|
||||
@ -76,7 +74,7 @@ class Layer:
|
||||
def run_next_fade_color(self):
|
||||
if not self.animation_finished and self.animation_current_brightness > 0:
|
||||
# fade rgb values
|
||||
self.animation_current_brightness -= 30
|
||||
self.animation_current_brightness -= 25
|
||||
|
||||
# set current layer color brightness to animation brightness
|
||||
for i in range(3):
|
||||
@ -143,19 +141,6 @@ class Layer:
|
||||
# print("new_color: " + str(current_value) + ":" + str(mapping_value) + "=" + str(new_value))
|
||||
return new_value
|
||||
|
||||
# helper method to flatted the png array payload, called only once on init
|
||||
def flatten_rgb_array_from_png(self, rgb_array):
|
||||
output_array = np.zeros(self.rgb_buffer_length, np.uint8)
|
||||
current_value_index = 0
|
||||
# got over every row of png
|
||||
for current_row in rgb_array:
|
||||
# go over value in payload
|
||||
for current_value in current_row:
|
||||
# write current value to output array buffer
|
||||
output_array[current_value_index] = current_value
|
||||
current_value_index += 1
|
||||
return output_array
|
||||
|
||||
|
||||
# ------------------------------------
|
||||
# Websocket event part start
|
||||
@ -290,20 +275,8 @@ def on_open(ws):
|
||||
# Websocket event part end
|
||||
# ------------------------------------
|
||||
|
||||
|
||||
def get_higher_color_value(value1, value2):
|
||||
new_value = value2
|
||||
if value1 > value2:
|
||||
new_value = value1
|
||||
return new_value
|
||||
|
||||
|
||||
def merge_layer_arrays(layer_first, layer_second):
|
||||
return np.maximum(layer_first, layer_second)
|
||||
# output_array = np.zeros(buffer_length, np.uint8)
|
||||
# for idx in range(0, buffer_length):
|
||||
# output_array[idx] = get_higher_color_value(layer_first[idx], layer_second[idx])
|
||||
# return output_array
|
||||
|
||||
|
||||
def get_merged_layers_array():
|
||||
@ -316,12 +289,6 @@ def get_merged_layers_array():
|
||||
return output_array
|
||||
|
||||
|
||||
def millis():
|
||||
dt = datetime.now()
|
||||
cur_millis = dt.microsecond / 1000
|
||||
return int(round((time_.time() * 1000) + int(cur_millis)))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
buffer_length = Nx * Ny * 3
|
||||
# create layer objects for the lights
|
||||
|
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 153 B |
Before Width: | Height: | Size: 165 B After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 153 B |
Before Width: | Height: | Size: 159 B After Width: | Height: | Size: 172 B |