Commit graph

122 commits

Author SHA1 Message Date
6d3e236828 This improves the doc situation
There are still some problems & some build warnings but at least the
sphinx docs have useful content now.
2025-03-11 09:36:43 -05:00
b26f8dc48d Another file to rename
docs are wrong and this might be part of why .. but not all
2025-03-11 09:26:09 -05:00
34d8cd1e4d Update copyright year 2025-03-11 09:26:09 -05:00
3fb93d310b Finish removing deprecated aliases 2025-03-11 09:26:09 -05:00
f7a247eeae this is a private variable 2025-03-11 09:19:00 -05:00
908766eeb8 remove deprecated aliases 2025-03-11 09:07:15 -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
e2c5bc3467 tweak comment & no-temporal check 2025-03-10 08:24:50 -05:00
4f548a318c the rest of the plumbing. now it should be possible to use temporal dither. untested 2025-03-09 19:50:27 -05:00
a5f505241d tidy some build errors 2025-03-09 19:36:50 -05:00
7c7569236b plumb temporal dither most of the way through 2025-03-09 19:33:48 -05:00
68c24fcc00 allow multiple schedules for temporal dithering
(however, there's no code yet to generate such schedules)
2025-03-09 14:04:13 -05:00
39bc663b26 introduce pixel schedules 2025-03-09 13:46:37 -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
foamyguy
2b7a9c6d61
Merge pull request #26 from FoamyGuy/virtual_display_withkeyboard
virtualdisplay_keyboard example
2025-03-07 10:04:00 -06:00
65b8b6fbf6 A variant spiral demo now works on active3!
.. with 3 64x64 panels.
2025-03-07 10:02:41 -06:00
296047a806 Allow using fewer than all the lanes
It's always the lowest numbered lanes. So now you can at least run
the first lane of an Active3 with a standard matrix map
2025-03-06 14:24:19 -06:00
274adf1805 Improve error reporting when address lines wrong
Before, a weird error would be shown because of the blitter thread
destructor running.
2025-03-06 14:23:30 -06:00
cfec6060d8 WIP support more RGB out pins 2025-03-06 13:49:48 -06:00
d008684e5d Add active3 pinout (only first connector works) 2025-03-06 13:49:24 -06:00
d26bba84ba Update ruff config
I saw this warning on the terminal...
2025-03-06 10:17:35 -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
97d5a4454d Allow passing in the matrix map directly to a Geometry object 2025-03-06 10:12:17 -06:00
cab2d4293d Move everything to a package structure 2025-03-06 10:12:17 -06:00
foamyguy
f627e654fb requirements sort 2025-03-04 10:56:29 -06:00
foamyguy
86070bb49a virtualdisplay_keyboard example 2025-03-04 10:38:44 -06:00
foamyguy
749734085b
Merge pull request #23 from adafruit/pyvirtualdisplay-example
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
Pyvirtualdisplay example
2025-02-26 09:27:15 -06:00
9b54dd1431 fix copypaste error
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
2025-02-25 11:09:35 -06:00
ebefcce1c3 new example 2025-02-25 11:09:30 -06:00
419f3f7eb7
Merge pull request #21 from FoamyGuy/docs_updates
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
Docs updates
2025-02-15 14:43:59 -06:00
foamyguy
c0150816d2
Merge pull request #22 from adafruit/fix-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 module name
2025-02-13 10:21:14 -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
15942f5c74 argument docstrings for PioMatter init 2025-02-12 12:21:12 -06:00
foamyguy
19706d79b9 add rotation to Geometry init docstring 2025-02-12 11:40:27 -06:00
985d72ceb9
Merge pull request #18 from FoamyGuy/updating_examples
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
Updating examples for newer init API
2025-02-11 09:39:49 -06:00
foamyguy
248c59ae2a remove unused import 2025-02-10 16:32:30 -06:00
foamyguy
c886a13fd6 add colorspace and pinout to auto generated docs 2025-02-10 16:31:02 -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
foamyguy
dd77450f15
Merge pull request #14 from adafruit/bgr-panel-support
Some checks are pending
Pip / build (ubuntu-24.04-arm, 3.11) (push) Waiting to run
Pip / build (ubuntu-24.04-arm, 3.12) (push) Waiting to run
Pip / build (ubuntu-24.04-arm, 3.13) (push) Waiting to run
pre-commit / pre-commit (push) Waiting to run
Wheels / Build SDist (push) Waiting to run
Wheels / Wheels on ubuntu-24.04-arm (push) Waiting to run
Wheels / Upload release (push) Blocked by required conditions
Support swapped (bgr) matrices
2025-02-10 09:49:04 -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
f33e9ca82e Format code with pre-commit 2025-02-09 10:27:12 -06:00
a2f1470548 fix ignore of files in top level 2025-02-09 10:27:12 -06:00
9eafd20e9d Support swapped (bgr) matrices
& add enumerated types so there's not an explosion of constructors in
the Python code.
2025-02-09 10:27:12 -06:00