To jako používáte pulseIn pro změření času ultrazvukového čidla?
Pokud jde o obejití neexistujícího pulseIn u malinkého Attiny, zkusil bych číst port normálně a změřit čas do jeho změny.
digitalWrite(echoPin, HIGH); // vyšlu signál
unsigned long casVyslaniEcha = millis();
do
// tady nic, cekam
while(!digitalRead(inputPin)); // vykřičník neguje, takže smyčku opustí při návratu
unsigned long casLetuSignalu = millis() – casVyslaniEcha; // teď mám čas, co signál potřeboval k návratu