31 lines
822 B
C
31 lines
822 B
C
#ifndef GPS_SYSTEM_APP_H
|
|
#define GPS_SYSTEM_APP_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#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
|