# draw a trace only when a digital input is high

## Recommended Posts

Hi

I work with a Labjack U3 and DAQFactory Express

I need only a graph with a trace. X axis = time; Y axis = voltage.

The trace is printed only when another digital input is high.

On the edge of the digital input (low to high) the graph must reset (clearscreen)

When the digital input is low the graph stops to draw the trace.

Thanks for the help

Davide

##### Share on other sites

So basically you want the graph to only draw since the last time the digital went high? If you aren't going to use the history of voltage for anything else, you can just do this:

In the event of the digital channel (I'll call the channel "dig", and the voltage channel "volt") put:

```if ((dig[0] == 1) &amp;&amp; (dig[1] == 0))
volt.clearhistory()
endif```

##### Share on other sites

but I think there is an error. The right code maybe is:

```if ((dig[0] == 0) &amp;&amp; (dig[1] == 1))
volt.clearhistory()
endif```

I don't understand how stop the time, to freeze the graph, when (dig[0] == 1) && (dig[1] == 0)

Thanks

##### Share on other sites

I believe you said you want the graph to clear when it goes from low to high, so you want:

if ((dig[0] == 1) && (dig[1] == 0))

Anyhow, I didn't see the part about freezing the graph, so actually you need to create two global variables, starttime and endtime (in an auto-start sequence). Set your graph to display volt[starttime,endtime] instead of just volt. Then make the event say:

```if ((dig[0] == 1) &amp;&amp; (dig[1] == 0))
starttime = systime()
endif
if (dig[0] == 1)
endtime = systime()
endif```

This will set the starttime of the range only when it goes from low to high, and update the endtime whenever its high. When it goes back low, endtime will stop updating and the graph will freeze until the next time it goes high.

##### Share on other sites

Thanks, it works!

But I've a last question.

How can I autoscale the graph with a command in the event window? The graph shows the "old" window and not update automatically to the new time window. It needs an update or an autoscale.

Thanks