◉ Documentation

MoTeC Pit-Wall Analyzer · Manuale

Guida operativa e descrizione tecnica di ogni output prodotto dall'app. Naviga tramite l'indice a sinistra o usa gli hyperlink in ogni paragrafo.

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, campioni int16/int32 con 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

  1. Trascina i file nella zona di drop dell'Overview (o usa Add files nella sidebar).
  2. L'app parsa in background con un Web Worker e popola la sezione Session.
  3. Passa a Stint Analysis per i pannelli per-giro e per-zona.
  4. 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.

◉ Tech note
Il resolver vive in 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.

◉ Tech note
Segmentazione giri da canale 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.

◉ Tech note
Convenzione segni: axleDelta = front − rear, sideDelta = left − right. Δ asse calcolato da coppie omolaterali (FL-RL, FR-RR); Δ lato da coppie omoasse (FL-FR, RL-RR). Quando un sensore manca, il Δ viene calcolato solo sulla coppia disponibile e marcato comepartial: 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.

◉ Tech note
Zone-curva rilevate da soglia dinamica della pressione freno (18% del picco freno del giro di riferimento). In assenza dei canali freno si ricade su rilevamento di minimi locali della velocità. Coperture < 70% della griglia generano un avviso esplicito.

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.

◉ Tech note
Convenzione segni: + = anteriore più caldo (asse), + = sinistra più calda (lato). Soglia di rilevanza derivata dalla deviazione standard dei delta termici per ruota dello stesso engine — non da un assoluto inventato. Sotto soglia il pannello dichiara bilanciamento neutro anziché forzare un'interpretazione.

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).

◉ Tech note
Tutte le soglie sono derivate dai dati dello stint, non da limiti motore assoluti (non disponibili nel file). Gli over-rev sono picchi statistici, NON allarmi di danno motore; le cambiate sono stime in assenza di un canale marcia affidabile, e possono includere eventi spuri (chiusure gas, downshift).

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 .ldx per 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.