Open MoonModules opened 3 weeks ago
PSRAM results, very random pixels:
Increasing __DMA_BUFFERS=30 makes it better:
https://github.com/user-attachments/assets/b6f92f83-0447-4cd0-adbb-1edcd3ef7b12
Increasing to 50 doesn't change much. 60 and above: [ 4453][E][WiFiUdp.cpp:49] begin(): could not create tx buffer: 61
On LedOS it runs fine when __DMA_BUFFERS=10 (at 2 it flickers).
Possible causes:
Next steps
Panel assignments on pins (first panel is top right and starts on pin1 but shows data from panel 2: 2 dots in the panel) 8th pin receives data from panel 1. 15th panel / pin (bottom left) is not receiving the right data
The fixture definition to make this run is
void drawPanel(int panelX, int panelY) {
for (int x=0; x<16;x++) {
for (int y=15; y>=0; y--) {
int y2 = y; if (x%2 == 0) {y2=15-y;} //serpentine
addPixel(panelX * 16 + x, panelY * 16 + y2, 0);
}
}
}
void main() {
drawPanel(2, 1); //first panel data come from the 8th pin!!
//first row
drawPanel(4, 0); //second panel comes from pin 1
drawPanel(3, 0); //3th from 2
drawPanel(1, 0); //4th from 3 swapped !!!
drawPanel(2, 0); //5th from 4 swapped !!!
drawPanel(0, 0); //6th from 5
//second row
drawPanel(4, 1); //7th from 6
drawPanel(3, 1); //8th from 7
drawPanel(0, 2); //9th from 15 !!! no data coming from pin...
drawPanel(1, 1); //10th from 9
drawPanel(0, 1); //11th from 10
//third row
drawPanel(4, 2); //12th from 11
drawPanel(3, 2); //13th from 12
drawPanel(2, 2); //14th from 13
drawPanel(1, 2); //15th from 14
}
‘ drawPanel(0, 2); //9th from 15 !!! no data coming from pin...’
Not coming from 15 but from 16 !!! As the first pin and last pin of each 595 chip is swapped !
Ota and file upload crash: solved in https://github.com/ewowi/StarBase/commit/64bcfb53a3e570203c73dd217639424516cb7d70 and https://github.com/MoonModules/StarLight/commit/608cfe84c7293225a01ebf99d45f46dfe142d8e0 ✅
Release 0.5.0 will contain Live Fixtures and Virtual Led Driver support, goal is to support 12288 led setups.
As this is the first release with this functionality not everything has been implemented and further development and testing is needed. Below is a summary of current states and recommendations to proceed.
Live Scripts
Virtual driver
Projections
Shift register PCB
General
Conclusions