mirror of
https://github.com/danbulant/ambientlightdemo
synced 2026-06-24 09:01:49 +00:00
add base loop
This commit is contained in:
parent
0ce0445426
commit
7b394e16a3
1 changed files with 30 additions and 1 deletions
|
|
@ -82,4 +82,33 @@ class Lights:
|
|||
new_color = tuple(x * energy for x in self.color)
|
||||
self.pixels[i] = new_color
|
||||
self.pixels.show()
|
||||
self.expected_rotation_delta = lerp(self.expected_rotation_delta, 0, delta * LIGHT_SLOWDOWN_SPEED)
|
||||
self.expected_rotation_delta = lerp(self.expected_rotation_delta, 0, delta * LIGHT_SLOWDOWN_SPEED)
|
||||
|
||||
local_lights = Lights(local_pixels)
|
||||
networked_lights = Lights(networked_pixels)
|
||||
|
||||
last_time = time.time()
|
||||
while True:
|
||||
current_time = time.time()
|
||||
delta = current_time - last_time
|
||||
last_time = current_time
|
||||
|
||||
try:
|
||||
data, addr = sock.recvfrom(1024)
|
||||
message = json.loads(data.decode('utf-8'))
|
||||
value = message.get("value", 0)
|
||||
delta_value = message.get("delta", 0)
|
||||
|
||||
if value:
|
||||
networked_lights.color = sample_color_gradient(value)
|
||||
if delta_value:
|
||||
networked_lights.expected_rotation_delta = delta_value
|
||||
except BlockingIOError:
|
||||
pass
|
||||
|
||||
# todo: get input from local sensors
|
||||
|
||||
local_lights.process(delta)
|
||||
networked_lights.process(delta)
|
||||
|
||||
time.sleep(0.03)
|
||||
Loading…
Reference in a new issue