Again, it really isn't necessary as the codes need not be precise. For example, NEC defines a 1-bit as ~2.2mSec between rising edges and a 0-bit as ~1.1mSec between rising edges. It's child's play to differentiate even if overall timing varies widely.
The only codes that require you to capture both pulses and spaces are the biphase protocols like Philips RC5, RC6, etc. where you need to recover the timing before you can decide between 1 and 0.
Ooops - I forgot about one protocol. I don't recall who uses it (it's a high-end RF home automation system used mostly in Europe). It uses 5 different pulse widths and 5 different space widths which allows for an enormous code base. If you assign ADCDE to pulses and abcde to spaces, you can see there are lots of possible 10 letter words (10^5 or 100,000)
Bookmarks