Is there an elegant way to register custom pixel mappers globally without hacking or modifying any internal code or C++ build params within rpi-rgb-led-matrix directly? I also don’t want to have to import and register the pixel mapper within each individual’s display program. I’d like it to be recognizable from the command-line flags. I have a mixture of Python and C++ written display programs and they live in a separate folders like this:
project_root
rpi-rgb-led-matrix(git)
src
pixel-mapper-custom.cc
views
py
weather
clock
cc
news
system-info
With this directory layout is it possible to register pixel-mapper-custom.cc without modifying the git repo rpi-rgb-led-matrix directly?
I see there is ApplyPixelMapperwhich seems to require initialization in each individual view program, and also RegisterPixelMapperfor global use - but I’m not sure where to use this second function when starting an individual Python or CC program from Bash. My code starts each individual display program directly from their own file. How in the build/init step can it be aware of how to find the pixel-mapper-custom.cc file and run RegisterPixelMapper?
this sounds like the correct way to do things, so if you can build a nice PR, that would make things better for sure.
Please do have a look at this panel mapper that just landed though:
For pixel mappers within a panel, there is no plugin, they just get added one at a time.
I’m thinking those pixel mappers should be added to the code like they are now, because they are useful for everyone.
Mappers for layouts between panels are indeed more personal and one-off. If the one I just gave you is not good enough, having another plug in option would be good, or maybe you can further extend the one that just got added.
aaah, got it., and yes the picture helps.
Glad to hear the new mapper is helping you.
That said, don’t you want to use 3 channels to triple your refresh rate?