Paragon-neo: Moving TIE mask to align with a measurement event using the API
During TIE measurement, events can occur at various times after the start of the measurement, however CAT displays the mask at time zero. The example below shows a SyncE transient occurring at 100.699899 seconds past the start of the measurement and the mask begins at time zero. In the CAT GUI, you can manually move the mask to align with the beginning of the event, or you can use an API call to move the mask exactly to the beginning of the event.
To move the mask to align with the transient event more accurately than doing it manually, the following API function can be called:
calnexSet("cat/measurement/SyncE/PN_B/range", "MinRange", 100.6998993, "MaxRange", 210, "CoupledRanges", True)
MinRange
is used to specify the starting point for the mask on the x axis. MaxRange
is optional and used to specify the end of the mask and the analysis window on the x axis as well, not specifying it should allow the window to extend to the end of the measurement.
CoupledRanges
is useful if there are multiple metrics shown and the same range is required by the user on all of them. This parameter takes two Booleans; True
enables coupling and False
disables it.
Using the code snippet above, the mask was moved to start at 100.6998993 seconds after the start of the measurement. The end of the mask was set to be 210 seconds. Running this produces the graph below.
This could be utilized as part of a larger test script where the Paragon-neo generates an input to a DUT that causes the effect to be measured. In this case, the mask can be moved to the same time that Paragon-neo generates the input to the DUT.
A second case would be when the transient effect is triggered by an external source at an arbitrary time. In this case, the time the transient effect occurred can be obtained from CAT as demonstrated in the following script example:
from time import sleep
from calnexRest import calnexInit, calnexGet, calnexSet
calnexInit("192.168.207.17", http_type="http")
catport = "PN_A"
measurementport = "Port1"
generationport = "Port2"
calnexSet("app/generation/synce/esmc/"+ generationport +"/ssm", "SsmValue", 'QL-DNU')
sleep(20) # <--- Set how long you want your measurement to run here in values of seconds e.g. it is set for 20 seconds now!
#-> GET ELAPSED TIME TO DEFINE MAX RANGE ON GRAPH <-#
startOfMask = calnexGet("cat/measurement/ESMC/"+ catport +"/ESMC/Tx/series")
calnexSet("app/measurement/synce/wander/"+ measurementport +"/stop")
calnexSet("cat/measurement/SyncE/"+ catport +"/range", "MinRange", startOfMask['Series'][0]['Value']['Points'][1]['X'], "CoupledRanges", True)