più o meno funziona come hai detto tu, il software in centralina nella maggior parte dei casi è formato da blocchi di codice che in cascata compongono un modello matematico (spesso generato con matlab). il modello matematico ha degli input (sensori, interruttori...) i blocchi intermedi elaborano gli input secondo una serie di "formule" e generano degli output che possono essere eseguiti dagli attuatori direttamente opoure inviati tramite CAN, FlexRay, Lin ad altre centraline che li riceveranno come input per generare nuovi output. Il modello matematico è fisso ma può essere adattato dalla parametrizzazione della centralina. la parametrizzazione può essere di due tipi, a valore numerico o a bit position, nel primo caso vengono settati valori numerici come per esempio una temperatura, un numero di cicli di esecuzione, impostati dei range di lavoro (l'elenco potrebbe essere infinito), nel secondo caso con i bit position si creano delle maschere dove a un determinato valore viene fatto un AND logico e il risultato avrà solo i bit creati con la maschera, se il valore restituito è 0 una determinata azione non viene eseguita altrimenti si. Per esempio nella modalità race avviene la stessa cosa, il sistema calcola la dinamica del veicolo, riconosce che sta sbandando, e deve mandare via CAN al sistema EBS di intervenire, ma il body riconosce la posizione del manettino, fa un AND con la configurazione presente nel body (1 race present) AND 1 (manettino race position) se il risultato è 1 non invia bit di anti sbandata a VDC se 0 lo invia, quindi se in configurazione c'è uno 0 la modalità race non sarà mai possibile neanche se meccanicamente lo è (manettino modificato). non so se sono stato molto chiaro è un po' complesso da spiegare