Last stage debugging - Help !![SolveD]

i spent the whole day today looking for my bugs . . but

But you didn't once use Tools + Auto Format to fix the indenting. You didn't once think that putting each { on a new line would help visualize the code structure.

Blank lines between functions are useful. Blank lines in functions are less useful. Starting a function with a blank line never is useful.

 if( currentTimer >= (timerLast + timerRate) ){

Adding time variables is not a good idea. now minus then...

Mixing millis() and delay() in the same code is rarely a good idea.