-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display both contents at the same time reduce brightness #1511
Comments
Do you try to run two binaries such as the text viewer and image viewer at once ? That of course does not work as they will fight the output GPIO. You need to write a single program that shows all the content you need. Or use something like a networked compositor like flaschen-taschen and send data from there. |
Thank you for your quicly response. indeed I cumulated the calls and I understood the inappropriate behavior. Isn't there a possibility to merge several feeds before displaying them? I will also test your solution. Thank you again for your answer. Regards, Romain. |
Hard to tell without code. |
I try to follow your advice by using the python binding of your library and drawing my content through PILLOW before swapping it to the display. The layout of my led tiles is not rectangular but the content I want to display is. Which means that some pixels will not be visible (cropped). The idea is therefore to "consume" these non-visible pixels directly in the SetImage and SwapOnVsync functions. I find the SetImage function in the core.pyx file but I can't find SwapOnVsync. Where should I modify this function? Thx. |
Thx for this link but not exactly the same usage and not realy helping me. The main goal is to avoid the display of pixels where no panel existing. Example of square image to display : | 1 | 2 | 3 | The layout of my panels : xxx| A |xxx Actual result : xxx| 1 |xxx Expected result after consume pixel of image parts 1, 3, 7 and 9 : xxx| 2 |xxx Hope it is more clearly with that schems :) |
You can try #1478, marking corner panels as 'discard'. The canvas will be 3x3 square (and you can use chains of length 2, improving performance a bit). Or you can use pillow to move panel pixels (2->1, 8>7) and then use upstream version. |
Remap seams to be the perfect use in my use case. I am trying to configure but still with an error : Here is the panel layouting : The matrix configuration :
And the mapping configuration :
That causes an error and still display corners :
Why this error ? (Edit : add the matrix configuration) |
You need to compile my branch with Remap support. It is not supported upstream. In Remap fragment, you should specify panel orientation (NSEW). In your case, it is probably West for all panels. If you want to use shorted cables, you can alternate West and East panels. The remap line is list for each chain (including missing panels at the end of chain), concatenated. So first entry is position of first panel on chain 1 (panel 1), at position 32, 0. Seventh entry is position of first panel in chain 2 (panel 3). It should be something like
(not 100% sure I got it correct) Also you don't need V-mapper and Rotate, just place panels correctly (including orientation). Only mirror is not implemented in Remap (and probably only needed in obscure cases). Use sketch of panels in final position and orientation and then write remap fragments with position from image, following chains. When this arrangement is working, you can improve performance by rearranging cabling so that each chain is 3 or 4 panels long (30% improvement). |
Thx a lot for your help but after compiling your branch I still blocked with the same "Remap: no such mapper" error. Discard panels must be specified at the end of each line or may they be specified like this :
|
Can you try to run some example?
It seems to work for me (but I can't test with panel now) |
first 0,0x means to discard first panel on chain 1. You have this panel installed, panel 1 in your image. You must discard panels the are missing - on end of each chain. Internally, all chains are of Remap line is concatenation of 3 chains in this case:
|
OK I anderstand. This cmd works :
This one too but display scrolling text only on top panel :
Now, other issue :( two white lines are displayed verticaly on the bottom of my display : Is this due to to mapping ? |
You should try some other demo (maybe ./text-example ) to get better idea about canvas-to-display mapping. Or use larger image (height of 96 pixels, width at least 96 pixels) with demo. Try some test image where it is obvious what part of image is displayed (3x3 grid with numbers + marks). Or try |
Is bottom part OK without mapper? |
It looks like R2G2B2 is missing on chain 3. Maybe wiring/adapter problem? Try swapping ribbon cables (chain1 <-> chain 3) |
I can't try to swap out the ribbon cables until next Tuesday. However, I don't think that's it because if I don't use a mapper and configure the broadcast with V-mapper and 90 degree rotation, a manually swapped pillow image displays correctly. |
I'll try to test if .. Can you post picture without mapper, please? |
I don't see this problem with my setup (different panel). Can you check that only --led-pixel-mapper= is changed between tests? |
OK, I cannot test today because no hardware with me. I will test and send you picture on next Tuesday (Monday is public holliday in france) thx for all. |
swapping ribbon cables just move the problem : Result with the same image and without mapping : The configuration : options.rows = 16
options.cols = 32
options.chain_length = 6
options.parallel = 3
options.pwm_bits = 8
options.pwm_lsb_nanoseconds = 300
options.row_address_type = 2
options.multiplexing = 18
options.brightness = 20 |
The white strips look like cable (unlikely), adapter or IO problem. Is white really displayed in stripes? Or is it cyan? In that case, number 5 shall be partially visible in stripe (not sure from photo). That would mean that only G2B2 or G1B1 is fixed. G1B1 is mapped to I2C1 pins. Maybe you have I2C1 enabled? |
Yes, if I swap chain2 with chain 3, stripes are displayed on all three panels. Stipes are displayed in cyan and not in white. I forgot to mention it but I2C is used for RTC clock and the use of two sensors. |
It's either chain3 or I2C1 ... |
1 similar comment
It's either chain3 or I2C1 ... |
Hi all,
I am trying to display both text and image supperposed in same time but it reduce led brightness. It seams the two medias are displayed alternatively.
How to conserve the maximum of brightness when display several contents at same time ?
Is it possible to create a combined stream that contains all supperposed contents ?
Thx.
Romain.
The text was updated successfully, but these errors were encountered: