Counter2 pointer missing fix
This commit is contained in:
parent
24904752ab
commit
d2ec17c3cf
@ -18,6 +18,7 @@ import time
|
||||
import mod_globals
|
||||
import mod_utils
|
||||
import mod_ecu
|
||||
import mod_db_manager
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import clearScreen
|
||||
from mod_utils import hex_VIN_plus_CRC
|
||||
@ -59,7 +60,7 @@ def run( elm, ecu, command, data ):
|
||||
#
|
||||
# Data file parsing
|
||||
#
|
||||
DOMTree = xml.dom.minidom.parse(data)
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
|
||||
ScmParams = ScmRoom.getElementsByTagName("ScmParam")
|
||||
|
@ -1,4 +1,14 @@
|
||||
#!/usr/bin/env python
|
||||
'''
|
||||
Scenarium usage example
|
||||
|
||||
Name of this script should be exactly the same as in scenaruim URL but with '.py' extension
|
||||
|
||||
URL - scm:scen_ecri_calinj1#scen_ecri_calinj1_xxxxx.xml
|
||||
|
||||
'run' procedure will be executed by pyren script
|
||||
|
||||
'''
|
||||
|
||||
import os
|
||||
import sys
|
||||
@ -9,108 +19,125 @@ import mod_globals
|
||||
import mod_utils
|
||||
import mod_ecu
|
||||
import mod_db_manager
|
||||
from mod_utils import clearScreen
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import KBHit
|
||||
import mod_ecu_mnemonic
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import clearScreen
|
||||
import xml.dom.minidom
|
||||
|
||||
def run( elm, ecu, command, data ):
|
||||
'''
|
||||
MAIN function of scenarium
|
||||
|
||||
clearScreen()
|
||||
header = '['+command.codeMR+'] '+command.label
|
||||
Parameters:
|
||||
elm - refernce to adapter class
|
||||
ecu - reference to ecu class
|
||||
command - refernce to the command this scenarium belongs to
|
||||
data - name of xml file with parameters from scenarium URL
|
||||
'''
|
||||
|
||||
ScmSet = {}
|
||||
ScmParam = {}
|
||||
clearScreen()
|
||||
header = '['+command.codeMR+'] '+command.label
|
||||
|
||||
def get_message( msg ):
|
||||
if msg in ScmParam.keys():
|
||||
value = ScmParam[msg]
|
||||
else:
|
||||
value = msg
|
||||
if value.isdigit() and value in mod_globals.language_dict.keys():
|
||||
value = pyren_encode( mod_globals.language_dict[value] )
|
||||
return value
|
||||
ScmSet = {}
|
||||
ScmParam = {}
|
||||
|
||||
def get_message_by_id( id ):
|
||||
if id.isdigit() and id in mod_globals.language_dict.keys():
|
||||
value = pyren_encode( mod_globals.language_dict[id] )
|
||||
return value
|
||||
def get_message( msg, encode = 1 ):
|
||||
if msg in ScmParam.keys():
|
||||
value = ScmParam[msg]
|
||||
else:
|
||||
value = msg
|
||||
if value.isdigit() and value in mod_globals.language_dict.keys():
|
||||
if encode:
|
||||
value = pyren_encode(mod_globals.language_dict[value])
|
||||
else:
|
||||
value = mod_globals.language_dict[value]
|
||||
return value
|
||||
|
||||
def get_message_by_id( id, encode = 1 ):
|
||||
if id.isdigit() and id in mod_globals.language_dict.keys():
|
||||
if encode:
|
||||
value = pyren_encode(mod_globals.language_dict[id])
|
||||
else:
|
||||
value = mod_globals.language_dict[id]
|
||||
return value
|
||||
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
#
|
||||
# Data file parsing
|
||||
#
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
|
||||
ScmParams = ScmRoom.getElementsByTagName("ScmParam")
|
||||
ScmParams = ScmRoom.getElementsByTagName("ScmParam")
|
||||
|
||||
for Param in ScmParams:
|
||||
name = pyren_encode( Param.getAttribute("name") )
|
||||
value = pyren_encode( Param.getAttribute("value") )
|
||||
for Param in ScmParams:
|
||||
name = pyren_encode( Param.getAttribute("name") )
|
||||
value = pyren_encode( Param.getAttribute("value") )
|
||||
|
||||
ScmParam[name] = value
|
||||
ScmParam[name] = value
|
||||
|
||||
ScmSets = ScmRoom.getElementsByTagName("ScmSet")
|
||||
ScmSets = ScmRoom.getElementsByTagName("ScmSet")
|
||||
|
||||
for Set in ScmSets:
|
||||
setname = pyren_encode(Set.getAttribute("name"))
|
||||
ScmParams = Set.getElementsByTagName("ScmParam")
|
||||
for Set in ScmSets:
|
||||
if len(Set.attributes) != 1:
|
||||
setname = pyren_encode(mod_globals.language_dict[Set.getAttribute("name")])
|
||||
ScmParams = Set.getElementsByTagName("ScmParam")
|
||||
|
||||
for Param in ScmParams:
|
||||
name = pyren_encode( Param.getAttribute("name") )
|
||||
value = pyren_encode( Param.getAttribute("value") )
|
||||
for Param in ScmParams:
|
||||
name = pyren_encode( Param.getAttribute("name") )
|
||||
value = pyren_encode( Param.getAttribute("value") )
|
||||
|
||||
ScmSet[setname]= value
|
||||
ScmParam[name] = value
|
||||
ScmSet[setname]= value
|
||||
ScmParam[name] = value
|
||||
|
||||
kb = KBHit()
|
||||
confirm = get_message_by_id('19800')
|
||||
title = get_message('Title')
|
||||
messageInfo = get_message('Message1')
|
||||
succesMessage = get_message('CommandFinished')
|
||||
failMessage = get_message('CommandImpossible')
|
||||
|
||||
confirm = get_message_by_id('19800')
|
||||
title = get_message("Title")
|
||||
messageInfo = get_message("Message1")
|
||||
succesMessage = get_message("CommandFinished")
|
||||
failMessage = get_message("CommandImpossible")
|
||||
mnemonics = ecu.get_ref_id(ScmParam['default']).mnemolist
|
||||
|
||||
mnemonics = ecu.get_ref_id(ScmParam["default"]).mnemolist
|
||||
if mnemonics[0][-2:] > mnemonics[1][-2:]:
|
||||
mnemo1 = mnemonics[1]
|
||||
mnemo2 = mnemonics[0]
|
||||
else:
|
||||
mnemo1 = mnemonics[0]
|
||||
mnemo2 = mnemonics[1]
|
||||
|
||||
if mnemonics[0][-2:] > mnemonics[1][-2:]:
|
||||
mnemo1 = mnemonics[1]
|
||||
mnemo2 = mnemonics[0]
|
||||
else:
|
||||
mnemo1 = mnemonics[0]
|
||||
mnemo2 = mnemonics[1]
|
||||
byteFrom = int(mnemo1[-2:])
|
||||
byteTo = int(re.findall('\d+',mnemo2)[1])
|
||||
byteCount = byteTo - byteFrom - 1
|
||||
resetBytes = byteCount * '00'
|
||||
|
||||
byteFrom = int(mnemo1[-2:])
|
||||
byteTo = int(re.findall("\d+", mnemo2)[1])
|
||||
byteCount = byteTo - byteFrom - 1
|
||||
resetBytes = byteCount * "00"
|
||||
mnemo1Data = mod_ecu_mnemonic.get_mnemonic(ecu.Mnemonics[mnemo1], ecu.Services, elm, 1)
|
||||
mnemo2Data = mod_ecu_mnemonic.get_mnemonic(ecu.Mnemonics[mnemo2], ecu.Services, elm, 1)
|
||||
|
||||
mnemo1Data = mod_ecu_mnemonic.get_mnemonic(ecu.Mnemonics[mnemo1], ecu.Services, elm, 1)
|
||||
mnemo2Data = mod_ecu_mnemonic.get_mnemonic(ecu.Mnemonics[mnemo2], ecu.Services, elm, 1)
|
||||
paramsToSend = mnemo1Data + resetBytes + mnemo2Data
|
||||
|
||||
paramsToSend = mnemo1Data + resetBytes + mnemo2Data
|
||||
clearScreen()
|
||||
|
||||
print title
|
||||
print '*'*80
|
||||
print messageInfo
|
||||
print '*'*80
|
||||
print
|
||||
ch = raw_input(confirm + ' <YES/NO>: ')
|
||||
while (ch.upper()!='YES') and (ch.upper()!='NO'):
|
||||
ch = raw_input(confirm + ' <YES/NO>: ')
|
||||
if ch.upper()!='YES':
|
||||
return
|
||||
print title
|
||||
print '*'*80
|
||||
print messageInfo
|
||||
print '*'*80
|
||||
print
|
||||
ch = raw_input(confirm + ' <YES/NO>: ')
|
||||
while (ch.upper()!='YES') and (ch.upper()!='NO'):
|
||||
ch = raw_input(confirm + ' <YES/NO>: ')
|
||||
if ch.upper()!='YES':
|
||||
return
|
||||
|
||||
clearScreen()
|
||||
clearScreen()
|
||||
|
||||
print
|
||||
response = ecu.run_cmd(ScmParam['Cmde1'], paramsToSend)
|
||||
print
|
||||
print
|
||||
response = ecu.run_cmd(ScmParam['Cmde1'], paramsToSend)
|
||||
print
|
||||
|
||||
if "NR" in response:
|
||||
print failMessage
|
||||
else:
|
||||
print succesMessage
|
||||
if 'NR' in response:
|
||||
print failMessage
|
||||
else:
|
||||
print succesMessage
|
||||
|
||||
print
|
||||
ch = raw_input('Press ENTER to exit')
|
||||
return
|
||||
print
|
||||
ch = raw_input("Press ENTER to exit")
|
||||
return
|
@ -18,6 +18,7 @@ import time
|
||||
import mod_globals
|
||||
import mod_utils
|
||||
import mod_ecu
|
||||
import mod_db_manager
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import clearScreen
|
||||
from mod_utils import KBHit
|
||||
@ -65,7 +66,7 @@ def run( elm, ecu, command, data ):
|
||||
# Data file parsing
|
||||
#
|
||||
|
||||
DOMTree = xml.dom.minidom.parse(data)
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
|
||||
ScmParams = ScmRoom.getElementsByTagName("ScmParam")
|
||||
|
@ -8,6 +8,7 @@ import string
|
||||
import mod_globals
|
||||
import mod_utils
|
||||
import mod_ecu
|
||||
import mod_db_manager
|
||||
from mod_utils import clearScreen
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import KBHit
|
||||
@ -36,7 +37,7 @@ def run( elm, ecu, command, data ):
|
||||
return value
|
||||
|
||||
|
||||
DOMTree = xml.dom.minidom.parse(data)
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
|
||||
ScmParams = ScmRoom.getElementsByTagName("ScmParam")
|
||||
|
@ -18,6 +18,7 @@ import time
|
||||
import mod_globals
|
||||
import mod_utils
|
||||
import mod_ecu
|
||||
import mod_db_manager
|
||||
from mod_utils import pyren_encode
|
||||
from mod_utils import clearScreen
|
||||
from mod_utils import KBHit
|
||||
@ -67,7 +68,7 @@ def run( elm, ecu, command, data ):
|
||||
#
|
||||
# Data file parsing
|
||||
#
|
||||
DOMTree = xml.dom.minidom.parse(data)
|
||||
DOMTree = xml.dom.minidom.parse(mod_db_manager.get_file_from_clip(data))
|
||||
ScmRoom = DOMTree.documentElement
|
||||
|
||||
# read parameters
|
||||
|
Loading…
x
Reference in New Issue
Block a user