This example provides full DM1 pop-up messaging with lamp status. This version will work on any of the color display platforms.
DM1 messages are currently active codes and will be transmitted by the ECU when there are one or more active faults. This can also be used for internally generated faults by using the Internal DM1 functions. The Diagnostic app handles receiving the data, populating the received data into the DM1 List, and setting the current lamp status, events and variables. As codes expire they are automatically removed from the DM1 List. The configuration handles displaying the information in a pop-up page view based on system variables and events as well as handling navigating through the fault codes in the DM1 List.
There are two page views in this example, one shows the pop-up messages and the other displays just a lamp status icon that allows the user to recall the message page view. Since these pages are on the popup layer, buttons not in use must be disabled to prevent lower layer buttons from functioning.
Instructions on how to implement this are listed in the notes section of the configuration tab.
System Variables used in this Example
- DM1.SPN - The numeric value of the fault messages SPN currently pointed to in the DM1 List
- DM1.FMI - The numeric value of the fault messages FMI currently pointed to in the DM1 List
- DM1.Source Address - The numeric value of the Source Address of the device transmitting the fault message currently pointed to in the DM1 List
- DM1.Header.Source - A text string representing the name of the device that transmitted the fault message. This will only be populated if there is a J1939 or NMEA device defined in the Connections tab with a matching source address. The text that will be displayed is located in the "Device Name" entry box. Select "Edit Name" to update the name of the device.
- DM1.Header.Description - A text string describing the fault code currently pointed to in the DM1 List. This is configured in the DTC Setup Library "Description" Column. There must be a matching SPN & FMI entry in the library in order for this text to be populated. Use a text widget then assign the Override String property to the dm1.header.description variable.
- DM1.Header.Correction - Not used in this example but can be implemented the same as the dm1.header.description. This provides a means of instructing the operator on what action needs to be taken.
- DM1.TotalFaultsInList - a numeric count of all the fault messages currently in the list. If a fault is no longer active it must be first acknowledged before it is removed from the list and the count updated.
- DM1.ListPointer - A numeric value of the fault currently pointed to.
Download the Example for a PV780 in 2.9.23044
Download the Example for a PV1100 in 2.9.23044