Procedure 3: (Assuming the ECU supports the readStatusOfDTCByDTCNumber $80 Level.)
1. Request the status of a locally supported DTC/FailureType combination: ($A9 $80 $XX $XX $XX). And
verify the proper response and status.
2. Repeat step 1 for each locally supported DTC/FailureType combination.
3. Request the status of a DTC/FailureType combination that is not locally supported and verify the proper
negative response ($7F $A9 $31).
Page 210 GM WORLDWIDE ENGINEERING STANDARDS GMW3110 Procedure 4: (Assuming the ECU supports the sendOnChangeDTCCount $82 Level.)
1. Request a node supporting sub-parameter $82 to report the number of current DTCs (reference
Appendix E for definition of DTC status bits) to be sent using send-on-change transmission model ($A9
$82 $02).
2. Verify that the node properly acknowledges the request message with a UUDT response ($82 $DTCCH
$DTCCL) containing the correct count of DTCs.
3. Begin periodic transmission of TesterPresent ($3E) messages to keep the send-on-change transmission
model active.
4. Select a DTC that is not current, and cause it to transition to a current state (this can be done by
disconnecting a sensor input that is known to cause a current code to set immediately).
5. Verify that the node transmits a UUDT message containing an updated count of the number of current
DTCs ($82 $DTCCH $DTCCL) within 1.0 s (or whatever execution time is specified in the node’s CTS) of
the time the code sets.
6. Transmit a request to read the status of all current DTCs by status mask ($A9 $81 $02).
7. Verify that the DTC that was just set is stored.
8. If no other DTCs became current (or discontinued being current) between the time that the previous $Level
$82 UUDT response was sent and the time that the $Level $81 UUDT endOfDTCReport response was
sent, verify that the number of $Level $81 UUDT response messages received by the tester equals the
DTC count reported via the $Level $82 UUDT response.
9. Stop sending TesterPresent messages for P3
Cmax
. Verify that the send on change algorithm has stopped
running by causing another DTC to transition to a current status and verifying that no response is sent.
10. Repeat steps 1 through 3 of this procedure. Then send a new request to change the status mask criteria
(does not matter whether the resulting background computation will result in a different count value or not).
Verify that the ECU sends a $Level $82 UUDT response with an updated count value and verify the time
to the response is correct.
11. Repeat steps 1 through 3 of this procedure. Then send a request to change the status mask to $00
(disable the send on change algorithm). Verify that the proper $Level $82 UUDT positive response is sent
with a DTC count of $00 00 ($82 $00 $00). Also verify that the algorithm is disabled within the receiving
node (by setting another DTC and seeing no send-on-change response).
12. Repeat steps 1 through 3 of this procedure. Then send a ReturnToNormalMode $20 request. Set a DTC
and verify that no DTC send on change response is sent.
13. Cause a node to set a history DTC. Then send a mode $A9 $Level $82 request with the history code bit of
the status mask set to a logical “1”. Verify the $82 UUDT response. Then send a
ClearDiagnosticInformation ($04) request. Verify that a $82 UUDT response message is sent with an
updated DTC count after the code clear completes (taking into account the execution rate of the
background count algorithm).