Blink without "delay()" - stepping up.

char timeout(unsigned long *marker, unsigned long interval) {

timeout does not return a char. Change it to bool (or boolean).