; --------------------------------------------------------------------------------
; @Title: Script Library for ProbeUSB3 menu
; @Description: -
; @Author: STA
; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: usb3lib.cmm 13418 2018-10-30 14:47:40Z hlohn $



LOCAL &func
ENTRY &func

 LOCAL &dllfile &rxsignals &txsignals &track &LenSpare

 LOCAL &rxdat0 &rxdat1 &rxdat2 &rxdat3
 LOCAL &txdat0 &txdat1 &txdat2 &txdat3

 LOCAL &rxvalid &rxdatak &rxstatus
 LOCAL &txvalid &txdatak &txstatus

; --------------------------------------------------------------------------------
 &rxdat0=" i.rx00 i.rx01 i.rx02 i.rx03 i.rx04 i.rx05 i.rx06 i.rx07 "
 &rxdat1=" i.rx10 i.rx11 i.rx12 i.rx13 i.rx14 i.rx15 i.rx16 i.rx17 "
 &rxdat2=" i.rx20 i.rx21 i.rx22 i.rx23 i.rx24 i.rx25 i.rx26 i.rx27 "
 &rxdat3=" i.rx30 i.rx31 i.rx32 i.rx33 i.rx34 i.rx35 i.rx36 i.rx37 "
 &rxvalid=" i.rxvalid01 i.rxvalid23 "
 &rxdatak=" i.rxdatak0 i.rxdatak1 i.rxdatak2 i.rxdatak3 "
 &rxstatus=" i.rxstat00 i.rxstat01 i.rxstat02 i.rxstat20 i.rxstat21 i.rxstat22 "

 &txdat0=" i.tx00 i.tx01 i.tx02 i.tx03 i.tx04 i.tx05 i.tx06 i.tx07 "
 &txdat1=" i.tx10 i.tx11 i.tx12 i.tx13 i.tx14 i.tx15 i.tx16 i.tx17 "
 &txdat2=" i.tx20 i.tx21 i.tx22 i.tx23 i.tx24 i.tx25 i.tx26 i.tx27 "
 &txdat3=" i.tx30 i.tx31 i.tx32 i.tx33 i.tx34 i.tx35 i.tx36 i.tx37 "
 &txvalid=" i.txvalid01 i.txvalid23 "
 &txdatak=" i.txdatak0 i.txdatak1 i.txdatak2 i.txdatak3 "
 &txstatus=" i.txstat00 i.txstat01 i.txstat02 i.txstat20 i.txstat21 i.txstat22"

 &txsignals="i.txempty &txvalid &txdatak &txdat0 &txdat1 &txdat2 &txdat3 &txstatus"
 &rxsignals="i.rxempty &rxvalid &rxdatak &rxdat0 &rxdat1 &rxdat2 &rxdat3 &rxstatus"
; --------------------------------------------------------------------------------


; get user settings
 DO ~~/demo/powerintegrator/probeusb3/usb3params.cmm
 ENTRY &dllfile &track

 IF ("&dllfile"!="PROBEUSB3")
 (
   IF (!OS.FILE(&dllfile))
   (
     PRINT %ERROR "!! Protocol DLL file does not exist, check USB3 parameter file !!"
     ENDDO
   )
 )

 &LenSpare=" %LEN 60. "   ; move-right "ti.back" row of Protocol.Listing

GOTO &func


; --------------------------------------------------------------------------------
RXPROTOLIST:
     IF ("&track"=="")
       Integrator.PROTOcol.List &dllfile RX &rxsignals &LenSpare
     ELSE
       Integrator.PROTOcol.List &dllfile RX &rxsignals &LenSpare /TRACK
  ENDDO

; --------------------------------------------------------------------------------
RXPROTOCHART:
     Integrator.PROTOcol.Chart &dllfile RX &rxsignals &track
  ENDDO

; --------------------------------------------------------------------------------
RXPROTOPROFILECHART:
     Integrator.PROTOcol.PROfileChart &dllfile RX &rxsignals &track
  ENDDO

; --------------------------------------------------------------------------------
RXPROTOSTAT:
     Integrator.PROTOcol.STATistic &dllfile RX &rxsignals /SORT RATIO
  ENDDO

; --------------------------------------------------------------------------------
RXTIMING:
      Integrator.Timing &rxsignals &track
  ENDDO

; --------------------------------------------------------------------------------

TXPROTOLIST:
    IF ("&track"=="")
       Integrator.PROTOcol.List &dllfile TX &txsignals &LenSpare
     ELSE
       Integrator.PROTOcol.List &dllfile TX &txsignals &LenSpare /TRACK
  ENDDO

; --------------------------------------------------------------------------------
TXPROTOCHART:
     Integrator.PROTOcol.Chart &dllfile TX &txsignals &track /SORT sYmbol.name
  ENDDO

; --------------------------------------------------------------------------------
TXPROTOPROFILECHART:
     Integrator.PROTOcol.PROfileChart &dllfile TX &txsignals &track /SORT sYmbol.name
  ENDDO

; --------------------------------------------------------------------------------
TXPROTOSTAT:
    Integrator.PROTOcol.STATistic &dllfile TX &txsignals /SORT RATIO
  ENDDO

; --------------------------------------------------------------------------------
TXTIMING:
     Integrator.Timing &txsignals &track
  ENDDO

















