mirror of
https://github.com/danbulant/ambientlightdemo
synced 2026-07-08 20:40:52 +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)
|
new_color = tuple(x * energy for x in self.color)
|
||||||
self.pixels[i] = new_color
|
self.pixels[i] = new_color
|
||||||
self.pixels.show()
|
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