Jak pomieszałeś <><>, zamiast zrobić drabinkę < < < to są teraz takie wartości odczytane, z którymi program nie wie co robić, 1550 i 1450 nie pasuje do żadnego ifa. Ewentualnie trzeba >= i <=.
Najpierw zastrzegasz że if (pwM1a>=255) pwM1a=255; ale dopiero potem wyliczasz pwM1a = map(nThrottleIn ,1550, 1995, 0,255);
else if (nThrottleIn <1550, nThrottleIn> 1450 ) a to już nie wiem co ma robić, jeśli to ma być lub to II lub or, a nie przecinek.
Funkcja calcInput() wygląda podejrzanie, jest wywoływana w przerwaniu, jeśli sygnał ma dużą częstotliwość, a nadziubdziałeś do niej trochę obliczeń, wywołujesz w przerwaniu inne funkcje, to może przestać gadać, tym bardziej że w loop znowu drukujesz te wartości na pełnej prędkości, print to inne przerwania, nie ważne czy od ostatniego printa minęło 10us czy 100ms, a Twoje oczy i tak nie dadzą rady czytać szybciej niż 10 linii na s, 10Hz.
W przerwaniu nie powinieneś robić nic poza wyznaczeniem tego czasu impulsu, zdefiniować zmienne jako volatile i do nich przekazać wartości, potem w innej funkcji wywołanej z loop ich użyć.
To musiało tak się skończyć, bo nie panujesz nad upływem czasu.
Mignij sobie LED w przerwaniu, zaświecić na początku i zgaś na koniec, zobacz czy po prostu ten led będzie świecić przez ciągłe wywoływanie.
Najpierw zastrzegasz że if (pwM1a>=255) pwM1a=255; ale dopiero potem wyliczasz pwM1a = map(nThrottleIn ,1550, 1995, 0,255);
else if (nThrottleIn <1550, nThrottleIn> 1450 ) a to już nie wiem co ma robić, jeśli to ma być lub to II lub or, a nie przecinek.
Funkcja calcInput() wygląda podejrzanie, jest wywoływana w przerwaniu, jeśli sygnał ma dużą częstotliwość, a nadziubdziałeś do niej trochę obliczeń, wywołujesz w przerwaniu inne funkcje, to może przestać gadać, tym bardziej że w loop znowu drukujesz te wartości na pełnej prędkości, print to inne przerwania, nie ważne czy od ostatniego printa minęło 10us czy 100ms, a Twoje oczy i tak nie dadzą rady czytać szybciej niż 10 linii na s, 10Hz.
W przerwaniu nie powinieneś robić nic poza wyznaczeniem tego czasu impulsu, zdefiniować zmienne jako volatile i do nich przekazać wartości, potem w innej funkcji wywołanej z loop ich użyć.
To musiało tak się skończyć, bo nie panujesz nad upływem czasu.
Mignij sobie LED w przerwaniu, zaświecić na początku i zgaś na koniec, zobacz czy po prostu ten led będzie świecić przez ciągłe wywoływanie.
Miło być decenianym https://buycoffee.to/kaczakat