script to clear DTCs
parent
0965155a5b
commit
de178ea79c
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env python3
|
||||
import sys
|
||||
from subprocess import check_output, CalledProcessError
|
||||
from panda import Panda
|
||||
from panda.python.uds import UdsClient, MessageTimeoutError, SESSION_TYPE, DTC_GROUP_TYPE
|
||||
|
||||
try:
|
||||
check_output(["pidof", "boardd"])
|
||||
print("boardd is running, please kill openpilot before running this script! (aborted)")
|
||||
sys.exit(1)
|
||||
except CalledProcessError as e:
|
||||
if e.returncode != 1: # 1 == no process found (boardd not running)
|
||||
raise e
|
||||
|
||||
panda = Panda()
|
||||
panda.set_safety_mode(Panda.SAFETY_ELM327)
|
||||
address = 0x7DF # functional (broadcast) address
|
||||
uds_client = UdsClient(panda, address, bus=0, debug=False)
|
||||
print("extended diagnostic session ...")
|
||||
try:
|
||||
uds_client.diagnostic_session_control(SESSION_TYPE.EXTENDED_DIAGNOSTIC)
|
||||
except MessageTimeoutError:
|
||||
pass # functional address isn't properly handled so a timeout occurs
|
||||
print("clear diagnostic info ...")
|
||||
try:
|
||||
uds_client.clear_diagnostic_information(DTC_GROUP_TYPE.ALL)
|
||||
except MessageTimeoutError:
|
||||
pass # functional address isn't properly handled so a timeout occurs
|
||||
print("")
|
||||
print("you may need to power cycle your vehicle now")
|
Loading…
Reference in New Issue