SignalCapture - how to know if there is a signal before calling read?

If I call the read function on SignalCapture and there is no input at that time, the function hangs and never returns.

Is there a way to check if there is a signal before calling read()?

@ Dave McLaughlin - Open as input port. Go into a loop and keep reading the pin and counting changes. If there are “enough” changes then there is a signal?

There is ReadTimeout property you can get or set