Add segmented_movement pattern with alternating forward/backward movement

- Add n4 parameter support to main.py ESP NOW receiver
- Implement segmented_movement pattern with configurable parameters:
  * n1: segment length (number of LEDs per segment)
  * n2: spacing between segments
  * n3: forward movement speed (positions per beat)
  * n4: backward movement speed (positions per beat)
- Pattern alternates between forward and backward movement each beat
- If only n3 or n4 is set, moves in that direction every beat
- Draws repeating segments with spacing across entire LED strip
- Add Pipfile script to run dev.py directly with arguments
This commit is contained in:
2025-10-03 19:56:24 +13:00
parent 355d113e32
commit e516b49eb8
4 changed files with 114 additions and 3 deletions

View File

@@ -49,6 +49,7 @@ def main():
if last_msg:
try:
data = json.loads(last_msg)
print(data)
defaults = data.get("d", {})
bar = data.get(settings.get("name"), {})
@@ -62,6 +63,7 @@ def main():
patterns.n1 = bar.get("n1", defaults.get("n1", patterns.n1))
patterns.n2 = bar.get("n2", defaults.get("n2", patterns.n2))
patterns.n3 = bar.get("n3", defaults.get("n3", patterns.n3))
patterns.n4 = bar.get("n4", defaults.get("n4", patterns.n4))
patterns.step = bar.get("s", defaults.get("s", patterns.step))
# Only execute pattern if it's a beat message