Introduzione
MoTeC Pit-Wall Analyzer è uno strumento di analisi di telemetria per file .ld / .ldx di MoTeC e configurazioni logger .toolset. Il parsing avviene interamente nel browser: nessun file lascia mai la macchina dell'utente. L'app è organizzata in due pagine principali —Overviewper il riepilogo della sessione eStint Analysisper l'analisi dettagliata per giro e per zona.
La filosofia di tutti gli output è la stessa: solo numeri misurati, soglie derivate dai dati stessi quando servono, degrado neutro quando un canale manca, e disclaimer espliciti quando un'osservazione è una stima e non una diagnosi.
Come si usa
Tipi di file supportati
.ld— file binario MoTeC con i canali di telemetria campionati nel tempo (descrittori in linked-list, campioniint16/int32con fattore di conversione)..ldx— XML con i metadati di sessione: numero totale di giri e fastest lap con tempo preciso al millesimo. È l'unica fonte autoritativa del tempo veloce..toolset— archivio OPC del logger Porsche/Cosworth (CAN, range, allarmi, mappatura I/O). Quando presente, l'app riusa solo le sue soglie d'allarme dichiarate; non inventa soglie nuove.
Flusso di lavoro
- Trascina i file nella zona di drop dell'Overview (o usa Add files nella sidebar).
- L'app parsa in background con un Web Worker e popola la sezione Session.
- Passa a Stint Analysis per i pannelli per-giro e per-zona.
- Usa Export PDF per esportare il riepilogo della sessione.
Privacy & runtime
Tutto il parsing è client-side: i file non vengono mai caricati su un server. Il parser è dimensionato per file MoTeC tipici (centinaia di canali, decine di giri). Il browser carica solo gli array di campioni necessari ai pannelli attivi.
Principi di analisi
Channel resolver logico
Le feature dell'app non cercano mai nomi di canale per stringa esatta. Ogni feature richiede una chiave logica(esempi: rpm, speed, throttle,brakePress.f, tyreTemp.fl,brakeDiscTemp.rr, lapDistance) e il resolver la mappa al canale reale tramite una catalogo di varianti (uguaglianza normalizzata + inclusione). Se la chiave non si risolve la feature degrada con grazia (omessa o segnale singolo escluso) anziché rompersi.
src/lib/ld/channelResolver.ts. I nomi sono normalizzati (lowercase, spazi compressi) prima del match; gli alias per file di team/firmware diversi si aggiungono in quel singolo catalogo.Anti-hallucination
Nessun pannello inventa soglie o valori. Le uniche soglieassolute ammesse sono quelle dichiarate dal toolset quando esiste (hasSignificantAlarmRange). Tutte le altre soglie sono data-driven, derivate dai campioni dello stint stesso (percentili, frazioni del picco, dispersione tra ruote). Quando un Δ è parziale (es. un solo lato/asse a causa di sensori mancanti) viene mostrato ma escluso dalle letture interpretative.
Giri validi vs non validi
Un giro è valido se la sua durata è sufficiente, non è un frammento di out/in-lap, e i canali base sono coerenti. Tutte le metriche aggregate di stint considerano solo giri validi; i giri non validi restano ispezionabili nel drill-down ma non inquinano le statistiche.
Overview — Session
La pagina Overview mostra il riepilogo di alto livello: ribbon di sessione (vettura, pista, device, data, giro veloce dall'.ldx), tabella canali, debrief di sessione e — se caricato — un riepilogo del toolset.
Session Debrief
Riepilogo aggregato della sessione: numero giri, tempo veloce (sorgente: .ldx), media e dispersione dei principali canali. È pensato come "front page" prima dell'analisi dettagliata.
Channel Table
Tutti i canali presenti nel file con frequenza di campionamento, unità, range osservato e — quando il toolset è presente — la soglia di allarme dichiarata. Utile per capire cosa c'è davvero nel file prima di lanciare i pannelli a valle.
Toolset Summary
Estratto leggibile della configurazione logger: CAN bus, range operativi, I/O, e in particolare le soglie d'allarme che gli engine a valle riusano tali e quali.
Export PDF
Il pulsante Export PDF nella header dell'Overview genera un riepilogo a stampa del session debrief. Il rendering è statico (non include i grafici interattivi della Stint Analysis) e non modifica i dati.
Stint Analysis
La pagina Stint Analysis è l'area di lavoro principale. Tutti i pannelli ricevono lo stesso file e la stessa lista di giri segmentati, e tutti usano il channel resolver. Sono ordinati dal più descrittivo al più interpretativo.
Conditions
Pioggia (% wet derivata dal canale logger log b wetquando presente), temperatura aria, umidità e pressione atmosferica medie sulla sessione. Pura aggregazione media campionaria; nessuna interpretazione.
Lap Table
Tabella per giro con tempo (a precisione "≈ 1 s" — l'unico tempo preciso al millesimo è quello dell'.ldxmostrato in Overview), velocità massima, RPM massimo, conteggio ABS e flag fastest / invalid / out-lap / abs / alarm. Filtrabile per giri validi/non validi e cliccabile per aprire il drill-down.
lap number quando disponibile, altrimenti euristica con lapDistance; tempo giro = differenza dei timestamp di transito. I millisecondi reali del giro veloce vengono dall'.ldx.Tyre Evolution
Evoluzione di temperatura e pressione gomme per giro valido, separatamente per ruota (FL/FR/RL/RR). Calcola warm-up come numero di giri iniziali con temperatura media in salita,totalTempDelta per ruota (ultimo − primo giro valido) e i Δ aggregati di asse e lato.
partial: il pannello lo segnala visivamente e gli engine a valle (Thermal Balance) lo escludono dalle letture.Brake Management
Evoluzione delle temperature dei dischi freno per giro valido: massimo e medio nel giro per disco, Δ asse e Δ lato per giro, trend dei massimi (primo vs ultimo giro). La unicasoglia mostrata è il range d'allarme del toolset quandohasSignificantAlarmRange è vero per quel canale; non viene dichiarata nessuna "finestra operativa ottimale".
Engine Health
Bande di salute motore (pressione olio, temperatura acqua/olio, tensione batteria, lambda quando disponibili) lette dai canali ECU. Soglie usate solo se dichiarate dal toolset; in assenza, il pannello mostra il range osservato senza giudizi.
Lap Detail / Drill-down
Cliccando un giro si aprono la track map(ricostruita da posizione lat/long o da heading × speed integrato), le tracce dei canali principali controlapDistance, i marker degli eventi ABS e l'eventuale evidenziazione di un cambio assetto selezionato dalla timeline globale. Il cursore della mappa è bidirezionale: muove la mappa e la posizione campionata sui grafici.
Lap Comparison
Confronto spaziale (contro la distanza sul giro, non contro il tempo) del giro selezionato con il giro più veloce dello stint. I segnali vengono ricampionati su una griglia uniforme di 500 punti in distanza; per ogni zona-curva rilevata vengono calcolati Δvmin, spostamento del punto di frenata (m) e una stima del Δt per zona derivata dall'integrazione di Δ(1/v)·ds.
Braking & Traction Signature
Aggregato di stint: per ogni zona-curva mostra picco di pressione freno, distanza del punto di frenata (al 18% del picco), lunghezza di rilascio (picco → soglia), distanza di riapertura gas (al 50% del picco) e gradiente di riapertura. Aggrega anche l'attività ABS per zona (hit totali, frequenza, durata media). Le zone con dispersione alta (σ > 1) sono evidenziate come variabili, non come "errore di guida".
Driving Consistency
Misura la ripetibilità della guida usando la firma per zona già calcolata da Braking Signature: dispersione spaziale (σ e coefficiente di variazione CV per vmin e punto di frenata) e deriva temporale (prima metà vs seconda metà dello stint, con il giro centrale assegnato alla prima metà quando il numero è dispari). Cali di vmin o anticipi del punto di frenata nella seconda metà sono evidenziati in rosso come segnale, non come diagnosi.
Thermal Balance
Mette in relazione i segnali termici di gomme e dischigià calcolati da Tyre Evolution e Brake Management: Δ asse, Δ lato ed evoluzione tra primo e ultimo giro. Il pannello produce letture ingegneristiche come ipotesi condizionali (forma obbligata: "osservato X — compatibile con Y; verificare con Z") e mai diagnosi di setup. I Δ parziali vengono mostrati ma esclusi dalle letture.
Engine Usage
Caratterizza l'uso motore a partire dal canale RPM: regime massimo per giro e di stint, regime medio in trazione (campioni con throttle ≥ 80% del picco throttle del giro), percentuale di tempo sopra una soglia alta di regime, eventiover-rev (picchi statistici sopra il quantile 99.5% della distribuzione RPM dello stint) ecambiate stimate da drop di RPM (calo ≥ 10% del max in ≤ 1 s, con throttle in trazione se disponibile).
ABS distribution & Setup change timeline
Quando non c'è un giro selezionato, l'app mostra la distribuzione degli eventi ABS contro la distanza sul giro di riferimento e una timeline cronologica dei cambi assetto rilevati nei canali brkbias, mappos,tc. Cliccando un cambio assetto, l'app apre il giro corrispondente e posiziona il cursore sulla mappa al punto esatto del cambio.
Limiti noti & disclaimer
- Il tempo giro preciso al millesimo è solo quello del
.ldxper il fastest; i tempi degli altri giri visualizzati in tabella sono approssimati al secondo perché ricavati dalla segmentazione del canalelap number. - Senza canale marcia affidabile, l'app non deduce le marce: le "cambiate" in Engine Usage sono stime da drop RPM con disclaimer esplicito.
- Le letture di Thermal Balance sono ipotesi condizionali: la temperatura dipende da aerodinamica, pesi, mescola e pressioni — fattori non osservabili nei soli dati di telemetria.
- Senza toolset, l'app non dichiara alcuna soglia d'allarme assoluta; le soglie restano data-driven e dichiarate testualmente con il criterio con cui sono derivate.
- In presenza di sensori TPMS mancanti per lato o asse, i Δ derivati vengono marcati partial e nonvengono usati per le letture interpretative.
Glossario
- Δ asse
- Differenza fronte − retro per la grandezza considerata.
- Δ lato
- Differenza sinistra − destra per la grandezza considerata.
- Partial
- Δ calcolato su un solo lato/asse a causa di sensori mancanti; non rappresentativo.
- CV
- Coefficiente di variazione: σ / |media|, adimensionale.
- Over-rev
- Picco RPM sopra il quantile 99.5% dello stint; statistica, non allarme di danno.
- Zona-curva
- Tratto di pista rilevato da una soglia dinamica della pressione freno (18% del picco) sul giro di riferimento.