How the performance gauges work

From B58 Wiki

An often asked question on the BMW forums is how the performance gauges are calibrated.

The gauges work by splitting the power dial into 8 sections and then exposing parameters which define the power per section of the guage.

The allocation of cells according to units is as follows:

The division into eight segments means that to get the maxiumium range of the gauages, the values in the cells are multiplied by 8.

Note, that the tunerpro setup defines these as arrays, but BMW's A2L defines them as individual values K_EDA_P_ANZ_SPORT_BS_SCAL_CODE0, K_EDA_P_ANZ_SPORT_BS_SCAL_CODE1, K_EDA_P_ANZ_SPORT_BS_SCAL_CODE2, K_EDA_P_ANZ_SPORT_BS_SCAL_CODE3 and values are in reverse order. Thus the correspondence with units is

  • CODE0 --> kW
  • CODE1 --> kW
  • CODE2 --> PS (i.e. metric HP)
  • CODE3 --> other

The other slot tells the DME's what to do in case is receives a nonsense unit so can be left stock.

The situation is similar with torque, where we have the following codes:

  • K_EDA_MD_ANZ_BS_SCAL_CODE0 --> Nm
  • K_EDA_MD_ANZ_BS_SCAL_CODE1 --> Nm
  • K_EDA_MD_ANZ_BS_SCAL_CODE2 --> ft.lbs
  • K_EDA_MD_ANZ_BS_SCAL_CODE3 --> kg.m
  • K_EDA_MD_ANZ_BS_SCAL_CODE4 --> other