Files
gps/soc/software/gps_system/header/gps_system.h
T

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