EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: EDM X-Y Graph lot widget oddities
From: Eric Norum <[email protected]>
To: EPICS mailing list <[email protected]>, "Sinclair, John William" <[email protected]>
Date: Mon, 5 Jun 2017 12:49:39 -0700
The EDM X-Y Graph widget (1-12-103, but these issues seem to be present in lots of versions) exhibits some unexpected (by me, anyway) behaviour.

Here’s the record holding the data:
record(waveform, "$(P)$(R)AWG3:pattern") {
    field(DESC, "AWG 3 pattern")
    field(DTYP, "asynInt16ArrayOut")
    field(INP,  "@asyn($(PORT) 3 0)")
    field(FTVL, "SHORT")
    field(NELM, "1400")
}

And here’s the widget configuration.  I’ve tried all sorts of combinations of settings (scope/plot, plot-n-and-stop/plot-last-n specify the record as the trigger records, etc.) but the problems appear the same.
# (X-Y Graph)
object xyGraphClass
beginObjectProperties
major 4
minor 8
release 0
# Geometry
x 2
y 26
w 745
h 365
# Appearance
border
plotAreaBorder
autoScaleBothDirections
graphTitle "DAC $(CHAN) AWG Pattern"
xLabel "Sample (ms)"
yLabel "DAC"
fgColor index 14
bgColor index 3
gridColor index 14
font "helvetica-medium-r-14.0"
# Operating Modes
nPts 2
# X axis properties
showXAxis
xAxisSrc "AutoScale"
xMin 0
xMax 1
xShowLabelGrid
# Y axis properties
showYAxis
yAxisSrc "AutoScale"
yMax 1
yShowLabelGrid
# Y2 axis properties
y2AxisSrc "AutoScale"
y2Max 1
# Trace Properties
numTraces 1
yPv {
  0 "$(P)$(R)AWG$(CHAN):pattern"
}
nPv {
  0 "$(P)$(R)AWG$(CHAN):pattern.NORD"
}
lineThickness {
  0 2
}
plotUpdateMode {
  0 "xOrY"
}
opMode {
  0 "plot"
}
ySigned {
  0 1
}
plotColor {
  0 index 20
}



Issue 1 — Autoscaling
An example plot with NORD=1000 looks as shown below.  I find it odd that the autoscaling has decided to start the X-axis at -200 rather than 0 and to end it at 1200 rather than 1000.  And why make the Y axis extend below 0?





Issue 2 — Plotting stale data
A client has written 100 points to the waveform record.  The EDM screen shows:

The client then writes 1000 points to the waveform record — the same shape, but 10 times as many points.  The EDM screen shows:


????
The widget has correctly determined the correct number of points, but appears to have taken Y values from the record before the client has filled the last 900 or so points.

Closing the EDM window and reopening it shows the correct result:



-- 

Navigate by Date:
Prev: Re: EPICS Base-3.16.1 Released Johnson, Andrew N.
Next: Re: asyn timeout Paduan Donadio, Marcio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: stream enum Dirk Zimoch
Next: epicsQt release 3.4.3 - at GitHub Andrew C. Starritt
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024