MoonModules / StarLight

Try things out
GNU General Public License v3.0
13 stars 4 forks source link

StarLight Live Scripts and Virtual Led Driver #17

Open MoonModules opened 3 weeks ago

MoonModules commented 3 weeks ago

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

MoonModules commented 3 weeks ago

PSRAM results, very random pixels: IMG_8560

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

MoonModules commented 3 weeks ago

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 IMG_8554

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 !

ewowi commented 3 weeks ago

Ota and file upload crash: solved in https://github.com/ewowi/StarBase/commit/64bcfb53a3e570203c73dd217639424516cb7d70 and https://github.com/MoonModules/StarLight/commit/608cfe84c7293225a01ebf99d45f46dfe142d8e0