Really basic but strange problem

When you have several .ino files in a project the Arduino IDE first loads the principal project file and then loads the other files in alphabetical order.

Variables defined in a early file can be accessed by code in a file loaded later, but not vice versa. I can't recall whether that is also true of functions. If it is it may help to put function prototypes in the principal file. For a function like this

void myFunction() {
   Serial.println("this is myFunction");
}

the function prototype will be

void myFunction();

...R