Finally fixed the C preprocessor thing. Apparently TIMER_LEVEL <= 0 is
always true if TIMER_LEVEL is undefined, so we explicitly check that
TIMER_LEVEL is defined first.