Hi,
He is me, Duane.
There are two basic ways to measure input times on the Arduino. One is to sit around waiting for something to happen, this is what pulseIn does, its a very basic approach that is rarely used because while you are waiting for a signal, you cant do anything else.
The other approach it to use interrupts, this allows your code to perform calculations, log inputs, generate outputs and anything else you might want. Whenever something of interest happens, you code will be 'interrupted' to deal with it.
We are not always interested in everything that might happen and so we are allowed to register our interest in specific events, the Arduino will not interrupt our code with anything we are not interested in.
We tell the Arduino we are interested through the attachInterrupt function, this says if something happens I want you to call a specific function - in my case its 'calcInput' which is called whenever the state of pin2 changes as a result of a receiver pulse starting or ending.
I suggest you read up on Arduino Interrupts and then have another look at the code, it does what you want, but there are some generally Ardiuno concepts such as interrupts that you should understand.
Duane B