Ich denke er meint die High Zeit trotzdem mit pulseIn Messen. Aber ebend die High Zeit da sie kürzer ist als Low.
Bei meiner Anwendung ist es Egal ob der Controller kürzer oder länger Blockiert ist. Daher habe ich mir die Längere Low Zeit genommen und habe diese dan noch durch 100 geteilt. Somit hatte ich einen Sauberen und fest Stehenden Wert. denn wenn du dir mal deinen Empfänger nimmst und den an den Arduino hängst und dir mit pulseIn() und serial.print() die Werte Anschaust dann wirst du sehen das die recht Springen. je nach dem wie sehr es sich auf deinen Fahrtregler ausübt würde ich einen mittelwert berechnen oder ebend auch einen Teiler Einbauen. Beim Teiler könnte es aber sein das dein fahrtregler dann nicht Feinfühlig genug wird.
So habe ich den Empfänger an einen Attiny angeschlossen. Kannst das aber auch an einen Digitalpin vom Arduino hängen

und das ist der Code dazu.
#include <SoftwareSerial.h>
#define rxPin 3
#define txPin 4
SoftwareSerial serial(rxPin, txPin);
unsigned long timestamp1 = 0;
int timestamp2 = 0;
void setup(){
pinMode(2,INPUT);
pinMode(0,OUTPUT);
digitalWrite (0, LOW);
serial.begin(4800);
}
void loop(){
timestamp2= pulseIn(2,LOW);
timestamp1= timestamp2 / 100;
serial.println(timestamp1); // Oder timestamp2 für die ungeteilten Werte
switch (timestamp1){
case 193:
rc1();
break;
case 185:
rc2();
break;
}
}
void rc1() //Gopro einschalten
{
digitalWrite(0, HIGH);
delay(300);
digitalWrite(0, LOW);
}
void rc2() //Gopro ausschalten
{
digitalWrite(0, HIGH);
delay(3000);
digitalWrite(0, LOW);
}