Функция используется для считывания длины импульса сигнала заданного уровня на заданном пине. Если задан уровень HIGH (логическая единица), то функция будет ожидать появления этого уровня на пине, затем включит таймер и остановит его тогда, когда на пине снова образуется логический ноль (LOW).
Если за определённый таймаут, который может быть задан входным параметром функции, на пине не появится ожидаемый логический уровень, то функция вернёт 0, в противном случае – длительность считанного импульса в микросекундах.
Не рекомендуется использовать для считывания длинных импульсов, хотя теоретически возможно считывание импульса длиной до 3 минут.