Commit graph

39 commits

Author SHA1 Message Date
foamyguy
fe7c44be88 Merge branch 'refs/heads/main' into resample_methods
# Conflicts:
#	examples/xdisplay_mirror.py
2025-03-13 16:22:30 -05:00
foamyguy
9465e133b8 add brightness argument to virtualdisplay and xdisplay_mirror 2025-03-12 14:43:08 -05:00
foamyguy
270c8b854c use click.Choice 2025-03-12 11:47:21 -05:00
foamyguy
9a4ed78ca6 add a way to specify resample method for xdisplay_mirror 2025-03-12 10:55:21 -05:00
499d5c56a7
Update virtualdisplay.py
remove a rogue comment
2025-03-12 09:02:43 -05:00
foamyguy
5961685d45 add xdisplay_mirror, remove virtualdisplay_keyboard. update virtualdisplay for new args. remove unused function from fbmirror 2025-03-11 10:21:11 -05:00
372a158bd7 Make n_temporal_planes, n_lanes "standard" argmuents
& add the simple multilane mapper to examples that use click
2025-03-11 08:53:07 -05:00
8ae0fea913 move simple_multilane_mapper into package 2025-03-11 08:48:48 -05:00
foamyguy
1d9d652cf3 update piomatter_click import 2025-03-10 10:19:03 -05:00
9bd7813dc3 Add rudimentary multi-connector support to fbmirror as well 2025-03-10 09:53:34 -05:00
2442bee476 Make temporal dithering schedules actually work
10/4 planes gives 100fps on the active3 spiral demo on 3 64x64 panels, or
1.2 megapixels/second. And to my eye, there's no brightness shimmer.

All the below settings "look good" to my eye, higher FPS ones tend to look
better to a camera. In "10/4" mode with my camera at 100FPS it still looks
solid but because the beat frequency between the dither pattern and the
shutter is pretty pronounced I can see it shift between the sub-frames.

There's still some brightness variation between modes, with more planes
being a little brighter than fewer planes.

10/0: 50fps
10/2: 72fps
10/4: 100fps

8/0: 92fps
8/2: 109fps
8/4: 134fps

5/0: 135fps
5/2: 153fps
5/4: 210fps
2025-03-10 09:52:00 -05:00
25c324dd7d run pre-commit and commit formatting change 2025-03-07 11:43:03 -06:00
4fba6a6ee3 Merge remote-tracking branch 'origin/main' into make-package 2025-03-07 11:42:44 -06:00
65b8b6fbf6 A variant spiral demo now works on active3!
.. with 3 64x64 panels.
2025-03-07 10:02:41 -06:00
4ffb57c3d5 Reorganize includes per ruff's preferences 2025-03-06 10:17:11 -06:00
47226cf246 Move the click options into the piomatter package 2025-03-06 10:13:27 -06:00
foamyguy
86070bb49a virtualdisplay_keyboard example 2025-03-04 10:38:44 -06:00
ebefcce1c3 new example 2025-02-25 11:09:30 -06:00
60ae2029b9 Change module name
Some checks failed
Pip / build (ubuntu-24.04-arm, 3.11) (push) Has been cancelled
Pip / build (ubuntu-24.04-arm, 3.12) (push) Has been cancelled
Pip / build (ubuntu-24.04-arm, 3.13) (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Wheels / Build SDist (push) Has been cancelled
Wheels / Wheels on ubuntu-24.04-arm (push) Has been cancelled
Wheels / Upload release (push) Has been cancelled
Change all references from adafruit_raspberry_pi5_piomatter to
adafruit_blinka_raspberry_pi5_piomatter.

Closes #20
2025-02-13 09:50:37 -06:00
foamyguy
248c59ae2a remove unused import 2025-02-10 16:32:30 -06:00
foamyguy
22ad9aa7df update examples to use PioMatter() init. update fbmirror_scaled to use the click wrapper. remove colorspace as an argument and hardcode it in the examples. 2025-02-10 16:14:02 -06:00
1a3f5d4ebe examples: Add common argument parsing code, use it in fbmirror
Some checks failed
Pip / build (ubuntu-24.04-arm, 3.11) (push) Has been cancelled
Pip / build (ubuntu-24.04-arm, 3.12) (push) Has been cancelled
Pip / build (ubuntu-24.04-arm, 3.13) (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Wheels / Build SDist (push) Has been cancelled
Wheels / Wheels on ubuntu-24.04-arm (push) Has been cancelled
Wheels / Upload release (push) Has been cancelled
Now you can set most anything you'd want from the commandline:

```
Usage: fbmirror.py [OPTIONS]

Options:
  --x-offset INTEGER              The x offset of top left corner of the
                                  region to mirror
  --y-offset INTEGER              The y offset of top left corner of the
                                  region to mirror
  --num-address-lines INTEGER     The number of address lines used by the
                                  panels
  --num-planes INTEGER            The number of bit planes (color depth. Lower
                                  values can improve refresh rate in frames
                                  per second
  --orientation [Normal|R180|CCW|CW]
                                  The overall orientation (rotation) of the
                                  panels
  --pinout [AdafruitMatrixBonnet|AdafruitMatrixBonnetBGR|AdafruitMatrixHat|AdafruitMatrixHatBGR]
                                  The details of the electrical connection to
                                  the panels
  --colorspace [RGB888Packed|RGB888|RGB565]
                                  The memory organization of the framebuffer
  --serpentine / --no-serpentine  The organization of multiple panels
  --height INTEGER                The panel height in pixels
  --width INTEGER                 The panel width in pixels
  --help                          Show this message and exit.
```

It might would be good to apply this generally across the examples.
2025-02-09 10:28:26 -06:00
d27897fd18 add an example for the 64x64 matrix 2025-02-09 10:27:12 -06:00
foamyguy
5452337f38 fbmirror.py args fix 2025-02-04 12:10:53 -06:00
foamyguy
502beb6cda animated gif example 2025-02-04 10:08:27 -06:00
foamyguy
33b8041ef6 font color var, normal rotation, fix margin 2025-02-04 08:50:20 -06:00
foamyguy
c3675b74bd fix rotation, use smaller size pen 2025-02-04 08:38:36 -06:00
foamyguy
b19bfce407 int radius 2025-02-04 08:33:04 -06:00
foamyguy
6caa68ec13 new examples, parameterize fbmirrors, add pillow to req, add font license 2025-02-04 08:27:12 -06:00
foamyguy
73ad9de612 Merge branch 'refs/heads/main' into various_touchups 2025-02-04 08:21:37 -06:00
foamyguy
443f6ee53c single panel simpletest 2025-02-03 17:57:18 -06:00
foamyguy
cc110b3ce5 parameterize quote scroller 2025-02-03 17:53:32 -06:00
foamyguy
53e580e404 quote scroller 2025-01-30 20:22:15 -06:00
feb64621ad new framebuffer mirroring examples
Some checks failed
Pip / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pip / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pip / build (ubuntu-latest, 3.13) (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Wheels / Build SDist (push) Has been cancelled
Wheels / Wheels on ubuntu-latest (push) Has been cancelled
Wheels / Upload release (push) Has been cancelled
2025-01-24 12:03:13 -06:00
b149f31bf3 Add fps property to PioMatter objects 2025-01-24 12:01:59 -06:00
4ef2d552ce show fps in playframes 2025-01-15 21:55:17 -06:00
aeab803caf improve examples 2025-01-15 10:19:26 -06:00
e55647d8f7 it's working!!!1 2025-01-14 15:07:59 -06:00
895a5e5458 builds, but broken with weird error 2025-01-14 14:50:43 -06:00