Closed agoesssss closed 6 years ago
That is what I got when doing SetPixel(0, 0, 255, 255, 255);
And there is also CS PIN on the HUB75 is there any connection?
This is interesting, does that happen on any pixel, eg. if you choose one in row 2, does it go from row 2 to 6 ?
This might be a slightly different panel control. CS sounds suspicious (this abbreviation usually means 'Chip Select', used to tell a subsystem to accept or ignore data). It can be detrimental if that is floating (i.e. not connected). Try to set that to 5V in one experiment and to GND in another (I expect the panel to not show anything in one of these experiments).
Can you take a good readable picture of the connector on the back of the panel and post here ?
It could also be a different issue in which it does multiplexing a bit differently, which we have to find out.
I guess that's nothing to do with the chip select that I also suspect earlier, because when I tried to pulse that CS then my system freeze and nothing happened when I set to ground, and then I realized that CS is shorted to the ground. I guess there's issues with multiplexing
these is what I got when doing matrix->SetPixel(0, 0, 255, 0, 0); matrix->SetPixel(1, 1, 0, 255, 255); matrix_->SetPixel(2, 2, 0, 0, 255);
matrix->SetPixel(1, 0, 255, 0, 0); matrix->SetPixel(2, 0, 0, 255, 255); matrix_->SetPixel(3, 0, 0, 0, 255);
matrix->SetPixel(0, 1, 255, 0, 0); matrix->SetPixel(0, 2, 0, 255, 255); matrix_->SetPixel(0, 3, 0, 0, 255);
Also attached below the pinout
Thank you for your support
Attached below the video while doing sweep test using the option "--led-rows=16 --led-chain=2"
for( int sweepY = 0; sweepY < 16; sweepY = sweepY + 1 ){ for( int sweepX = 0; sweepX < 64; sweepX = sweepX + 1 ){ matrix_->SetPixel(sweepX, sweepY, 255, 255, 255); usleep(10000); } }
VID_20170208_091053.zip
Looks like this is a different kind of panel that has a different multiplexing. I heard that these exists, but have not had my hands on them to see what can be implemented. If anyone has a datasheet or description, that would be great.
This is the product website http://www.qiangliled.com/products-63.html
Did we figure out a solution to this problem. I am using the same panel and facing the same issue. please help. thanks!
Hello Henner! I bought the same matrix and got the same result as described above. I have got LED screen controller Onbon BX-5Q1+. The matrix is working correctly with this controller. Here is a chart from HUB75 of the controller (2 matriсes 32x16 in 1 chain, CH0..CH5 color bits):
And here is the chart from Rpi+Adafruit Hat (rows=16, chain=1):
The pin CS is connected to GND inside the matrix ( When I applied +5V I got a short circuit).
If I understand correctly, in the matrix multeplexing chip is missing and rows are selected directly by the lines A, B, C, D.
This weekend I will try to make changes in methods Framebuffer::InitGPIO
and Framebuffer::DumpToMatrix
.
My assumption was correct! Now matrix Qiangli X10 is working properly.
This is a graph after making changes to the code were made (rows=8, chain=2):
I made the following changes in the code of methods.
In Framebuffer::InitGPIO
:
// !!! We are using 4 row lines for matrix 32x16
all_used_bits |= h.a;
all_used_bits |= h.b;
all_used_bits |= h.c;
all_used_bits |= h.d;
In Framebuffer::DumpToMatrix
:
row_address = row_mask;
switch (d_row % 4) {
case 0: row_address ^= h.a; break;
case 1: row_address ^= h.b; break;
case 2: row_address ^= h.c; break;
case 3: row_address ^= h.d; break;
}
So looks like @vapiper has fixed this one with the #509 pull request resulting in commit https://github.com/hzeller/rpi-rgb-led-matrix/commit/b6892aa85666c21e7e9a9392285a278f795755e5
Hi there, is there anyone ever experienced multiple vertical pixel lit when trying to SetPixel single pixel. I'm trying to turn on single pixel but I always got 4 vertical pixel lines.
Can anyone address this issue?
Thank you