Tipuju si, že se ti to zacyklí v některé z těch smyček, když to nestihne zaznamenat příchozí pulz. Nebo když ten vůbec nepřijde... Nelze tam nějak nakonfigurovat přerušení na příchozí hranu, abys to nemusel hlídat ve smyčce?
Ten kód je na můj vkus moc syrový, nemá tam žádné timeouty, když nic nepřijde, což se stane dost často.
A máš opravdu správně GPIOs?
Přesně pro tyhle real-time aplikace mám raději arduino, které lze časovat spolehlivě, narozdíl od linuxového procesu, jednoho z mnoha.