Reading width of pulses

The pulseIn command waits for a change in the signal, then it times how long the signal is in that state, returning when the signal changes to the desired state.

For instance, if a pin is currently HIGH, and you call pulseIn to measure how long the pin is HIGH, it has no idea when the pin went HIGH, so it waits for the pin to go LOW, then HIGH, then LOW, and tells you how long the pin was HIGH.

There is no way to measure consecutive HIGH/LOW sections of the same wave.