Zrobiłem odwrotnie Najpierw uruchomiłem Twój kod, a potem bazując na działaniu zrobiłem to samo w klasie, tylko z paroma poprawkami. Jedną z nich jest nieblokowanie zmiany koloru LEDów w trakcie zapalania (w trakcie gaszenia nie wiem czy to będzie działać, ze względu na to kiedy funkcja setRGBxxx jest wywoływana, sprawdzę jak wieczorem poprawię błąd, który zdiagnozował @klew). Obejrzyj moje iterateAlways() (odpowiednik Tasma_RGB() u Ciebie). Zamiast kilku zmiennych flagowych używam tylko licznika zapalonych LEDówveeroos wrote: Mon Dec 08, 2025 11:35 am Dobra bo głupoty napisałem, bo odpisywałem komuś innemu na pytania związane z nierównomiernym zapalaniem się paska i się zamotałem. Nie wiem czy dokładnie o to Ci chodzi, ale zobacz jak ja to rozwiązałem w swoim programie, musiałem zapisać stan paska w jakim się on znajdował tak aby zaczęło się wygaszać od tego momentu do którego się zapaliło i na odwrót, musiałem stworzyć zmienną bool (trwa_animacja), która informowała czy animacja już się zakończyła, czy nie, wtedy odpowiednio układ reagował. Zauważ też, że w moim programie jak zapalają się diody i jak zmieniasz kolor w kanale RGB to od momentu włączenia danego koloru kolejne diody zapalają się na ustawiony kolor. Przeportuj mój program pod ESP8266 ustaw na sztywno prędkości reagowania na przycisk, czasy rozjaśniania i wygaszania, prędkość animacji i spróbuj stworzyć klasę uniwersalną pod pasek programowalny.
A którym kodzie piszesz?veeroos wrote: Mon Dec 08, 2025 11:35 am Zobacz na ten efekt, który później dorobiłem do tego programu:
https://youtube.com/shorts/W7bKKHs0sbk?feature=share
Pomyśl nad klasą która by mogła też takie efekty generować, ewentualnie zostawić klasę dziedziczącą w takiej formie jak mniej więcej ja i Radek zrobiliśmy, do tego użyć dedykowanej biblioteki i wywoływać tylko wewnątrz klasy zapalanie się konkretnego piksela, a nie generować w klasie efektów.
Cały czas się zastanawiam nad sposobem zmiany efektów. Nie mam jeszcze pomysłów na sensowne rozwiązanie (łatwe do zmiany bez definiowana klasy pochodnej).veeroos wrote: Mon Dec 08, 2025 11:35 am coś na przykład takiego:No chyba, że źle myślę. Cała logika wtedy by była w programie, a obsługa pikseli w klasie. Ja właśnie tak sobie to wyobrażałem, chciałem też stworzyć taką klasę, ale brakuje wiecznie mi czasu.Code: Select all
RgbLeds->SetPixel(numPixel, ColorPixel);
