Van olyan helyzet, amikor nem olvassa el valaminek a dokumentációját az ember és ennek köszönhetően tátott szájjal beszalad a faszerdőbe. Megírtam már vagy négy málhazsákra való kódot, mire észrevettem, hogy a
LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
sort elég átírni erre:
LEDS.addLeds<WS2812,DATA_PIN,GRB>(leds,NUM_LEDS);
Ugyanis a példaprogram RGB LED-re íródott, ez meg GRB LED-elből álló füzér.
Először az 'egyszerűbb' verzióval kezdtem, azaz írtam pár sort, ami felcseréli a zöldet a pirossal és vice-versa. Annak ellenére, hogy az már a FastLED könyvtárban is megvolt - csak a fentebbi módosítás kelletik hozzá. Kisebb kódméret, kisebb és gyorsabb végeredmény...
Azért nem volt hiábavaló a mianevék buzerálása sem. A Time.h és a Time.ccp libbe belibbentettem pár sort, minek köszönhetően le lehet kérdezni, hogy éppen szökőévben vagyunk-e (ezt már csak opcionálisan csaptam hozzá, mert ingyé volt), illetve le lehet kérdezni, hogy az adott hónap hány napból áll. Higgyétek el feleim, néha jól jön ez! Például, mint most nekem... A módosítások (most még) a következő linken elérhető arduino könyvtárhoz valósiak.
A TimeLib.h fájl 118. sora után bebiggyesztendő:
int isLeapYear(); // ha szökőév
int daysOfMonth(int mnt); // hány nap van a hónapban
A Time.cpp 154. sora után pedig:
int isLeapYear() {
if (LEAP_YEAR(year())) {return 1;} else {return 0;}
}
int daysOfMonth(int mnt) {
if ((isLeapYear() == 1)&&(mnt == 1)) {
return monthDays[mnt]+1;
}
else {
return monthDays[mnt];
}
}
Osz't ennyi. Lehet használni olyan esetekben, amikor a hónap napjait egyel növelni akarjuk és ehhez tudni kell azt, hogy hány nap van a hónapban, mert csúnya lenne egy harminc napos február, vagy egy kilencvennapos március...
Utolsó kommentek