I have been measuring signal by SignalCapture class on my FEZ Raptor. Input signal has 1kHz so i should get values near to 500 micro seconds. But result is like this:
uint[] signal = new uint[2000];
SignalCapture pin = new SignalCapture(G400.PA27, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeBoth);
pin.ReadTimeout = 5000;
pin.Read(false, signal);
Debug.Print("Done");
I know that G120HDR gave better results, from 499 to 501 micro seconds. In what could be the problem? Noise? Port selection?
Signal source is Rigol DS1064B Oscilloscope - port is connected to signal generator directly.
A few days ago I measured even better times on G120HDR. I can’t say what caused worsening. It seems that interrupts are triggered differently, on different levels. (?)
Thank you. Another strenge behavior. SignalCapture do not respect parameter Port.InterruptMode.InterruptEdgeHigh. If “InterruptEdgeHigh” means every rising edge I should get time of one period. But with constant frequency I get:
@ Adam - It is a change in the firmware that still needs some testing. It will be in the next pre-release. We do not have a specific date yet, but it won’t be too long.