Integrate asynchronous GPS IMU fusion

This commit is contained in:
2026-07-16 23:49:43 +03:00
parent 38a96dd88f
commit 7cc3eb2a54
80 changed files with 3901 additions and 553 deletions
@@ -0,0 +1,28 @@
#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_status_tick;
bool gps_epoch_ready;
bool fusion_enabled;
bool imu_initialized;
bool fusion_initialized;
bool imu_running;
} gps_system_state_t;
#endif