inc declarations


'****************************************************
'* declaration des variables globales *
'****************************************************
dim MOswitch '* B inhibe les sub numeliste_onmouseover et _onmouseleave pendant l'exécution d'un test
dim messagerie '* S type de communication utilisé : ReprogOnK ou DiagOnCan
dim catsel '* S catégorie sélectionnée (basic, erasing...)
dim effetsel '* S critÅre d'effet du test (no_change, erase, reload)
dim clesel '* S critÅre de clé appli (etude ou serie)
dim avsel '* S critÅre
dim SpecType



dim Session '* session ouverte sur la page ddt2000/scan
dim btpdata '* xml exporté de BTP contenant les données relatives Ä… l'UCE
dim addressdata '* xml contenant les adresses spécifiques
dim H '* directReprogHandler (ReprogOnK ou DiagOnCan selon 'messagerie')
dim B '* BTPprogramer
dim doc '* document xml contenant les requetes et passé Ä… session.send
dim dlock ' objet déverrouillage sur lr serveur
dim IdentType ' ident Renault or Nissan
dim ServerName



'* docs xml preparés Ä… l'avance
dim docWriteAKparRL '* ecriture cle appli avec un mauvais repere logique
dim docWriteAKparLB '* ecriture cle appli avec un mauvais octet longueur
dim docWriteAKparAdr '* ecriture cle appli avec une adresse <> 00 00 00

dim docDownload0parRL '* telechargement avec un mauvais repere logique
dim docDownload0parLB '* telechargement avec un mauvais octet longueur (taille réelle cohérente)
dim docDownload0parAdr '* telechargement Ä… une adresse protégée (plage entrée manuellement)

dim docUploadparRL '* relecture avec un mauvais repere logique
dim docUploadparLB '* relecture avec un mauvais octet longueur
dim docUploadparAdr '* relecture Ä… une adresse protégée (plage entrée manuellement)
dim docReadMemByAdr '* read memory by address
dim docWriteMemByAdr '* write memory by address
dim docUPall '* relecture complete
dim docDownAll '* telechargement global
dim docDownTun '* telechargement calibration
dim docDownCorrupt '* telechargement avec données corrompues

dim docWriteLog0parRL '* ecriture histo avec un mauvais repere logique
dim docWriteLog0parLB '* ecriture histo avec un mauvais octet longueur
dim docWriteLog0parAdr '* ecriture histo avec une adresse <> 00 00 00


dim testNode '* pointe dans campagne.xml sur le node du test selectionné
dim alistenode '* liste des nodes "s" et "r" du doc xml (en sortie de session.send)
dim acnode '* node courant de alistenode (reconstitution des requetes et des reponses a partir des trames can)


dim testOK '* B resultat du test. le test s'arrete s'il passe Ä… faux
dim strRequete '* S contient la requete envoyée. affiché par displayStep dans etapeliste
dim strReponse '* S idem avec la reponse
dim baReponse '* ByteArray contient la reponse de l'UCE
dim stepcount '* I compteur pour l'exécution des etapes successives d'un test
dim continueTest '* B marque la fin du test
dim preparationOK '* B vrai si les doc xml specifiques ont été préparés


dim ECUident '* S zone ident de l'UCE (reponse Ä… 2180)
dim ECUadr '* I identificateur de l'UCE (lu dans le xml BTP)
dim curHisto '* S histo courant (21FE 21FF)
dim firstHisto '* S histo courant (21F0 21F1)
dim maxDL '* I maxdownload value (lu dans le xml BTP)
dim granularite '* I granularité (calculée dans le xml BTP)
dim ECUname '* S nom de l'UCE (lu dans le xml BTP)
dim ECUfunction '* S fonction de l'UCE (lu dans le xml BTP)
dim nonCorruptedSeg '* node du fichier btp xml (le 1er de la calib)
dim CorruptedSeg '* le mÄ™me node, dont le 1er octet a été incrémenté
dim EraseByte '* premier octet de la valeur d'effacement
dim totalbytes '* nombre d'octest téléchargés


dim arDLstartAdr() '* Tableau des adresses limites des zones autorisées en ecriture (calculées Ä… partir du xml BTP)
dim arDLendAdr() '* Tableau des adresses limites des zones autorisées en ecriture
dim arUPstartAdr() '* Tableau des adresses limites des zones autorisées en lecture
dim arUPendAdr() '* Tableau des adresses limites des zones autorisées en lecture


dim globaleraseMapping
dim tuningeraseMapping
dim nowriteMapping
dim globalwriteMapping
dim tuningwriteMapping
dim softwriteMapping
dim nbrglobseg
dim nbrcaliseg
dim nbrglobsegerase
dim nbrcalisegerase
dim mini
dim maxi
dim reprogcount


dim TV_Adr, EU_Adr, AK_Adr '* adresses des octets tentative de viol, etat UCE et appli key (rentrées Ä… la main sur la page)
dim CRCUplCode '* &H80 ou &H84 selon que l'UCE repond avec ou sans CRC Ä… un upload
dim softAdr, calibAdr '* adresses valides calib et soft (lu dans le xml BTP)
dim invalidStartAdr, invalidEndAdr '* zone interdite en lecture/ecriture (rentrées Ä… la main sur la page)
dim listeRL '* (&H82, &H81)
dim listeStatus '* (8,4)
dim listeZone '* (0,1)
dim zone '* globalZone ou calibZone
dim listeAdr '* tableau (softAdr, calibAdr)
dim SA1Count
dim debut
dim LockKey
dim NbReprog


dim strDoc '* S concatenation des docs xml du dernier test lancé
dim strVar '* S liste des variables globales et leur valeur
dim strExtract '* S requetes et reponses du dernier test lancé
dim annonce '* S annonce de renvoi a la page scan


'****************************************************
'* constantes et tableaux de constantes *
'****************************************************
Const waitError = true
Const waitOk = false

Const globalRL = &H82
Const calibRL = &H81
Const globalZone = 0
Const calibZone = 1
Const softStatus = 8
Const calibStatus = 4


listeRL = array(globalRL, calibRL)
listeStatus = array(softStatus, calibStatus)
listeZone = array(globalZone,calibZone)


'****************************************************
'* listes des sous-programmes : affichage.txt *
'****************************************************
'
'sub conditions_initiales()
' lancé par window_onload
' préselectionne la messagerie DiagOnCan
' préselectionne les tests qui n'effacent pas l'UCE et qui ne touche pas Ä… la clé appli

'sub lister_numero()
' cache la zone de description
' prend en compte les criteres (categorie, effet...) selectionnés et fait un selectnodes sur campagne.xml
' affiche la liste resultat

'sub afficheComment()
' affiche les données relatives Ä… un test dans la zone de description
' calcule l'etat final...
' lancé par numeliste_onmouseover, _onmouseleave

'sub afficheDetail()
' affiche le détail des tests

'function num2sub(num)
' transforme une chaine "9.2.a" ( du test dans campagne.xml) en "test92a" (nom du sous-prog)

'sub numeliste_onclick()
' MOswitch Ä… faux pour inhiber les sub _onclick, _onmouseover...
' initialise toutes les variables : testOK, continueTest, strRequete, strReponse, stepcount, zone, strDoc, strExtract
' efface etapeliste
' crée les nodes d'avancement dans campagne.xml
' lance doTest

'sub DoTest()
' incremente stepcount
' appelle le sous-prog de test pour l'exécution de l'étape n° stepCount
' lance fintest

'sub finTest()
' fin du test : refait un stop
' rempli les nodes d'avancement
' reinitialise les flags MOswitch, force, interrupt

'sub Attente()
' lancé lors de l'interruption d'un test Ä… l'étape specifiée dans la case 'laststep'
' envoi periodique de requetes testerPresent pour maintenir la com et permettre l'envoi de requetes manuelles

'sub save_onclick()
' sauve les tests exécutés de campagne.xml dans un document 'rapport'

'sub send_onclick()
' envoi le contenu de la case 'alamain'

'sub selcritere(idVar)
' lancé qd on clique sur un critere de selection des tests
' recupere la bonne ligne, la met en jaune, et enregistre le critere dans la variable dont le nom est passé en paramÅtre

'sub numeliste_onmouseover()
' affiche et rempli la zone de description du test

'sub numeliste_onmouseleave()
' revient au dernier test exécuté

'sub displayStep(strDescription, strAttendu)
' affiche une ligne supplémentaire dans le tableau des etapes
' prend en compte les variables globales strRequete et strReponse

'sub viewDoc_onclick()
' affiche strDoc

'sub viewExt_onclick()
' affiche strExtract

'sub viewTool_onclick()
' affiche les switchs force et interrupt

'sub viewVar_onclick()
' crée et affiche strVar

'sub viewDescr_onclick()
' crée et affiche strDescr

'****************************************************
'* listes des sous-programmes : traitement.txt *
'****************************************************
'

'sub extract(docu)
' parcours le doc xml (apres session.send) et extrait les requetes et les reponses

'sub testerPresent()
' envoie Ä… l'UCE une requete tester_present pour garder la comm
' lancé par extract

'sub etape()
' lancé Ä… chaque etape d'un test
' envoi le doc xml global 'doc' et lance trameReq et trameRep
' met Ä… jour strDoc et strExtract (lance extract)

'sub etape2(docu)
' comme etape() mais avec le doc xml passé en argument

'function trameReq(SRnode)
' reconstruit la requete (string) Ä… partir du premier node SRnode
' a la fin SRnode pointe sur le dernier morceau de la trame (permet d'enchainer si on est en )

'function trameRep(SRnode)
' reconstruit la reponse (ByteArray) Ä… partir du premier node

'sub CheckOkErr ()
'

'sub CheckMultErr (ErrNb1, ErrNb2)
'

'sub CheckThreeErr (ErrNb1, ErrNb2, ErrNb3)
'

'sub CheckNoResp ()
'

'sub CheckCode (Status)
'
'
'sub CheckModeLoader ()
'

'sub CheckTimer (delai)
'

'sub CheckHisto ()
'

'sub CheckData (chaine)
'

'sub CheckIdent ()
'
'

'****************************************************
'* listes des sous-programmes : UCEdata.txt *
'****************************************************
'

'sub DisplayIdentMode()
' recupere l'ident et les historiques sur l'UCE
' détermine le mode loader ou appli

'sub RefreshIdentMode()
' recupere l'ident et
' actualise le mode loader ou appli

'sub createAddressArrays()
' recupere toutes les données utiles sur le xml BTP

'sub caseTV_adr_onchange()
'sub caseEU_Adr_onchange()

' actualisation des variables rentrées Ä… la main sur la page

'sub caseBTPdata_onchange()
' charge le fichier xml
' lance displayIdentMode, createAddressArrays
'

'********************************************************
'* listes des sous-programmes : briques_generales.txt *
'********************************************************
' les fonctions req*, qui se trouvent dans les fichiers briques_*.txt,
' renvoient le doc xml contenant les requetes et les reponses attendues
'

'function reqMan(trame)
' requete manuelle, pas de balise

'function reqStop(waitErr)
' 82 ou 1081 selon la messagerie. reponse positive ou negative selon waitErr

'function reqTesterPresent()
' 3E

'function reqTesterPresentNeg()
' 3E rep negative attendue

'function reqSA1(replyCode, waitErr)
' 2781. le replycode ne sert qu'en cas de reponse negative attendue

'function reqSA2unlock(replyCode, waitErr)
' 2782 xx xx xx xx, avec xx... calculé par l'objet SecurityAccess

'function reqSA2normal(replyCode, waitErr)
' 2782 00 00 00 00

'function reqSA2(replyCode, waitErr)
' reqSA2normal ou reqSA2unlock selon la valeur de la checkbox lockedECU

'function reqSA2Light(Key)
' 2782 xx xx xx xx, with xx... in the array

'function reqErase(replyCode, RL, waitErr)
' 3181 RL F05A. le replycode sert en cas de reponse positive ou negative

'function reqEraseBadSign(RL)
' erase avec F06B comme clé outil

'function reqEraseStatus()
' 318101

'function reqCheck()
' 318200

'function reqCheckStatus()
' 318201

'function reqRlid(RL, waitErr)
' 21 RL

'function reqBaudRate(BR, waitErr)
' 10 BR
'

'********************************************************
'* listes des sous-programmes : briques_appli_key.txt *
'********************************************************

'sub WriteParam(replyCode, Buf, Rep, Replylength, RL, Adr, N)
'

'sub WriteParamBis(replyCode, Buf, Rep, Replylength, RL, Adr, N, Length)
'

'function reqWriteAK(replyCode,Key, waitErr)
'

'function reqWriteAKparRL(replyCode)
'

'function reqWriteAKparLB(replyCode)
'

'function reqWriteAKparAdr(replyCode)
'

'function reqWriteAKparCRC()
'

'********************************************************
'* listes des sous-programmes : briques_logzone.txt *
'********************************************************

'function reqWriteLogBugData()
'

'function reqWriteLogData()
'

'function reqWriteLogChoiceData()
'

'function reqWriteLog0(replyCode)
'

'function reqWriteLog0parLB(replyCode)
'

'function reqWriteLog0parRL(replyCode)
'

'function reqWriteLog0parAdr(replyCode)
'

'function reqWriteLog0parCRC()
'

'********************************************************
'* listes des sous-programmes : briques_download.txt *
'********************************************************

'function reqDownLoadAll(RL)
'

'function reqDownload(replyCode, RL, Adr, Data, waitErr)
'

'function reqDownload0(replyCode, RL, Adr, N, waitErr)
'

'function reqDownload5(replyCode, RL, Adr, N, waitErr)
'

'function reqDownloadA(replyCode, RL, Adr, N, waitErr)
'

'function reqDownload0parLB(replyCode, RL, Adr, N)
'

'function reqDownload0parRL(replyCode, Adr, N)
'

'function reqDownload0parAdr(replyCode, RL, StartAdr, EndAdr, N)
'

'function reqDownload0parCRC(RL, Adr, N)
'

'function reqDownload0parSize(replyCode, RL, Adr, N)
'

'function reqDownload5fillup(replyCode, RL, Adr, N, Length)
'

'********************************************************
'* listes des sous-programmes : briques_upload.txt *
'********************************************************

'sub ReadParam(replyCode, Buf, Rep, Replylength, RL, Adr, N)
'

'function reqUpload(replyCode, Adr, N, waitErr)
'

'function reqUploadALL(replyCode, maxSize)
'

'function reqUploadFlag(replyCode, Adr)
'

'function reqUploadparLB(replyCode, Adr, N)
'

'function reqUploadparRL(replyCode, Adr, N)
'

'function reqUploadparAdr(replyCode, startAdr, endAdr, N)
'

'function reqWriteMemByAdr()
'

'function reqReadMemByAdr()
'

'function reqDefineLId(Adr)
'

'function reqClearLId()
'

'
'*****************************************************
'* listes des sous-programmes : tests_basic.txt *
'*****************************************************


'******************************************************
'* listes des sous-programmes : tests_unlocking.txt *
'******************************************************


'*****************************************************
'* listes des sous-programmes : tests_erasing.txt *
'*****************************************************


'******************************************************
'* listes des sous-programmes : tests_download.txt *
'******************************************************


'******************************************************
'* listes des sous-programmes : tests_selfcheck.txt *
'******************************************************


'******************************************************
'* listes des sous-programmes : tests_logzone.txt *
'******************************************************


'******************************************************
'* listes des sous-programmes : tests_appli_key.txt *
'******************************************************


'******************************************************
'* listes des sous-programmes : tests_upload.txt *
'******************************************************





Wyszukiwarka