Any help is much appreciated
Code part 2
void fadeWord(int arrCols[], int arrSize, int iRow, RGB startColor, RGB endColor, int steps, int wait) { //fade word from one colour to another
//matrix.drawPixel(col, row, Adafruit_NeoMatrix::Color)
long lastMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis - lastMillis > wait){
lastMillis = currentMillis; //reset counter
for(int i = 0; i <= steps; i++) {
int newR = startColor.r + (endColor.r - startColor.r) * i / steps;
int newG = startColor.g + (endColor.g - startColor.g) * i / steps;
int newB = startColor.b + (endColor.b - startColor.b) * i / steps;
for (int j = 0; j < arrSize; j++) {
if(arrCols[j] == -1){ //at end of word
matrix.show(); //show the pixels
//break; //get out, we are at end of word
}else{
//if not yet at end of word, set colour and keep looping through for statement
matrix.drawPixel(arrCols[j], iRow, matrix.Color(newR, newG, newB));
}
}
}
}
}
void spellWord(int arrCols[], int arrSize, int iRow, int wait){
long nextOperation = millis() + wait;
for(int i = 0; i < arrSize;){
if(arrCols[i] == -1){
break; // get out of loop if end of word, indicated by -1
Serial.println("out");
}else{
if (nextOperation <= millis()) {
nextOperation = millis() + wait;
Serial.println(arrCols[i]);
matrix.drawPixel(arrCols[i], iRow, matrix.Color(red.r, red.g, red.b));
matrix.show(); //display pixels
i++;
}
}
}
}
void displayClock() {
if ((mytimemin== 0)
| (mytimemin== 5)
| (mytimemin== 10)
| (mytimemin== 15)
| (mytimemin== 20)
| (mytimemin== 25)
| (mytimemin == 30)
| (mytimemin == 35)
| (mytimemin == 40)
| (mytimemin == 45)
| (mytimemin == 50)
| (mytimemin == 55)) {
exactly(ON);
} else {
exactly(OFF);
}
if ((mytimemin == 1)
| (mytimemin == 2)
| (mytimemin == 6)
| (mytimemin == 7)
| (mytimemin == 11)
| (mytimemin == 12)
| (mytimemin == 16)
| (mytimemin == 17)
| (mytimemin == 21)
| (mytimemin == 22)
| (mytimemin == 26)
| (mytimemin == 27)
| (mytimemin == 31)
| (mytimemin == 32)
| (mytimemin == 36)
| (mytimemin == 37)
| (mytimemin == 41)
| (mytimemin == 42)
| (mytimemin == 46)
| (mytimemin == 47)
| (mytimemin == 51)
| (mytimemin == 52)
| (mytimemin == 56)
| (mytimemin == 57)) {
past(ON);
} else {
past(OFF);
}
if ((mytimemin == 3)
| (mytimemin == 4)
| (mytimemin == 8)
| (mytimemin == 9)
| (mytimemin == 13)
| (mytimemin == 14)
| (mytimemin == 18)
| (mytimemin == 19)
| (mytimemin == 23)
| (mytimemin == 24)
| (mytimemin == 28)
| (mytimemin == 29)
| (mytimemin == 33)
| (mytimemin == 34)
| (mytimemin == 38)
| (mytimemin == 39)
| (mytimemin == 43)
| (mytimemin == 44)
| (mytimemin == 48)
| (mytimemin == 49)
| (mytimemin == 53)
| (mytimemin == 54)
| (mytimemin == 58)
| (mytimemin == 59)) {
near(ON);
} else {
near(OFF);
}
//calculate minutes on the hour
if(mytimemin<3){
quarter(OFF);
twenty(OFF);
mten(OFF);
mfive(OFF);
half(OFF);
to(OFF);
past2(OFF);
}
// do nothing, no minutes it's on the hour
if(mytimemin>2 && mytimemin<8){
quarter(OFF);
twenty(OFF);
mten(OFF);
mfive(ON);
half(OFF);
to(OFF);
past2(ON);
}
if(mytimemin>7 && mytimemin<13){
quarter(OFF);
twenty(OFF);
mten(ON);
mfive(OFF);
half(OFF);
to(OFF);
past2(ON);
}
if(mytimemin>12 && mytimemin<18){
quarter(ON);
twenty(OFF);
mten(OFF);
mfive(OFF);
half(OFF);
to(OFF);
past2(ON);
}
if(mytimemin>17 && mytimemin<23){
quarter(OFF);
twenty(ON);
mten(OFF);
mfive(OFF);
half(OFF);
to(OFF);
past2(ON);
}
if(mytimemin>22 && mytimemin<28){
quarter(OFF);
twenty(ON);
mten(OFF);
mfive(ON);
half(OFF);
to(OFF);
past2(ON);
}
if(mytimemin>27 && mytimemin<33){
quarter(OFF);
twenty(OFF);
mten(OFF);
mfive(OFF);
half(ON);
to(OFF);
past2(ON);
}
if(mytimemin>32 && mytimemin<38){
quarter(OFF);
twenty(ON);
mten(OFF);
mfive(ON);
half(OFF);
to(ON);
past2(OFF);
}
if(mytimemin>37 && mytimemin<43){
quarter(OFF);
twenty(ON);
mten(OFF);
mfive(OFF);
half(OFF);
to(ON);
past2(OFF);
}
if(mytimemin>42 && mytimemin<48){
quarter(ON);
twenty(OFF);
mten(OFF);
mfive(OFF);
half(OFF);
to(ON);
past2(OFF);
}
if(mytimemin>47 && mytimemin<53){
quarter(OFF);
twenty(OFF);
mten(ON);
mfive(OFF);
half(OFF);
to(ON);
past2(OFF);
}
if(mytimemin>52 && mytimemin<58){
quarter(OFF);
twenty(OFF);
mten(OFF);
mfive(ON);
half(OFF);
to(ON);
past2(OFF);
}
// Calculate hour & oclocks
if(mytimehr==1||mytimehr==13){
if(mytimemin>32){
one(OFF);
two(ON);
three(OFF);
}
else
{
one(ON);
two(OFF);
twelve(OFF);
}
}
if(mytimehr==2||mytimehr==14){
if(mytimemin>32){
two(OFF);
three(ON);
four(OFF);
}
else
{
one(OFF);
two(ON);
three(OFF);
}
}
if(mytimehr==3||mytimehr==15){
if(mytimemin>32){
three(OFF);
four(ON);
five(OFF);
}
else
{
two(OFF);
three(ON);
four(OFF);
}
}
if(mytimehr==4||mytimehr==16){
if(mytimemin>32){
four(OFF);
five(ON);
six(OFF);
}
else
{
three(OFF);
four(ON);
five(OFF);
}
}
if(mytimehr==5||mytimehr==17){
if(mytimemin>32){
five(OFF);
six(ON);
seven(OFF);
}
else
{
four(OFF);
five(ON);
six(OFF);
}
}
if(mytimehr==6||mytimehr==18){
if(mytimemin>32){
six(OFF);
seven(ON);
eight(OFF);
}
else
{
five(OFF);
six(ON);
seven(OFF);
}
}
if(mytimehr==7||mytimehr==19){
if(mytimemin>32){
seven(OFF);
eight(ON);
nine(OFF);
}
else
{
six(OFF);
seven(ON);
eight(OFF);
}
}
if(mytimehr==8||mytimehr==20){
if(mytimemin>32){
eight(OFF);
nine(ON);
ten(OFF);
}
else
{
seven(OFF);
eight(ON);
nine(OFF);
}
}
if(mytimehr==9||mytimehr==21){
if(mytimemin>32){
nine(OFF);
ten(ON);
eleven(OFF);
}
else
{
eight(OFF);
nine(ON);
ten(OFF);
}
}
if(mytimehr==10||mytimehr==22){
if(mytimemin>32){
ten(OFF);
eleven(ON);
twelve(OFF);
}
else
{
nine(OFF);
ten(ON);
eleven(OFF);
}
}
if(mytimehr==11||mytimehr==23){
if(mytimemin>32){
one(OFF);
eleven(OFF);
twelve(ON);
}
else
{
ten(OFF);
eleven(ON);
twelve(OFF);
}
}
if(mytimehr==12||mytimehr==24){
if(mytimemin>32){
one(ON);
two(OFF);
twelve(OFF);
}
else
{
one(OFF);
eleven(OFF);
twelve(ON);
}
}
}