On the left: because I was returning bools (unsigned char) while implicit declaration assumed int, the undefined upper-byte (r25) was being improperly used to calculate the argument to a later function call (orangeLed). On the right: with proper declaration from header