Table 78: ReturnToNormalMode Message Flow
T = Frame Sent By Tester, N = Frame Sent By Node; shaded region indicates PCI
Frame Type
CAN Id
#1
#2
#3
#4
#5
#6
#7
#8
N(UUDT-SF)
541
FE
$xx
$xx
$yy
$zz
$aa
$bb
$bb
N(UUDT-SF)
541
81
16
35
02
63
---
---
---
N(UUDT-SF)
541
FE
$xx
$xx
$yy
$zz
$aa
$bb
$bb
N(UUDT-SF)
541
81
04
35
0E
23
---
---
---
T(USDT-SF)
241
01
20
---
---
---
---
---
---
N(UUDT-SF)
541
FE
$xx
$xx
$yy
$zz
$aa
$bb
$bb
N(USDT-SF)
641
01
60
---
---
---
---
---
---
N(UUDT-SF)
541
81
11
00
02
23
---
---
---
N(UUDT-SF)
541
81
15
01
0E
23
---
---
---
CameraLoops.com
GM WORLDWIDE ENGINEERING STANDARDS
GMW3110
© Copyright 2010 General Motors All Rights Reserved
February 2010
Page 102 of 336
8.5.6 Node Interface Function.
8.5.6.1 Node Interface Data Dictionary (Table 79).
Table 79: Node Interface Data Dictionary of ReturnToNormalMode Service Pseudo Code
Variable Meaning
Values
manufacturers_enable_counter
message_data_length
Diag_Services_Disable_DTCs
DTCs_Enabled_In_Device_Control
request_DeviceControl_exit
Dev_Cntrl_Active
Security_Access_Unlocked
DTC_send_on_change_flag
vulnerability_flag
normal_message_transmission_status
programming_mode_active
high_speed_mode_active
programming_mode_entry_OK
high_speed_mode_entry_OK
diagnostic_responses_enabled
TransferData_Allowed
DeviceContol_Security_Level
TesterPresent_Timer_State
TesterPresent_Timer
Reference Common/Global
Pseudo Code Data Dictionary
For Definition Of These
Flags/Variables
8.5.6.2 Node Interface Pseudo Code.
Powerup States:
None
Each time a $20 message is received, the following logic is executed:
BEGINFUNCTION Serv_20_Msg_Recvd()
/*********************************************************************************
* Handle Negative Responses
**********************************************************************************/
IF (message_data_length != 1) THEN
send ($7F $20 $12) /* SubFunctionNotSupported - InvalidFormat */
/********************************************************************************
* Handle Good Requests
*********************************************************************************/
ELSE
CALL Exit_Diagnostic_Services() /* procedure defined below to gracefully exit
all active diagnostic services */
ENDIF
ENDFUNCTION
--``,,``````,``,,``,,,`,`,`,,-`-`,,`,,`,`,,`---
CameraLoops.com
GM WORLDWIDE ENGINEERING STANDARDS
GMW3110
© Copyright 2010 General Motors All Rights Reserved
February 2010
Page 103 of 336
Each time a valid $20 message is received, or if a TesterPresent timeout occurs, the following function is
called:
BEGINFUNCTION Exit_Diagnostic_Services()
TesterPresent_Timer_State
INACTIVE
TesterPresent_Timer
0
IF (programming_mode_active = NO) THEN
/***************************************************************************
* Release All Device Controls
****************************************************************************/
IF (Dev_Cntrl_Active = YES)
request_DeviceControl_exit
YES
CALL Background_DeviceControl_Logic() /* procedure defined in $AE */
ENDIF
/***************************************************************************
* Reset Security Access
****************************************************************************/
DeviceContol_Security_Level
SERVICE
Security_Access_Unlocked
FALSE
/***************************************************************************
* Reset Message Scheduler (but retain dynamic DPID definitions)
****************************************************************************/
CALL ClearAndDisablePDS() /* procedure defined in service $AA */
/***************************************************************************
* Reset Send-On-Change DTC Reporting
****************************************************************************/
DTC_send_on_change_flag
0
/***************************************************************************
* Reset levels of service $10 that have not already been covered
****************************************************************************/
DTCs_Enabled_In_Device_Control
NO
/***************************************************************************
* Enable DTCs to set again
****************************************************************************/
IF (Diag_Services_Disable_DTCs = TRUE) THEN
Diag_Services_Disable_DTCs
FALSE
CALL Diag_App_Reset_Vars() /* local diagnostic application to reset flags, timers, and variables as
appropriate */
ENDIF
/***************************************************************************
* check if normal message transmission was disabled and reinitialize
* communications if it was. In addition, reset mode $A5 flags that may have
* been set prior to the mode $20 request or the P3
C
timeout.
****************************************************************************/
IF (normal_message_transmission_status = DISABLED) THEN
CameraLoops.com
Do'stlaringiz bilan baham: |