Expand description
Modern, type-safe Rust library for iRacing telemetry data.
We Race Pitwall provides high-performance access to iRacing’s telemetry system with first-class support for multiple application architectures.
§Features
- Live Telemetry: Real-time streaming from iRacing on Windows
- Type Safety: Compile-time validation with derive macros
- Cross-platform IBT: File analysis on any platform
- Performance: <1ms latency, 60Hz updates
§Quick Start
See the examples directory for complete usage demonstrations.
§Example (IBT replay)
use pitwall::{Pitwall, UpdateRate, PitwallFrame};
use futures::StreamExt;
#[derive(PitwallFrame, Debug)]
struct CarData {
#[field_name = "Speed"]
speed: f32,
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let connection = Pitwall::open("/path/to/session.ibt").await?;
let mut stream = connection.subscribe::<CarData>(UpdateRate::Native);
while let Some(frame) = stream.next().await {
println!("Speed: {}", frame.speed);
}
Ok(())
}Re-exports§
pub use ibt::IbtReader;pub use schema::SessionInfo;pub use schema::SessionInfoParser;pub use types::UpdateRate;pub use connection::live::LiveConnection;pub use connection::replay::ReplayConnection;pub use adapters::*;pub use types::*;
Modules§
- adapters
- Type-safe frame adapters for converting raw telemetry to strongly-typed structures.
- connection
- Connection types for live and replay telemetry
- driver
- Driver spawns and manages telemetry processing tasks
- ibt
- IBT file reading and parsing support (cross-platform)
- provider
- Provider trait for data sources
- providers
- Provider implementations
- schema
- Schema Discovery & Buffer Management
- stream
- Stream utilities for telemetry processing
- types
- Core types for telemetry data representation.
Structs§
- Dynamic
Frame - A self-contained view over a single telemetry frame supporting by-name lookups.
- Pitwall
- Unified entry point for Pitwall telemetry connections.
Enums§
- Telemetry
Error - Main error type for telemetry operations.
Type Aliases§
- Result
- Result type alias for telemetry operations.
Derive Macros§
- Pitwall
Frame - Derive macro for automatic frame adapter generation.