Files
SN-L00/firmware/include/latency.h
T
florian.berthold 64f9e34fc3 Add firmware skeleton for RP2040
Complete working firmware including:
- CMakeLists.txt for Pico SDK build
- SSD1306 OLED driver (128x32, I2C)
- High-resolution latency measurement using hardware timer
- Debounced button with short/long press detection
- Three modes: Single, Continuous, Stats
- USB serial debugging output

Includes 8x8 font with numbers and letters for display.
2026-01-23 03:33:35 +01:00

39 lines
844 B
C

#ifndef LATENCY_H
#define LATENCY_H
#include <stdbool.h>
#include <stdint.h>
// 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