Yes I've watched that video, and it helps wit the joysticks but not the buttons or switches. I'm using the app and it is able to detect when the buttons are being pressed. I tried using digitalRead() , AnalogRead(), and a pulseIN(). All of which returned zero except for pulseIN() which gave a randon number like 312 or 932
so 0 will be for the switch alla way down, 1 would mean the switch is in the middle position and obvsly I hope 2 will be the value of threeWaySwitch when the switch is alla way up.
You could write
byte threeWaySwitch = 1; // in the middle until proven otherwise
if (RCValue4 < 1333) threeWaySwitch = 0;
if (RCValue4 > 1666) threeWaySwitch = 2;
or a few other ways, like a switch/case statement with ranges.
If your receiver has a PPM output, or can be so configured, you might do better using that.
Look for a PPM decoder library. It should provide all the channel data with relatively little overhead, no fiddly pusleIn on your hands and knees like you do now.
Just one input pin, too, always a step on the right direction.
End to end, the PPM decoder will provide faster and more accurate reporting of sticks and pots.
You'd still need the logic I exposed earlier for you switches.
Sorry for the late reply. I tried using the code that you provided however I'm still not seeing any values in that channel using the PWM mode. I see zeros.