#ifndef LATENCY_H #define LATENCY_H #include #include // Measurement result typedef struct { bool valid; // True if measurement succeeded float latency_ms; // Measured latency in milliseconds uint64_t latency_us; // Raw latency in microseconds } measurement_t; // Statistics typedef struct { float min_ms; float max_ms; float avg_ms; uint32_t count; } stats_t; // Initialize latency measurement hardware void latency_init(void); // Perform a single latency measurement // Returns result struct with valid flag and latency value measurement_t latency_measure(void); // Get current statistics stats_t latency_get_stats(void); // Reset statistics void latency_reset_stats(void); // Add measurement to statistics void latency_add_to_stats(float latency_ms); #endif // LATENCY_H