[Fixed] Digispark + NeoPixel - A Match Made in Heaven?

First of all, forgive me for the impudence and my English xD
This is a long story.
Some time ago I was read the book “How Google Tests Software” and found a really interesting project with a name something like “Testing Sphere”. The main idea of it was really cool and funny.
For example, we have some CI jobs with autotests and after that running, we have some reports for it. Data from this report sends on some microcontrollers inside the lamp. Hmmm sound familiar?
After few minutes of googling, I found blinkstick and go to the store page, almost done with submitting but go to our local post site to check delivery time and this was awful due to COVID19 it seems somewhere between 2 and 3 months.
And I found https://github.com/nitram509/blinkstick-firmware-digispark this project and give a try to it. FYI I’ve almost nothing related to soldering or Arduino stuff. And more fascinating I found local guys who make nice NeoPixel matrix.


After a while, I prepared .hex files and successfully booted into the device(It was a huge pain in my butthole…USB cables with no data connections, my mechanical keyboard take to much current from USB(this was taken about 6 hours to find the issue and many others))
If you are not tired of that mindflow. Where I’m now?
I connected digispark to the NeoPixels and can send data to this pair.
But unfortunately, only 1 LED is work instead of 4.
How can I fix that? coz blinkstick-firmware-digispark looks like it doesn’t support changes of mode =(
Thak you for any ideas!

Fixed with help of creater of clone repo @nitram509
in main.cpp file, line 128 and following:
// switch color order “G,R,B”
uint8_t led[43];
led[0]=led[1
3+0]=led[23+0]=led[33+0] = data[2];
led[1]=led[13+1]=led[23+1]=led[33+1] = data[1];
led[2]=led[1
3+2]=led[23+2]=led[33+2] = data[3];

cli(); //Disable interrupts
ws2812_sendarray_mask(&led[0], 12, _BV(PB1));
sei(); //Enable interrupts