Warnings

Warnings are implemented as composites. The concept is that if a warning is generated whose id matches a composite with a defined warning id, then the composite will be shown. Warnings are generated internally by the software under certain circumstances but can also be generated by sending canbus messages specifically designed to trigger other warnings. For example, if you had a separate device monitoring fuel level, it might want to generate a low fuel level warning (SDC itself could receive a fuel level, but there is no internally generated “low fuel level” warning within it).

Context

<composites>
    <group id="0">
        <composite page="0" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="1" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="2" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="4" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="12" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="22" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375"></composite>
        <composite page="5" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1198"></composite>
        <composite page="6" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1197"></composite>
        <composite page="7" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1190"></composite>
        <composite page="8" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1195"></composite>
        <composite page="14" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1194"></composite>
        <composite page="16" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1193"></composite>
        <composite page="20" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1192"></composite>
        <composite page="21" x="810" y="182" xscale="1" 
            yscale="1" highlightx="50" highlighty="375" warningid="1191" 
                    maxwarnings="1"></composite>

    </group>
</composites>

The rows in this example with a “warningid” entry in them are composites that are activated when conditions are met that the warning is based on. Some of these warnings are generated internally; for example if your speed goes above the currently set speed limiter then SDC generates its own warning. Other warnings are not generated internally and are only generated when a canbus message indicating the warning should be triggered is received. Low fuel level is one such warning.

The following warning ids are present in the system:

Warning ID Description Internally Generated?
1190 Oil pressure out of bounds (too high or too low). Yes
1191 Tyre pressure warning (temperature or pressure related) Based on tyre data that must be externally sent
1192 Average speed exceeds current setting Yes
1193 Speed camera in the vicinity Yes
1194 Exceeded the selected speed limit Yes
1195 Handbrake is on while vss > 0 Yes (provided accessory bits are populated externally)
1197 headlights are on when ignition is off or rpm=0 Yes (provided accessory bits are populated externally)
1198 Low fuel level warning No

Operation of Warnings

Whenever a warning is generated, if the currently displayed page contains a composite definition that matches the warning ID, then the composite page representing that warning will be displayed. If multiple warnings are active at the same time then SDC will cycle through the warnings one at a time, leaving each one visible for 3 seconds.

Any visible warnings can be cleared by cycling the current composite, but they may reappear again unless you have also configured the warning with the “maxwarnings” attribute (see the last warning example in the XML above). When “maxwarnings=n” is set, where n is an integer, the system will count the number of times the warning has been cancelled. When it reaches n cancellations, the system will not show the warning anymore.

Note you can’t cancel an individual warning; only all active warnings.