What about hiding this into state interface to decouple GPS from AP ?
This would mean adding a timeout and/or flags to the stateIsGlobal/LocalCoordinateValid() function.
Same for FW main_ap of course.