#ifndef GPS_SYSTEM_APP_H #define GPS_SYSTEM_APP_H #include #include #include "fusion/fusion_measurement.h" #include "fusion/navigation_fusion.h" #include "gps/NavEquations.h" #include "imu/imu_sample.h" /* Application-owned messages and lifecycle state at the GPS/IMU/fusion * boundary. Solver, driver and ESKF private state remain in their modules. */ typedef struct { gps_nav_solution_t gps_solution; fusion_gps_measurement_t gps_for_fusion; imu_sample_t imu_sample; navigation_fusion_output_t fused_solution; uint64_t gps_measurement_ticks; uint64_t last_fused_location_tick; uint64_t last_status_tick; uint32_t fused_publish_sample_count; bool gps_epoch_ready; bool fusion_enabled; bool imu_initialized; bool fusion_initialized; bool imu_running; } gps_system_state_t; #endif