[dbcmapping]
The dbcmapping section is used to set up mappings between DBC based attributes (which are manufactured names derived from the loaded CANBus DBC file) and internal SDC attributes.
Although this mapping is not absolutely necessary, it does mean that the demonstration pagesets will display most of their data without needing to have their attribute names changed when the datasource is changed. For example, by mapping the DBC RPM value to the internal RPM value, any gauge that displays or uses the RPM internal attribute will work with both the old and new (DBC) datmodes.
If you do not want to map any attributes, all of the entries can be removed. In a scenario where no mapping exists, the namespaced DBC-generated attribute name can be used and will be present in SDC tools.
A default mapping is provided together with a namespace definition for rusefi, whose DBC files and CANBus broadcast have been tested with the releases containing this functionality.
To create a DBC mapping, use the following notation:
<internal SDC attribute name>=<DBC Attribute Name>
DBC attribute names specified must be namespaced using the value specified in the dbcnamespace
setting in the datasource section. Here is an example mapping for RPM and Coolant Temperature:
[dbcmapping]
rpm=rusefi.rpm
clt=rusefi.coolanttemp
Attribute names are not case sensitive. Note that in many cases the size and numeric range of the DBC based attribute might be different to the SDC internal attribute. In these scenarios, SDC will try and match the two (by performing type conversions or verifying that target size is larger than source size). If match cannot be achieved then a warning will be reported to the device log and the mapping will not succeed.