flipperzero_infrared_test.py 667 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import flipperzero as f0
  2. import time
  3. raw_signal = f0.infrared_receive()
  4. signal = map(lambda v: int(v / 100), raw_signal)
  5. level = False
  6. i = -1
  7. x = 0
  8. y_low = 32
  9. y_high = 40
  10. y_level = y_low
  11. f0.canvas_clear()
  12. for duration in signal:
  13. i += 1
  14. if i < 10:
  15. continue
  16. if level:
  17. f0.canvas_draw_line(x, y_low, x, y_high)
  18. y_level = y_high
  19. else:
  20. f0.canvas_draw_line(x, y_high, x, y_low)
  21. y_level = y_low
  22. f0.canvas_draw_line(x, y_level, x + duration, y_level)
  23. x += duration
  24. level = not level
  25. if x > f0.canvas_width():
  26. break
  27. f0.canvas_update()
  28. time.sleep(5)
  29. f0.infrared_transmit(raw_signal)